niceeval 0.13.2 → 0.13.3
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.
- package/dist/agents/bub.cjs +4 -4
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +2 -2
- package/dist/agents/bub.d.mts +2 -2
- package/dist/agents/bub.d.ts +2 -2
- package/dist/agents/claude-code-native.cjs +213 -0
- package/dist/agents/claude-code-native.cjs.map +1 -0
- package/dist/agents/claude-code-native.d.cts +5 -0
- package/dist/agents/claude-code-native.d.mts +5 -0
- package/dist/agents/claude-code-native.d.ts +5 -0
- package/dist/agents/claude-code-native.js +6 -0
- package/dist/agents/claude-code-native.js.map +1 -0
- package/dist/agents/claude-code.cjs +26 -80
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex-app-server.cjs +314 -0
- package/dist/agents/codex-app-server.cjs.map +1 -0
- package/dist/agents/codex-app-server.d.cts +9 -0
- package/dist/agents/codex-app-server.d.mts +9 -0
- package/dist/agents/codex-app-server.d.ts +9 -0
- package/dist/agents/codex-app-server.js +6 -0
- package/dist/agents/codex-app-server.js.map +1 -0
- package/dist/agents/codex.cjs +19 -68
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +3 -3
- package/dist/agents/codex.d.mts +3 -3
- package/dist/agents/codex.d.ts +3 -3
- package/dist/agents/index.cjs +3 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +1 -0
- package/dist/agents/index.d.mts +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.js +84 -82
- package/dist/agents/index.mjs +84 -82
- package/dist/agents/managed-jsonl.cjs +207 -0
- package/dist/agents/managed-jsonl.cjs.map +1 -0
- package/dist/agents/managed-jsonl.d.cts +39 -0
- package/dist/agents/managed-jsonl.d.mts +39 -0
- package/dist/agents/managed-jsonl.d.ts +39 -0
- package/dist/agents/managed-jsonl.js +6 -0
- package/dist/agents/managed-jsonl.js.map +1 -0
- package/dist/agents/managed-process.cjs +31 -0
- package/dist/agents/managed-process.cjs.map +1 -0
- package/dist/agents/managed-process.d.cts +3 -0
- package/dist/agents/managed-process.d.mts +3 -0
- package/dist/agents/managed-process.d.ts +3 -0
- package/dist/agents/managed-process.js +6 -0
- package/dist/agents/managed-process.js.map +1 -0
- package/dist/agents/omp.cjs +18 -1
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/sdk-streams.cjs +11 -4
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +8 -0
- package/dist/agents/types.d.mts +8 -0
- package/dist/agents/types.d.ts +8 -0
- package/dist/analysis/bindings.cjs +74 -19
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +534 -156
- package/dist/analysis/bindings.d.mts +534 -156
- package/dist/analysis/bindings.d.ts +534 -156
- package/dist/analysis/domain-view.cjs.map +1 -1
- package/dist/analysis/domain-view.d.cts +137 -8
- package/dist/analysis/domain-view.d.mts +137 -8
- package/dist/analysis/domain-view.d.ts +137 -8
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +1 -1
- package/dist/analysis/index.d.mts +1 -1
- package/dist/analysis/index.d.ts +1 -1
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +62 -0
- package/dist/assertions/api.d.mts +62 -0
- package/dist/assertions/api.d.ts +62 -0
- package/dist/assertions/judge.cjs +56 -5
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/match.cjs +66 -42
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +13 -0
- package/dist/assertions/match.d.mts +13 -0
- package/dist/assertions/match.d.ts +13 -0
- package/dist/assertions/record/attachment.cjs +104 -33
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/attachment.d.cts +294 -57
- package/dist/assertions/record/attachment.d.mts +294 -57
- package/dist/assertions/record/attachment.d.ts +294 -57
- package/dist/assertions/record/codec.cjs +91 -17
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/codec.d.cts +280 -52
- package/dist/assertions/record/codec.d.mts +280 -52
- package/dist/assertions/record/codec.d.ts +280 -52
- package/dist/assertions/record/index.js +2 -0
- package/dist/assertions/record/model.cjs +16 -0
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +120 -13
- package/dist/assertions/record/model.d.mts +120 -13
- package/dist/assertions/record/model.d.ts +120 -13
- package/dist/assertions/record/model.js +2 -0
- package/dist/assertions/record/producer.cjs +70 -50
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +8 -7
- package/dist/assertions/record/producer.d.mts +8 -7
- package/dist/assertions/record/producer.d.ts +8 -7
- package/dist/assertions/runtime.cjs +49 -7
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/application.cjs +40 -0
- package/dist/cli/application.cjs.map +1 -0
- package/dist/cli/application.d.cts +129 -0
- package/dist/cli/application.d.mts +129 -0
- package/dist/cli/application.d.ts +129 -0
- package/dist/cli/application.js +24 -0
- package/dist/cli/application.js.map +1 -0
- package/dist/cli/bootstrap.cjs +10 -4
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/node-application.cjs +123 -0
- package/dist/cli/node-application.cjs.map +1 -0
- package/dist/cli/node-application.d.cts +14 -0
- package/dist/cli/node-application.d.mts +14 -0
- package/dist/cli/node-application.d.ts +14 -0
- package/dist/cli/node-application.js +26 -0
- package/dist/cli/node-application.js.map +1 -0
- package/dist/cli/program.cjs +2807 -0
- package/dist/cli/program.cjs.map +1 -0
- package/dist/cli/program.d.cts +352 -0
- package/dist/cli/program.d.mts +352 -0
- package/dist/cli/program.d.ts +352 -0
- package/dist/cli/program.js +36 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/project-configuration.cjs +134 -0
- package/dist/cli/project-configuration.cjs.map +1 -0
- package/dist/cli/project-configuration.d.cts +64 -0
- package/dist/cli/project-configuration.d.mts +64 -0
- package/dist/cli/project-configuration.d.ts +64 -0
- package/dist/cli/project-configuration.js +22 -0
- package/dist/cli/project-configuration.js.map +1 -0
- package/dist/cli/record.cjs +20 -4
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +3 -3
- package/dist/cli/record.d.mts +3 -3
- package/dist/cli/record.d.ts +3 -3
- package/dist/cli.cjs +19 -3130
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +2 -148
- package/dist/cli.d.mts +2 -148
- package/dist/cli.d.ts +2 -148
- package/dist/cli.js +22 -30
- package/dist/context/assert-first.cjs +21 -15
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +1 -0
- package/dist/context/assert-first.d.mts +1 -0
- package/dist/context/assert-first.d.ts +1 -0
- package/dist/context/attempt-resources.cjs +13 -0
- package/dist/context/attempt-resources.cjs.map +1 -0
- package/dist/context/attempt-resources.d.cts +3 -0
- package/dist/context/attempt-resources.d.mts +3 -0
- package/dist/context/attempt-resources.d.ts +3 -0
- package/dist/context/attempt-resources.js +8 -0
- package/dist/context/attempt-resources.js.map +1 -0
- package/dist/context/session.cjs +4 -3
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +1 -0
- package/dist/context/session.d.mts +1 -0
- package/dist/context/session.d.ts +1 -0
- package/dist/eval/record/verdict.cjs +3 -2
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -6
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +1 -0
- package/dist/experiment/host/index.d.mts +1 -0
- package/dist/experiment/host/index.d.ts +1 -0
- package/dist/load-config.cjs +13 -4
- package/dist/load-config.cjs.map +1 -1
- package/dist/load-config.d.cts +4 -3
- package/dist/load-config.d.mts +4 -3
- package/dist/load-config.d.ts +4 -3
- package/dist/load-config.js +4 -2
- package/dist/o11y/parsers/codex.cjs +29 -7
- package/dist/o11y/parsers/codex.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +0 -2
- package/dist/record/codec/core.d.mts +0 -2
- package/dist/record/codec/core.d.ts +0 -2
- package/dist/record/codec/identifiers.cjs +2 -3
- package/dist/record/codec/identifiers.cjs.map +1 -1
- package/dist/record/codec/identifiers.d.cts +1 -2
- package/dist/record/codec/identifiers.d.mts +1 -2
- package/dist/record/codec/identifiers.d.ts +1 -2
- package/dist/record/codec/identifiers.js +10 -12
- package/dist/record/codec/index.js +42 -44
- package/dist/record/definition/attachment.cjs +1 -0
- package/dist/record/definition/attachment.cjs.map +1 -1
- package/dist/record/definition/attachment.d.cts +14 -0
- package/dist/record/definition/attachment.d.mts +14 -0
- package/dist/record/definition/attachment.d.ts +14 -0
- package/dist/record/family/assertions-v1.cjs +104 -0
- package/dist/record/family/assertions-v1.cjs.map +1 -0
- package/dist/record/family/assertions-v1.d.cts +2 -0
- package/dist/record/family/assertions-v1.d.mts +2 -0
- package/dist/record/family/assertions-v1.d.ts +2 -0
- package/dist/record/family/assertions-v1.js +6 -0
- package/dist/record/family/assertions-v1.js.map +1 -0
- package/dist/record/family/assertions.cjs +16 -5
- package/dist/record/family/assertions.cjs.map +1 -1
- package/dist/record/family/assertions.d.cts +510 -56
- package/dist/record/family/assertions.d.mts +510 -56
- package/dist/record/family/assertions.d.ts +510 -56
- package/dist/record/family/assertions.js +14 -10
- package/dist/record/family/catalog.cjs +17 -1
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +1292 -104
- package/dist/record/family/catalog.d.mts +1292 -104
- package/dist/record/family/catalog.d.ts +1292 -104
- package/dist/record/family/catalog.js +22 -20
- package/dist/record/family/index.js +144 -138
- package/dist/record/family/observability-v1.cjs +5 -0
- package/dist/record/family/observability-v1.cjs.map +1 -1
- package/dist/record/family/observability.cjs +1 -1
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/host/runtime.cjs +323 -173
- package/dist/record/host/runtime.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +9 -7
- package/dist/record/host/types.d.mts +9 -7
- package/dist/record/host/types.d.ts +9 -7
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -2
- package/dist/record/model/core.d.mts +1 -2
- package/dist/record/model/core.d.ts +1 -2
- package/dist/record/model/definition.cjs +1 -2
- package/dist/record/model/definition.cjs.map +1 -1
- package/dist/record/model/definition.d.cts +1 -7
- package/dist/record/model/definition.d.mts +1 -7
- package/dist/record/model/definition.d.ts +1 -7
- package/dist/record/model/identifiers.cjs +2 -3
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -3
- package/dist/record/model/identifiers.d.mts +1 -3
- package/dist/record/model/identifiers.d.ts +1 -3
- package/dist/record/model/identifiers.js +36 -38
- package/dist/record/model/index.js +60 -62
- package/dist/record/platform/node.cjs +17 -7
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +8 -3
- package/dist/record/platform/services.d.mts +8 -3
- package/dist/record/platform/services.d.ts +8 -3
- package/dist/record/reader/format.cjs +16 -65
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +5 -9
- package/dist/record/reader/format.d.mts +5 -9
- package/dist/record/reader/format.d.ts +5 -9
- package/dist/record/reader/index.js +10 -8
- package/dist/record/reader/runtime.cjs +63 -32
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +40 -4
- package/dist/record/reader/runtime.d.mts +40 -4
- package/dist/record/reader/runtime.d.ts +40 -4
- package/dist/record/reader/runtime.js +6 -4
- package/dist/report/assets/enhance.js +5 -5
- package/dist/report/assets/styles.css +190 -24
- package/dist/report/built-in/result-components.cjs +8 -5
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/standard.cjs +3 -0
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +2 -0
- package/dist/report/built-in/standard.d.mts +2 -0
- package/dist/report/built-in/standard.d.ts +2 -0
- package/dist/report/client-dist/app.js +53 -0
- package/dist/report/components/attempt-detail/compute.cjs +108 -231
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +11 -45
- package/dist/report/components/attempt-detail/compute.d.mts +11 -45
- package/dist/report/components/attempt-detail/compute.d.ts +11 -45
- package/dist/report/components/attempt-detail/compute.js +2 -4
- package/dist/report/components/attempt-detail/content.cjs +4 -4
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/attempt-detail/validate.cjs +47 -4
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +9 -15
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/content.cjs +53 -40
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +1 -3
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/experiment-detail/compute.cjs +4 -6
- package/dist/report/components/experiment-detail/compute.cjs.map +1 -1
- package/dist/report/components/summaries/index.cjs +5 -1
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/definition/cell.cjs +14 -7
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +4 -0
- package/dist/report/definition/cell.d.mts +4 -0
- package/dist/report/definition/cell.d.ts +4 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs +96 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -0
- package/dist/report/definition/primitives/assertion-evidence.d.cts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.mts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.ts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.js +6 -0
- package/dist/report/definition/primitives/assertion-evidence.js.map +1 -0
- package/dist/report/definition/primitives/conversation.cjs +7 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -1
- package/dist/report/definition/primitives/conversation.d.cts +2 -0
- package/dist/report/definition/primitives/conversation.d.mts +2 -0
- package/dist/report/definition/primitives/conversation.d.ts +2 -0
- package/dist/report/definition/primitives/turn-trace.cjs +53 -3
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +14 -1
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +16 -8
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +6 -0
- package/dist/report/definition/report.d.mts +6 -0
- package/dist/report/definition/report.d.ts +6 -0
- package/dist/report/definition/table-text.cjs +12 -3
- package/dist/report/definition/table-text.cjs.map +1 -1
- package/dist/report/definition/table-text.d.cts +6 -1
- package/dist/report/definition/table-text.d.mts +6 -1
- package/dist/report/definition/table-text.d.ts +6 -1
- package/dist/report/execution/model.cjs +6 -14
- package/dist/report/execution/model.cjs.map +1 -1
- package/dist/report/execution/model.d.cts +5 -10
- package/dist/report/execution/model.d.mts +5 -10
- package/dist/report/execution/model.d.ts +5 -10
- package/dist/report/execution/model.js +6 -6
- package/dist/report/execution/paths.cjs +0 -11
- package/dist/report/execution/paths.cjs.map +1 -1
- package/dist/report/execution/paths.d.cts +0 -1
- package/dist/report/execution/paths.d.mts +0 -1
- package/dist/report/execution/paths.d.ts +0 -1
- package/dist/report/execution/paths.js +6 -8
- package/dist/report/host/execute.cjs +13 -22
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +1 -4
- package/dist/report/host/execute.d.mts +1 -4
- package/dist/report/host/execute.d.ts +1 -4
- package/dist/report/host/from-record.cjs +3 -0
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/from-record.d.cts +4 -1
- package/dist/report/host/from-record.d.mts +4 -1
- package/dist/report/host/from-record.d.ts +4 -1
- package/dist/report/host/site-assets.cjs +1 -2
- package/dist/report/host/site-assets.cjs.map +1 -1
- package/dist/report/host/site-assets.d.cts +0 -1
- package/dist/report/host/site-assets.d.mts +0 -1
- package/dist/report/host/site-assets.d.ts +0 -1
- package/dist/report/host/site-assets.js +2 -4
- package/dist/report/host/static.cjs +71 -346
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/host/static.d.cts +1 -3
- package/dist/report/host/static.d.mts +1 -3
- package/dist/report/host/static.d.ts +1 -3
- package/dist/report/host/static.js +2 -2
- package/dist/report/host/view-session.cjs.map +1 -1
- package/dist/report/host/view-session.d.cts +1 -1
- package/dist/report/host/view-session.d.mts +1 -1
- package/dist/report/host/view-session.d.ts +1 -1
- package/dist/report/model/locale.cjs +1 -1
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -1
- package/dist/report/model/locale.d.mts +1 -1
- package/dist/report/model/locale.d.ts +1 -1
- package/dist/report/model/pricing.cjs +2 -2
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/enhance.js +5 -5
- package/dist/report/react/styles.css +190 -24
- package/dist/runner/adoption.cjs +4 -7
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-resources.cjs +60 -0
- package/dist/runner/attempt-resources.cjs.map +1 -0
- package/dist/runner/attempt-resources.d.cts +13 -0
- package/dist/runner/attempt-resources.d.mts +13 -0
- package/dist/runner/attempt-resources.d.ts +13 -0
- package/dist/runner/attempt-resources.js +6 -0
- package/dist/runner/attempt-resources.js.map +1 -0
- package/dist/runner/attempt.cjs +37 -3
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/feedback/failure.cjs +77 -2
- package/dist/runner/feedback/failure.cjs.map +1 -1
- package/dist/runner/feedback/failure.d.cts +2 -1
- package/dist/runner/feedback/failure.d.mts +2 -1
- package/dist/runner/feedback/failure.d.ts +2 -1
- package/dist/runner/project-current.cjs +2 -13
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/project-current.d.cts +4 -2
- package/dist/runner/project-current.d.mts +4 -2
- package/dist/runner/project-current.d.ts +4 -2
- package/dist/runner/reporters/braintrust.cjs +7 -7
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reuse-readback.cjs +3 -4
- package/dist/runner/reuse-readback.cjs.map +1 -1
- package/dist/runner/run.cjs +5 -2
- package/dist/runner/run.cjs.map +1 -1
- package/dist/sandbox/backend.cjs +32 -2
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +12 -1
- package/dist/sandbox/backend.d.mts +12 -1
- package/dist/sandbox/backend.d.ts +12 -1
- package/dist/sandbox/backend.js +28 -22
- package/dist/sandbox/docker.cjs +140 -0
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +3 -1
- package/dist/sandbox/docker.d.mts +3 -1
- package/dist/sandbox/docker.d.ts +3 -1
- package/dist/sandbox/e2b.cjs +42 -0
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/e2b.d.cts +2 -0
- package/dist/sandbox/e2b.d.mts +2 -0
- package/dist/sandbox/e2b.d.ts +2 -0
- package/dist/sandbox/local.cjs +64 -0
- package/dist/sandbox/local.cjs.map +1 -1
- package/dist/sandbox/local.d.cts +3 -1
- package/dist/sandbox/local.d.mts +3 -1
- package/dist/sandbox/local.d.ts +3 -1
- package/dist/sandbox/managed-process.cjs +49 -0
- package/dist/sandbox/managed-process.cjs.map +1 -0
- package/dist/sandbox/managed-process.d.cts +11 -0
- package/dist/sandbox/managed-process.d.mts +11 -0
- package/dist/sandbox/managed-process.d.ts +11 -0
- package/dist/sandbox/managed-process.js +6 -0
- package/dist/sandbox/managed-process.js.map +1 -0
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +24 -0
- package/dist/sandbox/types.d.mts +24 -0
- package/dist/sandbox/types.d.ts +24 -0
- package/dist/sandbox/vercel.cjs +1 -0
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sandbox/vercel.d.cts +1 -0
- package/dist/sandbox/vercel.d.mts +1 -0
- package/dist/sandbox/vercel.d.ts +1 -0
- package/dist/view/server.cjs +2 -37
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +0 -3
- package/dist/view/server.d.mts +0 -3
- package/dist/view/server.d.ts +0 -3
- package/docs-site/zh/reference/builtin-agents.mdx +7 -7
- package/docs-site/zh/reference/official-adapters.mdx +4 -4
- package/docs-site/zh/reference/report-components.mdx +2 -2
- package/docs-site/zh/tutorials/configuration.mdx +2 -2
- package/docs-site/zh/tutorials/deploy-report-site.mdx +24 -2
- package/docs-site/zh/tutorials/publish-report.mdx +4 -4
- package/docs-site/zh/tutorials/sandbox-agent.mdx +5 -5
- package/docs-site/zh/tutorials/theming.mdx +2 -2
- package/package.json +4 -6
- package/dist/record/migration/index.cjs +0 -5
- package/dist/record/migration/index.cjs.map +0 -1
- package/dist/record/migration/index.d.cts +0 -11
- package/dist/record/migration/index.d.mts +0 -11
- package/dist/record/migration/index.d.ts +0 -11
- package/dist/record/migration/index.js +0 -6
- package/dist/record/migration/index.js.map +0 -1
- package/dist/report/host/site-runtime.cjs +0 -92
- package/dist/report/host/site-runtime.cjs.map +0 -1
- package/dist/report/host/site-runtime.d.cts +0 -9
- package/dist/report/host/site-runtime.d.mts +0 -9
- package/dist/report/host/site-runtime.d.ts +0 -9
- package/dist/report/host/site-runtime.js +0 -10
- package/dist/report/host/site-runtime.js.map +0 -1
- package/dist/view/client-dist/app.css +0 -2
- package/dist/view/client-dist/app.js +0 -49
- package/dist/view/data.cjs +0 -3
- package/dist/view/data.cjs.map +0 -1
- package/dist/view/data.d.cts +0 -9
- package/dist/view/data.d.mts +0 -9
- package/dist/view/data.d.ts +0 -9
- package/dist/view/data.js +0 -4
- package/dist/view/data.js.map +0 -1
- package/dist/view/index.cjs +0 -24
- package/dist/view/index.cjs.map +0 -1
- package/dist/view/index.d.cts +0 -9
- package/dist/view/index.d.mts +0 -9
- package/dist/view/index.d.ts +0 -9
- package/dist/view/index.js +0 -28
- package/dist/view/index.js.map +0 -1
- package/dist/view/report-view-cache.cjs +0 -200
- package/dist/view/report-view-cache.cjs.map +0 -1
- package/dist/view/report-view-cache.d.cts +0 -67
- package/dist/view/report-view-cache.d.mts +0 -67
- package/dist/view/report-view-cache.d.ts +0 -67
- package/dist/view/report-view-cache.js +0 -8
- package/dist/view/report-view-cache.js.map +0 -1
- package/dist/view/shared/types.cjs +0 -3
- package/dist/view/shared/types.cjs.map +0 -1
- package/dist/view/shared/types.d.cts +0 -51
- package/dist/view/shared/types.d.mts +0 -51
- package/dist/view/shared/types.d.ts +0 -51
- package/dist/view/shared/types.js +0 -4
- package/dist/view/shared/types.js.map +0 -1
- package/dist/view/site.cjs +0 -32
- package/dist/view/site.cjs.map +0 -1
- package/dist/view/site.d.cts +0 -24
- package/dist/view/site.d.mts +0 -24
- package/dist/view/site.d.ts +0 -24
- package/dist/view/site.js +0 -8
- package/dist/view/site.js.map +0 -1
- package/dist/view/styles.css +0 -170
- package/dist/view/template.html +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.js","sourceRoot":"","sources":["codec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Either, Schema } from \"effect\";\nimport { isRecordBlobRef } from \"../../record/attachment/blob-ref.ts\";\nimport { Sha256DigestSchema } from \"../../record/codec/identifiers.ts\";\nimport { assertionRuntimeLimits } from \"../limits.ts\";\nimport { ASSERTION_ENTRY_ID_BRAND, type AssertionCoverage, type AssertionDisplay, type AssertionEntryId, type AssertionEntryOuter, type AssertionEntryRead, type AssertionEntry, type AssertionLimitation, type AssertionMaterial, type AssertionsDocumentOuter, type AssertionsDocument, type AssertionsProjection, type BoundedJsonObject, type BoundedJsonValue, type BuiltInCriterionEnvelope, type BuiltInCriterion, type CriterionOuterEnvelope, type EarnedScoreContribution, type NoScoreContribution, 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;\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.pipe(Schema.filter(isBoundedString, {\n identifier: \"AssertionsBoundedJsonString\",\n description: \"a UTF-8 string no longer than 8 KiB\",\n}));\nconst AssertionDisplayTextSchema = Schema.String.pipe(Schema.filter(isDisplayText, {\n identifier: \"AssertionDisplayText\",\n description: \"text without control characters and at most 256 code points\",\n}));\nconst CriterionIdentifierSchema = Schema.String.pipe(Schema.filter(isAsciiIdentifier, {\n identifier: \"AssertionCriterionIdentifier\",\n description: \"a non-empty printable ASCII identifier no longer than 128 bytes\",\n}));\nconst NonNegativeIntegerSchema = Schema.JsonNumber.pipe(Schema.filter(isNonNegativeInteger, {\n identifier: \"AssertionNonNegativeInteger\",\n description: \"a finite non-negative integer\",\n}));\nconst PositiveIntegerSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) && value > 0, {\n identifier: \"AssertionPositiveInteger\",\n description: \"a positive safe integer\",\n}));\nconst NonNegativeNumberSchema = Schema.JsonNumber.pipe(Schema.filter(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 (isRecordBlobRef(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(Schema.Null, Schema.Boolean, Schema.JsonNumber, BoundedJsonStringSchema, Schema.Array(BoundedJsonValueNodeSchema), Schema.Record({\n key: BoundedJsonStringSchema,\n value: BoundedJsonValueNodeSchema,\n})));\n/** Recursive JSON shape plus the Assertions-specific depth and collection budgets. */\nexport const BoundedJsonValueSchema: Schema.Schema<BoundedJsonValue> = BoundedJsonValueNodeSchema.pipe(Schema.filter(isBoundedJsonValue, {\n identifier: \"AssertionsBoundedJsonValue\",\n description: \"a recursive JSON value within the Assertions limits\",\n}));\nexport const BoundedJsonObjectSchema: Schema.Schema<BoundedJsonObject> = Schema.Record({\n key: BoundedJsonStringSchema,\n value: BoundedJsonValueNodeSchema,\n}).pipe(Schema.filter(isBoundedJsonObject, {\n identifier: \"AssertionsBoundedJsonObject\",\n description: \"a recursive JSON object within the Assertions limits\",\n}));\nexport const AssertionEntryIdSchema: Schema.Schema<AssertionEntryId, string> = Schema.String.pipe(Schema.filter(isAssertionEntryId, {\n identifier: \"AssertionEntryId\",\n description: \"an attachment-local ae_ identifier with 20 lowercase base-36 characters\",\n}), 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).pipe(Schema.filter((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({ subject: Schema.Literal(\"explicit-value\") }),\n});\nconst ScopeStatusCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"scope-status/v1\"),\n data: Schema.Struct({\n scope: Schema.Literal(\"turn\", \"session\", \"attempt\"),\n assertion: Schema.Literal(\"succeeded\", \"no-failed-actions\"),\n }),\n});\nconst OccurrenceCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v1\"),\n data: Schema.Struct({\n scope: Schema.Literal(\"turn\", \"session\", \"attempt\"),\n occurrence: Schema.Literal(\"tool\", \"skill\", \"event\"),\n assertion: Schema.Literal(\"present\", \"absent\", \"count\"),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union(Schema.Struct({ kind: Schema.Literal(\"absent\") }), Schema.Struct({\n kind: Schema.Literal(\"at-least\", \"exact\"),\n count: PositiveIntegerSchema,\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.Literal(\"closed-qa\", \"factuality\", \"summarizes\"),\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst SandboxResultCriterionSchema = Schema.Union(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}), Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({ operation: Schema.Literal(\"no-changes\") }),\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.Literal(\"added\", \"modified\", \"deleted\")),\n before: Schema.optional(BoundedJsonStringSchema),\n after: Schema.optional(BoundedJsonStringSchema),\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}), 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.Literal(\"added\", \"removed\", \"both\"),\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(ValueMatchCriterionSchema, ScopeStatusCriterionSchema, OccurrenceCriterionSchema, JudgeMeasurementCriterionSchema, SandboxResultCriterionSchema, DirectScoreCriterionSchema);\nexport const CriterionEnvelopeSchema: Schema.Schema<WritableCriterionEnvelope> = Schema.Union(BuiltInCriterionSchema, ThirdPartyCriterionSchema);\nexport const AssertionCoverageSchema: Schema.Schema<AssertionCoverage> = Schema.Union(Schema.Struct({ state: Schema.Literal(\"complete\") }), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n reason: Schema.Literal(\"sampled\", \"truncated\", \"redacted\", \"provider-limited\"),\n}), Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"not-collected\", \"source-unavailable\", \"producer-failed\"),\n}), Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"optional-material\", \"unsupported-subject\"),\n}));\nexport const AssertionLimitationSchema: Schema.Schema<AssertionLimitation> = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"redacted\"),\n fieldCount: NonNegativeIntegerSchema,\n}), Schema.Struct({\n kind: Schema.Literal(\"sampled\"),\n captured: NonNegativeIntegerSchema,\n knownTotal: Schema.optional(NonNegativeIntegerSchema),\n}), Schema.Struct({\n kind: Schema.Literal(\"truncated\"),\n omittedBytes: NonNegativeIntegerSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"provider-limited\") }));\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}).pipe(Schema.filter((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.Literal(\"source-unavailable\", \"evaluation-errored\", \"not-applicable\"),\n});\nexport const SealedAssertionResultSchema: Schema.Schema<SealedAssertionResult> = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"matched\"),\n gate: Schema.Literal(\"not-gate\", \"satisfied\"),\n score: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n reason: Schema.Literal(\"condition-not-met\"),\n gate: Schema.Literal(\"not-gate\", \"failed\"),\n score: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"evidence-unavailable\", \"source-unavailable\", \"redacted\"),\n gate: Schema.Literal(\"not-gate\", \"unavailable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"errored\"),\n reason: Schema.Literal(\"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\"),\n gate: Schema.Literal(\"not-gate\", \"unavailable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"coverage-not-applicable\"),\n gate: Schema.Literal(\"not-gate\", \"not-applicable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n}));\n/**\n * Record owns the opaque blob-ref codec. Assertions owns only its shape and\n * its ordered projection, so the same exact outer schema can be used for\n * generic Record reads and for producer sealing.\n */\nexport function createAssertionsRecordSchemas<BlobRef, BlobRefEncoded>(blobRefSchema: Schema.Schema<BlobRef, BlobRefEncoded>) {\n const material = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"snapshot\"),\n value: BoundedJsonValueSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: blobRefSchema,\n encoding: Schema.Literal(\"utf-8\", \"binary\"),\n byteLength: NonNegativeIntegerSchema,\n sha256: Sha256DigestSchema,\n preview: BoundedJsonStringSchema,\n }));\n const evidence = Schema.Array(material);\n const limitations = Schema.Array(AssertionLimitationSchema);\n const outerEntry = Schema.Struct({\n entryId: AssertionEntryIdSchema,\n display: AssertionDisplaySchema,\n criterion: BoundedJsonObjectSchema,\n subject: material,\n evidence,\n coverage: AssertionCoverageSchema,\n limitations,\n result: SealedAssertionResultSchema,\n }).pipe(Schema.filter(hasCoverageConsistentLimitations, {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const entries = Schema.Array(outerEntry).pipe(Schema.filter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const outerDocument = Schema.Struct({ entries }).pipe(Schema.filter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.filter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n const entry = Schema.Struct({\n entryId: AssertionEntryIdSchema,\n display: AssertionDisplaySchema,\n criterion: CriterionEnvelopeSchema,\n subject: material,\n evidence,\n coverage: AssertionCoverageSchema,\n limitations,\n result: SealedAssertionResultSchema,\n }).pipe(Schema.filter(hasCoverageConsistentLimitations, {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const document = Schema.Struct({\n entries: Schema.Array(entry).pipe(Schema.filter((entries) => entries.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n })),\n }).pipe(Schema.filter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.filter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n return Object.freeze({ material, entries, outerDocument, document });\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<BlobRef, Encoded>(schema: Schema.Schema<AssertionsDocumentOuter<BlobRef>, Encoded>, input: unknown): Either.Either<AssertionsDocumentOuter<BlobRef>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Either.left(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownEither(schema, AssertionsExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(assertionsDocumentInvalid)\n : Either.right(decoded.right);\n}\nexport function decodeAssertionsDocument<BlobRef, Encoded>(schema: Schema.Schema<AssertionsDocument<BlobRef>, Encoded>, input: unknown): Either.Either<AssertionsDocument<BlobRef>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Either.left(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownEither(schema, AssertionsExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(assertionsDocumentInvalid)\n : Either.right(decoded.right);\n}\nexport interface ThirdPartyCriterionDefinition {\n readonly name: string;\n readonly schemaId: string;\n readonly dataSchema: Schema.Schema.AnyNoContext;\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[]): Either.Either<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 Either.left({\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 Either.left({\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 Either.right(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 \"scope-status/v1\",\n \"occurrence/v1\",\n \"judge-measurement/v1\",\n \"sandbox-result/v1\",\n \"direct-score/v1\",\n]);\nfunction availableEntry<BlobRef>(entry: AssertionEntryOuter<BlobRef>, criterion: WritableCriterionEnvelope): AssertionEntryRead<BlobRef> {\n const available: AssertionEntry<BlobRef> = {\n ...entry,\n criterion,\n };\n return Object.freeze({ state: \"available\", entry: Object.freeze(available) });\n}\nfunction projectAssertionEntry<BlobRef>(entry: AssertionEntryOuter<BlobRef>, registry: ThirdPartyCriterionRegistry): AssertionEntryRead<BlobRef> {\n const builtinEnvelope = Schema.decodeUnknownEither(BuiltInCriterionEnvelopeSchema, AssertionsExactParseOptions)(entry.criterion);\n if (Either.isRight(builtinEnvelope)) {\n const builtin = Schema.decodeUnknownEither(BuiltInCriterionSchema, AssertionsExactParseOptions)(entry.criterion);\n if (Either.isRight(builtin)) {\n return availableEntry(entry, builtin.right);\n }\n if (KNOWN_BUILTIN_CRITERION_IDS.has(builtinEnvelope.right.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.decodeUnknownEither(ThirdPartyCriterionSchema, AssertionsExactParseOptions)(entry.criterion);\n if (Either.isLeft(thirdParty)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-envelope-invalid\",\n });\n }\n const definition = registry.lookup(thirdParty.right.name, thirdParty.right.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.decodeUnknownEither(definition.dataSchema, AssertionsExactParseOptions)(thirdParty.right.data);\n if (Either.isLeft(data)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return availableEntry(entry, thirdParty.right);\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<BlobRef>(document: AssertionsDocumentOuter<BlobRef>, registry: ThirdPartyCriterionRegistry): AssertionsProjection<BlobRef> {\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 { Either, Schema } from \"effect\";\nimport { isRecordBlobRef } from \"../../record/attachment/blob-ref.ts\";\nimport { Sha256DigestSchema } from \"../../record/codec/identifiers.ts\";\nimport { assertionRuntimeLimits } from \"../limits.ts\";\nimport { ASSERTION_ENTRY_ID_BRAND, type AssertionCoverage, type AssertionDisplay, type AssertionFactValue, type AssertionEntryId, type AssertionEntryOuter, type AssertionEntryRead, type AssertionEntry, type AssertionLimitation, type AssertionMaterial, type AssertionsDocumentOuter, type AssertionsDocument, type AssertionsProjection, type BoundedJsonObject, type BoundedJsonValue, type BuiltInCriterionEnvelope, type BuiltInCriterion, type CriterionOuterEnvelope, type EarnedScoreContribution, type NoScoreContribution, 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;\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.pipe(Schema.filter(isBoundedString, {\n identifier: \"AssertionsBoundedJsonString\",\n description: \"a UTF-8 string no longer than 8 KiB\",\n}));\nconst AssertionDisplayTextSchema = Schema.String.pipe(Schema.filter(isDisplayText, {\n identifier: \"AssertionDisplayText\",\n description: \"text without control characters and at most 256 code points\",\n}));\nconst CriterionIdentifierSchema = Schema.String.pipe(Schema.filter(isAsciiIdentifier, {\n identifier: \"AssertionCriterionIdentifier\",\n description: \"a non-empty printable ASCII identifier no longer than 128 bytes\",\n}));\nconst NonNegativeIntegerSchema = Schema.JsonNumber.pipe(Schema.filter(isNonNegativeInteger, {\n identifier: \"AssertionNonNegativeInteger\",\n description: \"a finite non-negative integer\",\n}));\nconst PositiveIntegerSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) && value > 0, {\n identifier: \"AssertionPositiveInteger\",\n description: \"a positive safe integer\",\n}));\nconst NonNegativeNumberSchema = Schema.JsonNumber.pipe(Schema.filter(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 (isRecordBlobRef(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(Schema.Null, Schema.Boolean, Schema.JsonNumber, BoundedJsonStringSchema, Schema.Array(BoundedJsonValueNodeSchema), Schema.Record({\n key: BoundedJsonStringSchema,\n value: BoundedJsonValueNodeSchema,\n})));\n/** Recursive JSON shape plus the Assertions-specific depth and collection budgets. */\nexport const BoundedJsonValueSchema: Schema.Schema<BoundedJsonValue> = BoundedJsonValueNodeSchema.pipe(Schema.filter(isBoundedJsonValue, {\n identifier: \"AssertionsBoundedJsonValue\",\n description: \"a recursive JSON value within the Assertions limits\",\n}));\nexport const BoundedJsonObjectSchema: Schema.Schema<BoundedJsonObject> = Schema.Record({\n key: BoundedJsonStringSchema,\n value: BoundedJsonValueNodeSchema,\n}).pipe(Schema.filter(isBoundedJsonObject, {\n identifier: \"AssertionsBoundedJsonObject\",\n description: \"a recursive JSON object within the Assertions limits\",\n}));\nexport const AssertionEntryIdSchema: Schema.Schema<AssertionEntryId, string> = Schema.String.pipe(Schema.filter(isAssertionEntryId, {\n identifier: \"AssertionEntryId\",\n description: \"an attachment-local ae_ identifier with 20 lowercase base-36 characters\",\n}), 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).pipe(Schema.filter((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(Schema.Struct({ state: Schema.Literal(\"declared\"), name: BoundedJsonStringSchema }), Schema.Struct({ state: Schema.Literal(\"unavailable\") })),\n }),\n});\nconst ScopeStatusCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"scope-status/v1\"),\n data: Schema.Struct({\n scope: Schema.Literal(\"turn\", \"session\", \"attempt\"),\n assertion: Schema.Literal(\"succeeded\", \"no-failed-actions\"),\n }),\n});\nconst OccurrenceCriterionSchema = Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"occurrence/v1\"),\n data: Schema.Struct({\n scope: Schema.Literal(\"turn\", \"session\", \"attempt\"),\n occurrence: Schema.Literal(\"tool\", \"skill\", \"event\"),\n assertion: Schema.Literal(\"present\", \"absent\", \"count\"),\n matcher: Schema.optional(BoundedJsonStringSchema),\n quantifier: Schema.optional(Schema.Union(Schema.Struct({ kind: Schema.Literal(\"absent\") }), Schema.Struct({\n kind: Schema.Literal(\"at-least\", \"exact\"),\n count: PositiveIntegerSchema,\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.Literal(\"closed-qa\", \"factuality\", \"summarizes\"),\n scale: Schema.Literal(\"unit-interval\"),\n }),\n});\nconst SandboxResultCriterionSchema = Schema.Union(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}), Schema.Struct({\n kind: Schema.Literal(\"builtin\"),\n id: Schema.Literal(\"sandbox-result/v1\"),\n data: Schema.Struct({ operation: Schema.Literal(\"no-changes\") }),\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.Literal(\"added\", \"modified\", \"deleted\")),\n before: Schema.optional(BoundedJsonStringSchema),\n after: Schema.optional(BoundedJsonStringSchema),\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}), 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.Literal(\"added\", \"removed\", \"both\"),\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(ValueMatchCriterionSchema, ScopeStatusCriterionSchema, OccurrenceCriterionSchema, JudgeMeasurementCriterionSchema, SandboxResultCriterionSchema, DirectScoreCriterionSchema);\nexport const CriterionEnvelopeSchema: Schema.Schema<WritableCriterionEnvelope> = Schema.Union(BuiltInCriterionSchema, ThirdPartyCriterionSchema);\nexport const AssertionCoverageSchema: Schema.Schema<AssertionCoverage> = Schema.Union(Schema.Struct({ state: Schema.Literal(\"complete\") }), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n reason: Schema.Literal(\"sampled\", \"truncated\", \"redacted\", \"provider-limited\"),\n}), Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"not-collected\", \"source-unavailable\", \"producer-failed\"),\n}), Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"optional-material\", \"unsupported-subject\"),\n}));\nexport const AssertionLimitationSchema: Schema.Schema<AssertionLimitation> = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"redacted\"),\n fieldCount: NonNegativeIntegerSchema,\n}), Schema.Struct({\n kind: Schema.Literal(\"sampled\"),\n captured: NonNegativeIntegerSchema,\n knownTotal: Schema.optional(NonNegativeIntegerSchema),\n}), Schema.Struct({\n kind: Schema.Literal(\"truncated\"),\n omittedBytes: NonNegativeIntegerSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"provider-limited\") }));\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}).pipe(Schema.filter((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.Literal(\"source-unavailable\", \"evaluation-errored\", \"not-applicable\"),\n});\nconst 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});\nconst AssertionFactValueSchema: Schema.Schema<AssertionFactValue> = Schema.suspend((): Schema.Schema<AssertionFactValue> => Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"not-recorded\", \"not-declared\", \"source-unavailable\"),\n}), Schema.Struct({ kind: Schema.Literal(\"value\"), value: Schema.Union(Schema.Null, Schema.Boolean, Schema.JsonNumber, BoundedJsonStringSchema) }), Schema.Struct({ kind: Schema.Literal(\"text\"), text: BoundedJsonStringSchema }), Schema.Struct({ kind: Schema.Literal(\"list\"), items: Schema.Array(AssertionFactValueSchema) }), Schema.Struct({\n kind: Schema.Literal(\"fields\"),\n fields: Schema.Array(Schema.Struct({ label: BoundedJsonStringSchema, value: AssertionFactValueSchema })),\n})));\nconst AssertionDecisionPolicySchema = Schema.Struct({\n requirement: Schema.Union(Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: Schema.Literal(\"required\", \"optional\"),\n }), Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") })),\n condition: Schema.Union(Schema.Struct({\n state: Schema.Literal(\"available\"),\n value: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"boolean\"), expected: Schema.Literal(true) }), Schema.Struct({ kind: Schema.Literal(\"at-least\"), threshold: NonNegativeNumberSchema }), Schema.Struct({ kind: Schema.Literal(\"record-only\") })),\n }), Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") })),\n});\nexport const SealedAssertionResultSchema: Schema.Schema<SealedAssertionResult> = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"matched\"),\n gate: Schema.Literal(\"not-gate\", \"satisfied\"),\n score: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"mismatched\"),\n reason: Schema.Literal(\"condition-not-met\"),\n gate: Schema.Literal(\"not-gate\", \"failed\"),\n score: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"evidence-unavailable\", \"source-unavailable\", \"redacted\"),\n gate: Schema.Literal(\"not-gate\", \"unavailable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"errored\"),\n reason: Schema.Literal(\"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\"),\n gate: Schema.Literal(\"not-gate\", \"unavailable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n}), Schema.Struct({\n state: Schema.Literal(\"not-applicable\"),\n reason: Schema.Literal(\"coverage-not-applicable\"),\n gate: Schema.Literal(\"not-gate\", \"not-applicable\"),\n score: Schema.Union(NoScoreContributionSchema, UnavailableScoreContributionSchema),\n diagnostic: Schema.optional(BoundedJsonObjectSchema),\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n}));\n/**\n * Record owns the opaque blob-ref codec. Assertions owns only its shape and\n * its ordered projection, so the same exact outer schema can be used for\n * generic Record reads and for producer sealing.\n */\nexport function createAssertionsRecordSchemas<BlobRef, BlobRefEncoded>(blobRefSchema: Schema.Schema<BlobRef, BlobRefEncoded>) {\n const material = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"unavailable\"),\n reason: Schema.Literal(\"not-recorded\"),\n }), Schema.Struct({\n kind: Schema.Literal(\"snapshot\"),\n value: BoundedJsonValueSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: blobRefSchema,\n encoding: Schema.Literal(\"utf-8\", \"binary\"),\n byteLength: NonNegativeIntegerSchema,\n sha256: Sha256DigestSchema,\n preview: BoundedJsonStringSchema,\n }));\n const evidence = Schema.Array(material);\n const limitations = Schema.Array(AssertionLimitationSchema);\n const historicalOuterEntry = Schema.Struct({\n entryId: AssertionEntryIdSchema,\n display: AssertionDisplaySchema,\n criterion: BoundedJsonObjectSchema,\n subject: material,\n evidence,\n coverage: AssertionCoverageSchema,\n limitations,\n result: SealedAssertionResultSchema,\n }).pipe(Schema.filter(hasCoverageConsistentLimitations, {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const materials = Schema.Struct({\n source: material,\n evidence,\n coverage: AssertionCoverageSchema,\n limitations,\n }).pipe(Schema.filter((value) => hasCoverageConsistentLimitations(value), {\n identifier: \"AssertionCoverageLimitations\",\n description: \"coverage and limitations with a consistent sealed relationship\",\n }));\n const evaluation = Schema.Struct({\n observed: AssertionFactValueSchema,\n receipt: Schema.optional(AssertionCollectionReceiptSchema),\n });\n const decision = Schema.Struct({\n result: Schema.Literal(\"matched\", \"mismatched\", \"unavailable\", \"errored\", \"not-applicable\"),\n reason: Schema.NullOr(Schema.Literal(\"condition-not-met\", \"evidence-unavailable\", \"source-unavailable\", \"redacted\", \"evaluator-failed\", \"producer-interrupted\", \"invalid-subject\", \"coverage-not-applicable\")),\n gate: Schema.Literal(\"not-gate\", \"satisfied\", \"failed\", \"unavailable\", \"not-applicable\"),\n });\n const explanationRetention = Schema.Union(Schema.Struct({ state: Schema.Literal(\"retained\"), value: AssertionFactValueSchema }), Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") }));\n const outerEntry = Schema.Struct({\n entryId: AssertionEntryIdSchema,\n display: AssertionDisplaySchema,\n criterion: Schema.Union(Schema.Struct({ state: Schema.Literal(\"available\"), value: BoundedJsonObjectSchema }), Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") })),\n materials,\n evaluation,\n decision,\n policy: AssertionDecisionPolicySchema,\n contribution: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema, UnavailableScoreContributionSchema),\n explanationRetention,\n });\n const historicalEntries = Schema.Array(historicalOuterEntry).pipe(Schema.filter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const entries = Schema.Array(outerEntry).pipe(Schema.filter((values) => values.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n }));\n const outerDocument = Schema.Struct({ entries }).pipe(Schema.filter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.filter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n const entry = Schema.Struct({\n entryId: AssertionEntryIdSchema,\n display: AssertionDisplaySchema,\n criterion: Schema.Union(Schema.Struct({ state: Schema.Literal(\"available\"), value: CriterionEnvelopeSchema }), Schema.Struct({ state: Schema.Literal(\"unavailable\"), reason: Schema.Literal(\"not-recorded\") })),\n materials,\n evaluation,\n decision,\n policy: AssertionDecisionPolicySchema,\n contribution: Schema.Union(NoScoreContributionSchema, EarnedScoreContributionSchema, UnavailableScoreContributionSchema),\n explanationRetention,\n });\n const document = Schema.Struct({\n entries: Schema.Array(entry).pipe(Schema.filter((entries) => entries.length <= assertionRuntimeLimits.entries, {\n identifier: \"AssertionsEntryCount\",\n description: \"at most 4,096 assertion entries\",\n })),\n }).pipe(Schema.filter(hasUniqueEntryIds, {\n identifier: \"AssertionsUniqueEntryIds\",\n description: \"unique attachment-local assertion entry IDs\",\n }), Schema.filter(isDocumentWithinSizeLimit, {\n identifier: \"AssertionsDocumentSize\",\n description: \"a JSON document no larger than 4 MiB\",\n }));\n return Object.freeze({ material, entries, historicalEntries, outerDocument, document });\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<BlobRef, Encoded>(schema: Schema.Schema<AssertionsDocumentOuter<BlobRef>, Encoded>, input: unknown): Either.Either<AssertionsDocumentOuter<BlobRef>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Either.left(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownEither(schema, AssertionsExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(assertionsDocumentInvalid)\n : Either.right(decoded.right);\n}\nexport function decodeAssertionsDocument<BlobRef, Encoded>(schema: Schema.Schema<AssertionsDocument<BlobRef>, Encoded>, input: unknown): Either.Either<AssertionsDocument<BlobRef>, AssertionsRecordCodecError> {\n if (!isAssertionsRawDataGraph(input))\n return Either.left(assertionsDocumentInvalid);\n const decoded = Schema.decodeUnknownEither(schema, AssertionsExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(assertionsDocumentInvalid)\n : Either.right(decoded.right);\n}\nexport interface ThirdPartyCriterionDefinition {\n readonly name: string;\n readonly schemaId: string;\n readonly dataSchema: Schema.Schema.AnyNoContext;\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[]): Either.Either<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 Either.left({\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 Either.left({\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 Either.right(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 \"scope-status/v1\",\n \"occurrence/v1\",\n \"judge-measurement/v1\",\n \"sandbox-result/v1\",\n \"direct-score/v1\",\n]);\nfunction availableEntry<BlobRef>(entry: AssertionEntryOuter<BlobRef>, criterion: WritableCriterionEnvelope): AssertionEntryRead<BlobRef> {\n const available: AssertionEntry<BlobRef> = {\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<BlobRef>(entry: AssertionEntryOuter<BlobRef>, registry: ThirdPartyCriterionRegistry): AssertionEntryRead<BlobRef> {\n if (entry.criterion.state === \"unavailable\") {\n return Object.freeze({ state: \"available\", entry: entry as AssertionEntry<BlobRef> });\n }\n const criterionValue = entry.criterion.value;\n const builtinEnvelope = Schema.decodeUnknownEither(BuiltInCriterionEnvelopeSchema, AssertionsExactParseOptions)(criterionValue);\n if (Either.isRight(builtinEnvelope)) {\n const builtin = Schema.decodeUnknownEither(BuiltInCriterionSchema, AssertionsExactParseOptions)(criterionValue);\n if (Either.isRight(builtin)) {\n return availableEntry(entry, builtin.right);\n }\n if (KNOWN_BUILTIN_CRITERION_IDS.has(builtinEnvelope.right.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.decodeUnknownEither(ThirdPartyCriterionSchema, AssertionsExactParseOptions)(criterionValue);\n if (Either.isLeft(thirdParty)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-envelope-invalid\",\n });\n }\n const definition = registry.lookup(thirdParty.right.name, thirdParty.right.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.decodeUnknownEither(definition.dataSchema, AssertionsExactParseOptions)(thirdParty.right.data);\n if (Either.isLeft(data)) {\n return Object.freeze({\n state: \"invalid\",\n entry,\n reason: \"criterion-data-invalid\",\n });\n }\n return availableEntry(entry, thirdParty.right);\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<BlobRef>(document: AssertionsDocumentOuter<BlobRef>, registry: ThirdPartyCriterionRegistry): AssertionsProjection<BlobRef> {\n return Object.freeze({\n entries: Object.freeze(document.entries.map((entry) => projectAssertionEntry(entry, registry))),\n });\n}\n"]}
|