mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-07-30 03:15:30 +00:00
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 |
||
|---|---|---|
| .. | ||
| antigravity.md | ||
| claude.md | ||
| cline.md | ||
| codex.md | ||
| copilot.md | ||
| crush.md | ||
| cursor-agent.md | ||
| cursor.md | ||
| devin.md | ||
| droid.md | ||
| forge.md | ||
| gemini.md | ||
| goose.md | ||
| grok.md | ||
| hermes.md | ||
| ibm-bob.md | ||
| kilo-code.md | ||
| kimi.md | ||
| kiro.md | ||
| lingtai-tui.md | ||
| mistral-vibe.md | ||
| mux.md | ||
| omp.md | ||
| openclaw.md | ||
| opencode.md | ||
| pi.md | ||
| qwen.md | ||
| README.md | ||
| roo-code.md | ||
| vercel-gateway.md | ||
| vscode-cline-parser.md | ||
| warp.md | ||
| zcode.md | ||
| zed.md | ||
| zerostack.md | ||
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:
- One-line summary of what the provider integrates.
- Where it reads from on disk (or over RPC).
- Storage format and validation rules.
- Caching (which cache layer, if any).
- Deduplication key so you understand cross-provider dedup.
- Quirks that have bitten us before.
- 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/.