/** * Snapshot Testing — v4.9.0 Enhanced * * Full snapshot manager with capture, compare, update, and diff. * Snapshots stored in __snapshots__/ as JSON. */ import type { AgentTrace, TraceStep } from './types'; export interface AgentResponse { output: string; toolCalls: Array<{ name: string; args?: Record; result?: any; }>; steps: TraceStep[]; metadata?: Record; } export interface SnapshotData { testId: string; timestamp: string; toolsCalled: string[]; toolCallOrder: string[]; outputHash: string; stepCount: number; stepTypes: string[]; hasOutput: boolean; } export interface SnapshotFieldDiff { field: string; expected: any; actual: any; } export interface SnapshotDiff { testId: string; match: boolean; addedTools: string[]; removedTools: string[]; changedResponses: SnapshotFieldDiff[]; newBehaviors: string[]; } export interface SnapshotConfig { updateSnapshots: boolean; snapshotDir: string; } export interface BehaviorSnapshot { toolsCalled: string[]; toolCallOrder: string[]; hasOutput: boolean; stepCount: number; stepTypes: string[]; } export declare class SnapshotManager { private snapshotDir; constructor(snapshotDir?: string); private _path; private _responseToData; capture(testId: string, response: AgentResponse): void; compare(testId: string, response: AgentResponse): SnapshotDiff; update(testId: string): void; exists(testId: string): boolean; delete(testId: string): boolean; list(): string[]; formatDiff(diff: SnapshotDiff): string; } export declare function extractSnapshot(trace: AgentTrace): BehaviorSnapshot; export declare function matchSnapshot(trace: AgentTrace, testName: string, config: SnapshotConfig): { match: boolean; diff?: string; created?: boolean; updated?: boolean; }; //# sourceMappingURL=snapshot.d.ts.map