veryfront 0.1.907 → 0.1.909

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,QAAQ,EAAE,WAmDtB,CAAC"}
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,QAAQ,EAAE,WA4DtB,CAAC"}
@@ -24,6 +24,14 @@ export const evalHelp = {
24
24
  flag: "--junit <path>",
25
25
  description: "Write a JUnit XML report to a file",
26
26
  },
27
+ {
28
+ flag: "--baseline <path>",
29
+ description: "Compare the eval report against a saved baseline report",
30
+ },
31
+ {
32
+ flag: "--write-baseline <path>",
33
+ description: "Write the eval report JSON as the next baseline",
34
+ },
27
35
  {
28
36
  flag: "--export <ids>",
29
37
  description: "Export the report through registered eval exporters",
@@ -46,6 +54,7 @@ export const evalHelp = {
46
54
  "veryfront eval deep-research",
47
55
  "veryfront eval eval:deep-research --report-dir .veryfront/evals/deep-research",
48
56
  "veryfront eval eval:deep-research --report .veryfront/evals/deep-research/report.json --junit .veryfront/evals/deep-research/junit.xml",
57
+ "veryfront eval deep-research --baseline .veryfront/evals/baseline.json --json",
49
58
  "veryfront eval deep-research --export braintrust,langfuse --json",
50
59
  "veryfront eval deep-research --json",
51
60
  ],
@@ -1,4 +1,4 @@
1
- import type { EvalReport } from "../../../src/eval/index.js";
1
+ import type { EvalReport, EvalReportComparison } from "../../../src/eval/index.js";
2
2
  import type { EvalArgs } from "./handler.js";
3
3
  export interface EvalOptions extends EvalArgs {
4
4
  }
@@ -27,16 +27,18 @@ type EvalSummaryArtifact = {
27
27
  endedAt: string;
28
28
  summary: EvalReport["summary"];
29
29
  exports?: EvalReport["exports"];
30
+ baseline?: EvalReportComparison;
30
31
  };
31
32
  export declare function createDefaultEvalReportDir(runId: string): string;
32
33
  export declare function createEvalArtifactPaths(reportDir: string): EvalArtifactPaths;
33
34
  export declare function normalizeEvalCliId(id: string): string;
34
35
  export declare function normalizeEvalInputForAgent(input: unknown): string;
35
36
  export declare function summarizeReportForCli(report: EvalReport): CliEvalSummary;
36
- export declare function createSummaryArtifact(report: EvalReport): EvalSummaryArtifact;
37
+ export declare function createSummaryArtifact(report: EvalReport, baseline?: EvalReportComparison): EvalSummaryArtifact;
37
38
  export declare function createResultsJsonl(report: EvalReport): string;
38
39
  export declare function createJunitXml(report: EvalReport): string;
39
- export declare function writeEvalArtifacts(report: EvalReport, paths: EvalArtifactPaths): Promise<void>;
40
+ export declare function writeEvalArtifacts(report: EvalReport, paths: EvalArtifactPaths, baseline?: EvalReportComparison): Promise<void>;
41
+ export declare function createEvalExitCode(report: EvalReport, baseline?: EvalReportComparison): 0 | 1;
40
42
  export declare function evalCommand(options: EvalOptions): Promise<void>;
41
43
  export {};
42
44
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAKV,UAAU,EAGX,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,WAAY,SAAQ,QAAQ;CAAG;AAEhD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;CACjC,CAAC;AAoBF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAM5E;AAmCD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAWxE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,mBAAmB,CAY7E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA0CzD;AAQD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAIf;AA0ID,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGrE"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAKV,UAAU,EACV,oBAAoB,EAGrB,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,WAAY,SAAQ,QAAQ;CAAG;AAEhD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAoBF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAM5E;AAmCD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAWxE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,mBAAmB,CAarB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAG7D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA0CzD;AAQD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,iBAAiB,EACxB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAOf;AAMD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,CAAC,GAAG,CAAC,CAEP;AAsJD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+GrE"}
@@ -4,7 +4,7 @@
4
4
  import * as dntShim from "../../../_dnt.shims.js";
5
5
  import { dirname, join, relative } from "../../../deps/jsr.io/@std/path/1.1.4/mod.js";
6
6
  import { createProjectDiscoveryConfig, discoverAll } from "../../../src/discovery/index.js";
7
- import { discoverEvals, runEval } from "../../../src/eval/index.js";
7
+ import { compareEvalReports, discoverEvals, runEval } from "../../../src/eval/index.js";
8
8
  import { cliLogger, exitProcess } from "../../utils/index.js";
9
9
  import { createErrorEnvelope, createSuccessEnvelope, isJsonMode, outputJson, } from "../../shared/json-output.js";
10
10
  import { withProjectSourceContext } from "../../shared/project-source-context.js";
@@ -88,7 +88,7 @@ export function summarizeReportForCli(report) {
88
88
  metrics: report.summary.metrics,
89
89
  };
90
90
  }
91
- export function createSummaryArtifact(report) {
91
+ export function createSummaryArtifact(report, baseline) {
92
92
  return {
93
93
  kind: "eval-summary",
94
94
  runId: report.runId,
@@ -99,6 +99,7 @@ export function createSummaryArtifact(report) {
99
99
  endedAt: report.endedAt,
100
100
  summary: report.summary,
101
101
  ...(report.exports ? { exports: report.exports } : {}),
102
+ ...(baseline ? { baseline } : {}),
102
103
  };
103
104
  }
104
105
  export function createResultsJsonl(report) {
@@ -138,11 +139,17 @@ async function writeTextFileEnsuringDir(path, content) {
138
139
  await dntShim.Deno.mkdir(dir, { recursive: true });
139
140
  await dntShim.Deno.writeTextFile(path, content);
140
141
  }
141
- export async function writeEvalArtifacts(report, paths) {
142
+ export async function writeEvalArtifacts(report, paths, baseline) {
142
143
  await dntShim.Deno.mkdir(paths.directory, { recursive: true });
143
- await dntShim.Deno.writeTextFile(paths.summary, JSON.stringify(createSummaryArtifact(report), null, 2));
144
+ await dntShim.Deno.writeTextFile(paths.summary, JSON.stringify(createSummaryArtifact(report, baseline), null, 2));
144
145
  await dntShim.Deno.writeTextFile(paths.results, createResultsJsonl(report));
145
146
  }
147
+ async function readEvalReport(path) {
148
+ return JSON.parse(await dntShim.Deno.readTextFile(path));
149
+ }
150
+ export function createEvalExitCode(report, baseline) {
151
+ return report.summary.failed === 0 && baseline?.regressed !== true ? 0 : 1;
152
+ }
146
153
  function resolveAgentTargetId(target) {
147
154
  return target.startsWith("agent:") ? target.slice("agent:".length) : target;
148
155
  }
@@ -194,7 +201,7 @@ function listEvals(evals, projectDir) {
194
201
  },
195
202
  }));
196
203
  }
197
- function printReport(report) {
204
+ function printReport(report, baseline) {
198
205
  cliLogger.info(`Eval ${report.definitionId}`);
199
206
  cliLogger.info(`Target: ${report.target}`);
200
207
  cliLogger.info(`Result: ${report.summary.passed}/${report.summary.records} passed (${Math.round(report.summary.passRate * 100)}%)`);
@@ -209,6 +216,13 @@ function printReport(report) {
209
216
  cliLogger.warn(`Export ${result.exporterId}: failed: ${result.error}`);
210
217
  }
211
218
  }
219
+ if (baseline) {
220
+ const direction = baseline.passRateDelta >= 0 ? "+" : "";
221
+ cliLogger.info(`Baseline: ${baseline.regressed ? "regressed" : "ok"} (${direction}${Math.round(baseline.passRateDelta * 100)} pp pass rate)`);
222
+ if (baseline.newFailedExamples.length > 0) {
223
+ cliLogger.warn(`New failed examples: ${baseline.newFailedExamples.join(", ")}`);
224
+ }
225
+ }
212
226
  }
213
227
  function createEvalCliExportConfig(evalItem, options, projectDir, artifactPaths) {
214
228
  if (options.exporters.length === 0)
@@ -328,28 +342,37 @@ export async function evalCommand(options) {
328
342
  },
329
343
  export: createEvalCliExportConfig(evalItem, options, projectDir, artifactPaths),
330
344
  });
331
- await writeEvalArtifacts(report, artifactPaths);
345
+ const baseline = options.baseline
346
+ ? compareEvalReports(report, await readEvalReport(options.baseline))
347
+ : undefined;
348
+ await writeEvalArtifacts(report, artifactPaths, baseline);
332
349
  if (options.report) {
333
350
  await writeTextFileEnsuringDir(options.report, JSON.stringify(report, null, 2));
334
351
  }
335
352
  if (options.junit) {
336
353
  await writeTextFileEnsuringDir(options.junit, createJunitXml(report));
337
354
  }
355
+ if (options.writeBaseline) {
356
+ await writeTextFileEnsuringDir(options.writeBaseline, JSON.stringify(report, null, 2));
357
+ }
338
358
  if (isJsonMode()) {
339
359
  await outputJson(createSuccessEnvelope("eval", {
340
360
  report,
341
361
  summary: summarizeReportForCli(report),
362
+ baseline,
342
363
  artifacts: artifactPaths,
343
364
  }));
344
365
  }
345
366
  else {
346
- printReport(report);
367
+ printReport(report, baseline);
347
368
  cliLogger.info(`Report directory: ${artifactPaths.directory}`);
348
369
  if (options.report)
349
370
  cliLogger.info(`Report: ${options.report}`);
350
371
  if (options.junit)
351
372
  cliLogger.info(`JUnit: ${options.junit}`);
373
+ if (options.writeBaseline)
374
+ cliLogger.info(`Baseline written: ${options.writeBaseline}`);
352
375
  }
353
- exitProcess(report.summary.failed === 0 ? 0 : 1);
376
+ exitProcess(createEvalExitCode(report, baseline));
354
377
  });
355
378
  }
@@ -7,6 +7,8 @@ declare const getEvalArgsSchema: () => import("../../../src/internal-agents/sche
7
7
  reportDir: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
8
8
  report: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
9
9
  junit: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
10
+ baseline: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
11
+ writeBaseline: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
10
12
  exporters: import("../../../src/internal-agents/schema.js").Schema<string[]>;
11
13
  debug: import("../../../src/internal-agents/schema.js").Schema<boolean>;
12
14
  model: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
@@ -20,6 +22,8 @@ export declare const parseEvalArgs: (args: ParsedArgs) => import("../../shared/a
20
22
  reportDir: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
21
23
  report: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
22
24
  junit: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
25
+ baseline: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
26
+ writeBaseline: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
23
27
  exporters: import("../../../src/internal-agents/schema.js").Schema<string[]>;
24
28
  debug: import("../../../src/internal-agents/schema.js").Schema<boolean>;
25
29
  model: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAA,MAAM,iBAAiB;;;;;;;;;;;GAatB,CAAC;AAIF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,aAAa;;;;;;;;;;;GAWxB,CAAC;AAEH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;GAetB,CAAC;AAIF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE,eAAO,MAAM,aAAa;;;;;;;;;;;;;GAaxB,CAAC;AAEH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE"}
@@ -7,6 +7,8 @@ const getEvalArgsSchema = defineSchema((v) => v.object({
7
7
  reportDir: v.string().optional(),
8
8
  report: v.string().optional(),
9
9
  junit: v.string().optional(),
10
+ baseline: v.string().optional(),
11
+ writeBaseline: v.string().optional(),
10
12
  exporters: v.array(v.string()).default([]),
11
13
  debug: v.boolean().default(false),
12
14
  model: v.string().optional(),
@@ -20,6 +22,8 @@ export const parseEvalArgs = createArgParser(EvalArgsSchema, {
20
22
  reportDir: { keys: ["report-dir"], type: "string" },
21
23
  report: { keys: ["report"], type: "string" },
22
24
  junit: { keys: ["junit"], type: "string" },
25
+ baseline: { keys: ["baseline"], type: "string" },
26
+ writeBaseline: { keys: ["write-baseline"], type: "string" },
23
27
  exporters: { keys: ["export"], type: "array" },
24
28
  debug: { keys: ["debug"], type: "boolean" },
25
29
  model: { keys: ["model"], type: "string" },
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.907",
3
+ "version": "0.1.909",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -0,0 +1,4 @@
1
+ import type { EvalReport, EvalReportComparison } from "./types.js";
2
+ /** Compare a current eval report against a saved baseline report. */
3
+ export declare function compareEvalReports(current: EvalReport, baseline: EvalReport): EvalReportComparison;
4
+ //# sourceMappingURL=baseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../src/src/eval/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,UAAU,EACV,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAiFpB,qEAAqE;AACrE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,UAAU,GACnB,oBAAoB,CA0BtB"}
@@ -0,0 +1,87 @@
1
+ function metricKey(metric) {
2
+ return `${metric.name}:${metric.family}:${metric.severity}`;
3
+ }
4
+ function createMetricIndex(report) {
5
+ const metrics = new Map();
6
+ for (const metric of report.summary.metrics) {
7
+ metrics.set(metricKey(metric), metric);
8
+ }
9
+ return metrics;
10
+ }
11
+ function createMetricOrder(current, baseline) {
12
+ const keys = new Set();
13
+ for (const metric of current.summary.metrics)
14
+ keys.add(metricKey(metric));
15
+ for (const metric of baseline.summary.metrics)
16
+ keys.add(metricKey(metric));
17
+ return [...keys];
18
+ }
19
+ function firstMetricForKey(key, current, baseline) {
20
+ const metric = current.get(key) ?? baseline.get(key);
21
+ if (!metric) {
22
+ throw new Error(`Metric key "${key}" was not present in either report.`);
23
+ }
24
+ return metric;
25
+ }
26
+ function nullableDelta(current, baseline) {
27
+ return current === null || baseline === null ? null : current - baseline;
28
+ }
29
+ function metricRegressed(current, baseline) {
30
+ if (!baseline)
31
+ return false;
32
+ if (!current)
33
+ return true;
34
+ return current.passRate < baseline.passRate || current.failed > baseline.failed;
35
+ }
36
+ function createMetricDelta(key, current, baseline) {
37
+ const metric = firstMetricForKey(key, current, baseline);
38
+ const currentMetric = current.get(key);
39
+ const baselineMetric = baseline.get(key);
40
+ const currentPassRate = currentMetric?.passRate ?? null;
41
+ const baselinePassRate = baselineMetric?.passRate ?? null;
42
+ const currentFailed = currentMetric?.failed ?? null;
43
+ const baselineFailed = baselineMetric?.failed ?? null;
44
+ return {
45
+ name: metric.name,
46
+ family: metric.family,
47
+ severity: metric.severity,
48
+ baselinePassRate,
49
+ currentPassRate,
50
+ passRateDelta: nullableDelta(currentPassRate, baselinePassRate),
51
+ baselineFailed,
52
+ currentFailed,
53
+ failedDelta: nullableDelta(currentFailed, baselineFailed),
54
+ regressed: metricRegressed(currentMetric, baselineMetric),
55
+ };
56
+ }
57
+ function failedExampleIds(report) {
58
+ return new Set((report.summary.failedExamples ?? []).map((example) => example.exampleId));
59
+ }
60
+ function sortedDifference(left, right) {
61
+ return [...left].filter((value) => !right.has(value)).sort();
62
+ }
63
+ /** Compare a current eval report against a saved baseline report. */
64
+ export function compareEvalReports(current, baseline) {
65
+ const currentMetrics = createMetricIndex(current);
66
+ const baselineMetrics = createMetricIndex(baseline);
67
+ const metricDeltas = createMetricOrder(current, baseline).map((key) => createMetricDelta(key, currentMetrics, baselineMetrics));
68
+ const currentFailedExamples = failedExampleIds(current);
69
+ const baselineFailedExamples = failedExampleIds(baseline);
70
+ const newFailedExamples = sortedDifference(currentFailedExamples, baselineFailedExamples);
71
+ const fixedExamples = sortedDifference(baselineFailedExamples, currentFailedExamples);
72
+ const passRateDelta = current.summary.passRate - baseline.summary.passRate;
73
+ const failedDelta = current.summary.failed - baseline.summary.failed;
74
+ return {
75
+ kind: "eval-report-comparison",
76
+ currentRunId: current.runId,
77
+ baselineRunId: baseline.runId,
78
+ passRateDelta,
79
+ passedDelta: current.summary.passed - baseline.summary.passed,
80
+ failedDelta,
81
+ metricDeltas,
82
+ newFailedExamples,
83
+ fixedExamples,
84
+ regressed: passRateDelta < 0 || failedDelta > 0 || newFailedExamples.length > 0 ||
85
+ metricDeltas.some((metric) => metric.regressed),
86
+ };
87
+ }
@@ -46,10 +46,11 @@ export { datasets } from "./datasets.js";
46
46
  export { evalAgent, isEvalDefinition } from "./factory.js";
47
47
  export { metrics } from "./metrics.js";
48
48
  export { createEvalReport, summarizeEvalRecords } from "./report.js";
49
+ export { compareEvalReports } from "./baseline.js";
49
50
  export { runEval } from "./runner.js";
50
51
  export { deriveEvalId, discoverEvals, findEvalById } from "./discovery.js";
51
52
  export { createEvalSourceDocument, getEvalEditableFieldSchema, getEvalRunSchema, getEvalSourceDocumentSchema, getEvalSourcePatchSchema, getEvalSourceReferenceSchema, getEvalStudioCapabilitySchema, } from "./studio.js";
52
53
  export type { DiscoveredEval, EvalDiscoveryOptions, EvalDiscoveryResult } from "./discovery.js";
53
- export type { EvalAgentAdapter, EvalAgentAdapterContext, EvalAgentAdapterResult, EvalAgentInput, EvalCheckContext, EvalDataset, EvalDatasetLoadContext, EvalDefinition, EvalExample, EvalExampleInput, EvalExpect, EvalExpectation, EvalMetric, EvalMetricContext, EvalMetricFamily, EvalMetricResult, EvalMetricSummary, EvalMetricThreshold, EvalRecord, EvalReport, EvalReportExportConfig, EvalReportSummary, EvalSeverity, EvalSource, EvalTargetKind, EvalToolCall, EvalTrace, EvalUsage, RunEvalOptions, } from "./types.js";
54
+ export type { EvalAgentAdapter, EvalAgentAdapterContext, EvalAgentAdapterResult, EvalAgentInput, EvalCheckContext, EvalDataset, EvalDatasetLoadContext, EvalDefinition, EvalDurationSummary, EvalExample, EvalExampleInput, EvalExpect, EvalExpectation, EvalFailedExampleSummary, EvalFlakeSummary, EvalGateFailureSummary, EvalMetric, EvalMetricContext, EvalMetricDeltaSummary, EvalMetricFamily, EvalMetricResult, EvalMetricSummary, EvalMetricThreshold, EvalRecord, EvalReport, EvalReportComparison, EvalReportExportConfig, EvalReportSummary, EvalSeverity, EvalSource, EvalTargetKind, EvalToolCall, EvalTrace, EvalUsage, EvalUsageSummary, RunEvalOptions, } from "./types.js";
54
55
  export type { CreateEvalSourceDocumentOptions, EvalEditableField, EvalRun, EvalSourceDocument, EvalSourcePatch, EvalSourceReference, EvalStudioCapability, } from "./studio.js";
55
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,SAAS,EACT,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,+BAA+B,EAC/B,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAChG,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,+BAA+B,EAC/B,iBAAiB,EACjB,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
@@ -46,6 +46,7 @@ export { datasets } from "./datasets.js";
46
46
  export { evalAgent, isEvalDefinition } from "./factory.js";
47
47
  export { metrics } from "./metrics.js";
48
48
  export { createEvalReport, summarizeEvalRecords } from "./report.js";
49
+ export { compareEvalReports } from "./baseline.js";
49
50
  export { runEval } from "./runner.js";
50
51
  export { deriveEvalId, discoverEvals, findEvalById } from "./discovery.js";
51
52
  export { createEvalSourceDocument, getEvalEditableFieldSchema, getEvalRunSchema, getEvalSourceDocumentSchema, getEvalSourcePatchSchema, getEvalSourceReferenceSchema, getEvalStudioCapabilitySchema, } from "./studio.js";
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/src/eval/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAGd,UAAU,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA8CpB,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAU7E;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,GAAG,UAAU,CAYb"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/src/eval/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAOd,UAAU,EACV,UAAU,EACV,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAsLpB,mEAAmE;AACnE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAoB7E;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,GAAG,UAAU,CAYb"}
@@ -8,10 +8,128 @@ function recordPassed(record) {
8
8
  const results = [...(record.metrics ?? []), ...(record.checks ?? [])];
9
9
  return results.every((result) => !isBlockingFailure(result));
10
10
  }
11
+ function allResults(record) {
12
+ return [...(record.metrics ?? []), ...(record.checks ?? [])];
13
+ }
14
+ function percentile(sortedValues, percentileValue) {
15
+ if (sortedValues.length === 0)
16
+ return 0;
17
+ const index = Math.min(sortedValues.length - 1, Math.max(0, Math.ceil((percentileValue / 100) * sortedValues.length) - 1));
18
+ return sortedValues[index] ?? 0;
19
+ }
20
+ function summarizeDurations(records) {
21
+ const durations = records.map((record) => record.durationMs).sort((a, b) => a - b);
22
+ const totalMs = durations.reduce((sum, value) => sum + value, 0);
23
+ return {
24
+ totalMs,
25
+ minMs: durations[0] ?? 0,
26
+ maxMs: durations.at(-1) ?? 0,
27
+ meanMs: durations.length === 0 ? 0 : totalMs / durations.length,
28
+ p50Ms: percentile(durations, 50),
29
+ p95Ms: percentile(durations, 95),
30
+ };
31
+ }
32
+ function addUsageValue(summary, key, value) {
33
+ if (value === undefined)
34
+ return;
35
+ summary[key] = (summary[key] ?? 0) + value;
36
+ }
37
+ function summarizeUsage(records) {
38
+ const summary = {};
39
+ for (const record of records) {
40
+ addUsageValue(summary, "inputTokens", record.usage.inputTokens);
41
+ addUsageValue(summary, "outputTokens", record.usage.outputTokens);
42
+ addUsageValue(summary, "totalTokens", record.usage.totalTokens);
43
+ addUsageValue(summary, "costUsd", record.usage.costUsd);
44
+ }
45
+ return summary;
46
+ }
47
+ function createRecordFailure(record) {
48
+ if (record.completed && !record.error)
49
+ return null;
50
+ return {
51
+ recordId: record.id,
52
+ exampleId: record.exampleId,
53
+ repetition: record.repetition,
54
+ name: "record.error",
55
+ family: "check",
56
+ severity: "gate",
57
+ explanation: record.error ?? "Record did not complete.",
58
+ };
59
+ }
60
+ function createResultFailure(record, result) {
61
+ return {
62
+ recordId: record.id,
63
+ exampleId: record.exampleId,
64
+ repetition: record.repetition,
65
+ name: result.name,
66
+ family: result.family,
67
+ severity: result.severity === "budget" ? "budget" : "gate",
68
+ ...(result.explanation ? { explanation: result.explanation } : {}),
69
+ ...(result.evidence ? { evidence: result.evidence } : {}),
70
+ };
71
+ }
72
+ function summarizeGateFailures(records) {
73
+ const failures = [];
74
+ for (const record of records) {
75
+ const recordFailure = createRecordFailure(record);
76
+ if (recordFailure)
77
+ failures.push(recordFailure);
78
+ for (const result of allResults(record)) {
79
+ if (isBlockingFailure(result))
80
+ failures.push(createResultFailure(record, result));
81
+ }
82
+ }
83
+ return failures;
84
+ }
85
+ function summarizeFailedExamples(records) {
86
+ const examples = new Map();
87
+ for (const record of records) {
88
+ const summary = examples.get(record.exampleId) ?? { passed: 0, failed: 0 };
89
+ if (recordPassed(record)) {
90
+ summary.passed += 1;
91
+ }
92
+ else {
93
+ summary.failed += 1;
94
+ }
95
+ examples.set(record.exampleId, summary);
96
+ }
97
+ const failedExamples = [];
98
+ const flakes = {
99
+ examples: examples.size,
100
+ stablePassed: 0,
101
+ stableFailed: 0,
102
+ flaky: 0,
103
+ };
104
+ for (const [exampleId, summary] of examples.entries()) {
105
+ const recordsForExample = summary.passed + summary.failed;
106
+ const flaky = summary.passed > 0 && summary.failed > 0;
107
+ if (flaky) {
108
+ flakes.flaky += 1;
109
+ }
110
+ else if (summary.failed > 0) {
111
+ flakes.stableFailed += 1;
112
+ }
113
+ else {
114
+ flakes.stablePassed += 1;
115
+ }
116
+ if (summary.failed === 0)
117
+ continue;
118
+ failedExamples.push({
119
+ exampleId,
120
+ records: recordsForExample,
121
+ passed: summary.passed,
122
+ failed: summary.failed,
123
+ passRate: recordsForExample === 0 ? 1 : summary.passed / recordsForExample,
124
+ flaky,
125
+ });
126
+ }
127
+ return { failedExamples, flakes };
128
+ }
11
129
  function summarizeMetricResults(records) {
12
130
  const summaries = new Map();
13
131
  for (const record of records) {
14
- for (const result of [...(record.metrics ?? []), ...(record.checks ?? [])]) {
132
+ for (const result of allResults(record)) {
15
133
  const key = `${result.name}:${result.family}:${result.severity}`;
16
134
  const summary = summaries.get(key) ?? {
17
135
  name: result.name,
@@ -42,12 +160,19 @@ function summarizeMetricResults(records) {
42
160
  export function summarizeEvalRecords(records) {
43
161
  const passed = records.filter(recordPassed).length;
44
162
  const failed = records.length - passed;
163
+ const { failedExamples, flakes } = summarizeFailedExamples(records);
45
164
  return {
46
165
  records: records.length,
47
166
  passed,
48
167
  failed,
49
168
  passRate: records.length === 0 ? 1 : passed / records.length,
50
169
  metrics: summarizeMetricResults(records),
170
+ skippedResults: records.reduce((count, record) => count + allResults(record).filter((result) => result.skipped).length, 0),
171
+ duration: summarizeDurations(records),
172
+ usage: summarizeUsage(records),
173
+ gateFailures: summarizeGateFailures(records),
174
+ failedExamples,
175
+ flakes,
51
176
  };
52
177
  }
53
178
  /** Create a JSON-serializable eval report from executed records. */
@@ -43,6 +43,59 @@ export declare const getEvalSourceMetricSchema: () => import("../internal-agents
43
43
  editable: import("../internal-agents/schema.js").Schema<boolean>;
44
44
  dynamic: import("../internal-agents/schema.js").Schema<boolean>;
45
45
  }>>;
46
+ /** Schema for an Eval report metric summary in Studio run projections. */
47
+ export declare const getEvalRunMetricSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
48
+ name: import("../internal-agents/schema.js").Schema<string>;
49
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
50
+ severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
51
+ passed: import("../internal-agents/schema.js").Schema<number>;
52
+ failed: import("../internal-agents/schema.js").Schema<number>;
53
+ skipped: import("../internal-agents/schema.js").Schema<number>;
54
+ passRate: import("../internal-agents/schema.js").Schema<number>;
55
+ }>>;
56
+ /** Schema for Eval duration aggregates in Studio run projections. */
57
+ export declare const getEvalRunDurationSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
58
+ totalMs: import("../internal-agents/schema.js").Schema<number>;
59
+ minMs: import("../internal-agents/schema.js").Schema<number>;
60
+ maxMs: import("../internal-agents/schema.js").Schema<number>;
61
+ meanMs: import("../internal-agents/schema.js").Schema<number>;
62
+ p50Ms: import("../internal-agents/schema.js").Schema<number>;
63
+ p95Ms: import("../internal-agents/schema.js").Schema<number>;
64
+ }>>;
65
+ /** Schema for Eval usage totals in Studio run projections. */
66
+ export declare const getEvalRunUsageSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
67
+ inputTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
68
+ outputTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
69
+ totalTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
70
+ costUsd: import("../internal-agents/schema.js").Schema<number | undefined>;
71
+ }>>;
72
+ /** Schema for blocking Eval failures in Studio run projections. */
73
+ export declare const getEvalRunGateFailureSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
74
+ recordId: import("../internal-agents/schema.js").Schema<string>;
75
+ exampleId: import("../internal-agents/schema.js").Schema<string>;
76
+ repetition: import("../internal-agents/schema.js").Schema<number>;
77
+ name: import("../internal-agents/schema.js").Schema<string>;
78
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
79
+ severity: import("../internal-agents/schema.js").Schema<"gate" | "budget">;
80
+ explanation: import("../internal-agents/schema.js").Schema<string | undefined>;
81
+ evidence: import("../internal-agents/schema.js").Schema<Record<string, unknown> | undefined>;
82
+ }>>;
83
+ /** Schema for failed Eval examples in Studio run projections. */
84
+ export declare const getEvalRunFailedExampleSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
85
+ exampleId: import("../internal-agents/schema.js").Schema<string>;
86
+ records: import("../internal-agents/schema.js").Schema<number>;
87
+ passed: import("../internal-agents/schema.js").Schema<number>;
88
+ failed: import("../internal-agents/schema.js").Schema<number>;
89
+ passRate: import("../internal-agents/schema.js").Schema<number>;
90
+ flaky: import("../internal-agents/schema.js").Schema<boolean>;
91
+ }>>;
92
+ /** Schema for Eval flake aggregates in Studio run projections. */
93
+ export declare const getEvalRunFlakeSummarySchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
94
+ examples: import("../internal-agents/schema.js").Schema<number>;
95
+ stablePassed: import("../internal-agents/schema.js").Schema<number>;
96
+ stableFailed: import("../internal-agents/schema.js").Schema<number>;
97
+ flaky: import("../internal-agents/schema.js").Schema<number>;
98
+ }>>;
46
99
  /** Schema for a Studio-editable Eval source document. */
47
100
  export declare const getEvalSourceDocumentSchema: () => import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
48
101
  kind: import("../internal-agents/schema.js").Schema<"eval-source-document">;
@@ -147,6 +200,54 @@ export declare const getEvalRunSchema: () => import("../internal-agents/schema.j
147
200
  passed: import("../internal-agents/schema.js").Schema<number>;
148
201
  failed: import("../internal-agents/schema.js").Schema<number>;
149
202
  passRate: import("../internal-agents/schema.js").Schema<number>;
203
+ skippedResults: import("../internal-agents/schema.js").Schema<number | undefined>;
204
+ metrics: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
205
+ name: import("../internal-agents/schema.js").Schema<string>;
206
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
207
+ severity: import("../internal-agents/schema.js").Schema<"gate" | "soft" | "budget">;
208
+ passed: import("../internal-agents/schema.js").Schema<number>;
209
+ failed: import("../internal-agents/schema.js").Schema<number>;
210
+ skipped: import("../internal-agents/schema.js").Schema<number>;
211
+ passRate: import("../internal-agents/schema.js").Schema<number>;
212
+ }>[] | undefined>;
213
+ duration: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
214
+ totalMs: import("../internal-agents/schema.js").Schema<number>;
215
+ minMs: import("../internal-agents/schema.js").Schema<number>;
216
+ maxMs: import("../internal-agents/schema.js").Schema<number>;
217
+ meanMs: import("../internal-agents/schema.js").Schema<number>;
218
+ p50Ms: import("../internal-agents/schema.js").Schema<number>;
219
+ p95Ms: import("../internal-agents/schema.js").Schema<number>;
220
+ }> | undefined>;
221
+ usage: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
222
+ inputTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
223
+ outputTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
224
+ totalTokens: import("../internal-agents/schema.js").Schema<number | undefined>;
225
+ costUsd: import("../internal-agents/schema.js").Schema<number | undefined>;
226
+ }> | undefined>;
227
+ gateFailures: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
228
+ recordId: import("../internal-agents/schema.js").Schema<string>;
229
+ exampleId: import("../internal-agents/schema.js").Schema<string>;
230
+ repetition: import("../internal-agents/schema.js").Schema<number>;
231
+ name: import("../internal-agents/schema.js").Schema<string>;
232
+ family: import("../internal-agents/schema.js").Schema<"agent" | "answer" | "ops" | "judge" | "check">;
233
+ severity: import("../internal-agents/schema.js").Schema<"gate" | "budget">;
234
+ explanation: import("../internal-agents/schema.js").Schema<string | undefined>;
235
+ evidence: import("../internal-agents/schema.js").Schema<Record<string, unknown> | undefined>;
236
+ }>[] | undefined>;
237
+ failedExamples: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
238
+ exampleId: import("../internal-agents/schema.js").Schema<string>;
239
+ records: import("../internal-agents/schema.js").Schema<number>;
240
+ passed: import("../internal-agents/schema.js").Schema<number>;
241
+ failed: import("../internal-agents/schema.js").Schema<number>;
242
+ passRate: import("../internal-agents/schema.js").Schema<number>;
243
+ flaky: import("../internal-agents/schema.js").Schema<boolean>;
244
+ }>[] | undefined>;
245
+ flakes: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
246
+ examples: import("../internal-agents/schema.js").Schema<number>;
247
+ stablePassed: import("../internal-agents/schema.js").Schema<number>;
248
+ stableFailed: import("../internal-agents/schema.js").Schema<number>;
249
+ flaky: import("../internal-agents/schema.js").Schema<number>;
250
+ }> | undefined>;
150
251
  }> | null>;
151
252
  reportPath: import("../internal-agents/schema.js").Schema<string | null>;
152
253
  error: import("../internal-agents/schema.js").Schema<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/src/eval/studio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,yHAEzC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,gKActC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B;;;;GAMxC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;GAOtC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;;;;;GAQtC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;GAarC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgBpC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;GAsB5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AACjG,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAC7F,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AACvF,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAEvE,4EAA4E;AAC5E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAuDD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAyBpB"}
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/src/eval/studio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,2CAA2C;AAC3C,eAAO,MAAM,6BAA6B,yHAEzC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,0BAA0B,gKActC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,4BAA4B;;;;GAMxC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;GAOtC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,0BAA0B;;;;;;;;;;;GAQtC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;GAarC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,6BAA6B;;;;;;;;GAUzC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,+BAA+B;;;;;;;GAS3C,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,kCAAkC;;;;;;;;;GAW9C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,oCAAoC;;;;;;;GAShD,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,4BAA4B;;;;;GAOxC,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkBvC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgBpC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6B5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AACjG,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAC7F,mDAAmD;AACnD,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AACvF,oCAAoC;AACpC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAEvE,4EAA4E;AAC5E,MAAM,WAAW,+BAA+B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAuDD,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CAyBpB"}
@@ -47,6 +47,59 @@ export const getEvalSourceMetricSchema = defineSchema((v) => v.object({
47
47
  editable: v.boolean(),
48
48
  dynamic: v.boolean(),
49
49
  }));
50
+ /** Schema for an Eval report metric summary in Studio run projections. */
51
+ export const getEvalRunMetricSummarySchema = defineSchema((v) => v.object({
52
+ name: v.string(),
53
+ family: v.enum(["answer", "agent", "ops", "judge", "check"]),
54
+ severity: v.enum(["gate", "soft", "budget"]),
55
+ passed: v.number().int().nonnegative(),
56
+ failed: v.number().int().nonnegative(),
57
+ skipped: v.number().int().nonnegative(),
58
+ passRate: v.number(),
59
+ }));
60
+ /** Schema for Eval duration aggregates in Studio run projections. */
61
+ export const getEvalRunDurationSummarySchema = defineSchema((v) => v.object({
62
+ totalMs: v.number().nonnegative(),
63
+ minMs: v.number().nonnegative(),
64
+ maxMs: v.number().nonnegative(),
65
+ meanMs: v.number().nonnegative(),
66
+ p50Ms: v.number().nonnegative(),
67
+ p95Ms: v.number().nonnegative(),
68
+ }));
69
+ /** Schema for Eval usage totals in Studio run projections. */
70
+ export const getEvalRunUsageSummarySchema = defineSchema((v) => v.object({
71
+ inputTokens: v.number().nonnegative().optional(),
72
+ outputTokens: v.number().nonnegative().optional(),
73
+ totalTokens: v.number().nonnegative().optional(),
74
+ costUsd: v.number().nonnegative().optional(),
75
+ }));
76
+ /** Schema for blocking Eval failures in Studio run projections. */
77
+ export const getEvalRunGateFailureSummarySchema = defineSchema((v) => v.object({
78
+ recordId: v.string(),
79
+ exampleId: v.string(),
80
+ repetition: v.number().int().positive(),
81
+ name: v.string(),
82
+ family: v.enum(["answer", "agent", "ops", "judge", "check"]),
83
+ severity: v.enum(["gate", "budget"]),
84
+ explanation: v.string().optional(),
85
+ evidence: v.record(v.string(), v.unknown()).optional(),
86
+ }));
87
+ /** Schema for failed Eval examples in Studio run projections. */
88
+ export const getEvalRunFailedExampleSummarySchema = defineSchema((v) => v.object({
89
+ exampleId: v.string(),
90
+ records: v.number().int().nonnegative(),
91
+ passed: v.number().int().nonnegative(),
92
+ failed: v.number().int().nonnegative(),
93
+ passRate: v.number(),
94
+ flaky: v.boolean(),
95
+ }));
96
+ /** Schema for Eval flake aggregates in Studio run projections. */
97
+ export const getEvalRunFlakeSummarySchema = defineSchema((v) => v.object({
98
+ examples: v.number().int().nonnegative(),
99
+ stablePassed: v.number().int().nonnegative(),
100
+ stableFailed: v.number().int().nonnegative(),
101
+ flaky: v.number().int().nonnegative(),
102
+ }));
50
103
  /** Schema for a Studio-editable Eval source document. */
51
104
  export const getEvalSourceDocumentSchema = defineSchema((v) => v.object({
52
105
  kind: v.literal("eval-source-document"),
@@ -95,6 +148,13 @@ export const getEvalRunSchema = defineSchema((v) => v.object({
95
148
  passed: v.number().int().nonnegative(),
96
149
  failed: v.number().int().nonnegative(),
97
150
  passRate: v.number(),
151
+ skippedResults: v.number().int().nonnegative().optional(),
152
+ metrics: v.array(getEvalRunMetricSummarySchema()).optional(),
153
+ duration: getEvalRunDurationSummarySchema().optional(),
154
+ usage: getEvalRunUsageSummarySchema().optional(),
155
+ gateFailures: v.array(getEvalRunGateFailureSummarySchema()).optional(),
156
+ failedExamples: v.array(getEvalRunFailedExampleSummarySchema()).optional(),
157
+ flakes: getEvalRunFlakeSummarySchema().optional(),
98
158
  }).nullable(),
99
159
  reportPath: v.string().nullable(),
100
160
  error: v.unknown().nullable(),
@@ -206,6 +206,75 @@ export interface EvalMetricSummary {
206
206
  skipped: number;
207
207
  passRate: number;
208
208
  }
209
+ /** Duration aggregate for an eval report. */
210
+ export interface EvalDurationSummary {
211
+ totalMs: number;
212
+ minMs: number;
213
+ maxMs: number;
214
+ meanMs: number;
215
+ p50Ms: number;
216
+ p95Ms: number;
217
+ }
218
+ /** Usage totals for an eval report. */
219
+ export interface EvalUsageSummary {
220
+ inputTokens?: number;
221
+ outputTokens?: number;
222
+ totalTokens?: number;
223
+ costUsd?: number;
224
+ }
225
+ /** Blocking failure included in a report summary. */
226
+ export interface EvalGateFailureSummary {
227
+ recordId: string;
228
+ exampleId: string;
229
+ repetition: number;
230
+ name: string;
231
+ family: EvalMetricFamily;
232
+ severity: "gate" | "budget";
233
+ explanation?: string;
234
+ evidence?: Record<string, unknown>;
235
+ }
236
+ /** Per-example failure aggregate included in a report summary. */
237
+ export interface EvalFailedExampleSummary {
238
+ exampleId: string;
239
+ records: number;
240
+ passed: number;
241
+ failed: number;
242
+ passRate: number;
243
+ flaky: boolean;
244
+ }
245
+ /** Flake classification for repeated eval examples. */
246
+ export interface EvalFlakeSummary {
247
+ examples: number;
248
+ stablePassed: number;
249
+ stableFailed: number;
250
+ flaky: number;
251
+ }
252
+ /** Per-metric delta between a current eval report and a baseline report. */
253
+ export interface EvalMetricDeltaSummary {
254
+ name: string;
255
+ family: EvalMetricFamily;
256
+ severity: EvalSeverity;
257
+ baselinePassRate: number | null;
258
+ currentPassRate: number | null;
259
+ passRateDelta: number | null;
260
+ baselineFailed: number | null;
261
+ currentFailed: number | null;
262
+ failedDelta: number | null;
263
+ regressed: boolean;
264
+ }
265
+ /** Baseline comparison for a current eval report. */
266
+ export interface EvalReportComparison {
267
+ kind: "eval-report-comparison";
268
+ currentRunId: string;
269
+ baselineRunId: string;
270
+ passRateDelta: number;
271
+ passedDelta: number;
272
+ failedDelta: number;
273
+ metricDeltas: EvalMetricDeltaSummary[];
274
+ newFailedExamples: string[];
275
+ fixedExamples: string[];
276
+ regressed: boolean;
277
+ }
209
278
  /** Aggregate pass/fail summary for one eval report. */
210
279
  export interface EvalReportSummary {
211
280
  records: number;
@@ -213,6 +282,18 @@ export interface EvalReportSummary {
213
282
  failed: number;
214
283
  passRate: number;
215
284
  metrics: EvalMetricSummary[];
285
+ /** Count of skipped metric and check results. */
286
+ skippedResults?: number;
287
+ /** Duration aggregate across records. */
288
+ duration?: EvalDurationSummary;
289
+ /** Usage totals across records. */
290
+ usage?: EvalUsageSummary;
291
+ /** Blocking metric, check, and record failures for quick debugging. */
292
+ gateFailures?: EvalGateFailureSummary[];
293
+ /** Failed example aggregates, including flaky repeated examples. */
294
+ failedExamples?: EvalFailedExampleSummary[];
295
+ /** Repetition-based flake classification. */
296
+ flakes?: EvalFlakeSummary;
216
297
  }
217
298
  /** JSON-serializable report produced by `runEval`. */
218
299
  export interface EvalReport {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/eval/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAErC,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC;AAErC,yDAAyD;AACzD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;AAE9E,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEjD,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/D;AAED,yDAAyD;AACzD,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,qDAAqD;AACrD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC9F,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAClD,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC;CACrD;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAAC;IACxD,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAAC;IACxD,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAAC;CAC3D;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,SAAS,IAAI,eAAe,CAAC;IAC7B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IAC9C,aAAa,IAAI,eAAe,CAAC;CAClC;AAED,+DAA+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,cAAc,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,uBAAuB,KAC7B,gBAAgB,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;AAEvD,2CAA2C;AAC3C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QACR,KAAK,EAAE,gBAAgB,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAED,kDAAkD;AAClD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/eval/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-extensions.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/builtin-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAiDvE,wBAAgB,uCAAuC,IAAI,0BAA0B,CAOpF;AAWD,wBAAgB,yBAAyB,IAAI,mBAAmB,CAM/D;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAInD;AAoCD,wBAAgB,uBAAuB,IAAI,iBAAiB,EAAE,CAoD7D"}
1
+ {"version":3,"file":"builtin-extensions.d.ts","sourceRoot":"","sources":["../../../src/src/extensions/builtin-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAkDvE,wBAAgB,uCAAuC,IAAI,0BAA0B,CAOpF;AAWD,wBAAgB,yBAAyB,IAAI,mBAAmB,CAM/D;AAED,wBAAgB,4BAA4B,IAAI,IAAI,CAInD;AAoCD,wBAAgB,uBAAuB,IAAI,iBAAiB,EAAE,CAyD7D"}
@@ -11,6 +11,7 @@ import extMdx from "../../extensions/ext-content-mdx/src/index.js";
11
11
  import extTailwind from "../../extensions/ext-css-tailwind/src/index.js";
12
12
  import extDocumentKreuzberg from "../../extensions/ext-document-kreuzberg/src/index.js";
13
13
  import extDbSqlite from "../../extensions/ext-db-sqlite/src/index.js";
14
+ import extOpenTelemetry from "../../extensions/ext-observability-opentelemetry/src/index.js";
14
15
  import extSandboxShellTools from "../../extensions/ext-sandbox-shell-tools/src/index.js";
15
16
  import extZod from "../../extensions/ext-schema-zod/src/index.js";
16
17
  import { createZodAdapter } from "../../extensions/ext-schema-zod/src/adapter.js";
@@ -110,6 +111,11 @@ export function createBuiltinExtensions() {
110
111
  origin: "veryfront/ext-auth-jwt",
111
112
  extension: extJwt(),
112
113
  },
114
+ {
115
+ source: "builtin",
116
+ origin: "veryfront/ext-observability-opentelemetry",
117
+ extension: extOpenTelemetry(),
118
+ },
113
119
  {
114
120
  source: "builtin",
115
121
  origin: "veryfront/ext-bundler-esbuild",
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.907";
2
+ export declare const VERSION = "0.1.909";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.907";
4
+ export const VERSION = "0.1.909";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.907",
3
+ "version": "0.1.909",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",