Expand description
Session management — ID resolution, locking, snapshots, cleanup.
Structs§
- Session
Context - Session context — holds the session ID, directory, base directory, and file lock.
- Session
Info - A session entry returned by
list_sessions. - Snapshot
Info - Info about a saved snapshot.
Functions§
- acquire_
session_ lock - Acquire an exclusive file lock on the session directory.
- cleanup_
expired_ sessions - Clean up expired sessions.
- clear_
messages_ jsonl - Delete the
messages.jsonlfile if it exists. - create_
snapshot - Create a named snapshot of a session.
- delete_
snapshot - Delete a saved snapshot.
- generate_
session_ id - Generate a new session_id (format: YYYYMMDD_first8ofUuid)
- get_
or_ create_ session_ dir - Get or create a session directory under
base_dir/sessions/<session_id>. - list_
sessions - List resumable sessions under
base_dir/sessions/. - list_
snapshots - List all saved snapshots under
base_dir/snapshots/. - load_
session_ messages - Load a previously-persisted
messages.jsonland sanitize for resume. - persist_
window_ messages - Persist the current window’s full
ChatMessagelist as a JSONL snapshot. - read_
session_ title - Read the LLM-generated title from
session_meta.json. - resolve_
session - Resolve and create a session context — session ID, directory, and file lock.
- resolve_
session_ id - Resolve session ID (priority: CLI arg →
PHI_SESSION_IDenv var → auto-generate). - restore_
snapshot - Restore a session from a snapshot.
- validate_
session_ id - Validate session ID format.
- validate_
snapshot_ name - Validate snapshot name format.
- write_
session_ title - Write a session title into
session_meta.json.