codeburn/docs/providers
ozymandiashh b24dd31ede
fix(copilot): read VS Code chatSessions for token cost (#555) (#563)
VS Code GitHub Copilot Chat users with no OTel agent-traces.db and no
~/.copilot/session-state/ saw $0.00 cost: codeburn never read VS Code's
core chat persistence, the only on-disk source carrying their token counts.

Add a fourth Copilot source that reads the VS Code chat delta-journals at
workspaceStorage/<hash>/chatSessions/*.jsonl and
globalStorage/emptyWindowChatSessions/*.jsonl. The files are a kind:0
snapshot / kind:1 path-set / kind:2 array-append journal; we replay it
(prototype-pollution-safe: __proto__/prototype/constructor segments are
rejected and containers use Object.create(null)) and read each request's
result.metadata.promptTokens / outputTokens (falling back to
completionTokens) and resolvedModel for pricing.

Dedup so users with multiple sources are not double-counted: prefer OTel
(skip chatSessions discovery when an OTel source is present), and skip a
workspace's legacy GitHub.copilot-chat/transcripts when that workspace has
chatSessions. New env overrides CODEBURN_COPILOT_GLOBAL_STORAGE_DIR and the
existing CODEBURN_COPILOT_WS_STORAGE_DIR keep discovery testable.

Tests cover the reporter's real request shape (promptTokens 32543 /
outputTokens 60 -> non-zero cost), empty sessions, emptyWindow discovery,
append-then-edit replay, requestId dedup, prototype-pollution paths, the
transcript skip, and the OTel-prefer skip.
2026-06-28 20:15:02 +02:00
..
antigravity.md feat(antigravity-ide): added support for antigravity IDE (#418) 2026-06-09 22:12:01 +02:00
claude.md Fix Claude 1-hour cache write pricing (#317) 2026-05-11 21:23:04 -07:00
cline.md Add Cline provider 2026-05-12 00:31:41 +03:00
codex.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
copilot.md fix(copilot): read VS Code chatSessions for token cost (#555) (#563) 2026-06-28 20:15:02 +02:00
crush.md Add Crush provider plus per-provider icon column in README (#286) 2026-05-09 20:47:56 -07:00
cursor-agent.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
cursor.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
devin.md fix(devin): add missing support for ATIF v1.7 (#570) 2026-06-28 19:00:51 +02:00
droid.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
forge.md feat(providers): add forge provider support (#401) 2026-05-26 03:36:57 -07:00
gemini.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
goose.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
grok.md feat(providers): add Grok Build provider (#521) 2026-06-19 17:21:41 +02:00
hermes.md feat: add Hermes Agent provider 2026-06-21 23:29:22 +02:00
ibm-bob.md Add IBM Bob provider with workspace extraction (#316) 2026-05-11 20:54:13 -07:00
kilo-code.md Add Cline provider 2026-05-12 00:31:41 +03:00
kimi.md Add Kimi provider 2026-05-11 19:02:28 +03:00
kiro.md Fix Kiro post-February storage discovery (#339) 2026-05-24 02:25:09 -07:00
mistral-vibe.md Fix one-shot rate detection for all non-Claude providers (#355) 2026-05-18 15:56:14 -07:00
mux.md feat(providers): add coder/mux as a datasource (#438) 2026-06-06 03:04:24 +02:00
omp.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
openclaw.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
opencode.md Keep OpenCode router calls without usage (#342) 2026-05-18 16:48:03 -07:00
pi.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
qwen.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
README.md feat: add Hermes Agent provider 2026-06-21 23:29:22 +02:00
roo-code.md Add Cline provider 2026-05-12 00:31:41 +03:00
vercel-gateway.md fix(cursor): period-aligned lookback; add Vercel AI Gateway provider (#432) 2026-06-09 23:01:43 +02:00
vscode-cline-parser.md Merge main into feat/cline-provider to resolve conflicts 2026-05-16 05:58:10 -07:00
warp.md feat: add Warp provider adapter (#350) 2026-05-21 00:19:53 -07:00
zcode.md feat(providers): add ZCode (z.ai GLM-5.2) usage provider (#537) 2026-06-20 21:37:32 +02:00
zerostack.md Add zerostack provider (#519) 2026-06-19 14:44:45 +02:00

Provider Docs

One file per provider integration. If you are fixing a bug or adding a feature scoped to a single provider, read the file for that provider first; it tells you which file to edit, where on disk the source data lives, and what edge cases the test suite already covers.

For the architectural picture, see ../architecture.md.

Provider Index

Eager (always loaded)

Provider Storage Source Test
Claude JSONL (no parser) src/providers/claude.ts none (covered indirectly)
Cline JSON src/providers/cline.ts tests/providers/cline.test.ts
Codex JSONL src/providers/codex.ts tests/providers/codex.test.ts
Copilot JSONL src/providers/copilot.ts tests/providers/copilot.test.ts
Devin JSON + SQLite enrichment src/providers/devin.ts tests/providers/devin.test.ts
Droid JSONL src/providers/droid.ts tests/providers/droid.test.ts
Gemini JSON / JSONL src/providers/gemini.ts none
Hermes Agent SQLite src/providers/hermes.ts tests/providers/hermes.test.ts
IBM Bob JSON src/providers/ibm-bob.ts tests/providers/ibm-bob.test.ts
KiloCode JSON src/providers/kilo-code.ts tests/providers/kilo-code.test.ts
Kiro JSON src/providers/kiro.ts tests/providers/kiro.test.ts
Kimi JSONL src/providers/kimi.ts tests/providers/kimi.test.ts
Mistral Vibe JSON / JSONL src/providers/mistral-vibe.ts tests/providers/mistral-vibe.test.ts
OpenClaw JSONL src/providers/openclaw.ts tests/providers/openclaw.test.ts
Pi JSONL src/providers/pi.ts tests/providers/pi.test.ts
OMP JSONL src/providers/pi.ts tests/providers/omp.test.ts
Qwen JSONL src/providers/qwen.ts none
Roo Code JSON src/providers/roo-code.ts tests/providers/roo-code.test.ts
Zerostack JSON src/providers/zerostack.ts tests/providers/zerostack.test.ts
Grok Build JSON/JSONL src/providers/grok.ts tests/providers/grok.test.ts

Lazy (loaded on first call)

Provider Storage Source Test
Antigravity protobuf over RPC src/providers/antigravity.ts none
Crush SQLite (per-project) src/providers/crush.ts tests/providers/crush.test.ts
Forge SQLite src/providers/forge.ts tests/providers/forge.test.ts
Cursor SQLite src/providers/cursor.ts tests/providers/cursor.test.ts
Cursor Agent text / JSONL src/providers/cursor-agent.ts tests/providers/cursor-agent.test.ts
Goose SQLite src/providers/goose.ts none
OpenCode SQLite src/providers/opencode.ts tests/providers/opencode.test.ts
Warp SQLite src/providers/warp.ts tests/providers/warp.test.ts
Vercel AI Gateway REST API src/providers/vercel-gateway.ts tests/providers/vercel-gateway.test.ts
ZCode SQLite src/providers/zcode.ts tests/providers/zcode.test.ts

Shared

Helper Used by Source
vscode-cline-parser cline, ibm-bob, kilo-code, roo-code src/providers/vscode-cline-parser.ts

File Format

Each provider doc has the same structure:

  1. One-line summary of what the provider integrates.
  2. Where it reads from on disk (or over RPC).
  3. Storage format and validation rules.
  4. Caching (which cache layer, if any).
  5. Deduplication key so you understand cross-provider dedup.
  6. Quirks that have bitten us before.
  7. When fixing a bug here as a checklist.

If you add a new provider, copy claude.md as a template and fill in your provider's specifics. Update this index, and prefer adding a real test fixture under tests/providers/.