pub struct WatchPage {
pub handle_id: String,
pub subagent_id: u64,
pub agent_name: String,
pub model: String,
pub status: String,
pub steerable: bool,
pub next_seq: u64,
pub truncated: bool,
pub more: bool,
pub events: Vec<WatchEvent>,
pub at_ms: Vec<u64>,
pub now_ms: Option<u64>,
}Expand description
One page of a worker’s journal (SessionQuery::SubagentWatch reply).
Fields§
§handle_id: String§subagent_id: u64§agent_name: String§model: StringThe model the worker runs on. Empty from older peers.
status: Stringrunning, completed, cancelled, timed_out or failed.
steerable: boolThe worker accepts steering (it is running and has a steer channel).
next_seq: u64Ask for since = next_seq next time.
truncated: boolEntries before the requested since were dropped (journal cap).
more: boolMore entries are ready right now (this page hit its byte budget).
events: Vec<WatchEvent>§at_ms: Vec<u64>When each of events was recorded (same length), in ms on the
journal’s clock. A coalesced delta entry carries its first part’s
time. Empty from older peers: clients then time events by arrival.
now_ms: Option<u64>The journal’s clock when this page was read, so a client can turn
at_ms into “this long ago”. Absent from older peers.
Implementations§
Source§impl WatchPage
impl WatchPage
Sourcepub fn without_tool_queue(self) -> WatchPage
pub fn without_tool_queue(self) -> WatchPage
This page for a client that did not ask for queue entries
(SessionQuery::SubagentWatch { tool_queue: false }, i.e. every
client that predates them): WatchEvent has no #[serde(other)],
so such a client would fail to decode the whole page.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WatchPage
impl<'de> Deserialize<'de> for WatchPage
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WatchPage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WatchPage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for WatchPage
impl Serialize for WatchPage
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for WatchPage
Auto Trait Implementations§
impl Freeze for WatchPage
impl RefUnwindSafe for WatchPage
impl Send for WatchPage
impl Sync for WatchPage
impl Unpin for WatchPage
impl UnsafeUnpin for WatchPage
impl UnwindSafe for WatchPage
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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