pub enum EngineCommand {
Interrupt,
AskUserResponse {
id: String,
answer: String,
},
ApprovalResponse {
id: String,
decision: ApprovalDecision,
},
LoopDecision {
action: LoopContinuation,
},
QueueNext {
text: String,
},
}Expand description
Commands sent from the client to the engine.
Currently consumed variants:
ApprovalResponse— during tool confirmation flowInterrupt— during approval waits and inference streamingLoopDecision— when iteration hard cap is reached
Variants§
Interrupt
User requested interruption of the current operation.
Consumed during approval waits. Also triggers CancellationToken
for streaming interruption.
AskUserResponse
Response to an EngineEvent::AskUserRequest.
Fields
ApprovalResponse
Response to an EngineEvent::ApprovalRequest.
Fields
decision: ApprovalDecisionThe user’s decision.
LoopDecision
Response to an EngineEvent::LoopCapReached.
Tells the engine whether to continue or stop after hitting the iteration hard cap.
Fields
action: LoopContinuationWhether to continue or stop.
QueueNext
User typed a message during inference and wants it injected into the current turn before the next provider request.
The engine drains all pending QueueNext commands at the top of each
loop iteration, batches them with \n\n, and inserts one user message
into session history before re-querying the provider. This is the
“mid-turn steer” lane — the TUI’s later_queue handles the separate
“after this turn” lane entirely on the client side.
Trait Implementations§
Source§impl Clone for EngineCommand
impl Clone for EngineCommand
Source§fn clone(&self) -> EngineCommand
fn clone(&self) -> EngineCommand
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EngineCommand
impl Debug for EngineCommand
Source§impl<'de> Deserialize<'de> for EngineCommand
impl<'de> Deserialize<'de> for EngineCommand
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>,
Auto Trait Implementations§
impl Freeze for EngineCommand
impl RefUnwindSafe for EngineCommand
impl Send for EngineCommand
impl Sync for EngineCommand
impl Unpin for EngineCommand
impl UnsafeUnpin for EngineCommand
impl UnwindSafe for EngineCommand
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more