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.
TextDelta
A delta of generated text.
TextEnd
End of a text segment.
StreamStart
First chunk — carries warnings from the provider.
Finish
Final chunk — carries usage, finish reason, and metadata.
Error
An error occurred mid-stream.
Fields
error: AiMuxErrorToolInputStart
Start of a tool call’s input streaming.
Fields
provider_metadata: Option<ProviderMetadata>ToolInputDelta
A delta of tool call input (partial JSON).
ToolInputEnd
End of a tool call’s input streaming.
ToolCall
A complete tool call (alternative to the start/delta/end flow).
Fields
input: ValueSerialized argument text in a Value::String from do_stream;
parsed input after stream_text.
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.
error: Option<AiMuxError>Typed lookup, parsing, schema, or repair failure.
provider_metadata: Option<ProviderMetadata>ToolResult
A tool result (provider-executed tools).
Fields
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.
ReasoningStart
Fields
provider_metadata: Option<ProviderMetadata>Provider-specific metadata (e.g. xAI itemId).
ReasoningDelta
Fields
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).
Source
A source / citation (e.g. URL citation from search-preview models).
Fields
provider_metadata: Option<ProviderMetadata>Raw
A raw chunk from the provider (for debugging, when include_raw_chunks is set).
Trait Implementations§
Source§impl Clone for StreamPart
impl Clone for StreamPart
Source§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 Serialize for StreamPart
impl Serialize for StreamPart
Source§impl TS for StreamPart
impl TS for StreamPart
Source§type WithoutGenerics = StreamPart
type WithoutGenerics = StreamPart
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 moreSource§type OptionInnerType = StreamPart
type OptionInnerType = StreamPart
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 docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete(cfg: &Config) -> String
fn decl_concrete(cfg: &Config) -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl(cfg: &Config) -> String
fn decl(cfg: &Config) -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline(cfg: &Config) -> String
fn inline(cfg: &Config) -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened(cfg: &Config) -> String
fn inline_flattened(cfg: &Config) -> String
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported, relative to the output directory.
The returned path does not include any base directory. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
Source§fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export. Read more