codeburn/docs/providers
Thomas Kosiewski e0051fc403
feat(providers): add coder/mux as a datasource (#438)
* feat(providers): add coder/mux as a datasource

Reads coder/mux session data from ~/.mux/sessions/<workspaceId>/chat.jsonl and normalizes per-assistant-message token usage into ParsedProviderCall. Discovery resolves project names from config.json; the token decomposition matches mux's own inclusive input/output accounting, and cost is recomputed via LiteLLM. Includes unit tests and a provider doc.

Change-Id: Ie6ce9d41254d8bf05ff0965b443328dfa7b598de
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Thomas Kosiewski <tk@coder.com>

* fix(providers): discover mux sub-agent transcripts

discoverSessions only globbed sessions/<id>/chat.jsonl and skipped each
spawned sub-agent's transcript at
sessions/<id>/subagent-transcripts/<childTaskId>/chat.jsonl. Against a real
~/.mux (629 workspaces) those nested files are 5,889 sessions and ~51% of all
assistant messages, so sub-agent spend was silently dropped: total mux usage
went from $17,113 to $21,564 (+26%) once counted.

Walk the subagent-transcripts dir per workspace and attribute each child
session to the parent's project. Dedup is unaffected: the parser keys off the
<childTaskId> dir name, which is disjoint from every workspace id, so each call
is still counted once. Cross-checked parsed per-model token totals against
mux's sibling session-usage.json.

Also corrects the provider doc, which wrongly claimed sub-agents get their own
top-level sessions/<id>/chat.jsonl, and documents the Google reasoning>output
decomposition edge case.

Change-Id: I1d43f26eec7c9c6c523e5ea541e2ff8d0c3aa07e
Signed-off-by: Thomas Kosiewski <tk@coder.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Signed-off-by: Thomas Kosiewski <tk@coder.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 03:04:24 +02:00
..
antigravity.md Fix Antigravity hook stale path repair 2026-05-28 18:50:41 +03: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 Add CONTRIBUTING.md, docs/architecture.md, and per-provider docs (#284) 2026-05-09 18:39:41 -07: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
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
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(providers): add forge provider support (#401) 2026-05-26 03:36:57 -07:00
roo-code.md Add Cline provider 2026-05-12 00:31:41 +03: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

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
Droid JSONL src/providers/droid.ts tests/providers/droid.test.ts
Gemini JSON / JSONL src/providers/gemini.ts none
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

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

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/.