codeburn/packages/core/tests/providers
iamtoruk 93b4f7707f refactor(core): copilot decode into core (phase 8, sqlite batch 3)
Bridged via a tagged envelope record across the four parse paths
(jsonl / chatsession / jetbrains / otel): readRecords shapes one envelope
per source kind and a single decodeCopilot dispatches on envelope.kind.

The sqlite driver, the three OTel queries, blob reads, git-root probing,
extractBashCommands / extractOtelBashCommands, and the sanctioned
shutdown-site calculateCost residual all stay host-side. The residual
keeps its exact argument order (model, input, 0, cacheWrite, cacheRead, 0),
emits costUSD + costIsEstimated: false with no costBasis key, and carries
its explanatory comment unchanged.

Validator fixes over the draft:
- collectJetBrainsRepoDirCandidates used a [\|"] character class instead
  of the original's (?:\\|") alternation, so a file:// path containing a
  pipe was truncated, its dir never resolved, and the JetBrains project
  fell back to the generic bucket. Restored the alternation.
- the otel arm dropped the subagentTypes key when undefined; the original
  always emits it. Restored so key presence matches byte for byte.
- otel chat-span attributes were looked up with a linear Array.find per
  chat span; replaced with a per-span-id map built in the same pass.

Verified by a differential harness running the pre-migration provider
against the migrated one over 27 scenarios (all eight goldens plus
edge cases), comparing calls, seenKeys, and key presence. The harness is
not committed; the scenarios it proved are now goldens G9-G17.
2026-07-26 21:17:48 -07:00
..
claude-decode.test.ts refactor(core): carve Claude decode into @codeburn/core, CLI parser becomes adapter (phase 3) 2026-07-26 11:39:01 -07:00
codebuff-decode.test.ts refactor(core): tail migrations — codebuff, openclaw (phase 8) 2026-07-26 16:41:33 -07:00
codewhale-decode.test.ts refactor(core): tail migrations — grok, kimi, codewhale (phase 8) 2026-07-26 15:11:38 -07:00
codex-decode.test.ts refactor(core): codex decoder with explicit serializable state, cost leaves the decoder (phase 4) 2026-07-26 12:44:10 -07:00
copilot-decode.test.ts refactor(core): copilot decode into core (phase 8, sqlite batch 3) 2026-07-26 21:17:48 -07:00
crush-decode.test.ts refactor(core): tail migrations — crush, zcode, zed, forge, goose (phase 8, sqlite batch 1) 2026-07-26 18:27:44 -07:00
cursor-agent-decode.test.ts refactor(core): tail migrations — hermes, warp, cursor-agent, quickdesk, devin (phase 8, sqlite batch 2) 2026-07-26 20:26:18 -07:00
devin-decode.test.ts refactor(core): tail migrations — hermes, warp, cursor-agent, quickdesk, devin (phase 8, sqlite batch 2) 2026-07-26 20:26:18 -07:00
forge-decode.test.ts refactor(core): tail migrations — crush, zcode, zed, forge, goose (phase 8, sqlite batch 1) 2026-07-26 18:27:44 -07:00
goose-decode.test.ts refactor(core): tail migrations — crush, zcode, zed, forge, goose (phase 8, sqlite batch 1) 2026-07-26 18:27:44 -07:00
grok-decode.test.ts refactor(core): tail migrations — grok, kimi, codewhale (phase 8) 2026-07-26 15:11:38 -07:00
hermes-decode.test.ts refactor(core): tail migrations — hermes, warp, cursor-agent, quickdesk, devin (phase 8, sqlite batch 2) 2026-07-26 20:26:18 -07:00
kimi-decode.test.ts refactor(core): tail migrations — grok, kimi, codewhale (phase 8) 2026-07-26 15:11:38 -07:00
openclaw-decode.test.ts refactor(core): tail migrations — codebuff, openclaw (phase 8) 2026-07-26 16:41:33 -07:00
quickdesk-decode.test.ts refactor(core): tail migrations — hermes, warp, cursor-agent, quickdesk, devin (phase 8, sqlite batch 2) 2026-07-26 20:26:18 -07:00
qwen-decode.test.ts feat(core): dual-registry bridge + qwen exemplar migration (phase 8.1) 2026-07-26 14:26:00 -07:00
warp-decode.test.ts refactor(core): tail migrations — hermes, warp, cursor-agent, quickdesk, devin (phase 8, sqlite batch 2) 2026-07-26 20:26:18 -07:00
zcode-decode.test.ts refactor(core): tail migrations — crush, zcode, zed, forge, goose (phase 8, sqlite batch 1) 2026-07-26 18:27:44 -07:00
zed-decode.test.ts refactor(core): tail migrations — crush, zcode, zed, forge, goose (phase 8, sqlite batch 1) 2026-07-26 18:27:44 -07:00
zerostack-decode.test.ts refactor(core): tail migrations — zerostack, droid, mux, open-design, lingtai-tui (phase 8) 2026-07-26 15:23:09 -07:00