/** * Recording real request bodies, so the compressor can be measured on the * content it actually removes. * * WHY THIS HAD TO EXIST. Every offline evaluation in this repository runs on * Claude Code session transcripts, and those store `thinking: ""` -- the * reasoning text is discarded and only the signature is kept. Measured across * three real sessions: 710 thinking blocks carrying 0 bytes of text against * 1.7MB of signature. So an evidence-survival run over transcripts removes * cryptographic noise and reports a flawless score that means nothing, which is * exactly what happened before this file existed. * * The proxy is the one place the real bytes pass through. Nothing else on this * machine sees a request with its reasoning intact. * * THIS DELIBERATELY BREAKS A PROMISE THE PROXY OTHERWISE MAKES, and that is why * it is shaped the way it is. `server.ts` states that it will not store, log or * persist a payload. Capture writes conversation content to disk, so: * * - it is OFF unless a directory is named, never a boolean; * - it announces itself on stderr at startup, every time, naming the path; * - it writes only the REQUEST, because that is what the measurement needs; * - it is documented as a benchmarking tool rather than a feature. * * A capture directory is conversation content in plaintext. Treat it the way * you would treat the transcript it came from. */ /** Where to write captures, or null when capture is off. */ export declare function captureDir(env?: NodeJS.ProcessEnv): string | null; /** * Appends one request body to the capture log. * * Returns false on failure; the server warns once without failing the request. A capture * directory that cannot be created, a disk that is full, a permissions error -- * none of them is a reason to fail the request the user is waiting on. The * measurement is an optimisation on top of a working proxy. The global queue * admits at most 128 requests / 16 MiB of snapshots and metadata; excess * captures return false before copying the input. * * One JSON object per line: the request as it ARRIVED, before compression, * because the whole point is to measure what compression would remove from it. */ export declare function captureRequest(dir: string, path: string, body: Buffer): Promise; /** The line printed at startup when capture is on. Never omitted. */ export declare function captureNotice(dir: string): string; //# sourceMappingURL=capture.d.ts.map