Skip to main content

StreamPart

Enum StreamPart 

Source
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

§id: String

Block id (used to correlate text-delta / text-end).

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

TextDelta

Incremental text fragment.

Fields

§id: String

Block id.

§delta: String

Text fragment.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

TextEnd

End of a text block.

Fields

§id: String

Block id.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ReasoningStart

Start of a reasoning block.

Fields

§id: String

Block id.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ReasoningDelta

Incremental reasoning fragment.

Fields

§id: String

Block id.

§delta: String

Reasoning fragment.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ReasoningEnd

End of a reasoning block.

Fields

§id: String

Block id.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ToolInputStart

Start of a tool input being streamed.

Fields

§id: String

Tool call id.

§tool_name: String

Tool name.

§provider_executed: Option<bool>

true if executed by the provider.

§dynamic: Option<bool>

true if defined at runtime.

§title: Option<String>

Optional display title.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ToolInputDelta

Streamed chunk of a tool’s input JSON.

Fields

§id: String

Tool call id.

§delta: String

JSON fragment.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

ToolInputEnd

End of a tool’s input stream.

Fields

§id: String

Tool call id.

§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

§kind: String

Custom kind tag, e.g. "openai.web_search_result".

§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

§data: FileData

File payload.

§media_type: String

IANA media type.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

StreamStart

Stream-start metadata.

Fields

§warnings: Vec<Warning>

Warnings for the call.

§

ResponseMetadata(ResponseMetadata)

Response-level metadata available mid-stream.

§

Finish

Terminal frame with totals.

Fields

§usage: Usage

Final token usage.

§finish_reason: FinishReason

Why the model stopped.

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata.

§

Raw

Raw provider chunk (only when include_raw_chunks is set).

Fields

§raw_value: JsonValue

Provider-native value.

§

Error

In-stream error from the provider.

The stream is still alive; the outer Result is Ok.

Fields

§error: JsonValue

Error payload as provided by the upstream.

Trait Implementations§

Source§

impl Clone for StreamPart

Source§

fn clone(&self) -> StreamPart

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StreamPart

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for StreamPart

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for StreamPart

Source§

fn eq(&self, other: &StreamPart) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for StreamPart

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for StreamPart

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,