v3.1.0 — Session Explorer & Cost Estimation
What's New in v3.1.0
Session Explorer
New /sessions page for browsing individual Claude Code sessions per project. Parses JSONL files directly from ~/.claude/projects/ — no API calls needed.
- Project browser — Discover all projects with session counts, token totals, and date ranges
- Project overview cards — Compare projects side-by-side (sessions, tokens, models, estimated cost)
- Sortable session table — Sort by date, duration, messages, tokens, or cost. Shows model badges, git branch, and first prompt preview
- Session transcript viewer — Full conversation timeline with role badges (User/Assistant/Tool Result), timestamps, tool call tags, and per-message token breakdown
- Tool usage chart — Horizontal bar chart showing tool invocation frequency per project
- Streaming dedup — Correctly handles Claude's streaming accumulation by deduplicating assistant messages by
requestId
Estimated API Cost
Both the Session Explorer and Usage Analytics now show estimated API costs based on per-model token pricing:
- Opus — $15/$75 per MTok (input/output)
- Sonnet — $3/$15 per MTok
- Haiku — $0.80/$4 per MTok
- Cache read/write rates included in calculations
Cost appears in:
- Analytics overview cards (total estimated cost)
- Model usage breakdown table (per-model cost column)
- Session Explorer project cards (aggregate cost)
- Session list table (sortable per-session cost)
Backend
- New Rust service
session_explorer.rs(~600 lines) with memory-efficient line-by-line JSONL parsing - 3 new Tauri commands:
get_session_projects,get_project_sessions,get_session_detail - Content extraction handles both string and array content blocks
- Unit tests for parsing, dedup, and edge cases
Frontend
- 5 new Svelte components in
src/lib/components/sessions/ - New
sessionStorewith Svelte 5 runes, sorting, and derived aggregates - TypeScript types mirroring all Rust structs
- Sidebar updated with Sessions nav item under Insights group
Full Changelog: v3.0.0...v3.1.0