pub enum EngineCommand {
UserPrompt {
text: String,
images: Vec<ImageAttachment>,
},
Interrupt,
AskUserResponse {
id: String,
answer: String,
},
ApprovalResponse {
id: String,
decision: ApprovalDecision,
},
LoopDecision {
action: LoopContinuation,
},
SlashCommand(SlashCommand),
Quit,
}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
Future (server mode, v0.2.0):
UserPrompt,SlashCommand,Quit— defined for wire protocol completeness but currently handled client-side.
Variants§
UserPrompt
User submitted a prompt.
Currently handled client-side. Will be consumed by the engine in server mode (v0.2.0) for prompt queuing.
Fields
images: Vec<ImageAttachment>Base64-encoded images attached to the prompt.
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.
SlashCommand(SlashCommand)
A slash command from the REPL.
Currently handled client-side. Defined for wire protocol completeness.
Quit
User requested to quit the session.
Currently handled client-side. Defined for wire protocol completeness.
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