export type TraceLoopFramework = "standard" | "weak-model-compatible"; export type TraceToolOutcome = "success" | "error" | "denied" | "paused" | "skipped"; export interface RunTracePayloadMapV1 { "run.started": { loopFramework: TraceLoopFramework; inputFingerprint: string; }; "run.completed": { stopReason: string; turnCount: number; toolCallCount: number; outputFingerprint: string; }; "turn.started": { turn: number; }; "turn.completed": { turn: number; stopReason: string; outputFingerprint: string; }; "model.requested": { turn: number; requestFingerprint: string; }; "model.responded": { turn: number; stopReason: string; responseFingerprint: string; }; "model.failed": { turn: number; errorSubtype: string; errorFingerprint: string; }; "policy.decided": { toolCallId: string; policyId: string; decision: "allow" | "deny" | "pause"; inputFingerprint: string; }; "tool.requested": { toolCallId: string; toolName: string; inputFingerprint: string; input?: unknown; }; "tool.started": { toolCallId: string; toolName: string; }; "tool.completed": { toolCallId: string; toolName: string; outcome: TraceToolOutcome; outputFingerprint: string; }; "checkpoint.created": { checkpointId: string; policyId: string; toolCallId: string; }; "checkpoint.resolved": { checkpointId: string; resolution: "approved" | "denied" | "unavailable"; }; "progress.observed": { fingerprint: string; repeatCount: number; outcome: TraceToolOutcome; }; "transition.applied": { reason: string; transitionFingerprint: string; }; } export type RunTraceKindV1 = keyof RunTracePayloadMapV1; export type RunTraceEventV1 = { [K in RunTraceKindV1]: { version: 1; eventId: string; sequence: number; timestamp: number; runId: string; sessionId?: string; turnId?: string; parentEventId?: string; kind: K; payload: RunTracePayloadMapV1[K]; }; }[RunTraceKindV1]; export declare function parseRunTraceEvent(value: unknown): RunTraceEventV1; export declare function validateRunTrace(events: readonly unknown[]): RunTraceEventV1[]; export declare function fingerprintTraceValue(value: unknown): string;