pub struct Session {
pub id: String,
pub tool: &'static str,
pub path: PathBuf,
pub project: String,
pub started: Option<DateTime<Utc>>,
pub ended: Option<DateTime<Utc>>,
pub title: String,
pub subagent: bool,
pub messages: Vec<Message>,
pub touched: Vec<String>,
pub edits: Vec<EditEvent>,
}Fields§
§id: StringShort stable id derived from the file path (FNV-1a hash, hex).
tool: &'static str§path: PathBuf§project: String§started: Option<DateTime<Utc>>§ended: Option<DateTime<Utc>>§title: String§subagent: boolTrue for subagent transcripts spawned inside a parent session.
messages: Vec<Message>§touched: Vec<String>Files the session edited or created, extracted from its tool calls
(Claude’s Edit/Write, Codex’s apply_patch). This is the link between a
session and the code it produced - the basis for files and blame.
edits: Vec<EditEvent>The concrete edits behind touched, per file - the evidence layer: what
kind of change and a bounded snippet of it. Empty for adapters that do
not yet extract structured edits (they still populate touched).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Session
impl RefUnwindSafe for Session
impl Send for Session
impl Sync for Session
impl Unpin for Session
impl UnsafeUnpin for Session
impl UnwindSafe for Session
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