mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-10-20 11:44:39 +00:00
Both Copilot quota readers hardcoded https://api.github.com/copilot_internal/user and dropped the host their credential was read from, so an enterprise on a GitHub Enterprise Cloud data-residency host (<tenant>.ghe.com) could only ever report "Temporarily unavailable": its token is not a dotcom token, and dotcom is not an endpoint it may be sent to. A discovered credential now carries its host. hosts.json is keyed by GitHub host and newer apps.json files key by "<host>:<app id>", so the token and the host always come from the same entry; the rungs that carry no host of their own (an app-name apps.json key, COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN, gh auth token, a pasted token) mean dotcom. The endpoint follows the host: api.github.com for github.com, and api.<tenant>.ghe.com for an Enterprise Cloud host. With several hosts signed in github.com wins, otherwise the first .ghe.com tenant in sorted order, which keeps the pick stable across reads; with exactly one, that host is used. A host neither rule can address, such as a self-hosted GitHub Enterprise Server install, fails with a message naming that host instead of falling back to dotcom, and network and HTTP failures name the host that was tried. macOS Settings now says which host answered in the Copilot connection row. Tokens are still never logged and sanitizeForUI is unchanged. Closes #1286 |
||
|---|---|---|
| .. | ||
| antigravity.md | ||
| claude.md | ||
| cline-cli.md | ||
| cline.md | ||
| codebuff.md | ||
| codewhale.md | ||
| codex.md | ||
| copilot.md | ||
| crush.md | ||
| cursor-agent.md | ||
| cursor.md | ||
| devin.md | ||
| droid.md | ||
| dsh.md | ||
| forge.md | ||
| gemini.md | ||
| goose.md | ||
| grok.md | ||
| hermes.md | ||
| ibm-bob.md | ||
| kilo-code.md | ||
| kimi.md | ||
| kimicode.md | ||
| kiro.md | ||
| lingtai-tui.md | ||
| mistral-vibe.md | ||
| mux.md | ||
| NEW_PROVIDER.md | ||
| omp.md | ||
| open-design.md | ||
| openclaude.md | ||
| openclaw.md | ||
| opencode.md | ||
| pi.md | ||
| quickdesk.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 |
| Cline CLI | JSON | src/providers/cline-cli.ts |
tests/providers/cline-cli.test.ts |
| CodeWhale | JSON | src/providers/codewhale.ts |
tests/providers/codewhale.test.ts |
| Codebuff | JSON | src/providers/codebuff.ts |
tests/providers/codebuff.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 |
| DeepSeek Harness | JSONL (zstd frames) | src/providers/dsh.ts |
tests/providers/dsh.test.ts |
| Gemini | JSON / JSONL | src/providers/gemini.ts |
tests/providers/gemini.test.ts |
| 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 |
| Kimi Code | JSONL | src/providers/kimicode.ts |
tests/providers/kimicode.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 |
| Mux | JSONL | src/providers/mux.ts |
tests/providers/mux.test.ts |
| OpenClaw | JSONL | src/providers/openclaw.ts |
tests/providers/openclaw.test.ts |
| OpenClaude | JSONL | src/providers/openclaude.ts |
tests/providers/openclaude.test.ts |
| Open Design | JSONL | src/providers/open-design.ts |
tests/providers/open-design.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 |
| Quick Desktop | EMF JSONL + SQLite | src/providers/quickdesk.ts |
tests/providers/quickdesk.test.ts |
| 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 |
tests/providers/antigravity.test.ts |
| 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 |
| Zed | SQLite | src/providers/zed.ts |
tests/providers/zed.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/.