pub struct SessionRow {Show 13 fields
pub session_id: String,
pub tool: String,
pub path: String,
pub project: String,
pub title: String,
pub started: Option<String>,
pub msg_count: i64,
pub kind: String,
pub preview: Option<String>,
pub summary: Option<String>,
pub tags: Option<String>,
pub archived: bool,
pub account: Option<String>,
}Expand description
Serializes to the agent-facing JSON contract: snake_case keys matching the
web API (id, msgs, tags as an array). The absolute path is never
serialized verbatim - only the tool’s own native_id (the codex rollout /
claude transcript UUID extracted from the filename) is exposed, so an agent
can join a harness “tower” row (which knows only the native id) back to a
session without the local path ever leaking.
Fields§
§session_id: String§tool: String§path: StringThe NATIVE session file path. Never serialized as-is; it is surfaced only
as the extracted native_id UUID (or null when the filename carries no
UUID) via [ser_native_id].
project: String§title: String§started: Option<String>§msg_count: i64§kind: String§preview: Option<String>Tail of the conversation (last assistant message), so a list can show how the session ended without opening it.
summary: Option<String>Cached LLM synopsis, if summarize has been run for this session.
Comma-joined user tags, if any. Serialized as a string array (or null).
archived: boolTrue if the tool deleted the original and we kept the indexed copy.
account: Option<String>The swapdex account profile active when this session started, when a swapdex switch timeline exists on the machine. Null otherwise - a missing badge, never a guess.