pub struct StreamEvent {
pub event_type: String,
pub delta: Option<StreamDelta>,
pub tool_use: Option<StreamToolUse>,
pub tool_use_start: Option<StreamToolUseStart>,
pub tool_use_input_delta: Option<StreamToolUseInputDelta>,
pub tool_use_complete: Option<StreamToolUseComplete>,
pub usage: Option<ChatUsage>,
pub error: Option<String>,
pub done: bool,
}Expand description
A single event from an SSE chat stream.
Tool-use streaming uses a triplet of events since v0.7:
tool_use_start carries tool_use_start, tool_use_input_delta
carries tool_use_input_delta, and tool_use_complete carries
tool_use_complete. The legacy atomic tool_use event is still
emitted by backends that haven’t shipped the triplet yet — for new
code, prefer the triplet fields.
Fields§
§event_type: StringEvent type: “content_delta”, “thinking_delta”, “tool_use_start”, “tool_use_input_delta”, “tool_use_complete”, “tool_use” (legacy), “usage”, “heartbeat”, “error”, “done”.
delta: Option<StreamDelta>Incremental text for content_delta and thinking_delta events.
tool_use: Option<StreamToolUse>Populated for legacy atomic tool_use events.
tool_use_start: Option<StreamToolUseStart>Populated for tool_use_start events.
tool_use_input_delta: Option<StreamToolUseInputDelta>Populated for tool_use_input_delta events.
tool_use_complete: Option<StreamToolUseComplete>Populated for tool_use_complete events.
usage: Option<ChatUsage>Populated for usage events.
error: Option<String>Populated for error events.
done: boolTrue when the stream is complete.
Trait Implementations§
Source§impl Clone for StreamEvent
impl Clone for StreamEvent
Source§fn clone(&self) -> StreamEvent
fn clone(&self) -> StreamEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more