import type { Static, ValidationIssue } from "../../toolcraft-schema/dist/index.js"; /** * Schema for an eval.yaml file. * * Canonical oracle layout: * * oracle/ * ├── solution/ # reference implementation; used by `eval check` * └── tests/ # vitest *.test.ts files; the default scorer * * Keep oracle.path at its default value of "oracle" unless an eval has a * strong reason to use a different folder. * * eval check copies oracle/solution/* into the clone root by default. Use * oracle.solution_dest to copy it under a clone-root-relative subdirectory. */ export declare const evalYamlSchema: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly id: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly title: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly target: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly repo: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly ref: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly plan_dest: import("../../toolcraft-schema/dist/index.js").OptionalSchema; }>; readonly scorer: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly result_path: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly timeout_ms: import("../../toolcraft-schema/dist/index.js").NumberSchema; }>>; readonly oracle: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly path: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly solution_dest: import("../../toolcraft-schema/dist/index.js").OptionalSchema; }>; readonly budget: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly max_iterations: import("../../toolcraft-schema/dist/index.js").NumberSchema; readonly max_tokens: import("../../toolcraft-schema/dist/index.js").NumberSchema; readonly wall_clock_ms: import("../../toolcraft-schema/dist/index.js").NumberSchema; }>; readonly judge: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly agent: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly model: import("../../toolcraft-schema/dist/index.js").StringSchema; readonly rubric: import("../../toolcraft-schema/dist/index.js").ArraySchema; }>; readonly weights: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly tests: import("../../toolcraft-schema/dist/index.js").NumberSchema; readonly judge: import("../../toolcraft-schema/dist/index.js").NumberSchema; }>; readonly metrics: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly enabled: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly required: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly weight: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly threshold: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly evaluator: import("../../toolcraft-schema/dist/index.js").OneOfSchema<{ deterministic: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly config: import("../../toolcraft-schema/dist/index.js").OptionalSchema; }>; judge: import("../../toolcraft-schema/dist/index.js").ObjectSchema<{ readonly agent: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly model: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly instructions: import("../../toolcraft-schema/dist/index.js").OptionalSchema; readonly config: import("../../toolcraft-schema/dist/index.js").OptionalSchema; }>; }, "kind">; }>>>; readonly verify: import("../../toolcraft-schema/dist/index.js").OptionalSchema>; }>; export type EvalYaml = Static; export declare class EvalYamlValidationError extends Error { readonly issues: readonly ValidationIssue[]; constructor(message: string, issues: readonly ValidationIssue[]); } export declare function validateEvalYaml(value: unknown, filePath?: string): EvalYaml;