pub enum ModelStreamEvent {
TextDelta {
text: String,
},
ThinkingDelta {
text: String,
},
Status {
label: String,
},
Usage {
input_tokens: Option<u64>,
output_tokens: Option<u64>,
cache_creation_tokens: Option<u64>,
cache_read_tokens: Option<u64>,
},
ToolCall(ToolInvocation),
ToolCallProgress {
id: Option<String>,
tool_name: String,
arguments_chars: usize,
},
Done,
}Expand description
A single event from a model provider’s streaming response.
Variants§
TextDelta
An incremental text delta from the assistant.
ThinkingDelta
An incremental thinking/reasoning delta.
Status
A status message from the provider (e.g. “processing”, “queued”).
Usage
Token usage information reported by the provider.
Fields
ToolCall(ToolInvocation)
The model requested a tool invocation.
ToolCallProgress
The model is streaming a tool call (name known; arguments may still be incomplete).
Providers emit this while native tool-call arguments are being generated so clients can show progress instead of a false “waiting for model” idle.
Fields
Done
The stream has ended.
Trait Implementations§
Source§impl Clone for ModelStreamEvent
impl Clone for ModelStreamEvent
Source§impl Debug for ModelStreamEvent
impl Debug for ModelStreamEvent
Source§impl<'de> Deserialize<'de> for ModelStreamEvent
impl<'de> Deserialize<'de> for ModelStreamEvent
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ModelStreamEvent
impl PartialEq for ModelStreamEvent
Source§impl Serialize for ModelStreamEvent
impl Serialize for ModelStreamEvent
impl StructuralPartialEq for ModelStreamEvent
Auto Trait Implementations§
impl Freeze for ModelStreamEvent
impl RefUnwindSafe for ModelStreamEvent
impl Send for ModelStreamEvent
impl Sync for ModelStreamEvent
impl Unpin for ModelStreamEvent
impl UnsafeUnpin for ModelStreamEvent
impl UnwindSafe for ModelStreamEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more