Skip to main content

SessionWatcher

Struct SessionWatcher 

Source
pub struct SessionWatcher {
    pub pane_id: String,
    pub member_name: String,
    pub state: WatcherState,
    /* private fields */
}

Fields§

§pane_id: String§member_name: String§state: WatcherState

Implementations§

Source§

impl SessionWatcher

Source

pub fn new( pane_id: &str, member_name: &str, _stale_secs: u64, tracker: Option<SessionTrackerConfig>, ) -> Self

Source

pub fn poll(&mut self) -> Result<WatcherState>

Poll the pane and update state.

Source

pub fn is_ready_for_delivery(&self) -> bool

Whether this agent’s pane has been confirmed ready for message delivery.

Returns true once the agent prompt has been observed at least once since the watcher was created or last activated. This prevents injecting messages into panes where the agent CLI hasn’t finished starting.

Source

pub fn confirm_ready(&mut self)

Externally confirm that the agent pane is ready (e.g. from a delivery readiness check that observed the prompt). Updates state to Ready if it was still in the initial Idle state before first readiness confirmation.

Source

pub fn activate(&mut self)

Mark this watcher as actively working.

Source

pub fn set_session_id(&mut self, session_id: Option<String>)

Source

pub fn deactivate(&mut self)

Mark this watcher as idle.

Source

pub fn secs_since_last_output_change(&self) -> u64

Seconds since the last time pane output changed.

Source

pub fn last_output(&self) -> &str

Get the last captured pane output.

Source

pub fn last_lines(&self, n: usize) -> String

Get the last N lines of captured output.

Source

pub fn current_session_id(&self) -> Option<String>

Source

pub fn configured_session_id(&self) -> Option<String>

Source

pub fn current_session_size_bytes(&self) -> Option<u64>

Source

pub fn codex_quality_signals(&self) -> Option<CodexQualitySignals>

Source

pub fn take_completion_event(&mut self) -> bool

Source

pub fn refresh_session_tracking(&mut self) -> Result<()>

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<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<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