pub struct SessionTracker { /* private fields */ }Expand description
Tracks an agent’s JSONL session file, tailing from EOF.
Implementations§
Source§impl SessionTracker
impl SessionTracker
Sourcepub fn new(
agent_type: AgentType,
root: PathBuf,
cwd: PathBuf,
session_id: Option<String>,
) -> Self
pub fn new( agent_type: AgentType, root: PathBuf, cwd: PathBuf, session_id: Option<String>, ) -> Self
Create a new tracker. Does not discover the session file until poll().
- For Claude:
root=~/.claude/projects - For Codex:
root=~/.codex/sessions
Sourcepub fn poll(&mut self) -> Result<TrackerVerdict>
pub fn poll(&mut self) -> Result<TrackerVerdict>
Poll the session file for new events.
On first call, discovers the session file and binds at EOF so that historical entries don’t produce false state transitions. Returns the current sticky verdict.
Sourcepub fn session_file(&self) -> Option<&Path>
pub fn session_file(&self) -> Option<&Path>
The path of the currently tracked session file, if any.
Auto Trait Implementations§
impl Freeze for SessionTracker
impl RefUnwindSafe for SessionTracker
impl Send for SessionTracker
impl Sync for SessionTracker
impl Unpin for SessionTracker
impl UnsafeUnpin for SessionTracker
impl UnwindSafe for SessionTracker
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
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>
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>
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)
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)
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.