pub struct StreamState {Show 28 fields
pub response_id: String,
pub output_id: String,
pub content_index: u32,
pub full_text: String,
pub reasoning_text: String,
pub is_first_chunk: bool,
pub is_output_item_added: bool,
pub is_content_part_added: bool,
pub is_reasoning_added: bool,
pub is_function_call_item_added: bool,
pub is_completed: bool,
pub current_tool_calls: Vec<ToolCallState>,
pub completed_tool_calls: Vec<ToolCallState>,
pub model: String,
pub input_tokens: Option<i64>,
pub output_tokens: Option<i64>,
pub total_tokens: Option<i64>,
pub cached_tokens: Option<i64>,
pub reasoning_tokens: Option<i64>,
pub thinking_buffer: String,
pub is_thinking: bool,
pub next_output_index: u32,
pub text_output_index: Option<u32>,
pub reasoning_output_index: Option<u32>,
pub request_context: Option<ResponseRequestContext>,
pub final_status: String,
pub incomplete_reason: Option<String>,
pub refusal_text: String,
}Expand description
Streaming converter state for tracking incremental changes.
Fields§
§response_id: String§output_id: String§content_index: u32§full_text: String§reasoning_text: String§is_first_chunk: bool§is_output_item_added: bool§is_content_part_added: bool§is_reasoning_added: bool§is_function_call_item_added: bool§is_completed: bool§current_tool_calls: Vec<ToolCallState>§completed_tool_calls: Vec<ToolCallState>§model: String§input_tokens: Option<i64>§output_tokens: Option<i64>§total_tokens: Option<i64>§cached_tokens: Option<i64>§reasoning_tokens: Option<i64>§thinking_buffer: StringBuffer for incomplete think/thought tags during streaming
is_thinking: boolWhether we’re currently inside a thinking tag
next_output_index: u32Next available output_index for sequential assignment
text_output_index: Option<u32>Stored output_index for text message items
reasoning_output_index: Option<u32>Stored output_index for reasoning items
request_context: Option<ResponseRequestContext>Original Responses request fields for protocol-consistent events.
final_status: StringFinal response status derived from finish_reason.
incomplete_reason: Option<String>Optional incomplete reason when final_status is incomplete.
refusal_text: StringRefusal text accumulated from streaming deltas.
Implementations§
Source§impl StreamState
impl StreamState
Sourcepub fn new(
response_id: String,
model: String,
request_context: Option<ResponseRequestContext>,
) -> Self
pub fn new( response_id: String, model: String, request_context: Option<ResponseRequestContext>, ) -> Self
Create a new stream state.
Sourcepub fn update_usage(&mut self, chunk: &ChatStreamChunk)
pub fn update_usage(&mut self, chunk: &ChatStreamChunk)
Update usage from a ChatStreamChunk.
Sourcepub fn build_response_object(&self) -> Box<ResponseObject>
pub fn build_response_object(&self) -> Box<ResponseObject>
Build the final ResponseObject with all accumulated outputs.
Trait Implementations§
Source§impl Clone for StreamState
impl Clone for StreamState
Source§fn clone(&self) -> StreamState
fn clone(&self) -> StreamState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for StreamState
impl RefUnwindSafe for StreamState
impl Send for StreamState
impl Sync for StreamState
impl Unpin for StreamState
impl UnsafeUnpin for StreamState
impl UnwindSafe for StreamState
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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