import type { ProductGraph } from '../graph/graph-types.js'; import type { IncrementalSpec } from '../incremental/types.js'; import type { ResolvedReviewerConfig, ResolvedReviewFixConfig } from '../config/config.js'; import type { AgentDriver } from '../agent/types.js'; import type { FindingSeverity, ReviewFinding, ReviewResult, ReviewCycleResult, FixAttemptResult } from './types.js'; export interface ReviewerAgent { readonly name: string; readonly description: string; review(graph: ProductGraph, spec: IncrementalSpec): readonly ReviewFinding[]; } export declare function runReviewers(agents: readonly ReviewerAgent[], configs: Readonly>, graph: ProductGraph, spec: IncrementalSpec): ReviewResult[]; /** * Build a structured fix prompt from review findings. * Only includes findings matching the configured severity threshold. */ export declare function buildFixPrompt(findings: readonly ReviewFinding[], fixSeverity: readonly FindingSeverity[]): string; /** * Attempt to fix actionable findings via an agent driver. * Returns the result of the attempt. */ export declare function runFixAttempt(driver: AgentDriver, findings: readonly ReviewFinding[], fixSeverity: readonly FindingSeverity[], graph: ProductGraph, iteration: number): Promise; export interface ReviewFixLoopOptions { readonly driver?: AgentDriver; readonly fixSeverity?: readonly FindingSeverity[]; } /** * Run the review/fix loop. Each iteration: * 1. Run all enabled reviewers * 2. If accepted (no error/critical findings), stop * 3. When agent driver is available, attempt to fix actionable findings * 4. Record the cycle and continue to next iteration */ export declare function runReviewFixLoop(agents: readonly ReviewerAgent[], configs: Readonly>, graph: ProductGraph, spec: IncrementalSpec, maxIterations: number, loopOptions?: ReviewFixLoopOptions): readonly ReviewCycleResult[]; /** * Async review/fix loop with agent-driven fix attempts. * Falls back to the sync loop when no driver is provided. */ export declare function runReviewFixLoopAsync(agents: readonly ReviewerAgent[], configs: Readonly>, graph: ProductGraph, spec: IncrementalSpec, reviewFixConfig: ResolvedReviewFixConfig, driver: AgentDriver): Promise; //# sourceMappingURL=reviewer.d.ts.map