mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-01 12:25:31 +00:00
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. |
||
|---|---|---|
| .. | ||
| schemas | ||
| scripts | ||
| src | ||
| tests | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
| vitest.config.ts | ||
@codeburn/core
Shared, provider-agnostic core for CodeBurn: session parsing, model/pricing resolution, and the cost math that the CLI and the desktop apps all depend on.
Status: skeleton. This package currently exports nothing. It is introduced in
Phase 1 of the core extraction (packaging only) and is populated incrementally in
later phases as logic is lifted out of packages/cli.