mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-07-29 02:45:13 +00:00
* feat(antigravity): add support for Antigravity IDE storage on Windows CodeBurn previously only detected Antigravity CLI usage (.pb files under .gemini/antigravity/). Antigravity IDE on Windows stores session state in VSCode-style storage at %APPDATA%\Antigravity IDE\User\globalStorage\state.vscdb, which was not detected. Add support for reading Antigravity IDE sessions from the VSCode-style storage: - Extend CONVERSATION_ROOTS to include APPDATA Antigravity IDE path - Refine path classification to properly identify IDE vs CLI sessions - Handle missing per-call timestamps by stamping file mtime as fallback - Bump CACHE_VERSION to 4 for cache invalidation Fixes: CodeBurn reports zero usage when Antigravity IDE is actively used. * fix(antigravity): stamp mtime fallback at emission, tighten path classification - Apply the mtime fallback to a copy at emission instead of mutating and persisting it into the cache, so a later file rewrite can't retro-date a session's history to the new mtime. SQLite gen_metadata rows have no real per-call time; the RPC path still uses chatStartMetadata.createdAt. - Drop the unreachable APPDATA classifier branch (discovery only walks the ~/.gemini roots; APPDATA state.vscdb holds no token usage). This also removes the misroute of base-antigravity paths under an "Antigravity IDE" profile dir. - Bump CACHE_VERSION to invalidate caches that persisted a synthesized mtime. * fix(antigravity): stabilize untimestamped call times across DB rewrites Extract ChatStartMetadata.created_at from proto-encoded data and decode multiple timestamp formats (ISO string, Timestamp submessage, unix varint). Implement assignStableTimestamps() to preserve first-seen timestamps across file rewrites, preventing retro-dating of sessions when .db files are modified. Make conversation roots dynamic (computed per call) to honor environment overrides in tests. Add comprehensive timestamp stability tests verifying that timestamps remain fixed across file mtime changes while respecting date-range filters. * test(antigravity): assert today range excludes first-seen timestamps Adds a test case to verify that the 'today' date range filter correctly excludes sessions based on their first-seen timestamp, not file modification time. This ensures that even if a database file is rewritten with a later mtime, sessions with earlier first-seen dates are properly filtered out. Refs #411 |
||
|---|---|---|
| .. | ||
| antigravity.md | ||
| claude.md | ||
| cline.md | ||
| codewhale.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 |
| CodeWhale | JSON | src/providers/codewhale.ts |
tests/providers/codewhale.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/.