Expand description
TokenBurn core — UI-agnostic logic shared by the CLI, TUI and GUI front-ends.
Reads local logs only (no network):
- pi session files,
~/.pi/agent/sessions/**/*.jsonl— one row per assistant turn. - Zed’s agent thread database (
threads.db, sqlite + zstd JSON blobs) — one row per thread (input/output tokens only, no$cost). - Claude Code, Codex CLI, Copilot CLI, Gemini CLI, OpenCode and Amp — see
Toolandfeatures/<tool>/.
§Typical flow
use tokenburn_core::{collect, build_report, Query};
let query = Query::default();
let now = chrono::Local::now();
let collected = collect(query.tool, query.window.start(now));
let report = build_report(&collected.rows, &query);
println!("{} rows", report.len());Re-exports§
pub use features::report::axis_label;pub use features::report::axis_tokens;pub use features::report::bucket_at;pub use features::report::bucket_label_of;pub use features::report::build_report;pub use features::report::by_project;pub use features::report::chart_bucket;pub use features::report::drill;pub use features::report::drill;pub use features::report::nice_max;pub use features::report::pie;pub use features::report::project_key;pub use features::report::short_label;pub use features::report::short_name;pub use features::report::slice_angles;pub use features::report::time_series;pub use features::report::Bucket;pub use features::report::Drill;pub use features::report::Metric;pub use features::report::Pie;pub use features::report::Query;pub use features::report::ReportRow;pub use features::report::RowFilter;pub use features::report::Selection;pub use features::report::Slice;pub use features::report::TimeSeries;pub use features::report::ToolFilter;pub use features::report::Window;pub use features::settings;pub use features::settings::Settings;pub use features::theme::find_theme;pub use features::theme::theme_by_index;pub use features::theme::theme_index_by_name;pub use features::theme::AppTheme;pub use features::theme::Rgb;pub use features::theme::THEME_COUNT;pub use features::theme::THEME_NAMES;pub use features::usage::Row;pub use features::usage::Summary;pub use features::usage::Tool;
Modules§
Structs§
- Collected
- Result of reading every enabled source.
Functions§
- collect
- Collect rows for
toolfrom the default on-disk locations, keeping only rows whose timestamp is>= start.