pub enum DriverAction<M = UnitTurnProtocol>where
M: TurnProtocol,{
Emit(SessionEvent),
AppendEvents(Vec<SessionEventRecord<<M as TurnProtocol>::Event>>),
StartLlm {
request: Arc<LlmRequest>,
driver_state: Option<<M as TurnProtocol>::DriverState>,
},
StartTools {
calls: Vec<PendingToolCall>,
},
StartExec {
code: String,
driver_state: <M as TurnProtocol>::DriverState,
},
StartCheckpoint {
checkpoint: CheckpointKind,
on_empty: CheckpointResumeAction,
},
AdvanceProtocolIteration,
ScheduleTurnLimitFinal {
message: Message,
},
Finish(TurnOutcome),
}Variants§
Emit(SessionEvent)
AppendEvents(Vec<SessionEventRecord<<M as TurnProtocol>::Event>>)
StartLlm
StartTools
Fields
§
calls: Vec<PendingToolCall>StartExec
StartCheckpoint
AdvanceProtocolIteration
ScheduleTurnLimitFinal
Finish(TurnOutcome)
Auto Trait Implementations§
impl<M = UnitTurnProtocol> !RefUnwindSafe for DriverAction<M>
impl<M = UnitTurnProtocol> !UnwindSafe for DriverAction<M>
impl<M> Freeze for DriverAction<M>
impl<M> Send for DriverAction<M>
impl<M> Sync for DriverAction<M>
impl<M> Unpin for DriverAction<M>
impl<M> UnsafeUnpin for DriverAction<M>
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