import type { IControllerFailureDetail } from '../dist_ts_interfaces/index.js'; /** * In-memory journal of the failures whose wire response is deliberately generic. * * The controller answers an unclassified failure with one fixed sentence so no internal detail * reaches a client that is not the owner. That would leave the cause nowhere, so every such * failure is recorded here under a short opaque reference, logged with the same reference, and * read back by the authenticated owner UI. The journal is process-local, bounded, and never * persisted: it is diagnostics for the running process, not application data. */ /** How many failures are retained; older records are dropped. */ export declare const controllerFailureJournalLimit = 100; export declare class ControllerFailureJournal { private readonly records; /** * Records one failure and returns the reference the generic response carries. The reference is * random rather than sequential so it reveals nothing about failure volume or ordering. */ record(inputArg: { operation: string; cause: unknown; }): string; /** The retained failures, oldest first. */ list(): IControllerFailureDetail[]; find(referenceArg: string): IControllerFailureDetail | undefined; clear(): void; } /** * One journal per process: the generic failure mapper and the private MCP host are module-level * funnels, and a failure reference has to resolve regardless of which of them recorded it. */ export declare const controllerFailureJournal: ControllerFailureJournal;