pub struct SessionInfo {Show 20 fields
pub id: String,
pub model: String,
pub provider: String,
pub cwd: Option<String>,
pub message_count: usize,
pub stats: SessionStats,
pub last_activity: i64,
pub parent_id: Option<String>,
pub child_count: usize,
pub child_budget: u32,
pub tagline: Option<String>,
pub state: String,
pub context_pct: Option<f64>,
pub archived: bool,
pub project_name: Option<String>,
pub successor_id: Option<String>,
pub last_exit_status: Option<String>,
pub is_live: bool,
pub turn_started_at_ms: Option<u64>,
pub phase_started_at_ms: Option<u64>,
}Fields§
§id: String§model: String§provider: String§cwd: Option<String>§message_count: usize§stats: SessionStats§last_activity: i64Unix timestamp (seconds) of last activity (last message or session creation).
parent_id: Option<String>Parent session ID (None for root sessions).
child_count: usizeNumber of direct child sessions.
child_budget: u32Budget for descendant sessions.
tagline: Option<String>Short description of what this session is working on.
state: StringCurrent agent phase: “idle”, “thinking”, “responding”, “tool_exec”, etc.
context_pct: Option<f64>Context usage as percentage (0-100), if known.
archived: boolWhether this session is archived.
project_name: Option<String>Project name this session belongs to.
successor_id: Option<String>Optional successor session id. When Some, this session has
been retired and notifications targeted at it are forwarded to
the resolved tip of the successor chain. See task 914.
last_exit_status: Option<String>Last exit status: null (never ran), “completed”, “error”, “cancelled”, “max_turns”.
is_live: boolTrue when a chat turn is actively running for this session right now.
False means the session is idle — state may reflect a stale phase
from a previous turn or server restart.
turn_started_at_ms: Option<u64>Unix-ms timestamp when the current non-Idle turn began on the
server. Some(_) while a turn is in flight, None when the
session is idle. Used by the TUI to anchor the “Working… Xs”
counter so it remains correct when attaching to an already-running
session from the picker.
phase_started_at_ms: Option<u64>Unix-ms timestamp when the current phase began on the server.
Re-stamped on every phase transition within a turn; None when
the session is idle. Symmetric to turn_started_at_ms so
late-subscribing clients can anchor the per-phase elapsed counter.
Trait Implementations§
Source§impl Clone for SessionInfo
impl Clone for SessionInfo
Source§fn clone(&self) -> SessionInfo
fn clone(&self) -> SessionInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more