/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ /** * judge.ts, an optional, provider-backed best-of-N judge. * * A model call that scores a held-merge group's candidates and PROPOSES a * winner with reasons. Deliberately kept behind the injectable {@link AttemptJudge} * seam (attempts.ts / engine.ts) so the engine stays provider-agnostic and unit- * testable with a fake; this is the real wiring the composition root (services.ts) * hands the engine. The verdict is always a PROPOSAL, the engine labels it * scoredBy:'model' and never auto-picks unless the source item opted in. */ import type { ProviderRegistry } from '../providers/registry.js'; import type { AttemptJudge, AttemptJudgeInput, AttemptJudgeVerdict } from './types.js'; export interface ProviderBackedAttemptJudgeOptions { readonly timeoutMs?: number | undefined; } /** Parse the model's JSON verdict, keeping only a winnerItemId that is a real candidate id. */ export declare function parseAttemptVerdict(raw: string, input: AttemptJudgeInput, model: string | null): AttemptJudgeVerdict; export declare function createProviderBackedAttemptJudge(providerRegistry: ProviderRegistry, options?: ProviderBackedAttemptJudgeOptions): AttemptJudge; //# sourceMappingURL=judge.d.ts.map