/** * Bedrock LLM Judge Client * Calls backend proxy for AWS Bedrock evaluations */ import { TrajectoryStep, EvaluationMetrics, ImprovementStrategy, OpenSearchLog, PassFailStatus } from '../../types/index.js'; interface JudgeResult { passFailStatus: PassFailStatus; metrics: EvaluationMetrics; llmJudgeReasoning: string; improvementStrategies: ImprovementStrategy[]; judgeDurationMs?: number; judgeAttempts?: number; /** Raw text the judge model emitted (forwarded from /api/judge). */ rawResponse?: string; /** Extra JSON keys the model emitted that weren't typed wire fields. */ extraFields?: Record; /** System/user prompts the judge actually saw (when AH_JUDGE_DEBUG=1). */ judgeDebug?: { provider?: string; modelId?: string; evaluatorId?: string; systemPrompt?: string; userPrompt?: string; }; } interface ExpectedBehavior { expectedOutcomes?: string[]; expectedTrajectory?: any[]; } /** * Real Bedrock Judge implementation via backend proxy with exponential backoff retry * Calls the backend API which handles AWS Bedrock communication * The backend routes to the appropriate provider (demo/bedrock/ollama) based on modelId * @param trajectory - The agent's execution trajectory * @param expected - Expected outcomes or trajectory * @param logs - Optional OpenSearch logs * @param onProgress - Optional progress callback * @param modelId - Model ID for judge evaluation (determines provider routing) * @param evaluatorId - Optional saved evaluator id (resolves the system prompt server-side) * @param runId - Agent run id. Forwarded so the `agent` (trace) judge provider's * read-only `query_spans` / `query_logs` tools can scope to this single run. * Without it the route 400s with `runId is required for the agent (trace) * judge provider`. For other providers it's ignored. Pre-fix the runner * never forwarded this even when known on the report, so picking the * `agent-trace-judge` model from the UI Judge Model dropdown always * failed at the route layer. * @param agents - Optional Strategy C correlation hints (service.name + * time-window) for the agent (trace) judge. The trace tool unions * Strategy B (`runIds`) with these so spans the agent emits under its * own correlation (claude-code's session id, etc.) are findable. See #264. */ export declare function callBedrockJudge(trajectory: TrajectoryStep[], expected: ExpectedBehavior, logs?: OpenSearchLog[], onProgress?: (chunk: string) => void, modelId?: string, evaluatorId?: string, runId?: string, agents?: Array<{ serviceName: string; startedAt: number; endedAt: number; sessionId?: string; }>): Promise; /** * Simulate Bedrock Judge evaluation (fallback for testing) * @deprecated Use callBedrockJudge for real evaluations */ export declare function simulateBedrockJudge(trajectory: TrajectoryStep[], expectedTrajectory: any[]): JudgeResult; export {}; //# sourceMappingURL=bedrockJudge.d.ts.map