pub enum StreamPart {
Show 21 variants
TextStart {
id: String,
provider_metadata: Option<ProviderMetadata>,
},
TextDelta {
id: String,
delta: String,
provider_metadata: Option<ProviderMetadata>,
},
TextEnd {
id: String,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningStart {
id: String,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningDelta {
id: String,
delta: String,
provider_metadata: Option<ProviderMetadata>,
},
ReasoningEnd {
id: String,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputStart {
id: String,
tool_name: String,
provider_executed: Option<bool>,
dynamic: Option<bool>,
title: Option<String>,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputDelta {
id: String,
delta: String,
provider_metadata: Option<ProviderMetadata>,
},
ToolInputEnd {
id: String,
provider_metadata: Option<ProviderMetadata>,
},
ToolApprovalRequest(ToolApprovalRequest),
ToolCall(ToolCallPart),
ToolResult(ToolResult),
Custom {
kind: String,
provider_metadata: Option<ProviderMetadata>,
},
Source(Source),
File(FilePart),
ReasoningFile {
data: FileData,
media_type: String,
provider_metadata: Option<ProviderMetadata>,
},
StreamStart {
warnings: Vec<Warning>,
},
ResponseMetadata(ResponseMetadata),
Finish {
usage: Usage,
finish_reason: FinishReason,
provider_metadata: Option<ProviderMetadata>,
},
Raw {
raw_value: JsonValue,
},
Error {
error: JsonValue,
},
}Expand description
One unit emitted on the stream returned by
super::LanguageModel::do_stream.
Variants§
TextStart
Start of a text block.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
TextDelta
Incremental text fragment.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
TextEnd
End of a text block.
ReasoningStart
Start of a reasoning block.
ReasoningDelta
Incremental reasoning fragment.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ReasoningEnd
End of a reasoning block.
ToolInputStart
Start of a tool input being streamed.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolInputDelta
Streamed chunk of a tool’s input JSON.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolInputEnd
End of a tool’s input stream.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
ToolApprovalRequest(ToolApprovalRequest)
Approval requested for a provider-executed tool call.
ToolCall(ToolCallPart)
Final tool call with assembled input.
ToolResult(ToolResult)
Tool result emitted by a provider-executed tool.
Custom
Provider-specific custom content.
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
Source(Source)
Citation / grounding source.
File(FilePart)
File generated by the model (mid-stream emission).
Mirrors ai-sdk’s LanguageModelV4File stream part. The wire tag is
"file" and shape matches a FilePart (filename / data / media
type / provider options).
ReasoningFile
File generated as part of a reasoning trace (mid-stream emission).
Mirrors ai-sdk’s LanguageModelV4ReasoningFile stream part. Wire
tag is "reasoning-file".
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
StreamStart
Stream-start metadata.
ResponseMetadata(ResponseMetadata)
Response-level metadata available mid-stream.
Finish
Terminal frame with totals.
Fields
finish_reason: FinishReasonWhy the model stopped.
provider_metadata: Option<ProviderMetadata>Provider-specific metadata.
Raw
Raw provider chunk (only when include_raw_chunks is set).
Error
In-stream error from the provider.
The stream is still alive; the outer Result is Ok.
Trait Implementations§
Source§impl Clone for StreamPart
impl Clone for StreamPart
Source§fn clone(&self) -> StreamPart
fn clone(&self) -> StreamPart
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StreamPart
impl Debug for StreamPart
Source§impl<'de> Deserialize<'de> for StreamPart
impl<'de> Deserialize<'de> for StreamPart
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>,
Source§impl PartialEq for StreamPart
impl PartialEq for StreamPart
Source§fn eq(&self, other: &StreamPart) -> bool
fn eq(&self, other: &StreamPart) -> bool
self and other values to be equal, and is used by ==.