import { z } from "zod/v3"; import type { OrchestratorConfig } from "../src/core/config.js"; import type { JudgeReport } from "../src/core/loop.js"; import type { TaskFeatures } from "../src/core/modelRouting.js"; import { type FailureCategory } from "../src/core/recovery.js"; import { type RoutedCompletionAttempt, type RoutedCompletionAttemptResult, type RoutedCompletionRequest, type RoutedCompletionResult } from "./llm.js"; import { type McpRoutingMetadata } from "./routing.js"; declare const diagnosisJsonSchema: z.ZodObject<{ rootCauseCategory: z.ZodEnum<["transient-provider", "transient-tool", "timeout", "output-contract", "implementation-defect", "configuration", "missing-dependency", "invalid-topology", "wrong-decomposition", "budget", "authorization", "policy", "side-effect", "unknown"]>; confidence: z.ZodEnum<["low", "medium", "high"]>; summary: z.ZodString; repairScope: z.ZodArray; validationRequirements: z.ZodArray; topologyAssessment: z.ZodEnum<["preserve", "structural"]>; }, "strict", z.ZodTypeAny, { confidence: "low" | "medium" | "high"; summary: string; rootCauseCategory: "unknown" | "configuration" | "budget" | "transient-provider" | "transient-tool" | "timeout" | "output-contract" | "implementation-defect" | "missing-dependency" | "invalid-topology" | "wrong-decomposition" | "authorization" | "policy" | "side-effect"; repairScope: string[]; validationRequirements: string[]; topologyAssessment: "preserve" | "structural"; }, { confidence: "low" | "medium" | "high"; summary: string; rootCauseCategory: "unknown" | "configuration" | "budget" | "transient-provider" | "transient-tool" | "timeout" | "output-contract" | "implementation-defect" | "missing-dependency" | "invalid-topology" | "wrong-decomposition" | "authorization" | "policy" | "side-effect"; repairScope: string[]; validationRequirements: string[]; topologyAssessment: "preserve" | "structural"; }>; export type McpCompletionExecutor = (request: RoutedCompletionRequest) => Promise; export type JudgeJson = { verdict: "approve"; reasons: string; } | { verdict: "reject"; reasons: string; requiredFixes: string; }; interface CompletionDependencies { complete?: McpCompletionExecutor; beforeAttempt?: (attempt: RoutedCompletionAttempt) => void | Promise; afterAttempt?: (result: RoutedCompletionAttemptResult) => void | Promise; routingDecisionId?: string; } export interface CompleteMcpPlanInput extends CompletionDependencies { config: OrchestratorConfig; task: string; repoContext?: string; previousPlan?: string; judgeReports?: JudgeReport[] | string; diffSummary?: string; trustedRevisionFeedback?: string; taskFeatures?: TaskFeatures; signal?: AbortSignal; } export interface CompleteMcpJudgeInput extends CompletionDependencies { config: OrchestratorConfig; task: string; plan: string; diff: string; testOutput?: string; coderIdentity: string; taskFeatures?: TaskFeatures; signal?: AbortSignal; } export interface CompleteMcpDiagnosisInput extends CompletionDependencies { config: OrchestratorConfig; task: string; plan: string; failureFingerprint: string; observedCategory: FailureCategory; evidenceRefs: readonly string[]; lastVerdict?: JudgeReport; coderIdentity: string; taskFeatures?: TaskFeatures; signal?: AbortSignal; } export type McpDiagnosisJson = z.infer; export declare function completeMcpPlan(input: CompleteMcpPlanInput): Promise<{ plan: string; routing: McpRoutingMetadata; }>; export declare function completeMcpJudge(input: CompleteMcpJudgeInput): Promise<{ verdict: JudgeJson; routing: McpRoutingMetadata; }>; export declare function completeMcpDiagnosis(input: CompleteMcpDiagnosisInput): Promise<{ diagnosis: McpDiagnosisJson; routing: McpRoutingMetadata; }>; export declare function judgeMcpPrompt(task: string, plan: string, diff: string, testOutput?: string): string; export declare function parseJudgeJson(raw: string): JudgeJson; export declare function parseDiagnosisJson(raw: string): McpDiagnosisJson; export {};