import type { ClassifiedError } from "@caupulican/pi-agent-core"; import type { ToolFailurePhase } from "@caupulican/pi-ai/tool-repair-registry"; export interface ProviderFailureCorpusRecord { ts: string; provider?: string; modelId?: string; reason: ClassifiedError["reason"]; retryable: boolean; message: string; } export interface ToolValidationFailureShapeEntry { path: string; expectedType: string; receivedType: string; keyword?: string; } export interface ToolValidationFailureCorpusRecord { kind: "tool_validation"; ts: string; provider?: string; modelId?: string; tool: string; failureModes: string[]; shape: ToolValidationFailureShapeEntry[]; errorKeywords: string[]; } export interface ToolExecutionFailureCorpusRecord { kind: "tool_execution"; ts: string; provider?: string; modelId?: string; tool: string; state: "failed" | "rejected"; phase: ToolFailurePhase; failureCode: string; diagnostic?: string; nextAction: string; } export type FailureCorpusRecord = ProviderFailureCorpusRecord | ToolValidationFailureCorpusRecord | ToolExecutionFailureCorpusRecord; export interface FailureCorpusStats { total: number; unknown: number; } export declare function createToolValidationFailureCorpusRecord(args: { provider?: string; modelId?: string; tool: string; failureModes: readonly string[]; shape: readonly ToolValidationFailureShapeEntry[]; errorKeywords?: readonly string[]; ts: string; }): ToolValidationFailureCorpusRecord; export declare function createToolExecutionFailureCorpusRecord(args: { provider?: string; modelId?: string; tool: string; state: "failed" | "rejected"; phase: ToolFailurePhase; failureCode: string; diagnostic?: string; nextAction: string; ts: string; }): ToolExecutionFailureCorpusRecord; export declare function writeFailureCorpusRecord(filePath: string, record: FailureCorpusRecord): void; export declare class FailureCorpusRecorder { private total; private unknown; private readonly filePath; private readonly now; private readonly debug; constructor(args: { filePath: string; now?: () => Date; debug?: (message: string) => void; }); record(args: { provider?: string; modelId?: string; message: string; classified: ClassifiedError; }): void; recordToolValidation(args: { provider?: string; modelId?: string; tool: string; failureModes: readonly string[]; shape: readonly ToolValidationFailureShapeEntry[]; errorKeywords?: readonly string[]; }): void; recordToolExecution(args: Omit[0], "ts">): void; stats(): FailureCorpusStats; private appendRecord; } export declare function redactSecrets(message: string): string; //# sourceMappingURL=failure-corpus.d.ts.map