veryfront 0.1.1212 → 0.1.1214

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.
Files changed (78) hide show
  1. package/esm/cli/commands/eval/command.d.ts.map +1 -1
  2. package/esm/cli/commands/eval/command.js +51 -0
  3. package/esm/deno.js +1 -1
  4. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  5. package/esm/src/agent/runtime/index.js +2 -6
  6. package/esm/src/agent/runtime/skill-policy-enforcement.d.ts +1 -1
  7. package/esm/src/agent/runtime/skill-policy-enforcement.d.ts.map +1 -1
  8. package/esm/src/agent/runtime/skill-policy-enforcement.js +1 -8
  9. package/esm/src/eval/report.d.ts +2 -0
  10. package/esm/src/eval/report.d.ts.map +1 -1
  11. package/esm/src/eval/report.js +3 -1
  12. package/esm/src/eval/run-report.js +2 -2
  13. package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
  14. package/esm/src/platform/adapters/index.d.ts +25 -0
  15. package/esm/src/platform/adapters/index.d.ts.map +1 -0
  16. package/esm/src/platform/adapters/index.js +23 -0
  17. package/esm/src/platform/adapters/security/index.d.ts +8 -0
  18. package/esm/src/platform/adapters/security/index.d.ts.map +1 -0
  19. package/esm/src/platform/adapters/security/index.js +7 -0
  20. package/esm/src/platform/adapters/token/factory.d.ts +10 -0
  21. package/esm/src/platform/adapters/token/factory.d.ts.map +1 -0
  22. package/esm/src/platform/adapters/token/factory.js +79 -0
  23. package/esm/src/platform/adapters/token/index.d.ts +9 -0
  24. package/esm/src/platform/adapters/token/index.d.ts.map +1 -0
  25. package/esm/src/platform/adapters/token/index.js +8 -0
  26. package/esm/src/platform/adapters/token/integration.d.ts +6 -0
  27. package/esm/src/platform/adapters/token/integration.d.ts.map +1 -0
  28. package/esm/src/platform/adapters/token/integration.js +61 -0
  29. package/esm/src/platform/adapters/token/veryfront/adapter.d.ts +22 -0
  30. package/esm/src/platform/adapters/token/veryfront/adapter.d.ts.map +1 -0
  31. package/esm/src/platform/adapters/token/veryfront/adapter.js +88 -0
  32. package/esm/src/platform/adapters/token/veryfront/api-client.d.ts +15 -0
  33. package/esm/src/platform/adapters/token/veryfront/api-client.d.ts.map +1 -0
  34. package/esm/src/platform/adapters/token/veryfront/api-client.js +212 -0
  35. package/esm/src/platform/adapters/token/veryfront/index.d.ts +10 -0
  36. package/esm/src/platform/adapters/token/veryfront/index.d.ts.map +1 -0
  37. package/esm/src/platform/adapters/token/veryfront/index.js +9 -0
  38. package/esm/src/platform/adapters/token/veryfront/memory-adapter.d.ts +20 -0
  39. package/esm/src/platform/adapters/token/veryfront/memory-adapter.d.ts.map +1 -0
  40. package/esm/src/platform/adapters/token/veryfront/memory-adapter.js +52 -0
  41. package/esm/src/platform/adapters/token/veryfront/types.d.ts +86 -0
  42. package/esm/src/platform/adapters/token/veryfront/types.d.ts.map +1 -0
  43. package/esm/src/platform/adapters/token/veryfront/types.js +81 -0
  44. package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
  45. package/esm/src/rendering/ssr-globals/index.d.ts.map +1 -1
  46. package/esm/src/rendering/ssr-globals/index.js +18 -1
  47. package/esm/src/security/http/config.d.ts +5 -0
  48. package/esm/src/security/http/config.d.ts.map +1 -1
  49. package/esm/src/security/http/config.js +16 -1
  50. package/esm/src/security/http/derived-csp-cache.d.ts +33 -0
  51. package/esm/src/security/http/derived-csp-cache.d.ts.map +1 -0
  52. package/esm/src/security/http/derived-csp-cache.js +101 -0
  53. package/esm/src/security/http/derived-csp-origins.d.ts +54 -0
  54. package/esm/src/security/http/derived-csp-origins.d.ts.map +1 -0
  55. package/esm/src/security/http/derived-csp-origins.js +156 -0
  56. package/esm/src/security/http/response/security-handler.d.ts +1 -1
  57. package/esm/src/security/http/response/security-handler.d.ts.map +1 -1
  58. package/esm/src/security/http/response/security-handler.js +79 -4
  59. package/esm/src/security/sandbox/constants.d.ts +3 -0
  60. package/esm/src/security/sandbox/constants.d.ts.map +1 -0
  61. package/esm/src/security/sandbox/constants.js +2 -0
  62. package/esm/src/security/sandbox/deno-sandbox.d.ts +71 -0
  63. package/esm/src/security/sandbox/deno-sandbox.d.ts.map +1 -0
  64. package/esm/src/security/sandbox/deno-sandbox.js +184 -0
  65. package/esm/src/security/sandbox/permission-system.d.ts +11 -0
  66. package/esm/src/security/sandbox/permission-system.d.ts.map +1 -0
  67. package/esm/src/security/sandbox/permission-system.js +85 -0
  68. package/esm/src/server/runtime-handler/adapter-factory.d.ts +26 -0
  69. package/esm/src/server/runtime-handler/adapter-factory.d.ts.map +1 -1
  70. package/esm/src/server/runtime-handler/adapter-factory.js +19 -1
  71. package/esm/src/server/runtime-handler/project-runtime-context.d.ts.map +1 -1
  72. package/esm/src/server/runtime-handler/project-runtime-context.js +122 -1
  73. package/esm/src/types/server.d.ts +10 -0
  74. package/esm/src/types/server.d.ts.map +1 -1
  75. package/esm/src/utils/version-constant.d.ts +1 -1
  76. package/esm/src/utils/version-constant.js +1 -1
  77. package/esm/src/workflow/api.d.ts +2 -2
  78. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/eval/command.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  import * as dntShim from "../../../_dnt.shims.js";
5
5
  import { dirname, isAbsolute, relative, resolve } from "../../../src/platform/compat/path/index.js";
6
6
  import { isErroredToolExecutionResult, } from "../../../src/tool/index.js";
7
+ import { RECORD_INCOMPLETE_EXPLANATION } from "../../../src/eval/report.js";
7
8
  import { orchestrateExtensions } from "../../../src/extensions/index.js";
8
9
  import { createEvalReportExporterRegistry, EvalReportExporterRegistryName, } from "../../../src/extensions/eval/index.js";
9
10
  import { createLLMProviderRegistry, LLMProviderRegistryName } from "../../../src/extensions/llm/index.js";
@@ -643,16 +644,66 @@ function printArtifact(label, path) {
643
644
  function formatPercent(rate) {
644
645
  return `${Math.round(rate * 100)}%`;
645
646
  }
647
+ /** Reasons printed per metric before deferring the rest to the written report. */
648
+ const MAX_PRINTED_REASONS = 3;
649
+ /**
650
+ * Group gate failure explanations by the metric that produced them.
651
+ *
652
+ * A failing metric line states that something failed, and the explanation states why. The judge
653
+ * rubric is the clearest case: its verdict is the whole reason the eval failed, and reading it
654
+ * used to mean opening `summary.json`.
655
+ *
656
+ * `record.error` is dropped only when it carries the `RECORD_INCOMPLETE_EXPLANATION` stand-in and
657
+ * the record already reported a blocking failure. `isBlockingFailure` clears `completed` for both
658
+ * gate and budget severities (src/eval/runner.ts), so either one produces that stand-in, and
659
+ * printing it would restate the failure above it. A record error with text of its own, such as an
660
+ * adapter error, always prints: it is detail no other line carries.
661
+ */
662
+ function groupGateFailureReasons(failures) {
663
+ const derived = new Set(failures.filter((failure) => failure.name !== "record.error").map((failure) => failure.recordId));
664
+ const byMetric = new Map();
665
+ const unattached = [];
666
+ for (const failure of failures) {
667
+ if (!failure.explanation)
668
+ continue;
669
+ if (failure.name === "record.error" &&
670
+ failure.explanation === RECORD_INCOMPLETE_EXPLANATION &&
671
+ derived.has(failure.recordId))
672
+ continue;
673
+ const reason = `${failure.exampleId}: ${failure.explanation}`;
674
+ if (failure.name === "record.error") {
675
+ unattached.push(reason);
676
+ continue;
677
+ }
678
+ const existing = byMetric.get(failure.name);
679
+ if (existing)
680
+ existing.push(reason);
681
+ else
682
+ byMetric.set(failure.name, [reason]);
683
+ }
684
+ return { byMetric, unattached };
685
+ }
686
+ function printFailureReasons(reasons) {
687
+ for (const reason of reasons.slice(0, MAX_PRINTED_REASONS)) {
688
+ printLine(` ${dim(reason)}`);
689
+ }
690
+ const hidden = reasons.length - MAX_PRINTED_REASONS;
691
+ if (hidden > 0)
692
+ printLine(` ${dim(`and ${hidden} more, see the report`)}`);
693
+ }
646
694
  function printReport(report, options = {}) {
647
695
  printHeader("Eval", options.name ?? report.definitionId);
648
696
  printHeader("Target", report.target);
649
697
  printHeader("Result", `${report.summary.passed}/${report.summary.records} passed (${formatPercent(report.summary.passRate)})`);
698
+ const reasons = groupGateFailureReasons(report.summary.gateFailures ?? []);
650
699
  if (report.summary.metrics.length > 0)
651
700
  printBlankLine();
652
701
  for (const metric of report.summary.metrics) {
653
702
  const total = metric.passed + metric.failed;
654
703
  printLine(`${brand("●")} ${metric.label ?? metric.name}: ${metric.passed}/${total} passed (${formatPercent(metric.passRate)})`);
704
+ printFailureReasons(reasons.byMetric.get(metric.name) ?? []);
655
705
  }
706
+ printFailureReasons(reasons.unattached);
656
707
  const { baseline } = options;
657
708
  const notes = (report.exports ?? []).length > 0 || baseline !== undefined;
658
709
  if (notes)
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1212",
3
+ "version": "0.1.1214",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,6BAA6B,EAClC,KAAK,aAAa,EAGlB,KAAK,OAAO,EAIZ,KAAK,QAAQ,EAGd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA4EpE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG5E,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,+BAA+B,GACrC,MAAM,+BAA+B,CAAC;AAuBvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,+BAA+B,CAAC;AAwevC,+BAA+B;AAC/B,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;IAW3C;;;;;;;OAOG;YACW,mBAAmB;YAMnB,qBAAqB;YAcrB,mBAAmB;YAsBnB,gBAAgB;IAS9B,OAAO,CAAC,8BAA8B;IA0BtC;;OAEG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,EACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,MAAM,EAChC,WAAW,CAAC,EAAE,WAAW,EACzB,OAAO,CAAC,EAAE;QACR,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;QACjD,sBAAsB,CAAC,EAAE,OAAO,CAAC;KAClC,GACA,OAAO,CAAC,aAAa,CAAC;IAyDzB;;;OAGG;IACG,MAAM,CACV,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;KAC9C,EACD,aAAa,CAAC,EAAE,MAAM,EACtB,uBAAuB,CAAC,EAAE,MAAM,EAChC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAyJtC;;OAEG;YACW,gBAAgB;IAimB9B;;;;OAIG;YACW,yBAAyB;IAsmBvC;;OAEG;YACW,eAAe;IAgC7B;;OAEG;YACW,mBAAmB;IAOjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC;IAI5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAIF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -876,8 +876,6 @@ export class AgentRuntime {
876
876
  }
877
877
  this.status = "tool_execution";
878
878
  addSpanEvent(loopSpan, "tool_execution_start", { count: response.toolCalls.length });
879
- const mustLoadSkillFirstForStep = !skillState.activeSkillPolicy &&
880
- response.toolCalls.some((tc) => tc.toolName === LOAD_SKILL_TOOL_ID);
881
879
  for (const tc of response.toolCalls) {
882
880
  throwIfAborted(abortSignal);
883
881
  const toolCall = {
@@ -1011,7 +1009,7 @@ export class AgentRuntime {
1011
1009
  toolCalls.push(toolCall);
1012
1010
  return;
1013
1011
  }
1014
- const policyCheck = enforceSkillPolicy(tc.toolName, skillState.activeSkillPolicy, mustLoadSkillFirstForStep, {
1012
+ const policyCheck = enforceSkillPolicy(tc.toolName, skillState.activeSkillPolicy, {
1015
1013
  activeSkillId: skillState.activeSkillId,
1016
1014
  hasSubmittedFormInput: skillState.hasSubmittedFormInput,
1017
1015
  skillToolAvailability: skillState.activeSkillToolAvailability,
@@ -1350,8 +1348,6 @@ export class AgentRuntime {
1350
1348
  }
1351
1349
  this.status = "tool_execution";
1352
1350
  const streamedToolCalls = Array.from(state.toolCalls.values());
1353
- const mustLoadSkillFirstForStep = !skillState.activeSkillPolicy &&
1354
- streamedToolCalls.some((tc) => tc.name === LOAD_SKILL_TOOL_ID);
1355
1351
  for (const tc of streamedToolCalls) {
1356
1352
  throwIfAborted(abortSignal);
1357
1353
  if (isRecoverablePlaceholderToolCall(tc)) {
@@ -1512,7 +1508,7 @@ export class AgentRuntime {
1512
1508
  await this.recordToolError(toolCall, toolNotVisibleError(tc.name), controller, encoder, currentMessages, toolCalls);
1513
1509
  continue;
1514
1510
  }
1515
- const policyCheck = enforceSkillPolicy(tc.name, skillState.activeSkillPolicy, mustLoadSkillFirstForStep, {
1511
+ const policyCheck = enforceSkillPolicy(tc.name, skillState.activeSkillPolicy, {
1516
1512
  activeSkillId: skillState.activeSkillId,
1517
1513
  hasSubmittedFormInput: skillState.hasSubmittedFormInput,
1518
1514
  skillToolAvailability: skillState.activeSkillToolAvailability,
@@ -41,5 +41,5 @@ export type SkillPolicyOptions = {
41
41
  };
42
42
  /** Identify a valid skill-body activation call without confusing reference reads for activation. */
43
43
  export declare function isSkillBodyLoadRequest(toolName: string, input: unknown): boolean;
44
- export declare function enforceSkillPolicy(toolName: string, activeSkillPolicy: string[] | undefined, mustLoadSkillFirst: boolean, options?: SkillPolicyOptions): SkillPolicyResult;
44
+ export declare function enforceSkillPolicy(toolName: string, activeSkillPolicy: string[] | undefined, options?: SkillPolicyOptions): SkillPolicyResult;
45
45
  //# sourceMappingURL=skill-policy-enforcement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"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"}
@@ -86,10 +86,6 @@ function isSkillActivationResult(result) {
86
86
  instructions.length <= SKILL_DOCUMENT_MAX_CHARACTERS &&
87
87
  isWellFormedUtf16(instructions);
88
88
  }
89
- function getSkillActivationRequiredError(toolName) {
90
- return `Tool "${toolName}" cannot run before load_skill succeeds in the same step. ` +
91
- `Call "${LOAD_SKILL_TOOL_ID}" first to establish the active skill context.`;
92
- }
93
89
  export function hydrateActiveSkillStateFromMessages(messages) {
94
90
  let state = {
95
91
  activeSkillId: undefined,
@@ -300,10 +296,7 @@ export function isSkillBodyLoadRequest(toolName, input) {
300
296
  const file = readToolResultOwnDataProperty(input, "file");
301
297
  return typeof skillId === "string" && skillId.length > 0 && file === undefined;
302
298
  }
303
- export function enforceSkillPolicy(toolName, activeSkillPolicy, mustLoadSkillFirst, options = {}) {
304
- if (mustLoadSkillFirst && toolName !== LOAD_SKILL_TOOL_ID) {
305
- return { allowed: false, error: getSkillActivationRequiredError(toolName) };
306
- }
299
+ export function enforceSkillPolicy(toolName, activeSkillPolicy, options = {}) {
307
300
  if (options.hasSubmittedFormInput === true &&
308
301
  POST_SUBMITTED_FORM_INPUT_BLOCKED_TOOL_IDS.has(toolName)) {
309
302
  return {
@@ -1,6 +1,8 @@
1
1
  import type { EvalDataset, EvalDefinition, EvalExample, EvalRecord, EvalReport, EvalReportDatasetMetadata, EvalReportMetadata, EvalReportSummary } from "./types.js";
2
2
  /** Additive eval report contract version written by new reports and summary artifacts. */
3
3
  export declare const EVAL_REPORT_SCHEMA_VERSION = 2;
4
+ /** Stand-in explanation when a record is incomplete but carries no error of its own. */
5
+ export declare const RECORD_INCOMPLETE_EXPLANATION = "Record did not complete.";
4
6
  /** Create stable dataset metadata for report consumers and CI artifacts. */
5
7
  export declare function createEvalDatasetMetadata(dataset: EvalDataset, examples: EvalExample[]): Promise<EvalReportDatasetMetadata>;
6
8
  /** Summarize eval records into pass/fail and metric aggregates. */
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/src/eval/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,WAAW,EAMX,UAAU,EACV,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAGpB,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAiD5C,4EAA4E;AAC5E,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAQpC;AAmOD,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;IACd,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GAAG,UAAU,CAeb"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/src/eval/report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,WAAW,EAMX,UAAU,EACV,UAAU,EACV,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,YAAY,CAAC;AAGpB,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AAiDxE,4EAA4E;AAC5E,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAQpC;AAmOD,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;IACd,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,GAAG,UAAU,CAeb"}
@@ -1,6 +1,8 @@
1
1
  import { computeHash } from "../utils/index.js";
2
2
  /** Additive eval report contract version written by new reports and summary artifacts. */
3
3
  export const EVAL_REPORT_SCHEMA_VERSION = 2;
4
+ /** Stand-in explanation when a record is incomplete but carries no error of its own. */
5
+ export const RECORD_INCOMPLETE_EXPLANATION = "Record did not complete.";
4
6
  const USAGE_NUMERIC_KEYS = [
5
7
  "inputTokens",
6
8
  "outputTokens",
@@ -149,7 +151,7 @@ function createRecordFailure(record) {
149
151
  name: "record.error",
150
152
  family: "check",
151
153
  severity: "gate",
152
- explanation: record.error ?? "Record did not complete.",
154
+ explanation: record.error ?? RECORD_INCOMPLETE_EXPLANATION,
153
155
  };
154
156
  }
155
157
  function createResultFailure(record, result) {
@@ -1,7 +1,7 @@
1
1
  import { join, relative } from "../platform/compat/path/index.js";
2
2
  import { compareEvalReports } from "./baseline.js";
3
3
  import { compareEvalModelReports, createEvalModelComparisonMarkdown } from "./model-comparison.js";
4
- import { EVAL_REPORT_SCHEMA_VERSION } from "./report.js";
4
+ import { EVAL_REPORT_SCHEMA_VERSION, RECORD_INCOMPLETE_EXPLANATION } from "./report.js";
5
5
  import { createEvalRunId } from "./run-id.js";
6
6
  import { INVALID_ARGUMENT } from "../errors/index.js";
7
7
  function createEvalReportDirTimestamp(runId) {
@@ -245,7 +245,7 @@ function createJunitXml(report) {
245
245
  for (const record of report.records) {
246
246
  const failures = blockingResults(record);
247
247
  const recordFailure = !record.completed || record.error
248
- ? record.error ?? "Record did not complete."
248
+ ? record.error ?? RECORD_INCOMPLETE_EXPLANATION
249
249
  : undefined;
250
250
  const attrs = `classname="${xmlEscape(report.definitionId)}" name="${xmlEscape(testcaseName(record))}" time="${(record.durationMs / 1000).toFixed(3)}"`;
251
251
  if (failures.length === 0 && recordFailure === undefined) {