mirror of
https://github.com/AgentSeal/codeburn.git
synced 2026-08-31 01:56:02 +00:00
Redesign the three token-waste detectors as pure @codeburn/core detectors that
consume an ObservationEnvelope of fingerprinted resource refs (never raw paths):
- Envelope schema 0.2.0: CallObservation gains optional resourceReads /
resourceEdits (ResourceRef = {resourceId 16-hex, resourceClass}). claude/codex
toObservations fingerprint toolSequence file paths into these; raw paths never
cross the boundary. Keep observation-0.1.0.json frozen; emit 0.2.0.
- Host privacy key (D1): sync keystore under the codeburn config dir, random
32-byte key generated on first use, stable across runs, never emitted.
- core/detectors: junk-reads, duplicate-reads, context-bloat — pure, zero
fs/env, each emitting Finding[] with confidence(basis), machine-readable
evidence, algorithmVersion.
- optimize.ts delegates the three to core, mapping Finding -> WasteFinding;
display strings, fix payloads and trend stay host-derived.
Numbers parity: all optimize tests pass unchanged; frozen-corpus optimize JSON
(3552 sessions) is byte-identical PRE vs POST.
24 lines
597 B
TypeScript
24 lines
597 B
TypeScript
import { defineConfig } from 'tsup'
|
|
|
|
export default defineConfig({
|
|
// One entry per exports-map subpath. `internal/*` is deliberately excluded so
|
|
// `zod-to-json-schema` never enters the runtime bundle.
|
|
entry: [
|
|
'src/index.ts',
|
|
'src/schema.ts',
|
|
'src/observations.ts',
|
|
'src/diagnostics.ts',
|
|
'src/fingerprint.ts',
|
|
'src/contracts.ts',
|
|
'src/detectors/index.ts',
|
|
'src/providers/claude/index.ts',
|
|
'src/providers/codex/index.ts',
|
|
],
|
|
format: ['esm'],
|
|
target: 'node20',
|
|
outDir: 'dist',
|
|
clean: true,
|
|
splitting: false,
|
|
sourcemap: true,
|
|
dts: true,
|
|
})
|