mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-05-17 03:56:45 +00:00
* Fix OpenCode MCP usage reporting * Move OpenCode MCP changelog entry to Unreleased section --------- Co-authored-by: ozymandiashh <234437643+ozymandiashh@users.noreply.github.com> Co-authored-by: iamtoruk <hello@agentseal.org>
1.6 KiB
1.6 KiB
OpenCode
OpenCode (sst/opencode).
- Source:
src/providers/opencode.ts - Loading: lazy (
src/providers/index.ts:59-75) - Test:
tests/providers/opencode.test.ts(676 lines, the largest provider test)
Where it reads from
Default ~/.local/share/opencode/ or $XDG_DATA_HOME/opencode/. The discovery walk picks up opencode*.db files (opencode.ts:71-88).
Storage format
SQLite.
Caching
None.
Deduplication
Per <sessionId>:<messageId>.
Quirks
- Schema validation is loud. When a required table is missing, the parser logs an actionable warning telling the user which table is gone and what version of OpenCode it expects. This is the right behavior; do not silently swallow these.
- Source paths are encoded as
<dbPath>:<sessionId>. - Each message's
partsare indexed; preserving the order matters for reasoning-token correctness. - Tokens are reported across
input,output,reasoning,cache.read, andcache.write. Anthropic semantics. - External MCP tools are stored as
<server>_<tool>names (for exampleclickup_clickup_get_task). The provider normalizes those to CodeBurn's canonicalmcp__<server>__<tool>names before aggregation so shared MCP panels andoptimizefindings count OpenCode usage.
When fixing a bug here
- The 558-line test suite catches a lot. Run
npm test -- tests/providers/opencode.test.tsbefore and after any change. - If the bug is "missing table" warning, do not catch and silence it. Either upgrade the version expectation in the parser or document the breaking schema change.
- If the bug is "reasoning tokens off by one", check the parts index ordering.