/** * Cold evidence archive (L3) for context virtualization. * * Large raw tool outputs, command logs, diagnostics, and file excerpts are * persisted here durably and replaced in the hot working set by a concise * synopsis + a deterministic evidence reference. This is not the Reliability * Kernel evidence ledger — it stores raw operational artifacts; verification * authority remains with the Evidence Store / Completion Gate. */ export type EvidenceKind = "tool-result" | "file" | "log" | "diagnostic"; export interface EvidenceRecord { evidenceId: string; kind: EvidenceKind; /** Tool name, file path, or command that produced this artifact. */ source: string; /** Redacted raw content (secrets scrubbed before persistence). */ content: string; contentHash: string; contentBytes: number; createdAtMs: number; } export interface EvidenceArchive { store(record: Omit): Promise; load(evidenceId: string): Promise; has(evidenceId: string): Promise; } export declare function hashContent(content: string): string; /** * Conservative secret redaction. Never persist API keys, bearer tokens, GitHub * personal access tokens, or common credential assignments into cold evidence. * This is a best-effort scrub for raw operational artifacts only. */ export declare function redactSecrets(text: string): string; /** Deterministic, content-addressed evidence id (not secret, not random-only). */ export declare function deriveEvidenceId(kind: EvidenceKind, source: string, contentHash: string): string; export declare function buildEvidenceRecord(input: { kind: EvidenceKind; source: string; content: string; now?: number; }): EvidenceRecord; export declare class InMemoryEvidenceArchive implements EvidenceArchive { private readonly records; store(record: Omit): Promise; load(evidenceId: string): Promise; has(evidenceId: string): Promise; get size(): number; } /** * Atomic file-backed cold evidence store. Writes go temp-then-rename so a * process exit never leaves a partial artifact; reads fail closed to undefined * on corruption (never fabricate evidence). */ export declare class EvidenceFileStore implements EvidenceArchive { private readonly root; constructor(root: string); private resolve; store(record: Omit): Promise; load(evidenceId: string): Promise; has(evidenceId: string): Promise; } //# sourceMappingURL=evidence-archive.d.ts.map