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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request