Skip to main content

Module models

Module models 

Source
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 usage and analysis roll-ups (and their display summaries).
analysis
Normalized, cross-provider analysis result types.
claude
Serde models for the Claude Code *.jsonl session format.
codex
Serde models for the OpenAI Codex CLI *.jsonl session format.
copilot
Serde models for the GitHub Copilot CLI events.jsonl session 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 usage quota panels.
usage
Token-usage aggregation types shared between the usage calculator and the display layer.