codeburn/docs/providers
Andrew Lee bdf4f3fe24 kiro: price v1 executions from credits; unify fallback across parsers
v1 modern execution files carry the same metered credits as v2
(usageSummary[].usage, unit "credit" — the predecessor of v2's
promptTurnSummaries), but the parser only harvested usedTools from
that array and priced executions from estimated tokens. Since v2 only
ships in brand-new IDE builds, v1 is the format nearly all Kiro IDE
users are on today. Sum usage across usageSummary entries and price at
the public overage rate.

Align all three credit parsers (CLI, v1, v2) on one fallback contract —
gate on summed credits > 0 and fall back to token-estimated pricing
with costIsEstimated: true:

- CLI turns without metering_usage were priced at a frozen $0
- CLI turns with an EMPTY metering_usage array (75 of 10,105 real turn
  metadatas — meta written before metering lands) passed the truthy
  presence check and froze $0 marked as real cost
- legacy .chat calls now carry costIsEstimated: true, which was always
  the reality but never stated

Validated against a real machine: 221 of 277 v1/legacy calls now carry
metered cost ($20.11) instead of token estimates that had overstated
them ~5x; verified usageSummary values are per-turn amounts, not
cumulative counters (sequences fluctuate). Call counts unchanged before
and after — nothing gained, lost, or double-counted.

Also document the companion-file fingerprint blind spot at
fingerprintFile: kiro CLI credits and v2 modelId live in companion
files the single-file fingerprint never sees, so a parse racing the
companion write can cache fallback values that only self-heal while
the transcript keeps changing.

AI-Origin: ai-generated
AI-Tool: kiro
2026-07-14 22:36:08 +00: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): parse JetBrains agent sessions from old plugin format (≤1.5.x) 2026-07-03 18:21:08 +05:30
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 kiro: price v1 executions from credits; unify fallback across parsers 2026-07-14 22:36:08 +00:00
lingtai-tui.md Add LingTai TUI provider support 2026-07-09 23:47:59 +02: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 fix(pi): classify native skill loads as Skill, not Read (#588) (#590) 2026-07-01 15:57:31 +02:00
qwen.md Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07:00
README.md Add LingTai TUI provider support 2026-07-09 23:47:59 +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
zed.md release: 0.9.15 2026-07-02 06:19:14 +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 + SQLite (OTel) + Nitrite .db (JetBrains) 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
LingTai TUI JSONL src/providers/lingtai-tui.ts tests/providers/lingtai-tui.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/.