Skip to main content

StreamPart

Enum StreamPart 

Source
pub enum StreamPart {
Show 18 variants TextStart { id: String, provider_metadata: Option<ProviderMetadata>, }, TextDelta { id: String, delta: String, provider_metadata: Option<ProviderMetadata>, }, TextEnd { id: String, provider_metadata: Option<ProviderMetadata>, }, StreamStart { warnings: Vec<Warning>, }, Finish { finish_reason: FinishReason, usage: Usage, provider_metadata: Option<ProviderMetadata>, }, Error { error: AiMuxError, }, 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>, }, ToolCall { tool_call_id: String, tool_name: String, input: Value, provider_executed: Option<bool>, dynamic: Option<bool>, thought_signature: Option<String>, invalid: Option<bool>, error: Option<AiMuxError>, provider_metadata: Option<ProviderMetadata>, }, ToolResult { tool_call_id: String, tool_name: String, result: Value, is_error: Option<bool>, preliminary: Option<bool>, dynamic: Option<bool>, provider_metadata: Option<ProviderMetadata>, }, File { data: FileData, media_type: 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>, }, ResponseMetadata { id: Option<String>, timestamp: Option<String>, model_id: Option<String>, }, Source { id: String, source_type: String, url: Option<String>, title: Option<String>, provider_metadata: Option<ProviderMetadata>, }, Raw { raw_value: Value, },
}
Expand description

A single chunk in the stream returned by do_stream.

Variants§

§

TextStart

Start of a text segment.

Fields

§provider_metadata: Option<ProviderMetadata>
§

TextDelta

A delta of generated text.

Fields

§delta: String
§provider_metadata: Option<ProviderMetadata>
§

TextEnd

End of a text segment.

Fields

§provider_metadata: Option<ProviderMetadata>
§

StreamStart

First chunk — carries warnings from the provider.

Fields

§warnings: Vec<Warning>
§

Finish

Final chunk — carries usage, finish reason, and metadata.

Fields

§finish_reason: FinishReason
§usage: Usage
§provider_metadata: Option<ProviderMetadata>
§

Error

An error occurred mid-stream.

Fields

§

ToolInputStart

Start of a tool call’s input streaming.

Fields

§tool_name: String
§provider_executed: Option<bool>

Whether the tool call will be executed by the provider.

§dynamic: Option<bool>

Whether the tool is dynamic (defined at runtime, e.g. MCP tools).

§title: Option<String>

Optional title for the tool call.

§provider_metadata: Option<ProviderMetadata>
§

ToolInputDelta

A delta of tool call input (partial JSON).

Fields

§delta: String
§provider_metadata: Option<ProviderMetadata>
§

ToolInputEnd

End of a tool call’s input streaming.

Fields

§provider_metadata: Option<ProviderMetadata>
§

ToolCall

A complete tool call (alternative to the start/delta/end flow).

Fields

§tool_call_id: String
§tool_name: String
§input: Value

Serialized argument text in a Value::String from do_stream; parsed input after stream_text.

§provider_executed: Option<bool>

Whether the tool call will be executed by the provider.

§dynamic: Option<bool>

Whether the tool is dynamic (defined at runtime, e.g. MCP tools).

§thought_signature: Option<String>

Provider-assigned thought signature (e.g. Google Gemini thoughtSignature). Must be echoed back verbatim on the follow-up turn when the tool result is sent.

§invalid: Option<bool>

Set by Core when the call remains invalid after optional repair.

§error: Option<AiMuxError>

Typed lookup, parsing, schema, or repair failure.

§provider_metadata: Option<ProviderMetadata>
§

ToolResult

A tool result (provider-executed tools).

Fields

§tool_call_id: String
§tool_name: String
§result: Value
§is_error: Option<bool>

Whether the result is an error or error message.

§preliminary: Option<bool>

Whether the result is preliminary (replaces prior, e.g. image previews).

§dynamic: Option<bool>

Whether the tool is dynamic (defined at runtime, e.g. MCP tools).

§provider_metadata: Option<ProviderMetadata>

Additional provider-specific metadata for the tool result.

§

File

A file generated by the model (e.g. an image or document).

Mirrors the Vercel AI SDK file stream part. data is a tagged union covering base64 data, URL, or provider reference.

Fields

§media_type: String
§provider_metadata: Option<ProviderMetadata>
§

ReasoningStart

Fields

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata (e.g. xAI itemId).

§

ReasoningDelta

Fields

§delta: String
§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata (e.g. xAI itemId).

§

ReasoningEnd

Fields

§provider_metadata: Option<ProviderMetadata>

Provider-specific metadata (e.g. xAI itemId, reasoningEncryptedContent).

§

ResponseMetadata

Response metadata (id, timestamp, model_id).

Fields

§timestamp: Option<String>
§model_id: Option<String>
§

Source

A source / citation (e.g. URL citation from search-preview models).

Fields

§source_type: String
§provider_metadata: Option<ProviderMetadata>
§

Raw

A raw chunk from the provider (for debugging, when include_raw_chunks is set).

Fields

§raw_value: Value

Trait Implementations§

Source§

impl Clone for StreamPart

Source§

fn clone(&self) -> Self

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 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 TS for StreamPart

Source§

type WithoutGenerics = StreamPart

If this type does not have generic parameters, then WithoutGenerics should just be Self. If the type does have generic parameters, then all generic parameters must be replaced with a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read more
Source§

type OptionInnerType = StreamPart

If the implementing type is std::option::Option<T>, then this associated type is set to T. All other implementations of TS should set this type to Self instead.
Source§

fn ident(cfg: &Config) -> String

Identifier of this type, excluding generic parameters.
Source§

fn docs() -> Option<String>

JSDoc comment to describe this type in TypeScript - when TS is derived, docs are automatically read from your doc comments or #[doc = ".."] attributes
Source§

fn name(cfg: &Config) -> String

Name of this type in TypeScript, including generic parameters
Source§

fn decl_concrete(cfg: &Config) -> String

Declaration of this type using the supplied generic arguments. The resulting TypeScript definition will not be generic. For that, see TS::decl(). If this type is not generic, then this function is equivalent to TS::decl().
Source§

fn decl(cfg: &Config) -> String

Declaration of this type, e.g. type User = { user_id: number, ... }. This function will panic if the type has no declaration. Read more
Source§

fn inline(cfg: &Config) -> String

Formats this types definition in TypeScript, e.g { user_id: number }. This function will panic if the type cannot be inlined.
Source§

fn inline_flattened(cfg: &Config) -> String

Flatten a type declaration. This function will panic if the type cannot be flattened.
Source§

fn visit_generics(v: &mut impl TypeVisitor)
where Self: 'static,

Iterates over all type parameters of this type.
Source§

fn output_path() -> Option<PathBuf>

Returns the output path to where T should be exported, relative to the output directory. The returned path does not include any base directory. Read more
Source§

fn visit_dependencies(v: &mut impl TypeVisitor)
where Self: 'static,

Iterates over all dependency of this type.
Source§

fn dependencies(cfg: &Config) -> Vec<Dependency>
where Self: 'static,

Resolves all dependencies of this type recursively.
Source§

fn export(cfg: &Config) -> Result<(), ExportError>
where Self: 'static,

Manually export this type to the filesystem. To export this type together with all of its dependencies, use TS::export_all. Read more
Source§

fn export_all(cfg: &Config) -> Result<(), ExportError>
where Self: 'static,

Manually export this type to the filesystem, together with all of its dependencies. To export only this type, without its dependencies, use TS::export. Read more
Source§

fn export_to_string(cfg: &Config) -> Result<String, ExportError>
where Self: 'static,

Manually generate bindings for this type, returning a String. This function does not format the output, even if the format feature is enabled. Read more

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more