pub enum TurnLifecycleEffect {
TurnCompleted {
input_message_id: MessageId,
data: TurnCompletedData,
},
SessionIdled {
turn_id: TurnId,
input_message_id: MessageId,
iterations: Option<u32>,
usage: Option<TokenUsage>,
},
TurnFailedWithDisclosure {
turn_id: TurnId,
input_message_id: MessageId,
text: String,
user_error: Option<UserFacingError>,
disclosure: Option<ErrorDisclosure>,
},
FireTurnEndHooks {
harness_id: HarnessId,
agent_id: Option<AgentId>,
turn_id: TurnId,
success: bool,
},
WaitingForToolResults,
}Expand description
A lifecycle side effect the engine decided must be recorded, described as data rather than performed.
The engine never emits events or fires hooks — it returns these, and the
host applies them (in list order) through its own lifecycle machinery. This
keeps planning deterministic while preserving the exact event stream. These
are NOT part of the public TurnPlan; they travel alongside it.
Variants§
TurnCompleted
Emit turn.completed with the summarized turn fields.
SessionIdled
Idle the session and emit session.idled.
Fields
§
usage: Option<TokenUsage>TurnFailedWithDisclosure
Fail the turn with the already-disclosure-filtered error, emitting
turn.failed + session.idled.
FireTurnEndHooks
Fire the advisory turn_end lifecycle hooks.
WaitingForToolResults
Mark the session waiting_for_tool_results.
Trait Implementations§
Source§impl Clone for TurnLifecycleEffect
impl Clone for TurnLifecycleEffect
Source§fn clone(&self) -> TurnLifecycleEffect
fn clone(&self) -> TurnLifecycleEffect
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 TurnLifecycleEffect
impl RefUnwindSafe for TurnLifecycleEffect
impl Send for TurnLifecycleEffect
impl Sync for TurnLifecycleEffect
impl Unpin for TurnLifecycleEffect
impl UnsafeUnpin for TurnLifecycleEffect
impl UnwindSafe for TurnLifecycleEffect
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