import type { ToolCall, ToolResult } from "../../../types.js"; import type { TurnEvidenceFlags } from "../evidence-flags.js"; import type { TurnCounters } from "../turn-counters.js"; import type { RoundState } from "./round-state.js"; export interface RecordedToolResult { readonly call: ToolCall; readonly result: ToolResult; readonly contextOutput: string; readonly ok: boolean; readonly aborted?: boolean | undefined; readonly suppressedRepeat?: boolean | undefined; readonly blockOrCancel?: boolean | undefined; } export interface RoundRecorderPorts { readonly round: RoundState; readonly counters: TurnCounters; readonly evidenceFlags: TurnEvidenceFlags; readonly isPlanMode: boolean; readonly pentestTurn: boolean; readonly planApproved: () => boolean; readonly approvePlan: () => void; readonly priorObservation: (call: ToolCall) => string | undefined; readonly projectRoot: () => string | undefined; readonly kindHint: () => "pentest" | "coding" | "general"; readonly recordHistory: (entry: { id: string; call: ToolCall; result: ToolResult; contextOutput: string; isPlanMode: boolean; planApproved: boolean; hasDraftPlan: boolean; productiveStep: number; kindHint: "pentest" | "coding" | "general"; }) => void; readonly onPlanCreated: (kind: string | undefined) => void; } export declare const createRoundRecorder: (ports: RoundRecorderPorts) => (id: string, res: RecordedToolResult) => void;