#[non_exhaustive]pub enum SessionUpdate {
UserMessageChunk(ContentChunk),
AgentMessageChunk(ContentChunk),
AgentThoughtChunk(ContentChunk),
ToolCall(ToolCall),
ToolCallUpdate(ToolCallUpdate),
Plan(Plan),
AvailableCommandsUpdate(AvailableCommandsUpdate),
CurrentModeUpdate(CurrentModeUpdate),
ConfigOptionUpdate(ConfigOptionUpdate),
SessionInfoUpdate(SessionInfoUpdate),
UsageUpdate(UsageUpdate),
}Expand description
Different types of updates that can be sent during session processing.
These updates provide real-time feedback about the agent’s progress.
See protocol docs: Agent Reports Output
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UserMessageChunk(ContentChunk)
A chunk of the user’s message being streamed.
AgentMessageChunk(ContentChunk)
A chunk of the agent’s response being streamed.
AgentThoughtChunk(ContentChunk)
A chunk of the agent’s internal reasoning being streamed.
ToolCall(ToolCall)
Notification that a new tool call has been initiated.
ToolCallUpdate(ToolCallUpdate)
Update on the status or results of a tool call.
Plan(Plan)
The agent’s execution plan for complex tasks. See protocol docs: Agent Plan
AvailableCommandsUpdate(AvailableCommandsUpdate)
Available commands are ready or have changed
CurrentModeUpdate(CurrentModeUpdate)
The current mode of the session has changed
See protocol docs: Session Modes
ConfigOptionUpdate(ConfigOptionUpdate)
Session configuration options have been updated.
SessionInfoUpdate(SessionInfoUpdate)
Session metadata has been updated (title, timestamps, custom metadata)
UsageUpdate(UsageUpdate)
Context window and cost update for the session.
Trait Implementations§
Source§impl Clone for SessionUpdate
impl Clone for SessionUpdate
Source§fn clone(&self) -> SessionUpdate
fn clone(&self) -> SessionUpdate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SessionUpdate
impl Debug for SessionUpdate
Source§impl<'de> Deserialize<'de> for SessionUpdate
impl<'de> Deserialize<'de> for SessionUpdate
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SessionUpdate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SessionUpdate, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl IntoV2 for SessionUpdate
impl IntoV2 for SessionUpdate
Source§type Output = SessionUpdate
type Output = SessionUpdate
Source§fn into_v2(
self,
) -> Result<<SessionUpdate as IntoV2>::Output, ProtocolConversionError>
fn into_v2( self, ) -> Result<<SessionUpdate as IntoV2>::Output, ProtocolConversionError>
Source§impl JsonSchema for SessionUpdate
impl JsonSchema for SessionUpdate
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SessionUpdate
impl PartialEq for SessionUpdate
Source§fn eq(&self, other: &SessionUpdate) -> bool
fn eq(&self, other: &SessionUpdate) -> bool
self and other values to be equal, and is used by ==.