#[non_exhaustive]pub enum StreamEvent {
Show 20 variants
SystemInit {
session_id: String,
model: String,
},
Thinking(String),
Text(String),
AssistantThinking(String),
AssistantText(String),
ToolUse {
id: String,
name: String,
input: Value,
},
ToolResult {
tool_use_id: String,
content: String,
},
RateLimit {
resets_at: u64,
},
InputJsonDelta(String),
SignatureDelta(String),
CitationsDelta(Value),
MessageStart {
model: String,
id: String,
},
ContentBlockStart {
index: u64,
block_type: String,
},
ContentBlockStop {
index: u64,
},
MessageDelta {
stop_reason: Option<String>,
},
MessageStop,
Ping,
Error {
error_type: String,
message: String,
},
Result(ClaudeResponse),
Unknown(Value),
}stream only.Expand description
Event emitted from a stream-json response.
Events come from two sources:
- Delta variants (
Text,Thinking, etc.) — real-time token-level chunks fromstream_event. Requirescrate::ClaudeConfigBuilder::include_partial_messagesto be enabled. - Assistant variants (
AssistantText,AssistantThinking) — complete messages fromassistantevents. Always sent regardless ofinclude_partial_messages.
When include_partial_messages is enabled, both delta and assistant variants are emitted.
Use delta variants for real-time display and assistant variants for the final complete text.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
SystemInit
Session initialization info.
Thinking(String)
Thinking delta chunk from real-time streaming (stream_event / thinking_delta).
Only emitted when crate::ClaudeConfigBuilder::include_partial_messages is enabled.
Text(String)
Text delta chunk from real-time streaming (stream_event / text_delta).
Only emitted when crate::ClaudeConfigBuilder::include_partial_messages is enabled.
AssistantThinking(String)
Complete thinking text from assistant event. Always emitted.
AssistantText(String)
Complete text from assistant event. Always emitted.
ToolUse
Tool invocation by the model.
ToolResult
Tool execution result.
Fields
RateLimit
Rate limit information.
InputJsonDelta(String)
Partial tool input JSON chunk (from input_json_delta).
SignatureDelta(String)
Thinking signature chunk (from signature_delta).
CitationsDelta(Value)
Citations chunk (from citations_delta).
MessageStart
Start of a message (from message_start).
ContentBlockStart
Start of a content block (from content_block_start).
ContentBlockStop
End of a content block (from content_block_stop).
MessageDelta
Message-level delta with stop reason (from message_delta).
MessageStop
Message complete (from message_stop).
Ping
Keepalive ping (from ping).
Error
API error event (from error).
Result(ClaudeResponse)
Final result (same structure as non-streaming response).
Unknown(Value)
Unrecognized event (raw JSON preserved so nothing is lost).
Trait Implementations§
Source§impl Clone for StreamEvent
impl Clone for StreamEvent
Source§fn clone(&self) -> StreamEvent
fn clone(&self) -> StreamEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more