Skip to content

Track every released ccusage agent - #156

Merged
ohong merged 3 commits into
mainfrom
codex/ccusage-all-agents
Sep 5, 2026
Merged

Track every released ccusage agent#156
ohong merged 3 commits into
mainfrom
codex/ccusage-all-agents

Conversation

@ohong

@ohong ohong commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Straude already uses ccusage's unified collector, so the custom Gemini and Qwen readers proposed in #77 and #22 are redundant. However, the lockfile still uses ccusage 20.0.16, which lacks Grok Build CLI. Public guidance describes two collectors, and join/share pages incorrectly infer Claude Code or Codex from model names.

Success means every source in the released collector can pass through sync and submission, source-only installations work, token and cost totals stay intact, and shared profiles do not assign an agent from a model name.

This change raises the dependency and runtime floor to ccusage 20.0.20, keeps dynamic source IDs and the existing unified pipeline, and prepares Straude 0.1.31. It documents all 16 released sources and uses “AI coding” on join/share surfaces. Keeping one collector avoids duplicate parsing, pricing, and deduplication paths. Generic share wording avoids adding queries for an agent-spend breakdown the existing model data cannot establish.

Validation completed locally:

  • Full CLI suite: 217 tests passed across 20 files.
  • Full web suite after integrating main: 747 tests passed across 87 files.
  • Native binary tests verify the exact 16-source inventory, Gemini-only, Qwen-only, Grok-only, and mixed usage. Assertions cover source IDs, cache buckets, reasoning totals, model prices, and Grok's recorded cost.
  • Push and API regressions preserve source metadata; API tests cover every released source plus a custom ID. Join metadata, rendered page, and Open Graph tests cover Gemini and GPT used through OpenCode.
  • Full typecheck and production build passed. The built CLI passed a clean npm packed-install sync against a local test server. The CLI source documentation was also inspected in the local production browser.
  • Independent Codex review through the autoreview helper: clean, no actionable findings.

Native fixture tests use ccusage's official Node launcher so they include its executable-permission repair. An isolated copy reproduced EACCES at mode 0644 and succeeded through the launcher at mode 0755. This also passed the full CLI suite, CLI typecheck, and a second clean review.

Full GitHub CI passed on d7de1a1: typecheck, build, web/CLI tests, real Supabase integration, and browser E2E. Vercel preview deployment also passed.

Limits: ccusage 20.0.20 is the current npm release and includes 16 agents. Antigravity and ZCode exist only on upstream main; Mistral Vibe remains unsupported. The roadmap keeps these gaps explicit. Synthetic fixtures do not validate every upstream parser against live agent sessions or provider invoices. npm publication is pending renewed authentication; the current login returns E401.

Thanks to @nihalnihalani and @jqueguiner for suggesting broader agent support in #77 and #22. Those PRs can be closed as superseded after this lands, with Mistral's limit stated clearly.

Implementation and verification assisted by Codex.

Raise the bundled collector floor to 20.0.20, verify all released source
IDs and native Gemini/Qwen/Grok accounting, and document source support.
Use generic join/share copy instead of inferring an agent from its model.

Co-authored-by: Codex <codex@openai.com>
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
straude Ready Ready Preview Sep 5, 2026 12:16am UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 38 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 75e55926-9041-4d0f-93cc-04add3962d59

📥 Commits

Reviewing files that changed from the base of the PR and between 7ee21a7 and d7de1a1.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (27)
  • README.md
  • apps/web/__tests__/api/usage-submit.test.ts
  • apps/web/__tests__/unit/join-page.test.tsx
  • apps/web/app/(landing)/cli/page.tsx
  • apps/web/app/(landing)/join/[username]/opengraph-image.tsx
  • apps/web/app/(landing)/join/[username]/page.tsx
  • apps/web/components/landing/ProductExplanation.tsx
  • apps/web/lib/agent-content.ts
  • apps/web/public/llms.txt
  • docs/CHANGELOG.md
  • docs/CLI.md
  • docs/DECISIONS.md
  • docs/ROADMAP.md
  • packages/cli/README.md
  • packages/cli/__tests__/ccusage-pricing.integration.test.ts
  • packages/cli/__tests__/ccusage-sources.integration.test.ts
  • packages/cli/__tests__/ccusage.test.ts
  • packages/cli/__tests__/commands/push.test.ts
  • packages/cli/__tests__/fixtures/ccusage-sources.json
  • packages/cli/__tests__/fixtures/ccusage-sources/README.md
  • packages/cli/__tests__/fixtures/ccusage-sources/gemini/chats/session.json
  • packages/cli/__tests__/fixtures/ccusage-sources/grok/sessions/synthetic/session/updates.jsonl
  • packages/cli/__tests__/fixtures/ccusage-sources/qwen/projects/synthetic/chats/session.jsonl
  • packages/cli/__tests__/flows/cli-sync-flow.test.ts
  • packages/cli/__tests__/helpers/ccusage-binary.ts
  • packages/cli/package.json
  • packages/cli/src/lib/ccusage.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Co-authored-by: Codex <codex@openai.com>
@ohong
ohong merged commit 3f82ac0 into main Sep 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant