pub struct StructuredTurnState<T: Toolset, O: StructuredOutput> {
pub request_id: Option<String>,
pub model: String,
pub assistant_turn: Vec<AssistantTurnItem>,
pub tool_calls: Vec<T::ToolCall>,
pub structured: Option<O>,
pub refusal: Option<String>,
pub finish_reason: Option<FinishReason>,
pub usage: Option<Usage>,
pub committed_turn: Option<CommittedTurn>,
}Fields§
§request_id: Option<String>§model: String§assistant_turn: Vec<AssistantTurnItem>§tool_calls: Vec<T::ToolCall>§structured: Option<O>§refusal: Option<String>§finish_reason: Option<FinishReason>§usage: Option<Usage>§committed_turn: Option<CommittedTurn>Implementations§
Source§impl<T, O> StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
impl<T, O> StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
Sourcepub fn apply(
&mut self,
event: &StructuredTurnEvent<T, O>,
) -> Result<(), StructuredTurnReductionError>
pub fn apply( &mut self, event: &StructuredTurnEvent<T, O>, ) -> Result<(), StructuredTurnReductionError>
Apply a streaming event to advance this turn state.
Returns an error if the turn has already completed.
Sourcepub fn finish(
self,
) -> Result<StructuredTurnResult<T, O>, StructuredTurnReductionError>
pub fn finish( self, ) -> Result<StructuredTurnResult<T, O>, StructuredTurnReductionError>
Finalize the accumulated state into a completed turn result.
Returns StructuredTurnReductionError::Incomplete if the turn has
not yet received a Completed event, and
StructuredTurnReductionError::EmptyAssistantOutput if the completed
turn produced no assistant items.
Trait Implementations§
Source§impl<T, O> Clone for StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
impl<T, O> Clone for StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
Source§impl<T: Debug + Toolset, O: Debug + StructuredOutput> Debug for StructuredTurnState<T, O>
impl<T: Debug + Toolset, O: Debug + StructuredOutput> Debug for StructuredTurnState<T, O>
Source§impl<T, O> Default for StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
impl<T, O> Default for StructuredTurnState<T, O>where
T: Toolset,
O: StructuredOutput,
Source§impl<T, O> PartialEq for StructuredTurnState<T, O>
impl<T, O> PartialEq for StructuredTurnState<T, O>
impl<T, O> Eq for StructuredTurnState<T, O>
Auto Trait Implementations§
impl<T, O> Freeze for StructuredTurnState<T, O>where
O: Freeze,
impl<T, O> !RefUnwindSafe for StructuredTurnState<T, O>
impl<T, O> Send for StructuredTurnState<T, O>
impl<T, O> Sync for StructuredTurnState<T, O>
impl<T, O> Unpin for StructuredTurnState<T, O>
impl<T, O> UnsafeUnpin for StructuredTurnState<T, O>where
O: UnsafeUnpin,
impl<T, O> !UnwindSafe for StructuredTurnState<T, O>
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