niceeval 0.19.0 → 0.19.1-canary.102

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 (133) hide show
  1. package/INDEX.md +1 -1
  2. package/dist/assertions/record/codec.cjs +19 -13
  3. package/dist/assertions/record/codec.cjs.map +1 -1
  4. package/dist/assertions/record/codec.d.cts +2 -0
  5. package/dist/assertions/record/codec.d.mts +2 -0
  6. package/dist/assertions/record/codec.d.ts +2 -0
  7. package/dist/assertions/record/codec.js +16 -14
  8. package/dist/inspection/assertion-projection.cjs +4 -1
  9. package/dist/inspection/assertion-projection.cjs.map +1 -1
  10. package/dist/inspection/cli/contribution.cjs +18 -14
  11. package/dist/inspection/cli/contribution.cjs.map +1 -1
  12. package/dist/inspection/cli/contribution.d.cts +7 -0
  13. package/dist/inspection/cli/contribution.d.mts +7 -0
  14. package/dist/inspection/cli/contribution.d.ts +7 -0
  15. package/dist/inspection/overview.cjs +28 -14
  16. package/dist/inspection/overview.cjs.map +1 -1
  17. package/dist/inspection/overview.d.cts +151 -18
  18. package/dist/inspection/overview.d.mts +151 -18
  19. package/dist/inspection/overview.d.ts +151 -18
  20. package/dist/inspection/overview.js +4 -2
  21. package/dist/inspection/project-result.d.cts +148 -148
  22. package/dist/inspection/project-result.d.mts +148 -148
  23. package/dist/inspection/project-result.d.ts +148 -148
  24. package/dist/inspection/protocol-values.cjs +1 -1
  25. package/dist/inspection/protocol-values.cjs.map +1 -1
  26. package/dist/inspection/protocol-values.d.cts +1 -1
  27. package/dist/inspection/protocol-values.d.mts +1 -1
  28. package/dist/inspection/protocol-values.d.ts +1 -1
  29. package/dist/inspection/protocol.d.cts +611 -479
  30. package/dist/inspection/protocol.d.mts +611 -479
  31. package/dist/inspection/protocol.d.ts +611 -479
  32. package/dist/inspection/public.cjs +3 -1
  33. package/dist/inspection/public.cjs.map +1 -1
  34. package/dist/inspection/public.d.cts +1 -0
  35. package/dist/inspection/public.d.mts +1 -0
  36. package/dist/inspection/public.d.ts +1 -0
  37. package/dist/inspection/public.js +18 -16
  38. package/dist/inspection/public.mjs +54 -52
  39. package/dist/inspection/results.cjs +11 -15
  40. package/dist/inspection/results.cjs.map +1 -1
  41. package/dist/inspection/results.d.cts +769 -324
  42. package/dist/inspection/results.d.mts +769 -324
  43. package/dist/inspection/results.d.ts +769 -324
  44. package/dist/inspection/results.js +4 -0
  45. package/dist/inspection/select.cjs +12 -72
  46. package/dist/inspection/select.cjs.map +1 -1
  47. package/dist/inspection/verdict.cjs +61 -0
  48. package/dist/inspection/verdict.cjs.map +1 -0
  49. package/dist/inspection/verdict.d.cts +3 -0
  50. package/dist/inspection/verdict.d.mts +3 -0
  51. package/dist/inspection/verdict.d.ts +3 -0
  52. package/dist/inspection/verdict.js +6 -0
  53. package/dist/inspection/verdict.js.map +1 -0
  54. package/dist/runner/discover.cjs +5 -4
  55. package/dist/runner/discover.cjs.map +1 -1
  56. package/dist/sandbox/index.cjs +4 -2
  57. package/dist/sandbox/index.cjs.map +1 -1
  58. package/dist/sandbox/index.d.cts +2 -0
  59. package/dist/sandbox/index.d.mts +2 -0
  60. package/dist/sandbox/index.d.ts +2 -0
  61. package/dist/sandbox/index.js +34 -32
  62. package/dist/sandbox/index.mjs +34 -32
  63. package/dist/sandbox/opensandbox/managed-process.cjs +224 -0
  64. package/dist/sandbox/opensandbox/managed-process.cjs.map +1 -0
  65. package/dist/sandbox/opensandbox/managed-process.d.cts +9 -0
  66. package/dist/sandbox/opensandbox/managed-process.d.mts +9 -0
  67. package/dist/sandbox/opensandbox/managed-process.d.ts +9 -0
  68. package/dist/sandbox/opensandbox/managed-process.js +6 -0
  69. package/dist/sandbox/opensandbox/managed-process.js.map +1 -0
  70. package/dist/sandbox/opensandbox/materialize.cjs +25 -0
  71. package/dist/sandbox/opensandbox/materialize.cjs.map +1 -0
  72. package/dist/sandbox/opensandbox/materialize.d.cts +4 -0
  73. package/dist/sandbox/opensandbox/materialize.d.mts +4 -0
  74. package/dist/sandbox/opensandbox/materialize.d.ts +4 -0
  75. package/dist/sandbox/opensandbox/materialize.js +6 -0
  76. package/dist/sandbox/opensandbox/materialize.js.map +1 -0
  77. package/dist/sandbox/opensandbox/process-bridge.cjs +89 -0
  78. package/dist/sandbox/opensandbox/process-bridge.cjs.map +1 -0
  79. package/dist/sandbox/opensandbox/process-bridge.d.cts +2 -0
  80. package/dist/sandbox/opensandbox/process-bridge.d.mts +2 -0
  81. package/dist/sandbox/opensandbox/process-bridge.d.ts +2 -0
  82. package/dist/sandbox/opensandbox/process-bridge.js +6 -0
  83. package/dist/sandbox/opensandbox/process-bridge.js.map +1 -0
  84. package/dist/sandbox/opensandbox/sandbox.cjs +253 -0
  85. package/dist/sandbox/opensandbox/sandbox.cjs.map +1 -0
  86. package/dist/sandbox/opensandbox/sandbox.d.cts +51 -0
  87. package/dist/sandbox/opensandbox/sandbox.d.mts +51 -0
  88. package/dist/sandbox/opensandbox/sandbox.d.ts +51 -0
  89. package/dist/sandbox/opensandbox/sandbox.js +6 -0
  90. package/dist/sandbox/opensandbox/sandbox.js.map +1 -0
  91. package/dist/sandbox/opensandbox.cjs +88 -0
  92. package/dist/sandbox/opensandbox.cjs.map +1 -0
  93. package/dist/sandbox/opensandbox.d.cts +17 -0
  94. package/dist/sandbox/opensandbox.d.mts +17 -0
  95. package/dist/sandbox/opensandbox.d.ts +17 -0
  96. package/dist/sandbox/opensandbox.js +6 -0
  97. package/dist/sandbox/opensandbox.js.map +1 -0
  98. package/dist/sandbox/runtime.cjs +1 -0
  99. package/dist/sandbox/runtime.cjs.map +1 -1
  100. package/dist/sandbox/runtime.d.cts +2 -0
  101. package/dist/sandbox/runtime.d.mts +2 -0
  102. package/dist/sandbox/runtime.d.ts +2 -0
  103. package/dist/sandbox/runtime.js +2 -0
  104. package/dist/sandbox/types.cjs.map +1 -1
  105. package/dist/sandbox/types.d.cts +1 -1
  106. package/dist/sandbox/types.d.mts +1 -1
  107. package/dist/sandbox/types.d.ts +1 -1
  108. package/dist/show/model.cjs +6 -5
  109. package/dist/show/model.cjs.map +1 -1
  110. package/dist/show/model.d.cts +1 -1
  111. package/dist/show/model.d.mts +1 -1
  112. package/dist/show/model.d.ts +1 -1
  113. package/dist/show/render.cjs +2 -2
  114. package/dist/show/render.cjs.map +1 -1
  115. package/dist/view/app-dist/.vite/manifest.json +2 -2
  116. package/dist/view/app-dist/assets/{index-CxrOUvHC.js → index-f9ZKc4km.js} +16 -16
  117. package/dist/view/app-dist/assets/{quality-cost-scatter-B6Aiss7x.js → quality-cost-scatter-C6lsrigr.js} +1 -1
  118. package/dist/view/app-dist/index.html +1 -1
  119. package/dist/view/function-runtime.mjs +126 -118
  120. package/dist/view/http-protocol.d.cts +1 -1
  121. package/dist/view/http-protocol.d.mts +1 -1
  122. package/dist/view/http-protocol.d.ts +1 -1
  123. package/dist/view/inspection-host.d.cts +625 -493
  124. package/dist/view/inspection-host.d.mts +625 -493
  125. package/dist/view/inspection-host.d.ts +625 -493
  126. package/docs-site/zh/explanation/evals.mdx +4 -0
  127. package/docs-site/zh/reference/cli.mdx +45 -4
  128. package/docs-site/zh/tutorials/compare-runs.mdx +1 -1
  129. package/docs-site/zh/tutorials/niceeval-taste.mdx +34 -1
  130. package/docs-site/zh/tutorials/sandbox-providers.mdx +35 -4
  131. package/docs-site/zh/tutorials/upgrade-0-19.mdx +1 -1
  132. package/docs-site/zh/tutorials/viewing-results.mdx +36 -3
  133. package/package.json +6 -1
package/INDEX.md CHANGED
@@ -70,7 +70,7 @@
70
70
  - `docs-site/zh/tutorials/reporters.mdx` — 把运行结果上报给 Braintrust 等外部系统:团队已经在用 Braintrust 或自己的看板时,用 Reporter 在运行过程中把结果发过去;CI 平台用 JUnit;后续脚本用 receipt 里的 Run ID 读取结果。
71
71
  - `docs-site/zh/tutorials/rerun-and-cache.mdx` — 修改后只重跑受影响的评估:改了 prompt、评估用例或模型之后,用 --dry 看清哪些结果会沿用、哪些会重跑,再用 --rerun 和 accept 控制范围。
72
72
  - `docs-site/zh/tutorials/sandbox-agent.mdx` — Sandbox Agent:评估 Claude Code、Codex 和 bub:把 Claude Code、Codex、bub 等 Coding Agent 放进 Docker 或云端 Sandbox,给它一个真实仓库和任务,再用文件改动和项目测试判分。
73
- - `docs-site/zh/tutorials/sandbox-providers.mdx` — 选择并配置 Sandbox:Docker、Vercel 或 E2B:给 Coding Agent 选一个隔离运行环境:本地 Docker、Vercel 或 E2B。按顺序准备环境,并用预制镜像和缓存让每次评估更快开始。
73
+ - `docs-site/zh/tutorials/sandbox-providers.mdx` — 选择并配置 Sandbox Provider:给 Coding Agent 选一个隔离运行环境:本地 Docker、Vercel 或 E2B。按顺序准备环境,并用预制镜像和缓存让每次评估更快开始。
74
74
  - `docs-site/zh/tutorials/sandbox-reuse.mdx` — 在一批评估中复用 Sandbox:每条 Attempt 都新建 Sandbox 太慢时,用 sandboxReuse 让一批 Attempt 依次共用同一个 Sandbox。说明它省了什么、留下了什么,以及准备代码要怎么写才能安全重放。
75
75
  - `docs-site/zh/tutorials/select-and-preview.mdx` — 运行前确认跑哪些、跑几次:列出有哪些 Experiment,用 ID 前缀和 tag 缩小范围,再用 --dry 看清这次会跑哪些评估用例、多少次,确认无误再花钱。
76
76
  - `docs-site/zh/tutorials/upgrade-0-18.mdx` — 升级到 0.18:共享模型用途、原生数值材料与公开入口调整
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SealedAssertionResultSchema = exports.AssertionDecisionPolicySchema = exports.AssertionConditionValueSchema = exports.MatcherQueryArtifactSchema = exports.MatcherOrderedSequenceShapeSchema = exports.MatcherOrderedSequenceResultSchema = exports.MatcherCollectionFilterSchema = exports.MatcherFailureFrontierSchema = exports.MatcherOrderPathNodeSchema = exports.OrderEvaluationReceiptSchema = exports.OrderStepReceiptSchema = exports.MatcherSourceSnapshotSchema = exports.MatcherAttemptSourceSnapshotSchema = exports.MatcherSessionSourceSnapshotSchema = exports.MatcherTurnSourceSnapshotSchema = exports.MatcherSourceCollectionStateSchema = exports.MatcherSourceReferenceSchema = exports.MatcherQueryStepSchema = exports.MatcherRetainedRowSchema = exports.MatcherSourceLocatorSchema = exports.MatcherRelationStatusSchema = exports.AssertionFactValueSchema = exports.AssertionCollectionReceiptSchema = exports.AssertionLimitationSchema = exports.AssertionCoverageSchema = exports.CriterionEnvelopeSchema = exports.BuiltInCriterionSchema = exports.CriterionOuterEnvelopeSchema = exports.ThirdPartyCriterionSchema = exports.BuiltInCriterionEnvelopeSchema = exports.AssertionDisplaySchema = exports.AssertionEntryIdSchema = exports.BoundedJsonObjectSchema = exports.BoundedJsonValueSchema = exports.AssertionsExactParseOptions = exports.MAX_MATCHER_QUERY_ARTIFACT_BYTES = exports.MAX_ASSERTION_DOCUMENT_BYTES = void 0;
4
4
  exports.isBoundedJsonObject = isBoundedJsonObject;
5
5
  exports.isAssertionsRawDataGraph = isAssertionsRawDataGraph;
6
+ exports.createAssertionFactValueSchema = createAssertionFactValueSchema;
6
7
  exports.createAssertionsRecordSchemas = createAssertionsRecordSchemas;
7
8
  exports.decodeAssertionsDocumentOuter = decodeAssertionsDocumentOuter;
8
9
  exports.decodeAssertionsDocument = decodeAssertionsDocument;
@@ -537,19 +538,24 @@ exports.AssertionCollectionReceiptSchema = effect_1.Schema.Struct({
537
538
  identifier: "AssertionCollectionReceipt",
538
539
  description: "a collection receipt whose counts and completion boundary agree",
539
540
  }));
540
- exports.AssertionFactValueSchema = effect_1.Schema.suspend(() => effect_1.Schema.Union([
541
- effect_1.Schema.Struct({
542
- kind: effect_1.Schema.Literal("unavailable"),
543
- reason: effect_1.Schema.Literals(["not-recorded", "not-declared", "source-unavailable"]),
544
- }),
545
- effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("value"), value: effect_1.Schema.Union([effect_1.Schema.Null, effect_1.Schema.Boolean, effect_1.Schema.Finite, BoundedJsonStringSchema]) }),
546
- effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("text"), text: BoundedJsonStringSchema }),
547
- effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("list"), items: effect_1.Schema.Array(exports.AssertionFactValueSchema) }),
548
- effect_1.Schema.Struct({
549
- kind: effect_1.Schema.Literal("fields"),
550
- fields: effect_1.Schema.Array(effect_1.Schema.Struct({ label: BoundedJsonStringSchema, value: exports.AssertionFactValueSchema })),
551
- }),
552
- ]));
541
+ /** Share the fact shape while letting each evidence owner apply its string budget. */
542
+ function createAssertionFactValueSchema(text) {
543
+ const fact = effect_1.Schema.suspend(() => effect_1.Schema.Union([
544
+ effect_1.Schema.Struct({
545
+ kind: effect_1.Schema.Literal("unavailable"),
546
+ reason: effect_1.Schema.Literals(["not-recorded", "not-declared", "source-unavailable"]),
547
+ }),
548
+ effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("value"), value: effect_1.Schema.Union([effect_1.Schema.Null, effect_1.Schema.Boolean, effect_1.Schema.Finite, text]) }),
549
+ effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("text"), text }),
550
+ effect_1.Schema.Struct({ kind: effect_1.Schema.Literal("list"), items: effect_1.Schema.Array(fact) }),
551
+ effect_1.Schema.Struct({
552
+ kind: effect_1.Schema.Literal("fields"),
553
+ fields: effect_1.Schema.Array(effect_1.Schema.Struct({ label: text, value: fact })),
554
+ }),
555
+ ]));
556
+ return fact;
557
+ }
558
+ exports.AssertionFactValueSchema = createAssertionFactValueSchema(BoundedJsonStringSchema);
553
559
  exports.MatcherRelationStatusSchema = effect_1.Schema.Union([
554
560
  effect_1.Schema.Struct({ state: effect_1.Schema.Literal("exact") }),
555
561
  effect_1.Schema.Struct({
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["codec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Result, Schema } from \"effect\";\nimport { isRecordContentHandle } from \"../../record/attachment/content.ts\";\nimport { assertionRuntimeLimits } from \"../limits.ts\";\nimport { NUMERIC_COMPARATORS } from \"../match.ts\";\nimport { ASSERTION_ENTRY_ID_BRAND, type AssertionCoverage, type AssertionDisplay, type AssertionFactValue, type AssertionEntryId, type AssertionEntryOuter, type AssertionEntryRead, type AssertionEntry, type AssertionLimitation, type AssertionsDocumentOuter, type AssertionsDocument, type AssertionsProjection, type BoundedJsonObject, type BoundedJsonValue, type BuiltInCriterionEnvelope, type BuiltInCriterion, type CriterionOuterEnvelope, type EarnedScoreContribution, type NoScoreContribution, type MatcherQueryArtifact, type MatcherSourceSnapshot, type SealedAssertionResult, type ThirdPartyCriterion, type UnavailableScoreContribution, type WritableCriterionEnvelope, } from \"./model.ts\";\n/** Durable document-size limit; unlike runtime capture limits it belongs to this codec. */\nexport const MAX_ASSERTION_DOCUMENT_BYTES = 4 * 1024 * 1024;\nexport const MAX_MATCHER_QUERY_ARTIFACT_BYTES = 64 * 1024;\n/** All contract-owned objects use aggregate failures and exact object fields. */\nexport const AssertionsExactParseOptions = Object.freeze({\n errors: \"all\" as const,\n onExcessProperty: \"error\" as const,\n});\nconst UTF8 = new TextEncoder();\nconst CONTROL_CHARACTER = /[\\p{Cc}]/u;\nconst ASSERTION_ENTRY_ID = /^ae_[a-z0-9]{20}$/;\nconst ASCII_IDENTIFIER = /^[\\x21-\\x7e]+$/;\nfunction utf8ByteLength(value: string): number {\n return UTF8.encode(value).byteLength;\n}\nfunction codePointLength(value: string): number {\n return Array.from(value).length;\n}\nfunction isBoundedString(value: string): boolean {\n return utf8ByteLength(value) <= assertionRuntimeLimits.stringBytes;\n}\nfunction isDisplayText(value: string): boolean {\n return (!CONTROL_CHARACTER.test(value) &&\n codePointLength(value) <= assertionRuntimeLimits.displayCodePoints);\n}\nfunction isAsciiIdentifier(value: string): boolean {\n return utf8ByteLength(value) <= 128 && ASCII_IDENTIFIER.test(value);\n}\nfunction isNonNegativeInteger(value: number): boolean {\n return Number.isFinite(value) && Number.isInteger(value) && value >= 0;\n}\nfunction isNonNegativeNumber(value: number): boolean {\n return Number.isFinite(value) && value >= 0;\n}\nfunction isPlainJsonObject(value: object): boolean {\n // Fixed Record value canonicalization deliberately creates null-prototype\n // durable objects. They are equivalent JSON records here and must round-trip\n // through the Assertions property schema after a Reader hydration.\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction hasAtMostObjectKeys(value: object): boolean {\n return Object.keys(value).length <= assertionRuntimeLimits.jsonObjectKeys;\n}\nfunction hasAtMostArrayItems<Value>(value: readonly Value[]): boolean {\n return value.length <= assertionRuntimeLimits.jsonArrayItems;\n}\nfunction isAssertionEntryId(value: string): boolean {\n return ASSERTION_ENTRY_ID.test(value);\n}\nfunction isDocumentWithinSizeLimit(value: unknown): boolean {\n try {\n const serialized = JSON.stringify(value);\n return (typeof serialized === \"string\" &&\n utf8ByteLength(serialized) <= MAX_ASSERTION_DOCUMENT_BYTES);\n }\n catch {\n return false;\n }\n}\nfunction hasUniqueEntryIds(document: {\n readonly entries: readonly {\n readonly entryId: AssertionEntryId;\n }[];\n}): boolean {\n const entryIds = new Set<string>();\n for (const entry of document.entries) {\n if (entryIds.has(entry.entryId))\n return false;\n entryIds.add(entry.entryId);\n }\n return true;\n}\nfunction hasCoverageConsistentLimitations(entry: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n}): boolean {\n const coverage = entry.coverage;\n if (coverage.state === \"complete\") {\n return entry.limitations.length === 0;\n }\n if (coverage.state !== \"partial\")\n return true;\n return entry.limitations.some((limitation) => limitation.kind === coverage.reason);\n}\nconst BoundedJsonStringSchema = Schema.String.check(Schema.makeFilter(isBoundedString, {\n identifier: \"AssertionsBoundedJsonString\",\n description: \"a UTF-8 string no longer than 8 KiB\",\n}));\nconst AssertionDisplayTextSchema = Schema.String.check(Schema.makeFilter(isDisplayText, {\n identifier: \"AssertionDisplayText\",\n description: \"text without control characters and at most 256 code points\",\n}));\nconst MatcherIdentitySchema = BoundedJsonStringSchema.check(Schema.makeFilter((value) => value.length > 0 && !CONTROL_CHARACTER.test(value), {\n identifier: \"MatcherSourceIdentity\",\n description: \"a non-empty bounded source identity without control characters\",\n}));\nconst CriterionIdentifierSchema = Schema.String.check(Schema.makeFilter(isAsciiIdentifier, {\n identifier: \"AssertionCriterionIdentifier\",\n description: \"a non-empty printable ASCII identifier no longer than 128 bytes\",\n}));\nconst NonNegativeIntegerSchema = Schema.Finite.check(Schema.makeFilter(isNonNegativeInteger, {\n identifier: \"AssertionNonNegativeInteger\",\n description: \"a finite non-negative integer\",\n}));\nconst PositiveIntegerSchema = Schema.Finite.check(Schema.makeFilter((value) => Number.isSafeInteger(value) && value > 0, {\n identifier: \"AssertionPositiveInteger\",\n description: \"a positive safe integer\",\n}));\nconst NonNegativeSafeIntegerSchema = Schema.Finite.check(Schema.makeFilter((value) => Number.isSafeInteger(value) && value >= 0, {\n identifier: \"AssertionNonNegativeSafeInteger\",\n description: \"a non-negative safe integer\",\n}));\nconst NonNegativeNumberSchema = Schema.Finite.check(Schema.makeFilter(isNonNegativeNumber, {\n identifier: \"AssertionNonNegativeNumber\",\n description: \"a finite non-negative number\",\n}));\nfunction isJsonArrayIndex(key: string): boolean {\n if (key === \"0\")\n return true;\n if (!/^[1-9][0-9]*$/.test(key))\n return false;\n const index = Number(key);\n return Number.isSafeInteger(index) && index >= 0 && index < 4294967295;\n}\nfunction isBoundedJsonValueAt(value: unknown, depth: number, active: WeakSet<object>): value is BoundedJsonValue {\n if (value === null || typeof value === \"boolean\")\n return true;\n if (typeof value === \"number\")\n return Number.isFinite(value);\n if (typeof value === \"string\")\n return isBoundedString(value);\n if (typeof value !== \"object\" || depth >= assertionRuntimeLimits.jsonDepth)\n return false;\n try {\n if (active.has(value))\n return false;\n active.add(value);\n if (Array.isArray(value)) {\n if (Object.getPrototypeOf(value) !== Array.prototype || !hasAtMostArrayItems(value)) {\n return false;\n }\n for (const key of Reflect.ownKeys(value)) {\n if (key === \"length\")\n continue;\n if (typeof key !== \"string\" || !isJsonArrayIndex(key))\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined || !descriptor.enumerable || !(\"value\" in descriptor)) {\n return false;\n }\n }\n for (let index = 0; index < value.length; index += 1) {\n if (!Object.prototype.hasOwnProperty.call(value, index))\n return false;\n if (!isBoundedJsonValueAt(value[index], depth + 1, active))\n return false;\n }\n return true;\n }\n const object = value;\n if (!isPlainJsonObject(object) || !hasAtMostObjectKeys(object))\n return false;\n for (const key of Reflect.ownKeys(object)) {\n if (typeof key !== \"string\" || !isBoundedString(key))\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (descriptor === undefined || !descriptor.enumerable || !(\"value\" in descriptor)) {\n return false;\n }\n if (!isBoundedJsonValueAt(descriptor.value, depth + 1, active))\n return false;\n }\n return true;\n }\n catch {\n return false;\n }\n finally {\n active.delete(value);\n }\n}\nfunction isBoundedJsonValue(value: unknown): value is BoundedJsonValue {\n return isBoundedJsonValueAt(value, 0, new WeakSet());\n}\nexport function isBoundedJsonObject(value: unknown): value is BoundedJsonObject {\n return (typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n isBoundedJsonValueAt(value, 0, new WeakSet()));\n}\n/** @internal Raw descriptor preflight for direct Assertions Schema boundaries. */\nexport function isAssertionsRawDataGraph(value: unknown, active = new WeakSet<object>()): boolean {\n if (value === null ||\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n (typeof value === \"number\" && Number.isFinite(value))) {\n return true;\n }\n if (typeof value !== \"object\" || active.has(value))\n return false;\n if (isRecordContentHandle(value))\n return true;\n active.add(value);\n try {\n if (Array.isArray(value)) {\n const expected = new Set<string>([\"length\"]);\n for (let index = 0; index < value.length; index += 1)\n expected.add(String(index));\n const keys = Reflect.ownKeys(value);\n if (keys.length !== expected.size || keys.some((key) => typeof key !== \"string\" || !expected.has(key))) {\n return false;\n }\n for (let index = 0; index < value.length; index += 1) {\n const descriptor = Object.getOwnPropertyDescriptor(value, String(index));\n if (descriptor === undefined ||\n descriptor.enumerable !== true ||\n !(\"value\" in descriptor) ||\n !isAssertionsRawDataGraph(descriptor.value, active)) {\n return false;\n }\n }\n return true;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null)\n return false;\n for (const key of Reflect.ownKeys(value)) {\n if (typeof key !== \"string\")\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined ||\n descriptor.enumerable !== true ||\n !(\"value\" in descriptor) ||\n !isAssertionsRawDataGraph(descriptor.value, active)) {\n return false;\n }\n }\n return true;\n }\n catch {\n return false;\n }\n finally {\n active.delete(value);\n }\n}\nconst BoundedJsonValueNodeSchema: Schema.Schema<BoundedJsonValue> = Schema.suspend((): Schema.Schema<BoundedJsonValue> => Schema.Union([\n Schema.Null,\n Schema.Boolean,\n Schema.Finite,\n BoundedJsonStringSchema,\n Schema.Array(BoundedJsonValueNodeSchema),\n Schema.Record(BoundedJsonStringSchema, BoundedJsonValueNodeSchema),\n]).check(Schema.makeFilter(isBoundedJsonValue, {\n identifier: \"AssertionsBoundedJsonValue\",\n description: \"a recursive JSON value within the Assertions limits\",\n})));\n/** Recursive JSON shape plus the Assertions-specific depth and collection budgets. */\nexport const BoundedJsonValueSchema: Schema.Schema<BoundedJsonValue> = BoundedJsonValueNodeSchema;\nexport const BoundedJsonObjectSchema: Schema.Schema<BoundedJsonObject> = Schema.Record(BoundedJsonStringSchema, BoundedJsonValueNodeSchema).check(Schema.makeFilter(isBoundedJsonObject, {\n identifier: \"AssertionsBoundedJsonObject\",\n description: \"a recursive JSON object within the Assertions limits\",\n}));\nexport const AssertionEntryIdSchema: Schema.Codec<AssertionEntryId, string> = Schema.String.check(Schema.makeFilter(isAssertionEntryId, {\n identifier: \"AssertionEntryId\",\n description: \"an attachment-local ae_ identifier with 20 lowercase base-36 characters\",\n})).pipe(Schema.brand(ASSERTION_ENTRY_ID_BRAND));\nexport const AssertionDisplaySchema: Schema.Schema<AssertionDisplay> = Schema.Struct({\n key: Schema.optional(AssertionDisplayTextSchema),\n label: Schema.optional(AssertionDisplayTextSchema),\n groupPath: Schema.Array(AssertionDisplayTextSchema).check(Schema.makeFilter((groupPath) => groupPath.length <= assertionRuntimeLimits.groupDepth, {\n identifier: \"AssertionDisplayGroupPath\",\n description: \"a group path no deeper than 16 segments\",\n })),\n});\nexport const BuiltInCriterionEnvelopeSchema: Schema.Schema<BuiltInCriterionEnvelope> = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: CriterionIdentifierSchema,\n data: BoundedJsonValueSchema,\n});\nexport const ThirdPartyCriterionSchema: Schema.Schema<ThirdPartyCriterion> = Schema.Struct({\n name: CriterionIdentifierSchema,\n schemaId: CriterionIdentifierSchema,\n data: BoundedJsonValueSchema,\n});\nexport const CriterionOuterEnvelopeSchema: Schema.Schema<CriterionOuterEnvelope> = Schema.Union([BuiltInCriterionEnvelopeSchema, ThirdPartyCriterionSchema]);\nconst ValueMatchCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"value-match/v1\"),\n data: Schema.Struct({\n subject: Schema.Literal(\"explicit-value\"),\n matcher: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"declared\"), name: BoundedJsonStringSchema }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\") }),\n ]),\n }),\n});\nconst NumericComparisonCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"numeric-comparison/v1\"),\n data: Schema.Struct({\n comparator: Schema.Literals(NUMERIC_COMPARATORS),\n threshold: Schema.Finite,\n upperThreshold: Schema.optional(Schema.Finite),\n unit: Schema.optional(Schema.Literals([\"ms\", \"seconds\", \"tokens\", \"usd\", \"ratio\", \"count\", \"bytes\"])),\n subject: Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"explicit-value\") }),\n Schema.Struct({\n kind: Schema.Literal(\"scope-metric\"),\n metric: Schema.Literal(\"tokens\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n unit: Schema.Literal(\"tokens\"),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"scope-metric\"),\n metric: Schema.Literal(\"cost\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n unit: Schema.Literal(\"usd\"),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"collection-cardinality\"),\n collection: Schema.Literal(\"tool-calls\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n }),\n ]),\n }).check(Schema.makeFilter((data) => data.comparator === \"between\"\n ? data.upperThreshold !== undefined && data.upperThreshold >= data.threshold\n : data.upperThreshold === undefined, { message: \"Only between comparisons have an ordered upper threshold.\" })),\n});\nconst ScopeStatusCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"scope-status/v1\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n assertion: Schema.Literals([\"succeeded\", \"no-failed-actions\"]),\n }),\n});\nconst OccurrenceCriterionV1Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v1\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n occurrence: Schema.Literals([\"tool\", \"skill\", \"event\"]),\n assertion: Schema.Literals([\"present\", \"absent\", \"count\", \"order\"]),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"absent\") }),\n Schema.Struct({\n kind: Schema.Literals([\"at-least\", \"exact\"]),\n count: PositiveIntegerSchema,\n }),\n ])),\n }),\n});\nconst OccurrenceCriterionV2Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v2\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n occurrence: Schema.Literals([\"tool\", \"skill\", \"event\"]),\n assertion: Schema.Literals([\"present\", \"absent\", \"count\", \"order\"]),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"absent\") }),\n Schema.Struct({\n kind: Schema.Literal(\"exact\"),\n count: PositiveIntegerSchema,\n }),\n Schema.Struct({\n kind: Schema.Literals([\"at-least\", \"less-than\", \"at-most\", \"greater-than\"]),\n count: NonNegativeSafeIntegerSchema,\n }),\n ])),\n }),\n});\nconst JudgeMeasurementCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"judge-measurement/v1\"),\n data: Schema.Struct({\n recipe: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst JudgeMeasurementCriterionV2Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"judge-measurement/v2\"),\n data: Schema.Struct({\n name: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst LlmMeasurementCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"llm-measurement/v1\"),\n data: Schema.Struct({\n name: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst SandboxResultCriterionSchema = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"changed-paths\"),\n paths: Schema.Array(BoundedJsonStringSchema),\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({ operation: Schema.Literal(\"no-changes\") }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"file-changed\"),\n path: BoundedJsonStringSchema,\n status: Schema.optional(Schema.Literals([\"added\", \"modified\", \"deleted\"])),\n before: Schema.optional(BoundedJsonStringSchema),\n after: Schema.optional(BoundedJsonStringSchema),\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"file-deleted\"),\n path: BoundedJsonStringSchema,\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"not-in-diff\"),\n pattern: BoundedJsonStringSchema,\n flags: BoundedJsonStringSchema,\n content: Schema.Literals([\"added\", \"removed\", \"both\"]),\n }),\n }),\n]);\nconst DirectScoreCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"direct-score/v1\"),\n data: Schema.Struct({ source: Schema.Literal(\"author\") }),\n});\nexport const BuiltInCriterionSchema: Schema.Schema<BuiltInCriterion> = Schema.Union([\n ValueMatchCriterionSchema,\n NumericComparisonCriterionSchema,\n ScopeStatusCriterionSchema,\n OccurrenceCriterionV1Schema,\n OccurrenceCriterionV2Schema,\n JudgeMeasurementCriterionSchema,\n JudgeMeasurementCriterionV2Schema,\n LlmMeasurementCriterionSchema,\n SandboxResultCriterionSchema,\n DirectScoreCriterionSchema,\n]);\nexport const CriterionEnvelopeSchema: Schema.Schema<WritableCriterionEnvelope> = Schema.Union([BuiltInCriterionSchema, ThirdPartyCriterionSchema]);\nexport const AssertionCoverageSchema: Schema.Schema<AssertionCoverage> = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"complete\") }),\n Schema.Struct({\n state: Schema.Literal(\"partial\"),\n reason: Schema.Literals([\"sampled\", \"truncated\", \"redacted\", \"provider-limited\", \"capacity-limited\"]),\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"not-collected\", \"source-unavailable\", \"producer-failed\"]),\n }),\n Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literals([\"optional-material\", \"unsupported-subject\"]),\n }),\n]);\nexport const AssertionLimitationSchema: Schema.Schema<AssertionLimitation> = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"redacted\"),\n fieldCount: NonNegativeIntegerSchema,\n }),\n Schema.Struct({\n kind: Schema.Literal(\"sampled\"),\n captured: NonNegativeIntegerSchema,\n knownTotal: Schema.optional(NonNegativeIntegerSchema),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"truncated\"),\n omittedBytes: NonNegativeIntegerSchema,\n }),\n Schema.Struct({ kind: Schema.Literal(\"provider-limited\") }),\n Schema.Struct({ kind: Schema.Literal(\"capacity-limited\"), capturedItems: NonNegativeIntegerSchema, knownTotalItems: NonNegativeIntegerSchema, omittedBytes: Schema.NullOr(NonNegativeIntegerSchema) }),\n]);\nconst NoScoreContributionSchema: Schema.Schema<NoScoreContribution> = Schema.Struct({ state: Schema.Literal(\"not-scored\") });\nconst EarnedScoreContributionSchema: Schema.Schema<EarnedScoreContribution> = Schema.Struct({\n state: Schema.Literal(\"earned\"),\n points: NonNegativeNumberSchema,\n earned: NonNegativeNumberSchema,\n}).check(Schema.makeFilter((score) => score.earned <= score.points, {\n identifier: \"AssertionEarnedScore\",\n description: \"an earned score no greater than its points\",\n}));\nconst UnavailableScoreContributionSchema: Schema.Schema<UnavailableScoreContribution> = Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n points: NonNegativeNumberSchema,\n reason: Schema.Literals([\"source-unavailable\", \"evaluation-errored\", \"not-applicable\"]),\n});\nfunction hasValidCollectionReceipt(receipt: {\n readonly examined: number;\n readonly matched: number;\n readonly mismatched: number;\n readonly unavailable: number;\n readonly knownTotal: number | null;\n readonly complete: boolean;\n readonly exhaustive: boolean;\n}): boolean {\n if (receipt.matched + receipt.mismatched + receipt.unavailable !== receipt.examined) {\n return false;\n }\n if (receipt.knownTotal !== null && receipt.examined > receipt.knownTotal)\n return false;\n if (receipt.complete && receipt.knownTotal === null)\n return false;\n return !receipt.exhaustive || (receipt.knownTotal !== null && receipt.examined === receipt.knownTotal);\n}\nexport const AssertionCollectionReceiptSchema = Schema.Struct({\n examined: NonNegativeIntegerSchema,\n matched: NonNegativeIntegerSchema,\n mismatched: NonNegativeIntegerSchema,\n unavailable: NonNegativeIntegerSchema,\n knownTotal: Schema.NullOr(NonNegativeIntegerSchema),\n complete: Schema.Boolean,\n exhaustive: Schema.Boolean,\n decisive: Schema.Boolean,\n}).check(Schema.makeFilter(hasValidCollectionReceipt, {\n identifier: \"AssertionCollectionReceipt\",\n description: \"a collection receipt whose counts and completion boundary agree\",\n}));\nexport const AssertionFactValueSchema: Schema.Schema<AssertionFactValue> = Schema.suspend((): Schema.Schema<AssertionFactValue> => Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"not-recorded\", \"not-declared\", \"source-unavailable\"]),\n }),\n Schema.Struct({ kind: Schema.Literal(\"value\"), value: Schema.Union([Schema.Null, Schema.Boolean, Schema.Finite, BoundedJsonStringSchema]) }),\n Schema.Struct({ kind: Schema.Literal(\"text\"), text: BoundedJsonStringSchema }),\n Schema.Struct({ kind: Schema.Literal(\"list\"), items: Schema.Array(AssertionFactValueSchema) }),\n Schema.Struct({\n kind: Schema.Literal(\"fields\"),\n fields: Schema.Array(Schema.Struct({ label: BoundedJsonStringSchema, value: AssertionFactValueSchema })),\n }),\n]));\nexport const MatcherRelationStatusSchema = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"exact\") }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\n \"historical-not-recorded\",\n \"source-unavailable\",\n \"ambiguous\",\n ]),\n }),\n]);\nexport const MatcherSourceLocatorSchema = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"tool-occurrence\"),\n toolOccurrenceId: MatcherIdentitySchema,\n relation: MatcherRelationStatusSchema,\n }),\n Schema.Struct({\n kind: Schema.Literal(\"event\"),\n eventId: MatcherIdentitySchema,\n toolOccurrenceId: Schema.optional(MatcherIdentitySchema),\n relation: MatcherRelationStatusSchema,\n }),\n]);\nexport const MatcherRetainedRowSchema = Schema.Struct({\n locator: MatcherSourceLocatorSchema,\n result: Schema.Literals([\"matched\", \"mismatched\", \"unavailable\", \"not-evaluated\"]),\n difference: Schema.optional(AssertionFactValueSchema),\n});\nconst MatcherRetainedRowsSchema = Schema.Array(MatcherRetainedRowSchema).check(Schema.makeFilter((rows) => rows.length <= 8, {\n identifier: \"MatcherRetainedRows\",\n description: \"at most eight representative matcher rows\",\n}));\nexport const MatcherQueryStepSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n summary: AssertionFactValueSchema,\n});\nexport const MatcherSourceReferenceSchema = Schema.Struct({\n family: Schema.Literal(\"niceeval.agent-turns\"),\n schemaVersion: PositiveIntegerSchema,\n});\nexport const MatcherSourceCollectionStateSchema = Schema.Literals([\n \"complete\",\n \"partial\",\n \"unavailable\",\n]);\nexport const MatcherTurnSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"turn\"),\n sessionId: MatcherIdentitySchema,\n turnId: MatcherIdentitySchema,\n scopeId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherSessionSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"session\"),\n sessionId: MatcherIdentitySchema,\n scopeId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherAttemptSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"attempt\"),\n scopeId: MatcherIdentitySchema,\n sessions: Schema.Array(Schema.Struct({\n sessionId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n })).check(Schema.makeFilter((sessions) => sessions.every((session, index) => index === 0 || sessions[index - 1]!.sessionId < session.sessionId), {\n identifier: \"MatcherAttemptVectorCut\",\n description: \"a unique vector cut in canonical session identity order\",\n })),\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherSourceSnapshotSchema: Schema.Schema<MatcherSourceSnapshot> = Schema.Union([\n MatcherTurnSourceSnapshotSchema,\n MatcherSessionSourceSnapshotSchema,\n MatcherAttemptSourceSnapshotSchema,\n]);\nexport const OrderStepReceiptSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n comparisons: NonNegativeIntegerSchema,\n matched: NonNegativeIntegerSchema,\n mismatched: NonNegativeIntegerSchema,\n unavailable: NonNegativeIntegerSchema,\n}).check(Schema.makeFilter((receipt) => receipt.matched + receipt.mismatched + receipt.unavailable === receipt.comparisons, {\n identifier: \"MatcherOrderStepReceipt\",\n description: \"an order step receipt whose result counts equal its comparisons\",\n}));\nexport const OrderEvaluationReceiptSchema = Schema.Struct({\n sourceRows: NonNegativeIntegerSchema,\n comparisons: NonNegativeIntegerSchema,\n unavailableComparisons: NonNegativeIntegerSchema,\n definitePrefixLength: NonNegativeIntegerSchema,\n possiblePrefixLength: NonNegativeIntegerSchema,\n stepReceipts: Schema.Array(OrderStepReceiptSchema),\n complete: Schema.Boolean,\n exhaustive: Schema.Boolean,\n decisive: Schema.Boolean,\n});\nexport const MatcherOrderPathNodeSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n locator: MatcherSourceLocatorSchema,\n sessionId: MatcherIdentitySchema,\n sessionSequence: PositiveIntegerSchema,\n result: Schema.Literals([\"matched\", \"unavailable\"]),\n});\nexport const MatcherFailureFrontierSchema = Schema.Struct({\n longestDefinitePrefix: Schema.Array(MatcherOrderPathNodeSchema),\n longestPossiblePrefix: Schema.Array(MatcherOrderPathNodeSchema),\n firstBlockingStep: PositiveIntegerSchema,\n suffixChecked: AssertionCollectionReceiptSchema,\n representatives: MatcherRetainedRowsSchema,\n});\nfunction isPathWithinSourceCut(path: readonly Schema.Schema.Type<typeof MatcherOrderPathNodeSchema>[], snapshot: Schema.Schema.Type<typeof MatcherTurnSourceSnapshotSchema> | Schema.Schema.Type<typeof MatcherSessionSourceSnapshotSchema>, expectedLength: number, allowed: \"matched\" | \"possible\"): boolean {\n if (path.length !== expectedLength)\n return false;\n let previousSequence = 0;\n for (const [index, node] of path.entries()) {\n if (node.step !== index + 1 ||\n node.sessionId !== snapshot.sessionId ||\n node.sessionSequence <= previousSequence ||\n node.sessionSequence > snapshot.throughSessionSequence ||\n (allowed === \"matched\" && node.result !== \"matched\") ||\n (node.result === \"matched\" && node.locator.relation.state !== \"exact\")) {\n return false;\n }\n previousSequence = node.sessionSequence;\n }\n return true;\n}\nfunction hasValidOrderedArtifact(artifact: Schema.Schema.Type<typeof MatcherOrderedSequenceShapeSchema>): boolean {\n const stepCount = artifact.querySteps.length;\n const receipt = artifact.receipt;\n if (artifact.querySteps.some((step, index) => step.step !== index + 1) ||\n receipt.stepReceipts.length !== stepCount ||\n receipt.stepReceipts.some((step, index) => step.step !== index + 1) ||\n receipt.definitePrefixLength > receipt.possiblePrefixLength ||\n receipt.possiblePrefixLength > stepCount ||\n receipt.comparisons !== receipt.stepReceipts.reduce((sum, step) => sum + step.comparisons, 0) ||\n receipt.unavailableComparisons !== receipt.stepReceipts.reduce((sum, step) => sum + step.unavailable, 0) ||\n receipt.complete !== (artifact.sourceSnapshot.collectionAtCut === \"complete\") ||\n receipt.stepReceipts.some((step) => step.comparisons > receipt.sourceRows) ||\n receipt.stepReceipts.some((step, index) => index > 0 && step.comparisons !== receipt.stepReceipts[0]!.comparisons) ||\n (receipt.exhaustive && receipt.stepReceipts.some((step) => step.comparisons !== receipt.sourceRows))) {\n return false;\n }\n switch (artifact.result.state) {\n case \"matched\":\n return receipt.definitePrefixLength === stepCount &&\n receipt.possiblePrefixLength === stepCount &&\n receipt.decisive &&\n isPathWithinSourceCut(artifact.result.witnessPath, artifact.sourceSnapshot, stepCount, \"matched\");\n case \"mismatched\": {\n const frontier = artifact.result.failureFrontier;\n return receipt.complete && receipt.exhaustive && receipt.decisive &&\n receipt.possiblePrefixLength < stepCount &&\n frontier.firstBlockingStep === receipt.possiblePrefixLength + 1 &&\n frontier.suffixChecked.complete &&\n frontier.suffixChecked.exhaustive &&\n frontier.suffixChecked.decisive &&\n frontier.suffixChecked.knownTotal === frontier.suffixChecked.examined &&\n frontier.suffixChecked.matched === 0 &&\n frontier.suffixChecked.unavailable === 0 &&\n isPathWithinSourceCut(frontier.longestDefinitePrefix, artifact.sourceSnapshot, receipt.definitePrefixLength, \"matched\") &&\n isPathWithinSourceCut(frontier.longestPossiblePrefix, artifact.sourceSnapshot, receipt.possiblePrefixLength, \"possible\");\n }\n case \"unavailable\":\n return artifact.result.reason.length > 0 && !receipt.decisive;\n }\n}\nexport const MatcherCollectionFilterSchema = Schema.Struct({\n kind: Schema.Literal(\"collection-filter\"),\n sourceSnapshot: MatcherSourceSnapshotSchema,\n query: MatcherQueryStepSchema,\n receipt: AssertionCollectionReceiptSchema,\n retainedRows: MatcherRetainedRowsSchema,\n}).check(Schema.makeFilter((artifact) => artifact.query.step === 1 &&\n artifact.receipt.knownTotal !== null &&\n artifact.receipt.complete === (artifact.sourceSnapshot.collectionAtCut === \"complete\"), {\n identifier: \"MatcherCollectionFilterArtifact\",\n description: \"a collection matcher artifact with one query and a matching source cut\",\n}));\nexport const MatcherOrderedSequenceResultSchema = Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"matched\"),\n witnessPath: Schema.Array(MatcherOrderPathNodeSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n failureFrontier: MatcherFailureFrontierSchema,\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: MatcherIdentitySchema,\n }),\n]);\nexport const MatcherOrderedSequenceShapeSchema = Schema.Struct({\n kind: Schema.Literal(\"ordered-sequence\"),\n sourceSnapshot: Schema.Union([\n MatcherTurnSourceSnapshotSchema,\n MatcherSessionSourceSnapshotSchema,\n ]),\n querySteps: Schema.Array(MatcherQueryStepSchema).check(Schema.makeFilter((steps) => steps.length >= 2 && steps.length <= 64, {\n identifier: \"MatcherOrderQuerySteps\",\n description: \"between two and 64 ordered matcher query steps\",\n })),\n receipt: OrderEvaluationReceiptSchema,\n result: MatcherOrderedSequenceResultSchema,\n retainedRows: MatcherRetainedRowsSchema,\n});\nconst MatcherOrderedSequenceSchema = MatcherOrderedSequenceShapeSchema.check(Schema.makeFilter(hasValidOrderedArtifact, {\n identifier: \"MatcherOrderedSequenceArtifact\",\n description: \"an ordered matcher artifact with consistent receipts, paths, and cut\",\n}));\nfunction isMatcherArtifactWithinSizeLimit(value: unknown): boolean {\n try {\n return utf8ByteLength(JSON.stringify(value)) <= MAX_MATCHER_QUERY_ARTIFACT_BYTES;\n }\n catch {\n return false;\n }\n}\nexport const MatcherQueryArtifactSchema: Schema.Schema<MatcherQueryArtifact> = Schema.Union([MatcherCollectionFilterSchema, MatcherOrderedSequenceSchema]).check(Schema.makeFilter(isMatcherArtifactWithinSizeLimit, {\n identifier: \"MatcherQueryArtifactSize\",\n description: \"a matcher query artifact no larger than 64 KiB\",\n}));\nexport const AssertionConditionValueSchema = Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"boolean\"), expected: Schema.Literal(true) }),\n Schema.Struct({ kind: Schema.Literal(\"at-least\"), threshold: NonNegativeNumberSchema }),\n Schema.Struct({ kind: Schema.Literal(\"record-only\") }),\n]);\nexport const AssertionDecisionPolicySchema = Schema.Struct({\n requirement: Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: Schema.Literals([\"required\", \"optional\"]),\n }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n condition: Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: AssertionConditionValueSchema,\n }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n});\nexport const SealedAssertionResultSchema: Schema.Schema<SealedAssertionResult> = Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"matched\"),\n gate: Schema.Literals([\"not-gate\", \"satisfied\"]),\n score: Schema.Union([NoScoreContributionSchema, EarnedScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n reason: Schema.Literal(\"condition-not-met\"),\n gate: Schema.Literals([\"not-gate\", \"failed\"]),\n score: Schema.Union([NoScoreContributionSchema, EarnedScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"evidence-unavailable\", \"source-unavailable\", \"redacted\"]),\n gate: Schema.Literals([\"not-gate\", \"unavailable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"errored\"),\n reason: Schema.Literals([\"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\"]),\n gate: Schema.Literals([\"not-gate\", \"unavailable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"coverage-not-applicable\"),\n gate: Schema.Literals([\"not-gate\", \"not-applicable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n]);\n/**\n * Assertions owns the shared current entry framing. The caller supplies the\n * exact material declaration so current content and migration-private\n * historical material never share a physical union.\n */\nexport function createAssertionsRecordSchemas<Material, MaterialEncoded>(material: Schema.Codec<Material, MaterialEncoded>) {\n const evidence = Schema.Array(material);\n const limitations = Schema.Array(Schema.toType(AssertionLimitationSchema));\n const materials = Schema.Struct({\n source: material,\n evidence,\n coverage: Schema.toType(AssertionCoverageSchema),\n limitations,\n }).check(Schema.makeFilter((value) => hasCoverageConsistentLimitations(value), {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const historicalV2Evaluation = Schema.Struct({\n observed: Schema.toType(AssertionFactValueSchema),\n receipt: Schema.optional(Schema.toType(AssertionCollectionReceiptSchema)),\n });\n const evaluation = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"ordinary\"),\n observed: Schema.toType(AssertionFactValueSchema),\n receipt: Schema.optional(Schema.toType(AssertionCollectionReceiptSchema)),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"matcher-current\"),\n observed: Schema.toType(AssertionFactValueSchema),\n artifact: Schema.toType(MatcherQueryArtifactSchema),\n receipt: Schema.optional(Schema.Never),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"matcher-legacy\"),\n observed: Schema.toType(AssertionFactValueSchema),\n reason: Schema.Literal(\"historical-not-recorded\"),\n legacyDiagnostic: Schema.optional(Schema.toType(AssertionFactValueSchema)),\n receipt: Schema.optional(Schema.Never),\n }),\n ]);\n const decision = Schema.Struct({\n result: Schema.Literals([\"matched\", \"mismatched\", \"unavailable\", \"errored\", \"not-applicable\"]),\n reason: Schema.NullOr(Schema.Literals([\n \"condition-not-met\", \"evidence-unavailable\", \"source-unavailable\", \"redacted\",\n \"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\", \"coverage-not-applicable\",\n ])),\n gate: Schema.Literals([\"not-gate\", \"satisfied\", \"failed\", \"unavailable\", \"not-applicable\"]),\n });\n const explanationRetention = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"retained\"), value: Schema.toType(AssertionFactValueSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]);\n const historicalV2OuterEntry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(BoundedJsonObjectSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation: historicalV2Evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n });\n const outerEntry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(BoundedJsonObjectSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n }).check(Schema.makeFilter((entry) => entry.evaluation.kind === \"ordinary\" ||\n entry.explanationRetention.state === \"unavailable\", {\n identifier: \"MatcherExplanationOwnership\",\n description: \"matcher artifacts and legacy diagnostics are not duplicated in explanation retention\",\n }));\n const historicalV2Entries = Schema.Array(historicalV2OuterEntry).check(Schema.makeFilter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const entries = Schema.Array(outerEntry).check(Schema.makeFilter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const outerDocument = Schema.Struct({ entries }).check(Schema.makeFilter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.makeFilter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n const entry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(CriterionEnvelopeSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n });\n const document = Schema.Struct({\n entries: Schema.Array(entry).check(Schema.makeFilter((entries) => entries.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n })),\n }).check(Schema.makeFilter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.makeFilter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n return Object.freeze({\n material,\n entry,\n entries,\n historicalV2Entries,\n outerDocument,\n document,\n });\n}\nexport interface AssertionsRecordCodecError {\n readonly code: \"assertions-document-invalid\";\n}\nconst assertionsDocumentInvalid: AssertionsRecordCodecError = Object.freeze({\n code: \"assertions-document-invalid\",\n});\nexport function decodeAssertionsDocumentOuter<Content, Encoded>(schema: Schema.Codec<AssertionsDocumentOuter<Content>, Encoded>, input: unknown): Result.Result<AssertionsDocumentOuter<Content>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Result.fail(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownResult(schema, AssertionsExactParseOptions)(input);\n return Result.isFailure(decoded)\n ? Result.fail(assertionsDocumentInvalid)\n : Result.succeed(decoded.success);\n}\nexport function decodeAssertionsDocument<Content, Encoded>(schema: Schema.Codec<AssertionsDocument<Content>, Encoded>, input: unknown): Result.Result<AssertionsDocument<Content>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Result.fail(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownResult(schema, AssertionsExactParseOptions)(input);\n return Result.isFailure(decoded)\n ? Result.fail(assertionsDocumentInvalid)\n : Result.succeed(decoded.success);\n}\nexport interface ThirdPartyCriterionDefinition {\n readonly name: string;\n readonly schemaId: string;\n readonly dataSchema: Schema.Codec<unknown, unknown>;\n}\nexport interface ThirdPartyCriterionRegistry {\n readonly lookup: (name: string, schemaId: string) => ThirdPartyCriterionDefinition | undefined;\n}\nexport type ThirdPartyCriterionRegistryError = {\n readonly code: \"third-party-criterion-identity-invalid\";\n readonly name: string;\n readonly schemaId: string;\n} | {\n readonly code: \"third-party-criterion-duplicate\";\n readonly name: string;\n readonly schemaId: string;\n};\nfunction thirdPartyCriterionKey(name: string, schemaId: string): string {\n return `${name}\\u0000${schemaId}`;\n}\nexport function makeThirdPartyCriterionRegistry(definitions: readonly ThirdPartyCriterionDefinition[]): Result.Result<ThirdPartyCriterionRegistry, ThirdPartyCriterionRegistryError> {\n const byIdentity = new Map<string, ThirdPartyCriterionDefinition>();\n for (const definition of definitions) {\n if (!isAsciiIdentifier(definition.name) || !isAsciiIdentifier(definition.schemaId)) {\n return Result.fail({\n code: \"third-party-criterion-identity-invalid\",\n name: definition.name,\n schemaId: definition.schemaId,\n });\n }\n const key = thirdPartyCriterionKey(definition.name, definition.schemaId);\n if (byIdentity.has(key)) {\n return Result.fail({\n code: \"third-party-criterion-duplicate\",\n name: definition.name,\n schemaId: definition.schemaId,\n });\n }\n byIdentity.set(key, Object.freeze({ ...definition }));\n }\n return Result.succeed(Object.freeze({\n lookup(name: string, schemaId: string) {\n return byIdentity.get(thirdPartyCriterionKey(name, schemaId));\n },\n }));\n}\nconst KNOWN_BUILTIN_CRITERION_IDS: ReadonlySet<string> = new Set([\n \"value-match/v1\",\n \"numeric-comparison/v1\",\n \"scope-status/v1\",\n \"occurrence/v1\",\n \"occurrence/v2\",\n \"judge-measurement/v1\",\n \"judge-measurement/v2\",\n \"llm-measurement/v1\",\n \"sandbox-result/v1\",\n \"direct-score/v1\",\n]);\nfunction availableEntry<Content>(entry: AssertionEntryOuter<Content>, criterion: WritableCriterionEnvelope): AssertionEntryRead<Content> {\n const available: AssertionEntry<Content> = {\n ...entry,\n criterion: Object.freeze({ state: \"available\" as const, value: criterion }),\n };\n return Object.freeze({ state: \"available\", entry: Object.freeze(available) });\n}\nfunction projectAssertionEntry<Content>(entry: AssertionEntryOuter<Content>, registry: ThirdPartyCriterionRegistry): AssertionEntryRead<Content> {\n if (entry.criterion.state === \"unavailable\") {\n return Object.freeze({ state: \"available\", entry: entry as AssertionEntry<Content> });\n }\n const criterionValue = entry.criterion.value;\n const builtinEnvelope = Schema.decodeUnknownResult(Schema.toType(BuiltInCriterionEnvelopeSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isSuccess(builtinEnvelope)) {\n const builtin = Schema.decodeUnknownResult(Schema.toType(BuiltInCriterionSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isSuccess(builtin)) {\n return availableEntry(entry, builtin.success);\n }\n if (KNOWN_BUILTIN_CRITERION_IDS.has(builtinEnvelope.success.id)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return Object.freeze({\n state: \"unsupported\",\n entry,\n reason: \"builtin-unknown\",\n });\n }\n const thirdParty = Schema.decodeUnknownResult(Schema.toType(ThirdPartyCriterionSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isFailure(thirdParty)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-envelope-invalid\",\n });\n }\n const definition = registry.lookup(thirdParty.success.name, thirdParty.success.schemaId);\n if (definition === undefined) {\n return Object.freeze({\n state: \"unsupported\",\n entry,\n reason: \"third-party-schema-unavailable\",\n });\n }\n const data = Schema.decodeUnknownResult(Schema.toType(definition.dataSchema), AssertionsExactParseOptions)(thirdParty.success.data);\n if (Result.isFailure(data)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return availableEntry(entry, thirdParty.success);\n}\n/**\n * Projection is synchronous and never re-evaluates an Assertion. Its only\n * dynamic work is criterion interpretation inside each already-valid entry.\n */\nexport function projectAssertionsDocument<Content>(document: AssertionsDocumentOuter<Content>, registry: ThirdPartyCriterionRegistry): AssertionsProjection<Content> {\n return Object.freeze({\n entries: Object.freeze(document.entries.map((entry) => projectAssertionEntry(entry, registry))),\n });\n}\n"]}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["codec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Result, Schema } from \"effect\";\nimport { isRecordContentHandle } from \"../../record/attachment/content.ts\";\nimport { assertionRuntimeLimits } from \"../limits.ts\";\nimport { NUMERIC_COMPARATORS } from \"../match.ts\";\nimport { ASSERTION_ENTRY_ID_BRAND, type AssertionCoverage, type AssertionDisplay, type AssertionFactValue, type AssertionEntryId, type AssertionEntryOuter, type AssertionEntryRead, type AssertionEntry, type AssertionLimitation, type AssertionsDocumentOuter, type AssertionsDocument, type AssertionsProjection, type BoundedJsonObject, type BoundedJsonValue, type BuiltInCriterionEnvelope, type BuiltInCriterion, type CriterionOuterEnvelope, type EarnedScoreContribution, type NoScoreContribution, type MatcherQueryArtifact, type MatcherSourceSnapshot, type SealedAssertionResult, type ThirdPartyCriterion, type UnavailableScoreContribution, type WritableCriterionEnvelope, } from \"./model.ts\";\n/** Durable document-size limit; unlike runtime capture limits it belongs to this codec. */\nexport const MAX_ASSERTION_DOCUMENT_BYTES = 4 * 1024 * 1024;\nexport const MAX_MATCHER_QUERY_ARTIFACT_BYTES = 64 * 1024;\n/** All contract-owned objects use aggregate failures and exact object fields. */\nexport const AssertionsExactParseOptions = Object.freeze({\n errors: \"all\" as const,\n onExcessProperty: \"error\" as const,\n});\nconst UTF8 = new TextEncoder();\nconst CONTROL_CHARACTER = /[\\p{Cc}]/u;\nconst ASSERTION_ENTRY_ID = /^ae_[a-z0-9]{20}$/;\nconst ASCII_IDENTIFIER = /^[\\x21-\\x7e]+$/;\nfunction utf8ByteLength(value: string): number {\n return UTF8.encode(value).byteLength;\n}\nfunction codePointLength(value: string): number {\n return Array.from(value).length;\n}\nfunction isBoundedString(value: string): boolean {\n return utf8ByteLength(value) <= assertionRuntimeLimits.stringBytes;\n}\nfunction isDisplayText(value: string): boolean {\n return (!CONTROL_CHARACTER.test(value) &&\n codePointLength(value) <= assertionRuntimeLimits.displayCodePoints);\n}\nfunction isAsciiIdentifier(value: string): boolean {\n return utf8ByteLength(value) <= 128 && ASCII_IDENTIFIER.test(value);\n}\nfunction isNonNegativeInteger(value: number): boolean {\n return Number.isFinite(value) && Number.isInteger(value) && value >= 0;\n}\nfunction isNonNegativeNumber(value: number): boolean {\n return Number.isFinite(value) && value >= 0;\n}\nfunction isPlainJsonObject(value: object): boolean {\n // Fixed Record value canonicalization deliberately creates null-prototype\n // durable objects. They are equivalent JSON records here and must round-trip\n // through the Assertions property schema after a Reader hydration.\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction hasAtMostObjectKeys(value: object): boolean {\n return Object.keys(value).length <= assertionRuntimeLimits.jsonObjectKeys;\n}\nfunction hasAtMostArrayItems<Value>(value: readonly Value[]): boolean {\n return value.length <= assertionRuntimeLimits.jsonArrayItems;\n}\nfunction isAssertionEntryId(value: string): boolean {\n return ASSERTION_ENTRY_ID.test(value);\n}\nfunction isDocumentWithinSizeLimit(value: unknown): boolean {\n try {\n const serialized = JSON.stringify(value);\n return (typeof serialized === \"string\" &&\n utf8ByteLength(serialized) <= MAX_ASSERTION_DOCUMENT_BYTES);\n }\n catch {\n return false;\n }\n}\nfunction hasUniqueEntryIds(document: {\n readonly entries: readonly {\n readonly entryId: AssertionEntryId;\n }[];\n}): boolean {\n const entryIds = new Set<string>();\n for (const entry of document.entries) {\n if (entryIds.has(entry.entryId))\n return false;\n entryIds.add(entry.entryId);\n }\n return true;\n}\nfunction hasCoverageConsistentLimitations(entry: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n}): boolean {\n const coverage = entry.coverage;\n if (coverage.state === \"complete\") {\n return entry.limitations.length === 0;\n }\n if (coverage.state !== \"partial\")\n return true;\n return entry.limitations.some((limitation) => limitation.kind === coverage.reason);\n}\nconst BoundedJsonStringSchema = Schema.String.check(Schema.makeFilter(isBoundedString, {\n identifier: \"AssertionsBoundedJsonString\",\n description: \"a UTF-8 string no longer than 8 KiB\",\n}));\nconst AssertionDisplayTextSchema = Schema.String.check(Schema.makeFilter(isDisplayText, {\n identifier: \"AssertionDisplayText\",\n description: \"text without control characters and at most 256 code points\",\n}));\nconst MatcherIdentitySchema = BoundedJsonStringSchema.check(Schema.makeFilter((value) => value.length > 0 && !CONTROL_CHARACTER.test(value), {\n identifier: \"MatcherSourceIdentity\",\n description: \"a non-empty bounded source identity without control characters\",\n}));\nconst CriterionIdentifierSchema = Schema.String.check(Schema.makeFilter(isAsciiIdentifier, {\n identifier: \"AssertionCriterionIdentifier\",\n description: \"a non-empty printable ASCII identifier no longer than 128 bytes\",\n}));\nconst NonNegativeIntegerSchema = Schema.Finite.check(Schema.makeFilter(isNonNegativeInteger, {\n identifier: \"AssertionNonNegativeInteger\",\n description: \"a finite non-negative integer\",\n}));\nconst PositiveIntegerSchema = Schema.Finite.check(Schema.makeFilter((value) => Number.isSafeInteger(value) && value > 0, {\n identifier: \"AssertionPositiveInteger\",\n description: \"a positive safe integer\",\n}));\nconst NonNegativeSafeIntegerSchema = Schema.Finite.check(Schema.makeFilter((value) => Number.isSafeInteger(value) && value >= 0, {\n identifier: \"AssertionNonNegativeSafeInteger\",\n description: \"a non-negative safe integer\",\n}));\nconst NonNegativeNumberSchema = Schema.Finite.check(Schema.makeFilter(isNonNegativeNumber, {\n identifier: \"AssertionNonNegativeNumber\",\n description: \"a finite non-negative number\",\n}));\nfunction isJsonArrayIndex(key: string): boolean {\n if (key === \"0\")\n return true;\n if (!/^[1-9][0-9]*$/.test(key))\n return false;\n const index = Number(key);\n return Number.isSafeInteger(index) && index >= 0 && index < 4294967295;\n}\nfunction isBoundedJsonValueAt(value: unknown, depth: number, active: WeakSet<object>): value is BoundedJsonValue {\n if (value === null || typeof value === \"boolean\")\n return true;\n if (typeof value === \"number\")\n return Number.isFinite(value);\n if (typeof value === \"string\")\n return isBoundedString(value);\n if (typeof value !== \"object\" || depth >= assertionRuntimeLimits.jsonDepth)\n return false;\n try {\n if (active.has(value))\n return false;\n active.add(value);\n if (Array.isArray(value)) {\n if (Object.getPrototypeOf(value) !== Array.prototype || !hasAtMostArrayItems(value)) {\n return false;\n }\n for (const key of Reflect.ownKeys(value)) {\n if (key === \"length\")\n continue;\n if (typeof key !== \"string\" || !isJsonArrayIndex(key))\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined || !descriptor.enumerable || !(\"value\" in descriptor)) {\n return false;\n }\n }\n for (let index = 0; index < value.length; index += 1) {\n if (!Object.prototype.hasOwnProperty.call(value, index))\n return false;\n if (!isBoundedJsonValueAt(value[index], depth + 1, active))\n return false;\n }\n return true;\n }\n const object = value;\n if (!isPlainJsonObject(object) || !hasAtMostObjectKeys(object))\n return false;\n for (const key of Reflect.ownKeys(object)) {\n if (typeof key !== \"string\" || !isBoundedString(key))\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(object, key);\n if (descriptor === undefined || !descriptor.enumerable || !(\"value\" in descriptor)) {\n return false;\n }\n if (!isBoundedJsonValueAt(descriptor.value, depth + 1, active))\n return false;\n }\n return true;\n }\n catch {\n return false;\n }\n finally {\n active.delete(value);\n }\n}\nfunction isBoundedJsonValue(value: unknown): value is BoundedJsonValue {\n return isBoundedJsonValueAt(value, 0, new WeakSet());\n}\nexport function isBoundedJsonObject(value: unknown): value is BoundedJsonObject {\n return (typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n isBoundedJsonValueAt(value, 0, new WeakSet()));\n}\n/** @internal Raw descriptor preflight for direct Assertions Schema boundaries. */\nexport function isAssertionsRawDataGraph(value: unknown, active = new WeakSet<object>()): boolean {\n if (value === null ||\n typeof value === \"boolean\" ||\n typeof value === \"string\" ||\n (typeof value === \"number\" && Number.isFinite(value))) {\n return true;\n }\n if (typeof value !== \"object\" || active.has(value))\n return false;\n if (isRecordContentHandle(value))\n return true;\n active.add(value);\n try {\n if (Array.isArray(value)) {\n const expected = new Set<string>([\"length\"]);\n for (let index = 0; index < value.length; index += 1)\n expected.add(String(index));\n const keys = Reflect.ownKeys(value);\n if (keys.length !== expected.size || keys.some((key) => typeof key !== \"string\" || !expected.has(key))) {\n return false;\n }\n for (let index = 0; index < value.length; index += 1) {\n const descriptor = Object.getOwnPropertyDescriptor(value, String(index));\n if (descriptor === undefined ||\n descriptor.enumerable !== true ||\n !(\"value\" in descriptor) ||\n !isAssertionsRawDataGraph(descriptor.value, active)) {\n return false;\n }\n }\n return true;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null)\n return false;\n for (const key of Reflect.ownKeys(value)) {\n if (typeof key !== \"string\")\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined ||\n descriptor.enumerable !== true ||\n !(\"value\" in descriptor) ||\n !isAssertionsRawDataGraph(descriptor.value, active)) {\n return false;\n }\n }\n return true;\n }\n catch {\n return false;\n }\n finally {\n active.delete(value);\n }\n}\nconst BoundedJsonValueNodeSchema: Schema.Schema<BoundedJsonValue> = Schema.suspend((): Schema.Schema<BoundedJsonValue> => Schema.Union([\n Schema.Null,\n Schema.Boolean,\n Schema.Finite,\n BoundedJsonStringSchema,\n Schema.Array(BoundedJsonValueNodeSchema),\n Schema.Record(BoundedJsonStringSchema, BoundedJsonValueNodeSchema),\n]).check(Schema.makeFilter(isBoundedJsonValue, {\n identifier: \"AssertionsBoundedJsonValue\",\n description: \"a recursive JSON value within the Assertions limits\",\n})));\n/** Recursive JSON shape plus the Assertions-specific depth and collection budgets. */\nexport const BoundedJsonValueSchema: Schema.Schema<BoundedJsonValue> = BoundedJsonValueNodeSchema;\nexport const BoundedJsonObjectSchema: Schema.Schema<BoundedJsonObject> = Schema.Record(BoundedJsonStringSchema, BoundedJsonValueNodeSchema).check(Schema.makeFilter(isBoundedJsonObject, {\n identifier: \"AssertionsBoundedJsonObject\",\n description: \"a recursive JSON object within the Assertions limits\",\n}));\nexport const AssertionEntryIdSchema: Schema.Codec<AssertionEntryId, string> = Schema.String.check(Schema.makeFilter(isAssertionEntryId, {\n identifier: \"AssertionEntryId\",\n description: \"an attachment-local ae_ identifier with 20 lowercase base-36 characters\",\n})).pipe(Schema.brand(ASSERTION_ENTRY_ID_BRAND));\nexport const AssertionDisplaySchema: Schema.Schema<AssertionDisplay> = Schema.Struct({\n key: Schema.optional(AssertionDisplayTextSchema),\n label: Schema.optional(AssertionDisplayTextSchema),\n groupPath: Schema.Array(AssertionDisplayTextSchema).check(Schema.makeFilter((groupPath) => groupPath.length <= assertionRuntimeLimits.groupDepth, {\n identifier: \"AssertionDisplayGroupPath\",\n description: \"a group path no deeper than 16 segments\",\n })),\n});\nexport const BuiltInCriterionEnvelopeSchema: Schema.Schema<BuiltInCriterionEnvelope> = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: CriterionIdentifierSchema,\n data: BoundedJsonValueSchema,\n});\nexport const ThirdPartyCriterionSchema: Schema.Schema<ThirdPartyCriterion> = Schema.Struct({\n name: CriterionIdentifierSchema,\n schemaId: CriterionIdentifierSchema,\n data: BoundedJsonValueSchema,\n});\nexport const CriterionOuterEnvelopeSchema: Schema.Schema<CriterionOuterEnvelope> = Schema.Union([BuiltInCriterionEnvelopeSchema, ThirdPartyCriterionSchema]);\nconst ValueMatchCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"value-match/v1\"),\n data: Schema.Struct({\n subject: Schema.Literal(\"explicit-value\"),\n matcher: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"declared\"), name: BoundedJsonStringSchema }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\") }),\n ]),\n }),\n});\nconst NumericComparisonCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"numeric-comparison/v1\"),\n data: Schema.Struct({\n comparator: Schema.Literals(NUMERIC_COMPARATORS),\n threshold: Schema.Finite,\n upperThreshold: Schema.optional(Schema.Finite),\n unit: Schema.optional(Schema.Literals([\"ms\", \"seconds\", \"tokens\", \"usd\", \"ratio\", \"count\", \"bytes\"])),\n subject: Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"explicit-value\") }),\n Schema.Struct({\n kind: Schema.Literal(\"scope-metric\"),\n metric: Schema.Literal(\"tokens\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n unit: Schema.Literal(\"tokens\"),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"scope-metric\"),\n metric: Schema.Literal(\"cost\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n unit: Schema.Literal(\"usd\"),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"collection-cardinality\"),\n collection: Schema.Literal(\"tool-calls\"),\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n }),\n ]),\n }).check(Schema.makeFilter((data) => data.comparator === \"between\"\n ? data.upperThreshold !== undefined && data.upperThreshold >= data.threshold\n : data.upperThreshold === undefined, { message: \"Only between comparisons have an ordered upper threshold.\" })),\n});\nconst ScopeStatusCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"scope-status/v1\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n assertion: Schema.Literals([\"succeeded\", \"no-failed-actions\"]),\n }),\n});\nconst OccurrenceCriterionV1Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v1\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n occurrence: Schema.Literals([\"tool\", \"skill\", \"event\"]),\n assertion: Schema.Literals([\"present\", \"absent\", \"count\", \"order\"]),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"absent\") }),\n Schema.Struct({\n kind: Schema.Literals([\"at-least\", \"exact\"]),\n count: PositiveIntegerSchema,\n }),\n ])),\n }),\n});\nconst OccurrenceCriterionV2Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v2\"),\n data: Schema.Struct({\n scope: Schema.Literals([\"turn\", \"session\", \"attempt\"]),\n occurrence: Schema.Literals([\"tool\", \"skill\", \"event\"]),\n assertion: Schema.Literals([\"present\", \"absent\", \"count\", \"order\"]),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"absent\") }),\n Schema.Struct({\n kind: Schema.Literal(\"exact\"),\n count: PositiveIntegerSchema,\n }),\n Schema.Struct({\n kind: Schema.Literals([\"at-least\", \"less-than\", \"at-most\", \"greater-than\"]),\n count: NonNegativeSafeIntegerSchema,\n }),\n ])),\n }),\n});\nconst JudgeMeasurementCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"judge-measurement/v1\"),\n data: Schema.Struct({\n recipe: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst JudgeMeasurementCriterionV2Schema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"judge-measurement/v2\"),\n data: Schema.Struct({\n name: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst LlmMeasurementCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"llm-measurement/v1\"),\n data: Schema.Struct({\n name: Schema.String,\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst SandboxResultCriterionSchema = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"changed-paths\"),\n paths: Schema.Array(BoundedJsonStringSchema),\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({ operation: Schema.Literal(\"no-changes\") }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"file-changed\"),\n path: BoundedJsonStringSchema,\n status: Schema.optional(Schema.Literals([\"added\", \"modified\", \"deleted\"])),\n before: Schema.optional(BoundedJsonStringSchema),\n after: Schema.optional(BoundedJsonStringSchema),\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"file-deleted\"),\n path: BoundedJsonStringSchema,\n }),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({\n operation: Schema.Literal(\"not-in-diff\"),\n pattern: BoundedJsonStringSchema,\n flags: BoundedJsonStringSchema,\n content: Schema.Literals([\"added\", \"removed\", \"both\"]),\n }),\n }),\n]);\nconst DirectScoreCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"direct-score/v1\"),\n data: Schema.Struct({ source: Schema.Literal(\"author\") }),\n});\nexport const BuiltInCriterionSchema: Schema.Schema<BuiltInCriterion> = Schema.Union([\n ValueMatchCriterionSchema,\n NumericComparisonCriterionSchema,\n ScopeStatusCriterionSchema,\n OccurrenceCriterionV1Schema,\n OccurrenceCriterionV2Schema,\n JudgeMeasurementCriterionSchema,\n JudgeMeasurementCriterionV2Schema,\n LlmMeasurementCriterionSchema,\n SandboxResultCriterionSchema,\n DirectScoreCriterionSchema,\n]);\nexport const CriterionEnvelopeSchema: Schema.Schema<WritableCriterionEnvelope> = Schema.Union([BuiltInCriterionSchema, ThirdPartyCriterionSchema]);\nexport const AssertionCoverageSchema: Schema.Schema<AssertionCoverage> = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"complete\") }),\n Schema.Struct({\n state: Schema.Literal(\"partial\"),\n reason: Schema.Literals([\"sampled\", \"truncated\", \"redacted\", \"provider-limited\", \"capacity-limited\"]),\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"not-collected\", \"source-unavailable\", \"producer-failed\"]),\n }),\n Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literals([\"optional-material\", \"unsupported-subject\"]),\n }),\n]);\nexport const AssertionLimitationSchema: Schema.Schema<AssertionLimitation> = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"redacted\"),\n fieldCount: NonNegativeIntegerSchema,\n }),\n Schema.Struct({\n kind: Schema.Literal(\"sampled\"),\n captured: NonNegativeIntegerSchema,\n knownTotal: Schema.optional(NonNegativeIntegerSchema),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"truncated\"),\n omittedBytes: NonNegativeIntegerSchema,\n }),\n Schema.Struct({ kind: Schema.Literal(\"provider-limited\") }),\n Schema.Struct({ kind: Schema.Literal(\"capacity-limited\"), capturedItems: NonNegativeIntegerSchema, knownTotalItems: NonNegativeIntegerSchema, omittedBytes: Schema.NullOr(NonNegativeIntegerSchema) }),\n]);\nconst NoScoreContributionSchema: Schema.Schema<NoScoreContribution> = Schema.Struct({ state: Schema.Literal(\"not-scored\") });\nconst EarnedScoreContributionSchema: Schema.Schema<EarnedScoreContribution> = Schema.Struct({\n state: Schema.Literal(\"earned\"),\n points: NonNegativeNumberSchema,\n earned: NonNegativeNumberSchema,\n}).check(Schema.makeFilter((score) => score.earned <= score.points, {\n identifier: \"AssertionEarnedScore\",\n description: \"an earned score no greater than its points\",\n}));\nconst UnavailableScoreContributionSchema: Schema.Schema<UnavailableScoreContribution> = Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n points: NonNegativeNumberSchema,\n reason: Schema.Literals([\"source-unavailable\", \"evaluation-errored\", \"not-applicable\"]),\n});\nfunction hasValidCollectionReceipt(receipt: {\n readonly examined: number;\n readonly matched: number;\n readonly mismatched: number;\n readonly unavailable: number;\n readonly knownTotal: number | null;\n readonly complete: boolean;\n readonly exhaustive: boolean;\n}): boolean {\n if (receipt.matched + receipt.mismatched + receipt.unavailable !== receipt.examined) {\n return false;\n }\n if (receipt.knownTotal !== null && receipt.examined > receipt.knownTotal)\n return false;\n if (receipt.complete && receipt.knownTotal === null)\n return false;\n return !receipt.exhaustive || (receipt.knownTotal !== null && receipt.examined === receipt.knownTotal);\n}\nexport const AssertionCollectionReceiptSchema = Schema.Struct({\n examined: NonNegativeIntegerSchema,\n matched: NonNegativeIntegerSchema,\n mismatched: NonNegativeIntegerSchema,\n unavailable: NonNegativeIntegerSchema,\n knownTotal: Schema.NullOr(NonNegativeIntegerSchema),\n complete: Schema.Boolean,\n exhaustive: Schema.Boolean,\n decisive: Schema.Boolean,\n}).check(Schema.makeFilter(hasValidCollectionReceipt, {\n identifier: \"AssertionCollectionReceipt\",\n description: \"a collection receipt whose counts and completion boundary agree\",\n}));\n/** Share the fact shape while letting each evidence owner apply its string budget. */\nexport function createAssertionFactValueSchema(text: Schema.Schema<string>): Schema.Schema<AssertionFactValue> {\n const fact: Schema.Schema<AssertionFactValue> = Schema.suspend((): Schema.Schema<AssertionFactValue> => Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"not-recorded\", \"not-declared\", \"source-unavailable\"]),\n }),\n Schema.Struct({ kind: Schema.Literal(\"value\"), value: Schema.Union([Schema.Null, Schema.Boolean, Schema.Finite, text]) }),\n Schema.Struct({ kind: Schema.Literal(\"text\"), text }),\n Schema.Struct({ kind: Schema.Literal(\"list\"), items: Schema.Array(fact) }),\n Schema.Struct({\n kind: Schema.Literal(\"fields\"),\n fields: Schema.Array(Schema.Struct({ label: text, value: fact })),\n }),\n ]));\n return fact;\n}\nexport const AssertionFactValueSchema = createAssertionFactValueSchema(BoundedJsonStringSchema);\nexport const MatcherRelationStatusSchema = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"exact\") }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\n \"historical-not-recorded\",\n \"source-unavailable\",\n \"ambiguous\",\n ]),\n }),\n]);\nexport const MatcherSourceLocatorSchema = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"tool-occurrence\"),\n toolOccurrenceId: MatcherIdentitySchema,\n relation: MatcherRelationStatusSchema,\n }),\n Schema.Struct({\n kind: Schema.Literal(\"event\"),\n eventId: MatcherIdentitySchema,\n toolOccurrenceId: Schema.optional(MatcherIdentitySchema),\n relation: MatcherRelationStatusSchema,\n }),\n]);\nexport const MatcherRetainedRowSchema = Schema.Struct({\n locator: MatcherSourceLocatorSchema,\n result: Schema.Literals([\"matched\", \"mismatched\", \"unavailable\", \"not-evaluated\"]),\n difference: Schema.optional(AssertionFactValueSchema),\n});\nconst MatcherRetainedRowsSchema = Schema.Array(MatcherRetainedRowSchema).check(Schema.makeFilter((rows) => rows.length <= 8, {\n identifier: \"MatcherRetainedRows\",\n description: \"at most eight representative matcher rows\",\n}));\nexport const MatcherQueryStepSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n summary: AssertionFactValueSchema,\n});\nexport const MatcherSourceReferenceSchema = Schema.Struct({\n family: Schema.Literal(\"niceeval.agent-turns\"),\n schemaVersion: PositiveIntegerSchema,\n});\nexport const MatcherSourceCollectionStateSchema = Schema.Literals([\n \"complete\",\n \"partial\",\n \"unavailable\",\n]);\nexport const MatcherTurnSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"turn\"),\n sessionId: MatcherIdentitySchema,\n turnId: MatcherIdentitySchema,\n scopeId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherSessionSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"session\"),\n sessionId: MatcherIdentitySchema,\n scopeId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherAttemptSourceSnapshotSchema = Schema.Struct({\n scope: Schema.Literal(\"attempt\"),\n scopeId: MatcherIdentitySchema,\n sessions: Schema.Array(Schema.Struct({\n sessionId: MatcherIdentitySchema,\n throughSessionSequence: NonNegativeIntegerSchema,\n })).check(Schema.makeFilter((sessions) => sessions.every((session, index) => index === 0 || sessions[index - 1]!.sessionId < session.sessionId), {\n identifier: \"MatcherAttemptVectorCut\",\n description: \"a unique vector cut in canonical session identity order\",\n })),\n source: MatcherSourceReferenceSchema,\n collectionAtCut: MatcherSourceCollectionStateSchema,\n});\nexport const MatcherSourceSnapshotSchema: Schema.Schema<MatcherSourceSnapshot> = Schema.Union([\n MatcherTurnSourceSnapshotSchema,\n MatcherSessionSourceSnapshotSchema,\n MatcherAttemptSourceSnapshotSchema,\n]);\nexport const OrderStepReceiptSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n comparisons: NonNegativeIntegerSchema,\n matched: NonNegativeIntegerSchema,\n mismatched: NonNegativeIntegerSchema,\n unavailable: NonNegativeIntegerSchema,\n}).check(Schema.makeFilter((receipt) => receipt.matched + receipt.mismatched + receipt.unavailable === receipt.comparisons, {\n identifier: \"MatcherOrderStepReceipt\",\n description: \"an order step receipt whose result counts equal its comparisons\",\n}));\nexport const OrderEvaluationReceiptSchema = Schema.Struct({\n sourceRows: NonNegativeIntegerSchema,\n comparisons: NonNegativeIntegerSchema,\n unavailableComparisons: NonNegativeIntegerSchema,\n definitePrefixLength: NonNegativeIntegerSchema,\n possiblePrefixLength: NonNegativeIntegerSchema,\n stepReceipts: Schema.Array(OrderStepReceiptSchema),\n complete: Schema.Boolean,\n exhaustive: Schema.Boolean,\n decisive: Schema.Boolean,\n});\nexport const MatcherOrderPathNodeSchema = Schema.Struct({\n step: PositiveIntegerSchema,\n locator: MatcherSourceLocatorSchema,\n sessionId: MatcherIdentitySchema,\n sessionSequence: PositiveIntegerSchema,\n result: Schema.Literals([\"matched\", \"unavailable\"]),\n});\nexport const MatcherFailureFrontierSchema = Schema.Struct({\n longestDefinitePrefix: Schema.Array(MatcherOrderPathNodeSchema),\n longestPossiblePrefix: Schema.Array(MatcherOrderPathNodeSchema),\n firstBlockingStep: PositiveIntegerSchema,\n suffixChecked: AssertionCollectionReceiptSchema,\n representatives: MatcherRetainedRowsSchema,\n});\nfunction isPathWithinSourceCut(path: readonly Schema.Schema.Type<typeof MatcherOrderPathNodeSchema>[], snapshot: Schema.Schema.Type<typeof MatcherTurnSourceSnapshotSchema> | Schema.Schema.Type<typeof MatcherSessionSourceSnapshotSchema>, expectedLength: number, allowed: \"matched\" | \"possible\"): boolean {\n if (path.length !== expectedLength)\n return false;\n let previousSequence = 0;\n for (const [index, node] of path.entries()) {\n if (node.step !== index + 1 ||\n node.sessionId !== snapshot.sessionId ||\n node.sessionSequence <= previousSequence ||\n node.sessionSequence > snapshot.throughSessionSequence ||\n (allowed === \"matched\" && node.result !== \"matched\") ||\n (node.result === \"matched\" && node.locator.relation.state !== \"exact\")) {\n return false;\n }\n previousSequence = node.sessionSequence;\n }\n return true;\n}\nfunction hasValidOrderedArtifact(artifact: Schema.Schema.Type<typeof MatcherOrderedSequenceShapeSchema>): boolean {\n const stepCount = artifact.querySteps.length;\n const receipt = artifact.receipt;\n if (artifact.querySteps.some((step, index) => step.step !== index + 1) ||\n receipt.stepReceipts.length !== stepCount ||\n receipt.stepReceipts.some((step, index) => step.step !== index + 1) ||\n receipt.definitePrefixLength > receipt.possiblePrefixLength ||\n receipt.possiblePrefixLength > stepCount ||\n receipt.comparisons !== receipt.stepReceipts.reduce((sum, step) => sum + step.comparisons, 0) ||\n receipt.unavailableComparisons !== receipt.stepReceipts.reduce((sum, step) => sum + step.unavailable, 0) ||\n receipt.complete !== (artifact.sourceSnapshot.collectionAtCut === \"complete\") ||\n receipt.stepReceipts.some((step) => step.comparisons > receipt.sourceRows) ||\n receipt.stepReceipts.some((step, index) => index > 0 && step.comparisons !== receipt.stepReceipts[0]!.comparisons) ||\n (receipt.exhaustive && receipt.stepReceipts.some((step) => step.comparisons !== receipt.sourceRows))) {\n return false;\n }\n switch (artifact.result.state) {\n case \"matched\":\n return receipt.definitePrefixLength === stepCount &&\n receipt.possiblePrefixLength === stepCount &&\n receipt.decisive &&\n isPathWithinSourceCut(artifact.result.witnessPath, artifact.sourceSnapshot, stepCount, \"matched\");\n case \"mismatched\": {\n const frontier = artifact.result.failureFrontier;\n return receipt.complete && receipt.exhaustive && receipt.decisive &&\n receipt.possiblePrefixLength < stepCount &&\n frontier.firstBlockingStep === receipt.possiblePrefixLength + 1 &&\n frontier.suffixChecked.complete &&\n frontier.suffixChecked.exhaustive &&\n frontier.suffixChecked.decisive &&\n frontier.suffixChecked.knownTotal === frontier.suffixChecked.examined &&\n frontier.suffixChecked.matched === 0 &&\n frontier.suffixChecked.unavailable === 0 &&\n isPathWithinSourceCut(frontier.longestDefinitePrefix, artifact.sourceSnapshot, receipt.definitePrefixLength, \"matched\") &&\n isPathWithinSourceCut(frontier.longestPossiblePrefix, artifact.sourceSnapshot, receipt.possiblePrefixLength, \"possible\");\n }\n case \"unavailable\":\n return artifact.result.reason.length > 0 && !receipt.decisive;\n }\n}\nexport const MatcherCollectionFilterSchema = Schema.Struct({\n kind: Schema.Literal(\"collection-filter\"),\n sourceSnapshot: MatcherSourceSnapshotSchema,\n query: MatcherQueryStepSchema,\n receipt: AssertionCollectionReceiptSchema,\n retainedRows: MatcherRetainedRowsSchema,\n}).check(Schema.makeFilter((artifact) => artifact.query.step === 1 &&\n artifact.receipt.knownTotal !== null &&\n artifact.receipt.complete === (artifact.sourceSnapshot.collectionAtCut === \"complete\"), {\n identifier: \"MatcherCollectionFilterArtifact\",\n description: \"a collection matcher artifact with one query and a matching source cut\",\n}));\nexport const MatcherOrderedSequenceResultSchema = Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"matched\"),\n witnessPath: Schema.Array(MatcherOrderPathNodeSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n failureFrontier: MatcherFailureFrontierSchema,\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: MatcherIdentitySchema,\n }),\n]);\nexport const MatcherOrderedSequenceShapeSchema = Schema.Struct({\n kind: Schema.Literal(\"ordered-sequence\"),\n sourceSnapshot: Schema.Union([\n MatcherTurnSourceSnapshotSchema,\n MatcherSessionSourceSnapshotSchema,\n ]),\n querySteps: Schema.Array(MatcherQueryStepSchema).check(Schema.makeFilter((steps) => steps.length >= 2 && steps.length <= 64, {\n identifier: \"MatcherOrderQuerySteps\",\n description: \"between two and 64 ordered matcher query steps\",\n })),\n receipt: OrderEvaluationReceiptSchema,\n result: MatcherOrderedSequenceResultSchema,\n retainedRows: MatcherRetainedRowsSchema,\n});\nconst MatcherOrderedSequenceSchema = MatcherOrderedSequenceShapeSchema.check(Schema.makeFilter(hasValidOrderedArtifact, {\n identifier: \"MatcherOrderedSequenceArtifact\",\n description: \"an ordered matcher artifact with consistent receipts, paths, and cut\",\n}));\nfunction isMatcherArtifactWithinSizeLimit(value: unknown): boolean {\n try {\n return utf8ByteLength(JSON.stringify(value)) <= MAX_MATCHER_QUERY_ARTIFACT_BYTES;\n }\n catch {\n return false;\n }\n}\nexport const MatcherQueryArtifactSchema: Schema.Schema<MatcherQueryArtifact> = Schema.Union([MatcherCollectionFilterSchema, MatcherOrderedSequenceSchema]).check(Schema.makeFilter(isMatcherArtifactWithinSizeLimit, {\n identifier: \"MatcherQueryArtifactSize\",\n description: \"a matcher query artifact no larger than 64 KiB\",\n}));\nexport const AssertionConditionValueSchema = Schema.Union([\n Schema.Struct({ kind: Schema.Literal(\"boolean\"), expected: Schema.Literal(true) }),\n Schema.Struct({ kind: Schema.Literal(\"at-least\"), threshold: NonNegativeNumberSchema }),\n Schema.Struct({ kind: Schema.Literal(\"record-only\") }),\n]);\nexport const AssertionDecisionPolicySchema = Schema.Struct({\n requirement: Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: Schema.Literals([\"required\", \"optional\"]),\n }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n condition: Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: AssertionConditionValueSchema,\n }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n});\nexport const SealedAssertionResultSchema: Schema.Schema<SealedAssertionResult> = Schema.Union([\n Schema.Struct({\n state: Schema.Literal(\"matched\"),\n gate: Schema.Literals([\"not-gate\", \"satisfied\"]),\n score: Schema.Union([NoScoreContributionSchema, EarnedScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n reason: Schema.Literal(\"condition-not-met\"),\n gate: Schema.Literals([\"not-gate\", \"failed\"]),\n score: Schema.Union([NoScoreContributionSchema, EarnedScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literals([\"evidence-unavailable\", \"source-unavailable\", \"redacted\"]),\n gate: Schema.Literals([\"not-gate\", \"unavailable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"errored\"),\n reason: Schema.Literals([\"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\"]),\n gate: Schema.Literals([\"not-gate\", \"unavailable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"coverage-not-applicable\"),\n gate: Schema.Literals([\"not-gate\", \"not-applicable\"]),\n score: Schema.Union([NoScoreContributionSchema, UnavailableScoreContributionSchema]),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n }),\n]);\n/**\n * Assertions owns the shared current entry framing. The caller supplies the\n * exact material declaration so current content and migration-private\n * historical material never share a physical union.\n */\nexport function createAssertionsRecordSchemas<Material, MaterialEncoded>(material: Schema.Codec<Material, MaterialEncoded>) {\n const evidence = Schema.Array(material);\n const limitations = Schema.Array(Schema.toType(AssertionLimitationSchema));\n const materials = Schema.Struct({\n source: material,\n evidence,\n coverage: Schema.toType(AssertionCoverageSchema),\n limitations,\n }).check(Schema.makeFilter((value) => hasCoverageConsistentLimitations(value), {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const historicalV2Evaluation = Schema.Struct({\n observed: Schema.toType(AssertionFactValueSchema),\n receipt: Schema.optional(Schema.toType(AssertionCollectionReceiptSchema)),\n });\n const evaluation = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"ordinary\"),\n observed: Schema.toType(AssertionFactValueSchema),\n receipt: Schema.optional(Schema.toType(AssertionCollectionReceiptSchema)),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"matcher-current\"),\n observed: Schema.toType(AssertionFactValueSchema),\n artifact: Schema.toType(MatcherQueryArtifactSchema),\n receipt: Schema.optional(Schema.Never),\n }),\n Schema.Struct({\n kind: Schema.Literal(\"matcher-legacy\"),\n observed: Schema.toType(AssertionFactValueSchema),\n reason: Schema.Literal(\"historical-not-recorded\"),\n legacyDiagnostic: Schema.optional(Schema.toType(AssertionFactValueSchema)),\n receipt: Schema.optional(Schema.Never),\n }),\n ]);\n const decision = Schema.Struct({\n result: Schema.Literals([\"matched\", \"mismatched\", \"unavailable\", \"errored\", \"not-applicable\"]),\n reason: Schema.NullOr(Schema.Literals([\n \"condition-not-met\", \"evidence-unavailable\", \"source-unavailable\", \"redacted\",\n \"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\", \"coverage-not-applicable\",\n ])),\n gate: Schema.Literals([\"not-gate\", \"satisfied\", \"failed\", \"unavailable\", \"not-applicable\"]),\n });\n const explanationRetention = Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"retained\"), value: Schema.toType(AssertionFactValueSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]);\n const historicalV2OuterEntry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(BoundedJsonObjectSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation: historicalV2Evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n });\n const outerEntry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(BoundedJsonObjectSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n }).check(Schema.makeFilter((entry) => entry.evaluation.kind === \"ordinary\" ||\n entry.explanationRetention.state === \"unavailable\", {\n identifier: \"MatcherExplanationOwnership\",\n description: \"matcher artifacts and legacy diagnostics are not duplicated in explanation retention\",\n }));\n const historicalV2Entries = Schema.Array(historicalV2OuterEntry).check(Schema.makeFilter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const entries = Schema.Array(outerEntry).check(Schema.makeFilter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const outerDocument = Schema.Struct({ entries }).check(Schema.makeFilter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.makeFilter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n const entry = Schema.Struct({\n entryId: Schema.toType(AssertionEntryIdSchema),\n display: Schema.toType(AssertionDisplaySchema),\n criterion: Schema.Union([\n Schema.Struct({ state: Schema.Literal(\"available\"), value: Schema.toType(CriterionEnvelopeSchema) }),\n Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }),\n ]),\n materials,\n evaluation,\n decision,\n policy: Schema.toType(AssertionDecisionPolicySchema),\n contribution: Schema.Union([Schema.toType(NoScoreContributionSchema), Schema.toType(EarnedScoreContributionSchema), Schema.toType(UnavailableScoreContributionSchema)]),\n explanationRetention,\n });\n const document = Schema.Struct({\n entries: Schema.Array(entry).check(Schema.makeFilter((entries) => entries.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n })),\n }).check(Schema.makeFilter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.makeFilter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n return Object.freeze({\n material,\n entry,\n entries,\n historicalV2Entries,\n outerDocument,\n document,\n });\n}\nexport interface AssertionsRecordCodecError {\n readonly code: \"assertions-document-invalid\";\n}\nconst assertionsDocumentInvalid: AssertionsRecordCodecError = Object.freeze({\n code: \"assertions-document-invalid\",\n});\nexport function decodeAssertionsDocumentOuter<Content, Encoded>(schema: Schema.Codec<AssertionsDocumentOuter<Content>, Encoded>, input: unknown): Result.Result<AssertionsDocumentOuter<Content>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Result.fail(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownResult(schema, AssertionsExactParseOptions)(input);\n return Result.isFailure(decoded)\n ? Result.fail(assertionsDocumentInvalid)\n : Result.succeed(decoded.success);\n}\nexport function decodeAssertionsDocument<Content, Encoded>(schema: Schema.Codec<AssertionsDocument<Content>, Encoded>, input: unknown): Result.Result<AssertionsDocument<Content>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Result.fail(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownResult(schema, AssertionsExactParseOptions)(input);\n return Result.isFailure(decoded)\n ? Result.fail(assertionsDocumentInvalid)\n : Result.succeed(decoded.success);\n}\nexport interface ThirdPartyCriterionDefinition {\n readonly name: string;\n readonly schemaId: string;\n readonly dataSchema: Schema.Codec<unknown, unknown>;\n}\nexport interface ThirdPartyCriterionRegistry {\n readonly lookup: (name: string, schemaId: string) => ThirdPartyCriterionDefinition | undefined;\n}\nexport type ThirdPartyCriterionRegistryError = {\n readonly code: \"third-party-criterion-identity-invalid\";\n readonly name: string;\n readonly schemaId: string;\n} | {\n readonly code: \"third-party-criterion-duplicate\";\n readonly name: string;\n readonly schemaId: string;\n};\nfunction thirdPartyCriterionKey(name: string, schemaId: string): string {\n return `${name}\\u0000${schemaId}`;\n}\nexport function makeThirdPartyCriterionRegistry(definitions: readonly ThirdPartyCriterionDefinition[]): Result.Result<ThirdPartyCriterionRegistry, ThirdPartyCriterionRegistryError> {\n const byIdentity = new Map<string, ThirdPartyCriterionDefinition>();\n for (const definition of definitions) {\n if (!isAsciiIdentifier(definition.name) || !isAsciiIdentifier(definition.schemaId)) {\n return Result.fail({\n code: \"third-party-criterion-identity-invalid\",\n name: definition.name,\n schemaId: definition.schemaId,\n });\n }\n const key = thirdPartyCriterionKey(definition.name, definition.schemaId);\n if (byIdentity.has(key)) {\n return Result.fail({\n code: \"third-party-criterion-duplicate\",\n name: definition.name,\n schemaId: definition.schemaId,\n });\n }\n byIdentity.set(key, Object.freeze({ ...definition }));\n }\n return Result.succeed(Object.freeze({\n lookup(name: string, schemaId: string) {\n return byIdentity.get(thirdPartyCriterionKey(name, schemaId));\n },\n }));\n}\nconst KNOWN_BUILTIN_CRITERION_IDS: ReadonlySet<string> = new Set([\n \"value-match/v1\",\n \"numeric-comparison/v1\",\n \"scope-status/v1\",\n \"occurrence/v1\",\n \"occurrence/v2\",\n \"judge-measurement/v1\",\n \"judge-measurement/v2\",\n \"llm-measurement/v1\",\n \"sandbox-result/v1\",\n \"direct-score/v1\",\n]);\nfunction availableEntry<Content>(entry: AssertionEntryOuter<Content>, criterion: WritableCriterionEnvelope): AssertionEntryRead<Content> {\n const available: AssertionEntry<Content> = {\n ...entry,\n criterion: Object.freeze({ state: \"available\" as const, value: criterion }),\n };\n return Object.freeze({ state: \"available\", entry: Object.freeze(available) });\n}\nfunction projectAssertionEntry<Content>(entry: AssertionEntryOuter<Content>, registry: ThirdPartyCriterionRegistry): AssertionEntryRead<Content> {\n if (entry.criterion.state === \"unavailable\") {\n return Object.freeze({ state: \"available\", entry: entry as AssertionEntry<Content> });\n }\n const criterionValue = entry.criterion.value;\n const builtinEnvelope = Schema.decodeUnknownResult(Schema.toType(BuiltInCriterionEnvelopeSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isSuccess(builtinEnvelope)) {\n const builtin = Schema.decodeUnknownResult(Schema.toType(BuiltInCriterionSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isSuccess(builtin)) {\n return availableEntry(entry, builtin.success);\n }\n if (KNOWN_BUILTIN_CRITERION_IDS.has(builtinEnvelope.success.id)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return Object.freeze({\n state: \"unsupported\",\n entry,\n reason: \"builtin-unknown\",\n });\n }\n const thirdParty = Schema.decodeUnknownResult(Schema.toType(ThirdPartyCriterionSchema), AssertionsExactParseOptions)(criterionValue);\n if (Result.isFailure(thirdParty)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-envelope-invalid\",\n });\n }\n const definition = registry.lookup(thirdParty.success.name, thirdParty.success.schemaId);\n if (definition === undefined) {\n return Object.freeze({\n state: \"unsupported\",\n entry,\n reason: \"third-party-schema-unavailable\",\n });\n }\n const data = Schema.decodeUnknownResult(Schema.toType(definition.dataSchema), AssertionsExactParseOptions)(thirdParty.success.data);\n if (Result.isFailure(data)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return availableEntry(entry, thirdParty.success);\n}\n/**\n * Projection is synchronous and never re-evaluates an Assertion. Its only\n * dynamic work is criterion interpretation inside each already-valid entry.\n */\nexport function projectAssertionsDocument<Content>(document: AssertionsDocumentOuter<Content>, registry: ThirdPartyCriterionRegistry): AssertionsProjection<Content> {\n return Object.freeze({\n entries: Object.freeze(document.entries.map((entry) => projectAssertionEntry(entry, registry))),\n });\n}\n"]}
@@ -33,6 +33,8 @@ export declare const AssertionCollectionReceiptSchema: Schema.Struct<{
33
33
  readonly exhaustive: Schema.Boolean;
34
34
  readonly decisive: Schema.Boolean;
35
35
  }>;
36
+ /** Share the fact shape while letting each evidence owner apply its string budget. */
37
+ export declare function createAssertionFactValueSchema(text: Schema.Schema<string>): Schema.Schema<AssertionFactValue>;
36
38
  export declare const AssertionFactValueSchema: Schema.Schema<AssertionFactValue>;
37
39
  export declare const MatcherRelationStatusSchema: Schema.Union<readonly [Schema.Struct<{
38
40
  readonly state: Schema.Literal<"exact">;
@@ -33,6 +33,8 @@ export declare const AssertionCollectionReceiptSchema: Schema.Struct<{
33
33
  readonly exhaustive: Schema.Boolean;
34
34
  readonly decisive: Schema.Boolean;
35
35
  }>;
36
+ /** Share the fact shape while letting each evidence owner apply its string budget. */
37
+ export declare function createAssertionFactValueSchema(text: Schema.Schema<string>): Schema.Schema<AssertionFactValue>;
36
38
  export declare const AssertionFactValueSchema: Schema.Schema<AssertionFactValue>;
37
39
  export declare const MatcherRelationStatusSchema: Schema.Union<readonly [Schema.Struct<{
38
40
  readonly state: Schema.Literal<"exact">;
@@ -33,6 +33,8 @@ export declare const AssertionCollectionReceiptSchema: Schema.Struct<{
33
33
  readonly exhaustive: Schema.Boolean;
34
34
  readonly decisive: Schema.Boolean;
35
35
  }>;
36
+ /** Share the fact shape while letting each evidence owner apply its string budget. */
37
+ export declare function createAssertionFactValueSchema(text: Schema.Schema<string>): Schema.Schema<AssertionFactValue>;
36
38
  export declare const AssertionFactValueSchema: Schema.Schema<AssertionFactValue>;
37
39
  export declare const MatcherRelationStatusSchema: Schema.Union<readonly [Schema.Struct<{
38
40
  readonly state: Schema.Literal<"exact">;