import { DatasetContract, DatasetEntry, DatasetOptions } from "./dataset.type.mjs"; import { judge } from "./judge-scorer.mjs"; import { fromJSON, toJSON } from "./report-json.mjs"; import { toJUnit } from "./report-junit.mjs"; import { EvalPredicate, contains, exact, predicate } from "./scorers.mjs"; import { runEval } from "./eval-runner.mjs"; import { dataset } from "./dataset.mjs"; import { diff } from "./regression.mjs"; //#region ../ai/src/eval/index.d.ts /** * Built-in eval scorer factories plus the CI reporters, surfaced on * `ai.eval.*`. * * Scorers: * - `exact()` — pass when output equals the case `expected` (trimmed, * case-insensitive; structured values compared by canonical JSON). * - `contains()` — pass when `expected` appears as a substring. * - `predicate(fn)` — wrap an arbitrary boolean assertion. * - `judge(config)` — LLM-as-judge scoring against a rubric. * * Reporters / serialization (pure functions over a finished `EvalReport`): * - `toJUnit(report)` — JUnit-XML artifact for CI ingestion. * - `toJSON(report)` / `fromJSON(serialized)` — round-trippable snapshot; * today's report becomes tomorrow's `baseline`. * * @example * await myAgent.eval({ * cases: [{ name: "q", input: "Capital of Egypt?", expected: "Cairo" }], * scorers: [ai.eval.contains()], * }); * * @example * const report = await myAgent.eval({ cases: ds, scorers: [ai.eval.exact()] }); * await writeFile("./report.junit.xml", ai.eval.toJUnit(report)); */ declare const evalScorers: { exact: typeof exact; contains: typeof contains; predicate: typeof predicate; judge: typeof judge; toJUnit: typeof toJUnit; toJSON: typeof toJSON; fromJSON: typeof fromJSON; }; //#endregion export { evalScorers }; //# sourceMappingURL=index.d.mts.map