import type { AgentResponse } from '../../models/index.js'; import type { CompanionFinding } from '../../models/companion-types.js'; import { type CompanionReviewOutput } from './contracts.js'; import type { CompanionDiff } from './diff-reader.js'; import { type ModeratorResult } from './moderator.js'; import type { CompanionAgentPurpose, CompanionStructuredResponseValidator } from './review-runner.js'; import type { CompanionReviewRequest } from './review-queue.js'; interface CompanionReviewRoundInput { readonly companionName: string; readonly diff: CompanionDiff; readonly baselineSha: string; readonly trigger: CompanionReviewRequest['reason']; readonly observedGeneration: number; readonly implementerExplanation?: string; readonly signal: AbortSignal; readonly task: string; readonly stepName: string; readonly moderatorName?: string; readonly mailboxPath: string; readonly systemPrompt: (name: string) => string; readonly callStructured: (purpose: CompanionAgentPurpose, agentName: string, systemPrompt: string, prompt: string, outputSchema: Record, signal: AbortSignal, validateResponse?: CompanionStructuredResponseValidator) => Promise; readonly emitFinding: (finding: CompanionFinding) => void; readonly markReviewed: (snapshot: CompanionDiff, observedGeneration: number) => void; readonly onRoundCompleted: (round: CompanionReviewRoundAudit) => void; } export interface CompanionReviewRoundAudit { readonly snapshot: CompanionDiff; readonly trigger: CompanionReviewRequest['reason']; readonly reviewerResult: CompanionReviewOutput; readonly moderator: CompanionModeratorRoundAudit; readonly accepted: CompanionReviewOutput; readonly acceptedRows: readonly CompanionFinding[]; } export interface CompanionModeratorRoundAudit { readonly name: string; readonly invoked: boolean; readonly reason?: 'reviewer_result_empty' | 'not_configured'; readonly result?: ModeratorResult; } export interface CompanionReviewRoundResult { readonly acceptedRows: readonly CompanionFinding[]; } export declare function executeCompanionReviewRound(input: CompanionReviewRoundInput): Promise; export {}; //# sourceMappingURL=review-round.d.ts.map