pub enum StreamedAssistantContent<R> {
Text(Text),
ToolCall {
tool_call: ToolCall,
internal_call_id: String,
},
ToolCallDelta {
id: String,
internal_call_id: String,
content: ToolCallDeltaContent,
},
Reasoning(Reasoning),
ReasoningDelta {
id: Option<String>,
reasoning: String,
},
Final(R),
Unknown(Value),
}Expand description
Describes responses from a streamed provider response which is either text, a tool call or a final usage response.
Variants§
Text(Text)
Text delta emitted by the assistant.
ToolCall
Complete tool call emitted by the assistant.
Fields
ToolCallDelta
Partial tool call data emitted by the assistant.
Fields
content: ToolCallDeltaContentReasoning(Reasoning)
Complete reasoning block emitted by the assistant.
ReasoningDelta
Partial reasoning text emitted by the assistant.
Fields
Final(R)
Final provider response object, if yielded by the provider stream.
Unknown(Value)
A provider-native output item rig does not model, preserved verbatim —
e.g. an OpenAI Responses hosted-tool result (web_search_call,
file_search_call, computer_call, code_interpreter_call). It is
yielded to the consumer for inspection/forwarding but is not added to the
accumulated assistant message or persisted history. Kept last because the
enum is #[serde(untagged)] and a raw Value
matches anything, so earlier (typed) variants must be tried first.
Implementations§
Source§impl<R> StreamedAssistantContent<R>
impl<R> StreamedAssistantContent<R>
Sourcepub fn final_response(res: R) -> Self
pub fn final_response(res: R) -> Self
Create a final response stream item.
Trait Implementations§
Source§impl<R: Clone> Clone for StreamedAssistantContent<R>
impl<R: Clone> Clone for StreamedAssistantContent<R>
Source§fn clone(&self) -> StreamedAssistantContent<R>
fn clone(&self) -> StreamedAssistantContent<R>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<R: Debug> Debug for StreamedAssistantContent<R>
impl<R: Debug> Debug for StreamedAssistantContent<R>
Source§impl<'de, R> Deserialize<'de> for StreamedAssistantContent<R>where
R: Deserialize<'de>,
impl<'de, R> Deserialize<'de> for StreamedAssistantContent<R>where
R: Deserialize<'de>,
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<R: PartialEq> PartialEq for StreamedAssistantContent<R>
impl<R: PartialEq> PartialEq for StreamedAssistantContent<R>
Source§impl<R> Serialize for StreamedAssistantContent<R>where
R: Serialize,
impl<R> Serialize for StreamedAssistantContent<R>where
R: Serialize,
impl<R: PartialEq> StructuralPartialEq for StreamedAssistantContent<R>
Auto Trait Implementations§
impl<R> Freeze for StreamedAssistantContent<R>where
R: Freeze,
impl<R> RefUnwindSafe for StreamedAssistantContent<R>where
R: RefUnwindSafe,
impl<R> Send for StreamedAssistantContent<R>where
R: Send,
impl<R> Sync for StreamedAssistantContent<R>where
R: Sync,
impl<R> Unpin for StreamedAssistantContent<R>where
R: Unpin,
impl<R> UnsafeUnpin for StreamedAssistantContent<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for StreamedAssistantContent<R>where
R: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
fn clone_storage(&self) -> Box<dyn CloneDebuggableStorage>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
impl<T> DebuggableStorage for T
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> 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>
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>
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