llmsession
Runs LLM sessions and records them: the session store, the Claude Code stream transport, the runner and the transcript import.
In the namespace octomy.
Detailed description
The session store sessions.db holds one record per session and its events. The stream transport starts Claude Code as a driver, and the runner of the door host starts sessions and holds them while they run. The transcript import reads a Claude Code transcript, so that a session that ran in a terminal can be adopted or exported.
Classes
| Class | What it is |
|---|---|
| AdoptRequest | What session.adopt asks for: a folder, a session id or a transcript, and the statement that the terminal is closed |
| AdoptResult | Answer of an adopt: the new session, the candidates of a folder, or the reason of a refusal |
| ClaudeCodeVersion | Reads the version of the installed Claude Code once, and compares it with the floor of the stream transport (trove-parts §TPN-4) |
| ClaudeEnvironment | Environment that a claude process starts with: the environment of this process, less the API key and the session-nesting markers of a parent Claude Code session |
| EventPage | One read of the event cursor: the events after a seq, and the cursor for the next read (trove-parts §TPD-8) |
| ExportResult | Answer of an export: the command that resumes the session in a terminal, and its folder |
| ImportResult | What the import reader made of one transcript: the events, and the session id, folder, model and version that the transcript names |
| LeaseResult | Answer to a claim or a renewal of a session lease: whether it worked, when the lease expires, or why it was refused (§TPN-6) |
| SessionAdoption | Adopt a Claude Code session that runs, or ran, in a terminal into the session store, and build the command that hands a session back to a terminal (trove-parts §TPN-7) |
| SessionEvent | One event of a session: a prompt, a block of the answer, a tool call, a usage report, a limit, an error or the end of a turn (trove-parts §TPN-3) |
| SessionFilter | What SessionStore::sessions() selects: kind, state, lane, project and folder, each empty for any value, and a limit |
| SessionProfile | Two profiles of a session: what a session can touch, and the command line that Claude Code starts with (trove-parts §TPN-5) |
| SessionRecord | Record of one LLM session: its ids, its kind, its folder, its state, its lease and its token counts (trove-parts §TPN-2) |
| SessionRunner | Door host's runner: it starts sessions, holds their live drivers and records every event in the session store (trove-parts §TPN-4, §TPN-5, §TPN-6) |
| SessionStore | Session store sessions.db: one record per session and one row per event, the only history of a session (trove-parts §TPN-3, R7) |
| StartRequest | What session.start asks the runner for: the kind, the provider, the model, the folder or worktree, the first prompt, the briefing and the holder of the lease (trove-parts §TPO-3) |
| StreamDriver | Claude Code stream transport as an ILLMDriver: one StreamSession, on the subscription of the machine (trove-parts §TPN-4) |
| StreamDriverFactory | Makes StreamDrivers for a DriverManager (trove-parts §TPN-4) |
| StreamLaunch | What decides the command line of one stream process: the kind, the folder, the model, the provider session to resume, the system prompt file and whether the session runs unattended |
| StreamSession | Session facet of the Claude Code stream transport: one claude -p process per live session, with stream-json on standard input and standard output (trove-parts §TPN-4) |
| StreamSettings | What a StreamSession needs to start its process: the program, the leading arguments of a test stand-in, and the launch of the first process |
| TranscriptCandidate | One Claude Code session of a folder, as the adopt dialog and session.adopt list it |
| TranscriptImport | One reader of the Claude Code transcript format: it turns a <session-id>.jsonl file into the part's events, once, on adopt (trove-parts §TPN-7, §TPN-8) |
Namespaces
| Namespace | What it is |
|---|---|
| opal | Session.* OPAL tasks over the session store and the runner |