pub enum OutputEvent {
Show 21 variants
UserMessage(String, Option<Vec<ToolCallResult>>, Vec<ContentPart>, Option<usize>),
AcceptTool(ToolCall),
RejectTool(ToolCall, bool),
ListSessions,
SwitchToSession(String),
NewSession,
SendToolResult(ToolCallResult, bool, Vec<ToolCall>),
ResumeSession,
RequestProfileSwitch(String),
RequestRulebookUpdate(Vec<String>),
RequestCurrentRulebooks,
RequestTotalUsage,
RequestAvailableModels,
SwitchToModel(Model),
SaveRecentModels(Vec<String>),
PlanModeActivated(Option<String>),
PlanFeedback(String),
PlanApproved,
CommandCalled(String),
AskUserResponse(ToolCallResult),
SaveAutoApproveToProfile(Vec<String>),
}Variants§
UserMessage(String, Option<Vec<ToolCallResult>>, Vec<ContentPart>, Option<usize>)
User message with optional tool call results, image parts, and revert index The revert index (if Some) indicates that messages should be truncated to that user message index
AcceptTool(ToolCall)
RejectTool(ToolCall, bool)
ListSessions
SwitchToSession(String)
NewSession
SendToolResult(ToolCallResult, bool, Vec<ToolCall>)
ResumeSession
RequestProfileSwitch(String)
RequestRulebookUpdate(Vec<String>)
RequestCurrentRulebooks
RequestTotalUsage
RequestAvailableModels
SwitchToModel(Model)
SaveRecentModels(Vec<String>)
Save recent models list to config (used when initial model is added)
PlanModeActivated(Option<String>)
Plan mode activated via /plan command. Contains optional inline prompt.
PlanFeedback(String)
Feedback on the plan — formatted unresolved comments injected as user message.
PlanApproved
Plan approved — transition to Executing phase.
CommandCalled(String)
A slash command was invoked.
AskUserResponse(ToolCallResult)
Response from ask_user popup with the tool call and result
SaveAutoApproveToProfile(Vec<String>)
Save auto-approve settings to the profile config (tool names set to Auto)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OutputEvent
impl RefUnwindSafe for OutputEvent
impl Send for OutputEvent
impl Sync for OutputEvent
impl Unpin for OutputEvent
impl UnsafeUnpin for OutputEvent
impl UnwindSafe for OutputEvent
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request