pub struct TaskSessionInfo {
pub session_id: String,
pub role: String,
pub created_at: i64,
pub message_count: Option<usize>,
pub archived: Option<bool>,
pub last_activity: Option<i64>,
pub last_phase: Option<String>,
pub last_exit_status: Option<String>,
pub is_live: bool,
}Expand description
Session recorded against a task, enriched with best-effort live state.
One TaskSessionInfo per (task_id, session_id, role) row in
task_sessions. Enrichment fields are Option<T> because a session may
have been deleted, archived to a different store, or be otherwise
unreadable — we still want to surface the bare (session_id, role) row.
Fields§
§session_id: StringSession ID.
role: StringRole: “creator” | “interactive” | “planner” | “refiner” | “worker” | “reviewer”.
created_at: i64When this session was recorded on the task (unix millis).
message_count: Option<usize>§archived: Option<bool>§last_activity: Option<i64>Unix seconds of the session’s last activity (any message append).
last_phase: Option<String>Last known phase (“idle” | “thinking” | “responding” | “tool_exec” | …).
last_exit_status: Option<String>Exit status if the session has finished a turn: “completed” | “error” | “cancelled” | “max_turns”. None while live or if the session has never run a turn.
is_live: boolTrue when a chat turn is actively running for this session right now.
Trait Implementations§
Source§impl Clone for TaskSessionInfo
impl Clone for TaskSessionInfo
Source§fn clone(&self) -> TaskSessionInfo
fn clone(&self) -> TaskSessionInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more