#[non_exhaustive]pub enum StreamEvent {
Show 27 variants
Start {
call_id: String,
},
StartStep {
step_number: u32,
runtime_context: Option<JsonValue>,
tools_context: Option<JsonValue>,
model: ModelIdentity,
request: StepRequest,
warnings: Vec<Warning>,
},
TextStart {
id: PartId,
provider_metadata: Option<ProviderMetadata>,
},
TextDelta {
id: PartId,
text: String,
provider_metadata: Option<ProviderMetadata>,
},
TextEnd {
id: PartId,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningStart {
id: PartId,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningDelta {
id: PartId,
text: String,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningEnd {
id: PartId,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningFile(GeneratedFile),
File(GeneratedFile),
Source(Source),
Custom {
kind: CustomKind,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputStart {
id: ToolCallId,
tool_name: ToolName,
provider_executed: bool,
dynamic: bool,
title: Option<String>,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputDelta {
id: ToolCallId,
delta: String,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputEnd {
id: ToolCallId,
provider_metadata: Option<ProviderMetadata>,
},
ToolCall(ParsedToolCall),
ToolResult(ToolResult),
ToolError(ToolExecutionError),
ToolApprovalRequest(ToolApprovalRequestContent),
ToolApprovalResponse(ToolApprovalResponseContent),
ToolOutputDenied(ToolOutputDenied),
FinishStep {
step_number: u32,
finish_reason: FinishReason,
usage: Usage,
response: StepResponse,
provider_metadata: Option<ProviderMetadata>,
performance: StepPerformance,
},
Finish {
finish_reason: FinishReason,
total_usage: Usage,
},
Error {
error: StreamErrorInfo,
},
Abort,
RetryAttempt {
step_number: u32,
attempt: u32,
request: StepRequest,
warnings: Vec<Warning>,
},
Raw {
raw_value: JsonValue,
},
}Expand description
One event of a text stream. Serializable, so applications can forward events over SSE or WebSocket frames unchanged.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Start
The call started.
StartStep
A step started.
TextStart
Start of a text part.
TextDelta
Text increment.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
TextEnd
End of a text part.
ReasoningStart
Start of a reasoning part.
ReasoningDelta
Reasoning increment.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ReasoningEnd
End of a reasoning part.
ReasoningFile(GeneratedFile)
A reasoning artifact stored as a file.
File(GeneratedFile)
A generated file.
Source(Source)
A citation source.
Custom
Provider-specific content.
Fields
kind: CustomKindKind of the content.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolInputStart
Start of streamed tool input.
Fields
id: ToolCallIdTool call id.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolInputDelta
Tool input increment (raw JSON text).
Fields
id: ToolCallIdTool call id.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolInputEnd
End of streamed tool input.
Fields
id: ToolCallIdTool call id.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolCall(ParsedToolCall)
A parsed tool call.
ToolResult(ToolResult)
A tool result (may be preliminary).
ToolError(ToolExecutionError)
A tool error.
ToolApprovalRequest(ToolApprovalRequestContent)
A request to approve a tool call.
ToolApprovalResponse(ToolApprovalResponseContent)
An automatic approval decision.
ToolOutputDenied(ToolOutputDenied)
A denied tool call.
FinishStep
A step finished.
Fields
finish_reason: FinishReasonFinish reason.
response: StepResponseResponse metadata (without messages).
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
performance: StepPerformanceTiming and throughput of the step.
Finish
The call finished.
Fields
finish_reason: FinishReasonFinish reason of the last step.
Error
An error occurred (the stream may continue after a retry).
Fields
error: StreamErrorInfoThe error.
Abort
The call was aborted by cancellation.
RetryAttempt
The model call of the current step was retried after a stream error. Content emitted by the previous attempt stays in the stream but is excluded from the step result.
Fields
request: StepRequestRequest metadata of the new attempt.
Raw
A raw provider chunk (only with include_raw_chunks).
Implementations§
Source§impl StreamEvent
impl StreamEvent
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