pub enum Op {
SubmitUserMessage {
op_id: String,
session_id: String,
text: String,
},
InterruptRun {
op_id: String,
session_id: String,
},
RequestCompaction {
op_id: String,
session_id: String,
},
InjectSteeringMessage {
op_id: String,
session_id: String,
content: String,
injected_at: String,
injected_by: String,
},
ResolveToolApproval {
op_id: String,
session_id: String,
tool_call_id: String,
approved: bool,
reason: Option<String>,
},
}Expand description
An input command from a thin driver (CLI or UI) into the runtime.
Drivers NEVER call the engine directly — they only submit Ops through
SessionConduit. Discriminated union; forward-compatible — later gates add
more Op kinds without changing this contract.
Variants§
SubmitUserMessage
Send a new user turn into a session.
InterruptRun
Interrupt the active run for a session (cancel the in-flight model/tool loop).
RequestCompaction
Manually compact the session’s context now — summarize older turns behind a boundary.
InjectSteeringMessage
Inject a human steering instruction to be applied at the next turn boundary.
ResolveToolApproval
Resolve a pending tool-call approval (the P0.5 runtime pause).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Op
impl<'de> Deserialize<'de> for Op
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more