pub struct SessionRunState {Show 14 fields
pub session_id: String,
pub state: RunState,
pub reusable_draft: bool,
pub owner_id: String,
pub cwd: String,
pub title: String,
pub since: i64,
pub tasks: Vec<SessionTask>,
pub listening_ports: Vec<u16>,
pub execution_id: Option<String>,
pub execution_role: Option<String>,
pub last_activity_at: i64,
pub version: u64,
pub interruption: Option<String>,
}Fields§
§session_id: String§state: RunState§reusable_draft: bool§owner_id: String§cwd: StringSession working directory (params.cwd of session/new|load|resume|fork). Empty string = the init request carried none (e.g. a session tracked only from a prompt after a process restart). Used for mobile list display.
title: StringSession title (session_info_update.title in session/update, same source as the desktop chat title). Empty string = the agent has not produced a title yet. Used for mobile list display.
since: i64Time the current state was entered (epoch ms). Kept when the same state continues.
tasks: Vec<SessionTask>§listening_ports: Vec<u16>§execution_id: Option<String>§execution_role: Option<String>§last_activity_at: i64§version: u64Monotonic per session: moves when the state or the interruption changes (not with activity
in the same state), so a version names one attention state. markRead carries the version
it confirms; a confirmation of an older version does not clear a newer done.
interruption: Option<String>Why the Runtime holds this session in requires_action without the agent asking: the
session was running when the Runtime stopped, so its turn was cut short. Cleared by the
next state the agent reports; None otherwise.