Expand description
Parsing of Claude Code session JSONL into typed conversation values.
Structs§
- Answered
- What a result needs to know about the call it answers: which tool ran, and the path it ran on where the tool has one, since a file’s contents are set by its extension and only the call records the name.
- Folio
- One rendered session: the unit the tool turns into a single HTML file.
- Gloss
Panel - One harness note as displayed.
- Glossed
- A harness note where it sits in the session.
- Image
Source - Session
Peek - A session’s listing metadata, scanned by
Folio::peekfor pickers and indexes that show sessions without rendering them. - Speech
- One speaker’s contribution as displayed.
- Turn
- A conversation turn, with the role lifted out of the JSONL’s
typetag. - Usage
- What one turn cost: what the model read, split by where it came from, and what it wrote.
Enums§
- Block
- A content block, or the raw JSON of one this version doesn’t recognize.
- Content
- Known
- Panel
- One article of the folio: a speaker’s contribution, or a note the harness wrote into the session. Folding the wire-level stream into panels is where scaffolding is filtered, tool results are reunited with the assistant that called them, and injected context is lifted out of the conversation, so the renderer walks an already-clean stream and never re-derives any of it.
- Panel
Kind - What a panel actually shows, so a label can say more than “assistant”: the role already has a colour, so the label names the content instead. A gloss is labelled by what wrote it rather than by what it holds.
- Recorded
- One line of a session as the folio keeps it: a turn of the conversation, or a note the harness wrote into the session around it.
- Role
- Side
- Which side of the exchange a panel is on.
- Tool
Result Content