codeburn/src
Resham Joshi b4ed98cfa4
Add codeburn models per-model + per-task breakdown command (#287)
A single dense table of every (provider, model) you have used in the
selected period, sorted by cost. Inspired by tokscale's per-model
output and ccusage's responsive cli-table3 layout, ported to plain
Node with no new runtime dependency.

Default view: one row per (provider, model) with a Top Task cell
showing the dominant task category and its cost share, e.g.
`Coding (42%)`.

`--by-task` explodes each model into one row per task type, with
provider/model cells blanked on subsequent rows of the same group
and a horizontal divider between groups so the sections read as
distinct units.

Output formats: table (Unicode box-drawn, default), markdown
(GitHub-flavored, copy-paste friendly), json, csv.

Filters: --period (today/week/30days/month/all, default 30days),
--from/--to, --provider, --task, --top, --min-cost, --no-totals.

The table renderer auto-sizes every column to its content (no fixed
widths leaving trailing whitespace) and drops cache columns as a
pair when the terminal is narrow, then input/output, then top-task,
in that order. Provider, model, total, and cost stay regardless.
Visible-width math uses strip-ansi (already a dependency) so styled
cells pad correctly. Cyan headers, yellow totals, dim provider name.

The aggregator walks every parsed turn and attributes each
assistant call to its (provider, model, task) bucket, computing
real input / output / cache_write / cache_read tokens and cost.
Output tokens include reasoning. Cached input tokens are folded
into cache_read so the column matches what users intuitively expect.

19 fixture-based tests cover aggregation correctness, byTask
grouping, taskFilter, topN/minCost filters, reasoning-as-output,
all four renderers (table/markdown/json/csv), narrow-terminal
column dropping, CSV/markdown escaping, totals row toggle, and
visible-width math under styled cells.
2026-05-09 20:45:21 -07:00
..
data Label optimize suggestions by destination (#281) 2026-05-08 23:30:53 -07:00
providers Menubar and CLI hardening from multi-agent audit (#257) 2026-05-06 22:15:11 -07:00
bash-utils.ts Strip ANSI escapes from bash commands across all providers 2026-05-02 20:59:24 -07:00
classifier.ts fix(classifier): surface skill name as subCategory for general turns (#203) 2026-05-04 06:26:45 +08:00
cli-date.ts Reject invalid --format and --period values instead of silently falling back (#258) 2026-05-06 23:03:41 -07:00
cli.ts Add codeburn models per-model + per-task breakdown command (#287) 2026-05-09 20:45:21 -07:00
codex-cache.ts Add per-file result cache for Codex provider 2026-04-30 16:43:41 -07:00
compare-stats.ts feat(compare): model comparison with planning rate fix 2026-04-19 08:34:49 -07:00
compare.tsx Quiet routine pricing warnings + menubar recovery from stuck-loading (#266) 2026-05-08 20:33:48 -07:00
config.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00
context-budget.ts fix(context-budget): use bounded readSessionFile helper 2026-04-17 08:32:19 +02:00
currency.ts Menubar and CLI hardening from multi-agent audit (#257) 2026-05-06 22:15:11 -07:00
cursor-cache.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00
daily-cache.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00
dashboard.tsx Label optimize suggestions by destination (#281) 2026-05-08 23:30:53 -07:00
day-aggregator.ts fix: use local timezone for daily date bucketing instead of UTC 2026-04-19 03:18:38 -07:00
export.ts Menubar and CLI hardening from multi-agent audit (#257) 2026-05-06 22:15:11 -07:00
format.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00
fs-utils.ts Stream-parse Codex session files to handle 250+ MB rollouts 2026-05-04 02:15:04 +03:00
ink-win.ts Fix dashboard hang and ExperimentalWarning on Windows 2026-05-02 11:54:58 -07:00
menubar-installer.ts Wait for old menubar process to exit before launching new one 2026-05-08 13:08:34 -07:00
menubar-json.ts feat(mac): native Swift menubar app + one-command install 2026-04-17 16:55:56 -07:00
model-efficiency.ts feat(report): add per-model efficiency metrics 2026-05-05 23:36:59 -07:00
models-report.ts Add codeburn models per-model + per-task breakdown command (#287) 2026-05-09 20:45:21 -07:00
models.ts Quiet routine pricing warnings + menubar recovery from stuck-loading (#266) 2026-05-08 20:33:48 -07:00
optimize.ts Label optimize suggestions by destination (#281) 2026-05-08 23:30:53 -07:00
parser.ts fix(parser): use Claude cwd for Windows project paths 2026-05-05 23:53:31 -07:00
plan-usage.ts fix(plan): resolve type errors in plan summary and isActivePlan guard 2026-04-21 04:20:55 -07:00
plans.ts Add claude-max-5x preset for $100/month tier 2026-04-24 15:47:59 +02:00
sqlite.ts Refuse to load node:sqlite on known-buggy Node 22.x patch versions (#265) 2026-05-07 09:48:57 -07:00
types.ts feat(optimize): MCP tool coverage detector with cache-aware costing 2026-05-05 04:13:04 +03:00
yield.ts Validator hardenings on the bug-hunt batch (#254) 2026-05-06 19:50:40 -07:00