pub enum Event {
Init {
model: String,
tools: Vec<String>,
working_directory: Option<String>,
metadata: HashMap<String, Value>,
},
UserMessage {
content: Vec<ContentBlock>,
},
AssistantMessage {
content: Vec<ContentBlock>,
usage: Option<Usage>,
},
ToolExecution {
tool_name: String,
tool_id: String,
input: Value,
result: ToolResult,
},
Result {
success: bool,
message: Option<String>,
duration_ms: Option<u64>,
num_turns: Option<u32>,
},
Error {
message: String,
details: Option<Value>,
},
PermissionRequest {
tool_name: String,
description: String,
granted: bool,
},
}Expand description
A single event in an agent session.
Events represent discrete steps in the conversation flow, such as initialization, messages, tool calls, and results.
Variants§
Init
Session initialization event
Fields
UserMessage
Message from the user (replayed via –replay-user-messages)
Fields
§
content: Vec<ContentBlock>AssistantMessage
Message from the assistant
ToolExecution
Tool execution event
Result
Final session result
Error
An error occurred
PermissionRequest
Permission was requested
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Event
impl<'de> Deserialize<'de> for Event
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 Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnsafeUnpin for Event
impl UnwindSafe for Event
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