pub struct WaitObservation {Show 21 fields
pub checking_continuation: bool,
pub background_work: Option<ApiBackgroundWork>,
pub pending_elicitations: Vec<ElicitationRequest>,
pub lifecycle: Option<ViewerLifecycleCategory>,
pub resuming: bool,
pub closing: bool,
pub close_failure: Option<String>,
pub cannot_take_prompt: bool,
pub launch_failed: bool,
pub launch_error: Option<String>,
pub execution: MaterializedExecutionState,
pub active_turn: Option<MaterializedTurn>,
pub last_turn_outcome: Option<MaterializedTurnOutcome>,
pub queued: usize,
pub capacity_retry: Option<CapacityRetry>,
pub retry_assessment_pending: bool,
pub quota_recovery: Option<QuotaRecovery>,
pub start_status: Option<StartStatus>,
pub subagent: bool,
pub report_pending_for: Option<String>,
pub handback: Option<(String, String)>,
}Expand description
Everything one pass of the wait loop knows about a session.
Fields§
§checking_continuation: bool§background_work: Option<ApiBackgroundWork>§pending_elicitations: Vec<ElicitationRequest>§lifecycle: Option<ViewerLifecycleCategory>§resuming: boolA resume operation owns this session now. Its durable record still says
stopped — it stays stopped until the archive has been verified — so
without this a wait would answer stopped for a session that is on its
way up.
closing: boolA close owns this session now. Like resuming, this ends nothing: the
wait follows the close until it finishes.
close_failure: Option<String>The reason a close recorded on a session that is alive again, which is what a close that failed leaves behind. It is published only until the next action or transition for the session succeeds, so it always refers to a close nobody has recovered from.
cannot_take_prompt: boolThe session cannot take a prompt yet: it is still provisioning, a lifecycle operation owns it, or its worker is not attached. A wait with no target turn keeps waiting, because “finished” would invite a prompt that is then refused.
launch_failed: boolA recorded launch failure names this session.
launch_error: Option<String>Why the launch failed, when a reason was recorded.
execution: MaterializedExecutionState§active_turn: Option<MaterializedTurn>§last_turn_outcome: Option<MaterializedTurnOutcome>§queued: usize§capacity_retry: Option<CapacityRetry>§retry_assessment_pending: bool§quota_recovery: Option<QuotaRecovery>§start_status: Option<StartStatus>§subagent: boolThis session is a Mjolnir sub-agent child, whose answer says where its report came from.
report_pending_for: Option<String>The finished turn, by command id, whose child still owes its report. Mjolnir reminds the child to hand it back, so like an armed retry the turn is not an ending yet.
handback: Option<(String, String)>The report a child handed back, and the turn it answers.
Implementations§
Source§impl WaitObservation
impl WaitObservation
Sourcepub fn apply_subagent_report(
&mut self,
handback_tool: bool,
report: &SubagentReport,
now_ms: i64,
)
pub fn apply_subagent_report( &mut self, handback_tool: bool, report: &SubagentReport, now_ms: i64, )
Fold a child’s recorded report into this observation, judged against the turn this observation saw finish.
Trait Implementations§
Source§impl Clone for WaitObservation
impl Clone for WaitObservation
Source§impl Debug for WaitObservation
impl Debug for WaitObservation
Source§impl Default for WaitObservation
impl Default for WaitObservation
Source§impl PartialEq for WaitObservation
impl PartialEq for WaitObservation
impl StructuralPartialEq for WaitObservation
Auto Trait Implementations§
impl Freeze for WaitObservation
impl RefUnwindSafe for WaitObservation
impl Send for WaitObservation
impl Sync for WaitObservation
impl Unpin for WaitObservation
impl UnsafeUnpin for WaitObservation
impl UnwindSafe for WaitObservation
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
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> 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> ⓘ
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> ⓘ
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 more