import { z } from 'zod'; /** Raised for any eval-input problem (bad JSON, schema failure, missing input file). Maps to exit 2. */ export declare class EvalInputError extends Error { constructor(message: string); } /** * True when `key` is exactly one edit (insert/delete/substitute one char) from * `target`. Used to catch typos of recognized fields (here) and of declared * executable names ({@link ./eval-lint.ts}) — deliberately a tiny single-edit * check, not a general edit-distance routine, so it stays cheap and never fires * on legitimately distinct adopter strings (`name`, `category`, `notes`). */ export declare function isSingleEditAway(key: string, target: string): boolean; export declare const EvalEntrySchema: z.ZodEffects; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>; export declare const EvalSuiteSchema: z.ZodObject<{ _comment: z.ZodOptional>; skill_name: z.ZodString; evals: z.ZodArray; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, "many">; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ _comment: z.ZodOptional>; skill_name: z.ZodString; evals: z.ZodArray; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ _comment: z.ZodOptional>; skill_name: z.ZodString; evals: z.ZodArray; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ id: z.ZodUnion<[z.ZodNumber, z.ZodString]>; prompt: z.ZodString; expected_output: z.ZodOptional; files: z.ZodOptional>; expectations: z.ZodArray; tier: z.ZodOptional; toolExpectations: z.ZodOptional>; mustNotRun: z.ZodOptional>; mustSucceed: z.ZodOptional>; sequence: z.ZodOptional>; }, "strict", z.ZodTypeAny, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }, { mustRun?: string[] | undefined; mustNotRun?: string[] | undefined; mustSucceed?: string[] | undefined; sequence?: string[] | undefined; }>>; }, z.ZodTypeAny, "passthrough">>, "many">; }, z.ZodTypeAny, "passthrough">>; export type EvalEntry = z.infer; export type EvalSuite = z.infer; /** * The declared tool expectations of ONE eval (issue #145 Phase T). Derived from * {@link EvalEntry} so the grader input + prompt builder share the EXACT shape the * parser produces — no drift, and no duplicated inline `{ mustRun?; mustNotRun?; * sequence? }` literal across those consumers. */ export type ToolExpectations = NonNullable; /** Parse + validate a skill-test eval suite. Throws {@link EvalInputError} on any problem. */ export declare function parseEvalSuite(jsonText: string): EvalSuite; export interface StageEvalWorkspacesInput { /** Parsed suite (Task 1). */ suite: EvalSuite; /** Directory containing evals.json — the base for each eval's relative `files`. */ evalsDir: string; /** `/workspaces` — per-eval dirs are created beneath it. */ workspacesRoot: string; } /** * Materialize each eval's declared input `files` into `//`, * preserving relative structure. Evals without `files` are skipped. Throws * {@link EvalInputError} if a listed file does not exist (the eval cannot run without it). * Returns `workspacesRoot`. */ export declare function stageEvalWorkspaces(input: StageEvalWorkspacesInput): string; //# sourceMappingURL=eval-inputs.d.ts.map