Expand description
Serde data models mirroring the supported assistants’ on-disk session formats plus the analyzer’s own aggregated result types.
Each JSON/JSONL provider submodule (claude, codex, copilot, gemini,
grok) defines the minimal subset of fields the analyzer reads from that
provider’s session logs; the SQLite providers (OpenCode / Cursor / Hermes)
deserialize inline in their session readers and have no submodule here.
analysis and usage hold the normalized, cross-provider output shapes;
provider carries the Provider discriminator, filter the
TimeRange session filter, and aggregate the per-provider totals
container. All items are re-exported at the module root for convenience.
Re-exports§
pub use self::aggregate::*;pub use self::analysis::*;pub use self::claude::*;pub use self::codex::*;pub use self::copilot::*;pub use self::filter::*;pub use self::gemini::*;pub use self::grok::*;pub use self::provider::*;pub use self::quota::*;pub use self::usage::*;
Modules§
- aggregate
- Neutral per-provider totals container shared by the
usageandanalysisroll-ups (and their display summaries). - analysis
- Normalized, cross-provider analysis result types.
- claude
- Serde models for the Claude Code
*.jsonlsession format. - codex
- Serde models for the OpenAI Codex CLI
*.jsonlsession format. - copilot
- Serde models for the GitHub Copilot CLI
events.jsonlsession format. - filter
- Cross-cutting session filter types shared by the whole crate.
- gemini
- Serde models for the Google Gemini CLI chat-log JSONL format.
- grok
- Minimal Grok CLI session telemetry shapes used by the local parser.
- provider
- quota
- Quota / rate-limit data models for the
usagequota panels. - usage
- Token-usage aggregation types shared between the usage calculator and the display layer.