mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-22 23:14:33 +00:00
Move the pure record decode for five sqlite-backed providers into @codeburn/core, keeping discovery, sqlite I/O, pricing, and bash base-name extraction CLI-side behind the dual-registry bridge. sqlite variant: the host opens the database, runs the SQL, textualizes BLOBs (warp stylized_command, quickdesk content/tool_names), probes sqlite_master table variants (quickdesk), and re-throws SQLITE_BUSY so a transient lock on a live database retries instead of being cached as an empty result (hermes). The core decoders receive already-normalized rows. Validator fixes over the drafted migration (original behavior is the authority in every case): - warp: restored the `run_command` tool-name check as an identity comparison. The draft had rewritten it as a bare Record lookup, so 'constructor'/'toString'/'__proto__' resolved to inherited Object members instead of passing through. Added a regression test. - warp: restored `safeNumber` to the host's semantics (positive finite numbers only). The draft's rewrite accepted numeric strings and negative values, changing token budgets and dominant-model selection for untrusted conversation_data. - warp: `estimateTokensFromChars` now mirrors the host helper exactly. - devin: model DISPLAY names move back CLI-side. The draft shipped a 7-line regex standing in for the host's `getShortModelName`, which mis-rendered every non-Claude model id. The decoder now emits the raw generation_model / model_name ids and the CLI formats them. - devin: dropped the added `costBasis: 'measured'`; the pre-migration call carried `costUSD` with no basis marker. Golden corrected. - quickdesk: fixed an inverted source-variant predicate that routed `sourceId: 'metrics'` on a sessions.db path (and `sourceId: 'sessions-db'` on a metrics path) to the wrong parser. - cursor-agent: the "unrecognized transcript format" warning is now re-emitted from the real decode result via a decode wrapper. The draft re-derived `recognized` host-side as `hasUser && hasAssistant`, which silently dropped the warning whenever a jsonl transcript had both roles but produced no turns. - cursor-agent: restored the per-conversation summary cache, so the attribution database is opened once per conversation id, not per source. - cursor-agent/devin: the session id is derived once, host-side, and passed through, removing a second derivation that could disagree with the host's on Windows-style paths. - hermes: `browser_vision` maps to Vision, matching the original table. Goldens re-verified by running each bridge fixture through the pre-migration provider implementation: all five reproduce field-for-field.
175 lines
5.3 KiB
JSON
175 lines
5.3 KiB
JSON
{
|
|
"name": "@codeburn/core",
|
|
"version": "0.9.19",
|
|
"description": "Shared, provider-agnostic core for CodeBurn (parsing, pricing, models). Skeleton — populated in later phases of the core extraction.",
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"module": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./schema": {
|
|
"types": "./dist/schema.d.ts",
|
|
"import": "./dist/schema.js"
|
|
},
|
|
"./observations": {
|
|
"types": "./dist/observations.d.ts",
|
|
"import": "./dist/observations.js"
|
|
},
|
|
"./diagnostics": {
|
|
"types": "./dist/diagnostics.d.ts",
|
|
"import": "./dist/diagnostics.js"
|
|
},
|
|
"./fingerprint": {
|
|
"types": "./dist/fingerprint.d.ts",
|
|
"import": "./dist/fingerprint.js"
|
|
},
|
|
"./contracts": {
|
|
"types": "./dist/contracts.d.ts",
|
|
"import": "./dist/contracts.js"
|
|
},
|
|
"./detectors": {
|
|
"types": "./dist/detectors/index.d.ts",
|
|
"import": "./dist/detectors/index.js"
|
|
},
|
|
"./providers/claude": {
|
|
"types": "./dist/providers/claude/index.d.ts",
|
|
"import": "./dist/providers/claude/index.js"
|
|
},
|
|
"./providers/codebuff": {
|
|
"types": "./dist/providers/codebuff/index.d.ts",
|
|
"import": "./dist/providers/codebuff/index.js"
|
|
},
|
|
"./providers/codewhale": {
|
|
"types": "./dist/providers/codewhale/index.d.ts",
|
|
"import": "./dist/providers/codewhale/index.js"
|
|
},
|
|
"./providers/codex": {
|
|
"types": "./dist/providers/codex/index.d.ts",
|
|
"import": "./dist/providers/codex/index.js"
|
|
},
|
|
"./providers/grok": {
|
|
"types": "./dist/providers/grok/index.d.ts",
|
|
"import": "./dist/providers/grok/index.js"
|
|
},
|
|
"./providers/kimi": {
|
|
"types": "./dist/providers/kimi/index.d.ts",
|
|
"import": "./dist/providers/kimi/index.js"
|
|
},
|
|
"./providers/qwen": {
|
|
"types": "./dist/providers/qwen/index.d.ts",
|
|
"import": "./dist/providers/qwen/index.js"
|
|
},
|
|
"./providers/zerostack": {
|
|
"types": "./dist/providers/zerostack/index.d.ts",
|
|
"import": "./dist/providers/zerostack/index.js"
|
|
},
|
|
"./providers/droid": {
|
|
"types": "./dist/providers/droid/index.d.ts",
|
|
"import": "./dist/providers/droid/index.js"
|
|
},
|
|
"./providers/mux": {
|
|
"types": "./dist/providers/mux/index.d.ts",
|
|
"import": "./dist/providers/mux/index.js"
|
|
},
|
|
"./providers/openclaw": {
|
|
"types": "./dist/providers/openclaw/index.d.ts",
|
|
"import": "./dist/providers/openclaw/index.js"
|
|
},
|
|
"./providers/open-design": {
|
|
"types": "./dist/providers/open-design/index.d.ts",
|
|
"import": "./dist/providers/open-design/index.js"
|
|
},
|
|
"./providers/lingtai-tui": {
|
|
"types": "./dist/providers/lingtai-tui/index.d.ts",
|
|
"import": "./dist/providers/lingtai-tui/index.js"
|
|
},
|
|
"./providers/gemini": {
|
|
"types": "./dist/providers/gemini/index.d.ts",
|
|
"import": "./dist/providers/gemini/index.js"
|
|
},
|
|
"./providers/kimicode": {
|
|
"types": "./dist/providers/kimicode/index.d.ts",
|
|
"import": "./dist/providers/kimicode/index.js"
|
|
},
|
|
"./providers/pi": {
|
|
"types": "./dist/providers/pi/index.d.ts",
|
|
"import": "./dist/providers/pi/index.js"
|
|
},
|
|
"./providers/crush": {
|
|
"types": "./dist/providers/crush/index.d.ts",
|
|
"import": "./dist/providers/crush/index.js"
|
|
},
|
|
"./providers/zcode": {
|
|
"types": "./dist/providers/zcode/index.d.ts",
|
|
"import": "./dist/providers/zcode/index.js"
|
|
},
|
|
"./providers/zed": {
|
|
"types": "./dist/providers/zed/index.d.ts",
|
|
"import": "./dist/providers/zed/index.js"
|
|
},
|
|
"./providers/forge": {
|
|
"types": "./dist/providers/forge/index.d.ts",
|
|
"import": "./dist/providers/forge/index.js"
|
|
},
|
|
"./providers/goose": {
|
|
"types": "./dist/providers/goose/index.d.ts",
|
|
"import": "./dist/providers/goose/index.js"
|
|
},
|
|
"./providers/hermes": {
|
|
"types": "./dist/providers/hermes/index.d.ts",
|
|
"import": "./dist/providers/hermes/index.js"
|
|
},
|
|
"./providers/warp": {
|
|
"types": "./dist/providers/warp/index.d.ts",
|
|
"import": "./dist/providers/warp/index.js"
|
|
},
|
|
"./providers/cursor-agent": {
|
|
"types": "./dist/providers/cursor-agent/index.d.ts",
|
|
"import": "./dist/providers/cursor-agent/index.js"
|
|
},
|
|
"./providers/quickdesk": {
|
|
"types": "./dist/providers/quickdesk/index.d.ts",
|
|
"import": "./dist/providers/quickdesk/index.js"
|
|
},
|
|
"./providers/devin": {
|
|
"types": "./dist/providers/devin/index.d.ts",
|
|
"import": "./dist/providers/devin/index.js"
|
|
}
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"schemas"
|
|
],
|
|
"scripts": {
|
|
"build": "tsup",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run",
|
|
"emit-schemas": "tsx scripts/emit-schemas.mts"
|
|
},
|
|
"engines": {
|
|
"node": ">=22.13.0"
|
|
},
|
|
"dependencies": {
|
|
"zod": "^3.25.76"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"ajv": "^8.17.1",
|
|
"tsup": "^8.0.0",
|
|
"tsx": "^4.19.0",
|
|
"typescript": "^5.5.0",
|
|
"vitest": "^3.1.0",
|
|
"zod-to-json-schema": "^3.24.1"
|
|
},
|
|
"author": "AgentSeal <hello@agentseal.org>",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/getagentseal/codeburn.git",
|
|
"directory": "packages/core"
|
|
}
|
|
}
|