pub enum AgentEvent {
Show 15 variants
ExecutionStarted {
context: AgentExecutionContext,
},
ExecutionCompleted {
context: AgentExecutionContext,
success: bool,
summary: String,
},
ExecutionInterrupted {
context: AgentExecutionContext,
reason: String,
},
StepStarted {
step_info: AgentStepInfo,
},
StepCompleted {
step_info: AgentStepInfo,
},
ToolExecutionStarted {
tool_info: ToolExecutionInfo,
},
ToolExecutionUpdated {
tool_info: ToolExecutionInfo,
},
ToolExecutionCompleted {
tool_info: ToolExecutionInfo,
},
AgentThinking {
step_number: usize,
thinking: String,
},
TokenUsageUpdated {
token_usage: TokenUsage,
},
StatusUpdate {
status: String,
metadata: HashMap<String, Value>,
},
Message {
level: MessageLevel,
content: String,
metadata: HashMap<String, Value>,
},
CompressionStarted {
level: String,
current_tokens: u32,
target_tokens: u32,
reason: String,
},
CompressionCompleted {
summary: String,
tokens_saved: u32,
messages_before: u32,
messages_after: u32,
},
CompressionFailed {
error: String,
fallback_action: String,
},
}Expand description
Events that can be emitted during agent execution
Variants§
ExecutionStarted
Agent execution started
Fields
§
context: AgentExecutionContextExecutionCompleted
Agent execution completed
ExecutionInterrupted
Agent execution interrupted (cancelled)
StepStarted
New step started
Fields
§
step_info: AgentStepInfoStepCompleted
Step completed
Fields
§
step_info: AgentStepInfoToolExecutionStarted
Tool execution started
Fields
§
tool_info: ToolExecutionInfoToolExecutionUpdated
Tool execution status updated
Fields
§
tool_info: ToolExecutionInfoToolExecutionCompleted
Tool execution completed
Fields
§
tool_info: ToolExecutionInfoAgentThinking
Agent thinking/reasoning
TokenUsageUpdated
Token usage updated (emitted after each LLM call)
Fields
§
token_usage: TokenUsageStatusUpdate
Agent status update (for interactive mode status reporting)
Message
General message or log
CompressionStarted
Conversation compression started
CompressionCompleted
Conversation compression completed
CompressionFailed
Conversation compression failed
Trait Implementations§
Source§impl Clone for AgentEvent
impl Clone for AgentEvent
Source§fn clone(&self) -> AgentEvent
fn clone(&self) -> AgentEvent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentEvent
impl Debug for AgentEvent
Source§impl<'de> Deserialize<'de> for AgentEvent
impl<'de> Deserialize<'de> for AgentEvent
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 AgentEvent
impl RefUnwindSafe for AgentEvent
impl Send for AgentEvent
impl Sync for AgentEvent
impl Unpin for AgentEvent
impl UnwindSafe for AgentEvent
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