Skip to main content

WaitObservation

Struct WaitObservation 

Source
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: bool

A 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: bool

A 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: bool

The 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: bool

A 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: bool

This 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

Source

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WaitObservation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for WaitObservation

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for WaitObservation

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for WaitObservation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoMaybeUndefined<T> for T

Source§

fn into_maybe_undefined(self) -> MaybeUndefined<T>

Converts this value into a three-state builder argument.
Source§

impl<T> IntoOption<T> for T

Source§

fn into_option(self) -> Option<T>

Converts this value into an optional builder argument.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more