import { analyzeAgentTranscript } from './transcript-metrics.js'; export type BenchmarkRepoTier = 'small-familiar' | 'large-unfamiliar'; export interface PresetBenchmarkTask { id: string; class: 'shared' | 'governance'; prompt: string; expectedTools: string[]; distractors: string[]; } export interface PresetBenchmarkCorpus { schemaVersion: 1; id: string; environment: { image: string; digest: string; }; agentConfig: { models: string[]; runs: number; }; repoTiers: BenchmarkRepoTier[]; tasks: PresetBenchmarkTask[]; } export interface CorpusValidationIssue { code: 'invalid-corpus' | 'stale-tool-id' | 'missing-distractor'; message: string; taskId?: string; preset?: string; toolId?: string; } export interface TrajectoryScore { selectedTool: string | null; selectionCorrect: boolean; steps: number; tokenCost: number; costUsd: number; reread: ReturnType; } export interface SelectionScore { selectedTool: string | null; selectionCorrect: boolean; tokenCost: number; } export declare function validatePresetBenchmarkCorpus(corpus: PresetBenchmarkCorpus, knownToolIds: ReadonlySet, surfaces: Readonly>>): CorpusValidationIssue[]; /** Deterministically score one logged first-tool selection response. */ export declare function scoreSelectionResponse(task: PresetBenchmarkTask, rawResponse: string): SelectionScore; /** Deterministically score one logged agent trajectory. No model is called here. */ export declare function scorePresetTrajectory(task: PresetBenchmarkTask, rawTranscript: string): TrajectoryScore; //# sourceMappingURL=preset-protocol.d.ts.map