Enum SessionUpdateEvent
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>,
},
Plan {
session_id: String,
entries: Vec<PlanEntry>,
},
TurnComplete {
session_id: String,
outcome: TurnCompletionOutcome,
content: String,
},
HistoryTrimmed {
session_id: String,
dropped_messages: usize,
kept_turns: usize,
reason: 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 runtime-profile context
budget ([runtime_profiles.<name>] max_context_tokens). Both may be
absent when the provider doesn’t report usage.
Plan
Emitted when the TodoWrite tool produces a plan. The entries array
carries the normalized PlanEntry values (content, status, priority,
optional activeForm) so the client can render the live tracker.
TurnComplete
Terminal event for a turn. Replaces the response of session/prompt.
outcome distinguishes a clean finish from a user-initiated cancel.
Fields
outcome: TurnCompletionOutcomeHistoryTrimmed
Emitted whenever older whole turns were dropped from structured history
to fit a token budget or message cap. Surfaces a user-visible “context
was cut here” marker so trimming is never silent. dropped_messages is
the count of conversation messages removed; kept_turns is how many
whole turns remained after the cut.
Trait Implementations§
Source§impl Clone for SessionUpdateEvent
impl Clone for SessionUpdateEvent
Source§fn clone(&self) -> SessionUpdateEvent
fn clone(&self) -> SessionUpdateEvent
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
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
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>
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>
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