pub enum SessionUpdateEvent {
AgentMessageChunk {
session_id: String,
text: String,
},
AgentThoughtChunk {
session_id: String,
text: String,
},
ToolCall {
session_id: String,
tool_call_id: String,
name: String,
raw_input: Value,
},
ToolResult {
session_id: String,
tool_call_id: String,
name: String,
raw_output: String,
},
ApprovalRequest {
session_id: String,
request_id: String,
tool_name: String,
arguments_summary: String,
timeout_secs: u64,
},
ContextUsage {
session_id: String,
input_tokens: Option<u64>,
max_context_tokens: Option<u64>,
},
TurnComplete {
session_id: String,
outcome: TurnCompletionOutcome,
content: String,
},
}Expand description
Typed session update events pushed via session/update notifications.
Replaces the hand-built notification_for_turn_event function.
Variants§
AgentMessageChunk
AgentThoughtChunk
ToolCall
ToolResult
ApprovalRequest
Fields
ContextUsage
Per-LLM-call token usage. input_tokens is the cumulative context size
for this turn; max_context_tokens is the configured limit. Both may be
absent when the provider doesn’t report usage.
TurnComplete
Terminal event for a turn. Replaces the response of session/prompt.
outcome distinguishes a clean finish from a user-initiated cancel.
Trait Implementations§
Source§impl Clone for SessionUpdateEvent
impl Clone for SessionUpdateEvent
Source§fn clone(&self) -> SessionUpdateEvent
fn clone(&self) -> SessionUpdateEvent
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 SessionUpdateEvent
impl Debug for SessionUpdateEvent
Source§impl<'de> Deserialize<'de> for SessionUpdateEvent
impl<'de> Deserialize<'de> for SessionUpdateEvent
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 SessionUpdateEvent
impl RefUnwindSafe for SessionUpdateEvent
impl Send for SessionUpdateEvent
impl Sync for SessionUpdateEvent
impl Unpin for SessionUpdateEvent
impl UnsafeUnpin for SessionUpdateEvent
impl UnwindSafe for SessionUpdateEvent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more