niceeval 0.13.1 → 0.13.2
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/INDEX.md +25 -2
- package/README.md +9 -10
- package/README.zh.md +9 -10
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/ai-sdk.d.cts +1 -1
- package/dist/agents/ai-sdk.d.mts +1 -1
- package/dist/agents/ai-sdk.d.ts +1 -1
- package/dist/agents/bub-install-spec.cjs +19 -5
- package/dist/agents/bub-install-spec.cjs.map +1 -1
- package/dist/agents/bub-install-spec.d.cts +9 -2
- package/dist/agents/bub-install-spec.d.mts +9 -2
- package/dist/agents/bub-install-spec.d.ts +9 -2
- package/dist/agents/bub-install-spec.js +14 -12
- package/dist/agents/bub.cjs +10 -6
- 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.cjs.map +1 -1
- package/dist/agents/claude-code.d.cts +2 -2
- package/dist/agents/claude-code.d.mts +2 -2
- package/dist/agents/claude-code.d.ts +2 -2
- package/dist/agents/codex.cjs +4 -4
- 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/coding-cli-versions.cjs +10 -1
- package/dist/agents/coding-cli-versions.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.d.cts +8 -3
- package/dist/agents/coding-cli-versions.d.mts +8 -3
- package/dist/agents/coding-cli-versions.d.ts +8 -3
- package/dist/agents/coding-cli-versions.js +18 -12
- package/dist/agents/deepseek-harness.cjs +151 -0
- package/dist/agents/deepseek-harness.cjs.map +1 -0
- package/dist/agents/deepseek-harness.d.cts +14 -0
- package/dist/agents/deepseek-harness.d.mts +14 -0
- package/dist/agents/deepseek-harness.d.ts +14 -0
- package/dist/agents/deepseek-harness.js +7 -0
- package/dist/agents/deepseek-harness.js.map +1 -0
- package/dist/agents/exact-npm-plugins.cjs +28 -0
- package/dist/agents/exact-npm-plugins.cjs.map +1 -0
- package/dist/agents/exact-npm-plugins.d.cts +10 -0
- package/dist/agents/exact-npm-plugins.d.mts +10 -0
- package/dist/agents/exact-npm-plugins.d.ts +10 -0
- package/dist/agents/exact-npm-plugins.js +8 -0
- package/dist/agents/exact-npm-plugins.js.map +1 -0
- package/dist/agents/index.cjs +5 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +4 -0
- package/dist/agents/index.d.mts +4 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.js +54 -50
- package/dist/agents/index.mjs +54 -50
- package/dist/agents/omp.cjs +170 -0
- package/dist/agents/omp.cjs.map +1 -0
- package/dist/agents/omp.d.cts +14 -0
- package/dist/agents/omp.d.mts +14 -0
- package/dist/agents/omp.d.ts +14 -0
- package/dist/agents/omp.js +7 -0
- package/dist/agents/omp.js.map +1 -0
- package/dist/agents/openclaw.cjs +51 -2
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/openclaw.d.cts +2 -0
- package/dist/agents/openclaw.d.mts +2 -0
- package/dist/agents/openclaw.d.ts +2 -0
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +4 -4
- package/dist/agents/types.d.mts +4 -4
- package/dist/agents/types.d.ts +4 -4
- package/dist/agents/ui-message-stream.cjs +24 -7
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/analysis/api.cjs +28 -2
- package/dist/analysis/api.cjs.map +1 -1
- package/dist/analysis/api.d.cts +22 -1
- package/dist/analysis/api.d.mts +22 -1
- package/dist/analysis/api.d.ts +22 -1
- package/dist/analysis/api.js +8 -6
- package/dist/analysis/bindings.cjs +11 -18
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +177 -49
- package/dist/analysis/bindings.d.mts +177 -49
- package/dist/analysis/bindings.d.ts +177 -49
- package/dist/analysis/contracts.cjs +1 -0
- package/dist/analysis/contracts.cjs.map +1 -1
- package/dist/analysis/contracts.d.cts +43 -3
- package/dist/analysis/contracts.d.mts +43 -3
- package/dist/analysis/contracts.d.ts +43 -3
- package/dist/analysis/cost-projection.cjs +2 -1
- package/dist/analysis/cost-projection.cjs.map +1 -1
- package/dist/analysis/cost-projection.d.cts +1 -1
- package/dist/analysis/cost-projection.d.mts +1 -1
- package/dist/analysis/cost-projection.d.ts +1 -1
- package/dist/analysis/cost.cjs +13 -3
- package/dist/analysis/cost.cjs.map +1 -1
- package/dist/analysis/cost.d.cts +10 -3
- package/dist/analysis/cost.d.mts +10 -3
- package/dist/analysis/cost.d.ts +10 -3
- package/dist/analysis/experiment-groups.cjs +96 -0
- package/dist/analysis/experiment-groups.cjs.map +1 -0
- package/dist/analysis/experiment-groups.d.cts +9 -0
- package/dist/analysis/experiment-groups.d.mts +9 -0
- package/dist/analysis/experiment-groups.d.ts +9 -0
- package/dist/analysis/experiment-groups.js +10 -0
- package/dist/analysis/experiment-groups.js.map +1 -0
- package/dist/analysis/index.cjs +4 -1
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +4 -2
- package/dist/analysis/index.d.mts +4 -2
- package/dist/analysis/index.d.ts +4 -2
- package/dist/analysis/index.js +40 -36
- package/dist/analysis/index.mjs +40 -36
- package/dist/assertions/limits.cjs +4 -0
- package/dist/assertions/limits.cjs.map +1 -1
- package/dist/assertions/limits.d.cts +4 -0
- package/dist/assertions/limits.d.mts +4 -0
- package/dist/assertions/limits.d.ts +4 -0
- package/dist/assertions/match.cjs +63 -25
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +7 -0
- package/dist/assertions/match.d.mts +7 -0
- package/dist/assertions/match.d.ts +7 -0
- package/dist/assertions/record/attachment.cjs +32 -4
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/diff.cjs +10 -4
- package/dist/assertions/record/diff.cjs.map +1 -1
- package/dist/assertions/record/producer.cjs +101 -4
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +4 -1
- package/dist/assertions/record/producer.d.mts +4 -1
- package/dist/assertions/record/producer.d.ts +4 -1
- package/dist/assertions/runtime.cjs +45 -5
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/record.cjs +113 -8
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +20 -1
- package/dist/cli/record.d.mts +20 -1
- package/dist/cli/record.d.ts +20 -1
- package/dist/cli/record.js +4 -2
- package/dist/cli.cjs +386 -31
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +10 -2
- package/dist/cli.d.mts +10 -2
- package/dist/cli.d.ts +10 -2
- package/dist/context/send-retry.cjs +4 -4
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/coordination/host/runtime.cjs +8 -30
- package/dist/coordination/host/runtime.cjs.map +1 -1
- package/dist/coordination/host/runtime.d.cts +3 -3
- package/dist/coordination/host/runtime.d.mts +3 -3
- package/dist/coordination/host/runtime.d.ts +3 -3
- package/dist/coordination/host/types.cjs.map +1 -1
- package/dist/coordination/host/types.d.cts +0 -5
- package/dist/coordination/host/types.d.mts +0 -5
- package/dist/coordination/host/types.d.ts +0 -5
- package/dist/coordination/platform/node.cjs +90 -9
- package/dist/coordination/platform/node.cjs.map +1 -1
- package/dist/define.cjs +25 -1
- package/dist/define.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -0
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/i18n/en.cjs +26 -8
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +19 -6
- package/dist/i18n/en.d.mts +19 -6
- package/dist/i18n/en.d.ts +19 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/o11y/parsers/hermes.cjs +1 -1
- package/dist/o11y/parsers/hermes.cjs.map +1 -1
- package/dist/o11y/prices.json +1 -1
- package/dist/o11y/record/families.cjs +12 -3
- package/dist/o11y/record/families.cjs.map +1 -1
- package/dist/o11y/record/families.d.cts +8 -8
- package/dist/o11y/record/families.d.mts +8 -8
- package/dist/o11y/record/families.d.ts +8 -8
- package/dist/o11y/record/family-projectors.d.cts +66 -18
- package/dist/o11y/record/family-projectors.d.mts +66 -18
- package/dist/o11y/record/family-projectors.d.ts +66 -18
- package/dist/o11y/record/family-writers.d.cts +11 -3
- package/dist/o11y/record/family-writers.d.mts +11 -3
- package/dist/o11y/record/family-writers.d.ts +11 -3
- package/dist/o11y/record/runner-producer.cjs +14 -4
- package/dist/o11y/record/runner-producer.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +2 -2
- package/dist/record/codec/core.d.mts +2 -2
- package/dist/record/codec/core.d.ts +2 -2
- package/dist/record/family/catalog.d.cts +44 -12
- package/dist/record/family/catalog.d.mts +44 -12
- package/dist/record/family/catalog.d.ts +44 -12
- package/dist/record/family/index.js +128 -124
- package/dist/record/family/observability-v1.cjs +35 -0
- package/dist/record/family/observability-v1.cjs.map +1 -0
- package/dist/record/family/observability-v1.d.cts +3 -0
- package/dist/record/family/observability-v1.d.mts +3 -0
- package/dist/record/family/observability-v1.d.ts +3 -0
- package/dist/record/family/observability-v1.js +6 -0
- package/dist/record/family/observability-v1.js.map +1 -0
- package/dist/record/family/observability.cjs +58 -9
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/family/observability.d.cts +1014 -15
- package/dist/record/family/observability.d.mts +1014 -15
- package/dist/record/family/observability.d.ts +1014 -15
- package/dist/record/family/observability.js +22 -18
- package/dist/record/host/runtime.cjs +600 -31
- 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 +33 -9
- package/dist/record/host/types.d.mts +33 -9
- package/dist/record/host/types.d.ts +33 -9
- package/dist/record/maintenance/runtime.cjs +1 -2
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -1
- package/dist/record/model/core.d.mts +1 -1
- package/dist/record/model/core.d.ts +1 -1
- package/dist/record/model/definition.d.cts +6 -6
- package/dist/record/model/definition.d.mts +6 -6
- package/dist/record/model/definition.d.ts +6 -6
- package/dist/record/model/identifiers.cjs +1 -1
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -1
- package/dist/record/model/identifiers.d.mts +1 -1
- package/dist/record/model/identifiers.d.ts +1 -1
- package/dist/record/platform/node.cjs +159 -23
- 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 +15 -2
- package/dist/record/platform/services.d.mts +15 -2
- package/dist/record/platform/services.d.ts +15 -2
- package/dist/record/reader/errors.cjs +37 -1
- package/dist/record/reader/errors.cjs.map +1 -1
- package/dist/record/reader/errors.d.cts +49 -1
- package/dist/record/reader/errors.d.mts +49 -1
- package/dist/record/reader/errors.d.ts +49 -1
- package/dist/record/reader/errors.js +22 -12
- package/dist/record/reader/format.cjs +76 -17
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +11 -4
- package/dist/record/reader/format.d.mts +11 -4
- package/dist/record/reader/format.d.ts +11 -4
- package/dist/record/reader/format.js +2 -0
- package/dist/record/reader/index.js +32 -18
- package/dist/record/reader/runtime.cjs +64 -0
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +15 -0
- package/dist/record/reader/runtime.d.mts +15 -0
- package/dist/record/reader/runtime.d.ts +15 -0
- package/dist/record/reader/runtime.js +2 -0
- package/dist/report/assets/styles.css +53 -29
- package/dist/report/built-in/analysis-values.cjs +21 -13
- package/dist/report/built-in/analysis-values.cjs.map +1 -1
- package/dist/report/built-in/analysis-values.d.cts +11 -22
- package/dist/report/built-in/analysis-values.d.mts +11 -22
- package/dist/report/built-in/analysis-values.d.ts +11 -22
- package/dist/report/built-in/analysis-values.js +4 -6
- package/dist/report/built-in/index.cjs +1 -3
- package/dist/report/built-in/index.cjs.map +1 -1
- package/dist/report/built-in/index.d.cts +1 -1
- package/dist/report/built-in/index.d.mts +1 -1
- package/dist/report/built-in/index.d.ts +1 -1
- package/dist/report/built-in/index.js +4 -8
- package/dist/report/built-in/index.mjs +4 -8
- package/dist/report/built-in/machine.cjs +0 -2
- package/dist/report/built-in/machine.cjs.map +1 -1
- package/dist/report/built-in/machine.d.cts +0 -2
- package/dist/report/built-in/machine.d.mts +0 -2
- package/dist/report/built-in/machine.d.ts +0 -2
- package/dist/report/built-in/result-components.cjs +49 -51
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/result-components.d.cts +16 -17
- package/dist/report/built-in/result-components.d.mts +16 -17
- package/dist/report/built-in/result-components.d.ts +16 -17
- package/dist/report/built-in/result-components.js +0 -4
- package/dist/report/built-in/run-membership-overview.cjs +126 -17
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
- package/dist/report/built-in/run-membership-overview.d.cts +14 -0
- package/dist/report/built-in/run-membership-overview.d.mts +14 -0
- package/dist/report/built-in/run-membership-overview.d.ts +14 -0
- package/dist/report/built-in/run-membership-overview.js +4 -2
- package/dist/report/built-in/standard.cjs +80 -45
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +19 -41
- package/dist/report/built-in/standard.d.mts +19 -41
- package/dist/report/built-in/standard.d.ts +19 -41
- package/dist/report/built-in/standard.js +6 -6
- package/dist/report/components/attempt-detail/compute.cjs +78 -2
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +1 -1
- package/dist/report/components/attempt-detail/compute.d.mts +1 -1
- package/dist/report/components/attempt-detail/compute.d.ts +1 -1
- package/dist/report/components/attempt-detail/content.cjs +1 -1
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +42 -5
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.d.cts +10 -8
- package/dist/report/components/entity-lists/compute.d.mts +10 -8
- package/dist/report/components/entity-lists/compute.d.ts +10 -8
- package/dist/report/components/entity-lists/content.cjs +31 -6
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +9 -4
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.d.cts +4 -7
- package/dist/report/components/entity-lists/index.d.mts +4 -7
- package/dist/report/components/entity-lists/index.d.ts +4 -7
- package/dist/report/components/summaries/compute.cjs +8 -1
- package/dist/report/components/summaries/compute.cjs.map +1 -1
- package/dist/report/components/summaries/compute.d.cts +9 -1
- package/dist/report/components/summaries/compute.d.mts +9 -1
- package/dist/report/components/summaries/compute.d.ts +9 -1
- package/dist/report/components/summaries/index.cjs +48 -4
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/components/summaries/index.d.cts +7 -4
- package/dist/report/components/summaries/index.d.mts +7 -4
- package/dist/report/components/summaries/index.d.ts +7 -4
- package/dist/report/definition/cell.cjs +3 -0
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +2 -0
- package/dist/report/definition/cell.d.mts +2 -0
- package/dist/report/definition/cell.d.ts +2 -0
- package/dist/report/definition/primitives/chart.cjs +8 -5
- package/dist/report/definition/primitives/chart.cjs.map +1 -1
- package/dist/report/definition/primitives/points-dataset.cjs +1 -0
- package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +15 -2
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +27 -3
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +8 -0
- package/dist/report/definition/report.d.mts +8 -0
- package/dist/report/definition/report.d.ts +8 -0
- package/dist/report/execution/machine.cjs +30 -14
- package/dist/report/execution/machine.cjs.map +1 -1
- package/dist/report/execution/machine.d.cts +20 -10
- package/dist/report/execution/machine.d.mts +20 -10
- package/dist/report/execution/machine.d.ts +20 -10
- package/dist/report/execution/machine.js +6 -6
- package/dist/report/host/execute.cjs +25 -16
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +4 -0
- package/dist/report/host/execute.d.mts +4 -0
- package/dist/report/host/execute.d.ts +4 -0
- package/dist/report/host/from-record.cjs +22 -5
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/machine.cjs +53 -11
- package/dist/report/host/machine.cjs.map +1 -1
- package/dist/report/host/site-runtime.cjs +9 -8
- package/dist/report/host/site-runtime.cjs.map +1 -1
- package/dist/report/host/site-runtime.d.cts +1 -1
- package/dist/report/host/site-runtime.d.mts +1 -1
- package/dist/report/host/site-runtime.d.ts +1 -1
- package/dist/report/host/static.cjs +56 -9
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +1 -1
- package/dist/report/index.d.mts +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/report/model/dataset.cjs +7 -2
- package/dist/report/model/dataset.cjs.map +1 -1
- package/dist/report/model/locale.cjs +2 -0
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -0
- package/dist/report/model/locale.d.mts +1 -0
- package/dist/report/model/locale.d.ts +1 -0
- package/dist/report/model/metrics.cjs +3 -1
- package/dist/report/model/metrics.cjs.map +1 -1
- package/dist/report/model/pricing.cjs +16 -11
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/styles.css +53 -29
- package/dist/runner/adoption.cjs +1 -0
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt.cjs +44 -5
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +13 -1
- package/dist/runner/attempt.d.mts +13 -1
- package/dist/runner/attempt.d.ts +13 -1
- package/dist/runner/config-identity.cjs +10 -2
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +4 -2
- package/dist/runner/config-identity.d.mts +4 -2
- package/dist/runner/config-identity.d.ts +4 -2
- package/dist/runner/feedback/human.cjs +298 -59
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/json.cjs +14 -6
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +3 -2
- package/dist/runner/feedback/json.d.mts +3 -2
- package/dist/runner/feedback/json.d.ts +3 -2
- package/dist/runner/feedback/reducer.cjs +2 -0
- package/dist/runner/feedback/reducer.cjs.map +1 -1
- package/dist/runner/judge-config.cjs +1 -1
- package/dist/runner/judge-config.cjs.map +1 -1
- package/dist/runner/ledger.cjs +124 -12
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/project-current.cjs +13 -5
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/run.cjs +564 -256
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/sandbox-pool.cjs +161 -30
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/sandbox-pool.d.cts +34 -2
- package/dist/runner/sandbox-pool.d.mts +34 -2
- package/dist/runner/sandbox-pool.d.ts +34 -2
- package/dist/runner/shared-state-lease.cjs +803 -0
- package/dist/runner/shared-state-lease.cjs.map +1 -0
- package/dist/runner/shared-state-lease.d.cts +121 -0
- package/dist/runner/shared-state-lease.d.mts +121 -0
- package/dist/runner/shared-state-lease.d.ts +121 -0
- package/dist/runner/shared-state-lease.js +24 -0
- package/dist/runner/shared-state-lease.js.map +1 -0
- package/dist/runner/teardown-registry.cjs +97 -34
- package/dist/runner/teardown-registry.cjs.map +1 -1
- package/dist/runner/teardown-registry.d.cts +27 -1
- package/dist/runner/teardown-registry.d.mts +27 -1
- package/dist/runner/teardown-registry.d.ts +27 -1
- package/dist/runner/teardown-registry.js +20 -16
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +31 -5
- package/dist/runner/types.d.mts +31 -5
- package/dist/runner/types.d.ts +31 -5
- package/dist/sample/analysis.cjs +249 -459
- package/dist/sample/analysis.cjs.map +1 -1
- package/dist/sample/capability.cjs +138 -7
- package/dist/sample/capability.cjs.map +1 -1
- package/dist/sample/capability.d.cts +3 -1
- package/dist/sample/capability.d.mts +3 -1
- package/dist/sample/capability.d.ts +3 -1
- package/dist/sample/capability.js +8 -6
- package/dist/sandbox/docker-agent-image.cjs +5 -1
- package/dist/sandbox/docker-agent-image.cjs.map +1 -1
- package/dist/sandbox/docker-agent-image.d.cts +2 -0
- package/dist/sandbox/docker-agent-image.d.mts +2 -0
- package/dist/sandbox/docker-agent-image.d.ts +2 -0
- package/dist/sandbox/docker-agent-image.js +14 -10
- package/dist/sandbox/docker-profile/schema.cjs +283 -534
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +10 -27
- package/dist/sandbox/docker-profile/schema.d.mts +10 -27
- package/dist/sandbox/docker-profile/schema.d.ts +10 -27
- package/dist/sandbox/e2b-agent-template.cjs +5 -2
- package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
- package/dist/sandbox/index.cjs +4 -2
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +1 -1
- package/dist/sandbox/index.d.mts +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.js +120 -116
- package/dist/sandbox/index.mjs +120 -116
- package/dist/sandbox/keep-registry.cjs +28 -66
- package/dist/sandbox/keep-registry.cjs.map +1 -1
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +1 -1
- package/dist/sandbox/types.d.mts +1 -1
- package/dist/sandbox/types.d.ts +1 -1
- package/dist/shared/aggregate.cjs +16 -6
- package/dist/shared/aggregate.cjs.map +1 -1
- package/dist/shared/aggregate.d.cts +12 -4
- package/dist/shared/aggregate.d.mts +12 -4
- package/dist/shared/aggregate.d.ts +12 -4
- package/dist/shared/turn-label.cjs +20 -2
- package/dist/shared/turn-label.cjs.map +1 -1
- package/dist/shared/turn-label.d.cts +2 -0
- package/dist/shared/turn-label.d.mts +2 -0
- package/dist/shared/turn-label.d.ts +2 -0
- package/dist/shared/turn-label.js +4 -2
- package/dist/vendor/remark/remark-gfm.cjs +7 -7
- package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
- package/dist/vendor/remark/remark-parse.cjs +12 -12
- package/dist/vendor/remark/remark-parse.cjs.map +1 -1
- package/dist/vendor/remark/remark.cjs +13 -13
- package/dist/vendor/remark/remark.cjs.map +1 -1
- package/dist/view/server.cjs +6 -0
- package/dist/view/server.cjs.map +1 -1
- package/docs-site/images/hitl-handshake-zh.svg +3 -3
- package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
- package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +4 -3
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +3 -3
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +5 -5
- package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
- package/docs-site/zh/explanation/adapter.mdx +5 -5
- package/docs-site/zh/explanation/assert.mdx +7 -7
- package/docs-site/zh/explanation/drive.mdx +4 -2
- package/docs-site/zh/explanation/evals.mdx +10 -8
- package/docs-site/zh/explanation/experiment.mdx +2 -2
- package/docs-site/zh/explanation/hitl.mdx +9 -9
- package/docs-site/zh/explanation/judge.mdx +5 -5
- package/docs-site/zh/explanation/overview.mdx +3 -3
- package/docs-site/zh/explanation/runner.mdx +1 -1
- package/docs-site/zh/index.mdx +3 -3
- package/docs-site/zh/reference/builtin-agents.mdx +13 -13
- package/docs-site/zh/reference/capabilities.mdx +1 -1
- package/docs-site/zh/reference/cli.mdx +18 -12
- package/docs-site/zh/reference/define-agent.mdx +130 -5
- package/docs-site/zh/reference/define-config.mdx +2 -2
- package/docs-site/zh/reference/define-eval.mdx +4 -4
- package/docs-site/zh/reference/events.mdx +11 -11
- package/docs-site/zh/reference/official-adapters.mdx +6 -6
- package/docs-site/zh/reference/results-data.mdx +6 -0
- package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
- package/docs-site/zh/tutorials/accept-results.mdx +72 -0
- package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
- package/docs-site/zh/tutorials/authoring.mdx +9 -13
- package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
- package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
- package/docs-site/zh/tutorials/concurrency.mdx +13 -12
- package/docs-site/zh/tutorials/configuration.mdx +4 -6
- package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
- package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
- package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
- package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
- package/docs-site/zh/tutorials/docker-in-docker.mdx +52 -43
- package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
- package/docs-site/zh/tutorials/experiments.mdx +2 -3
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
- package/docs-site/zh/tutorials/nixos-managed-dind.mdx +160 -0
- package/docs-site/zh/tutorials/plugins.mdx +14 -0
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +4 -2
- package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
- package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
- package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
- package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
- package/docs-site/zh/tutorials/viewing-results.mdx +38 -1
- package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
- package/docs-site/zh/tutorials/write-send.mdx +9 -8
- package/package.json +9 -5
- package/dist/report/built-in/overview.cjs +0 -44
- package/dist/report/built-in/overview.cjs.map +0 -1
- package/dist/report/built-in/overview.d.cts +0 -6
- package/dist/report/built-in/overview.d.mts +0 -6
- package/dist/report/built-in/overview.d.ts +0 -6
- package/dist/report/built-in/overview.js +0 -9
- package/dist/report/built-in/overview.js.map +0 -1
- package/dist/runner/gate-lease.cjs +0 -283
- package/dist/runner/gate-lease.cjs.map +0 -1
- package/dist/runner/gate-lease.d.cts +0 -62
- package/dist/runner/gate-lease.d.mts +0 -62
- package/dist/runner/gate-lease.d.ts +0 -62
- package/dist/runner/gate-lease.js +0 -22
- package/dist/runner/gate-lease.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["analysis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Either, Schema } from \"effect\";\nimport { encodeAttemptLocator, parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { EvalIdSchema, ExecutionIdentityDigestSchema, ExperimentIdSchema, RunIdSchema, SlotIdSchema, UtcMillisSchema, } from \"../record/codec/identifiers.ts\";\nimport type { RecordSlotIdentity } from \"../record/model/core.ts\";\nimport { compareCanonicalIdentity } from \"../record/model/identifiers.ts\";\nimport { canonicalizeRunContext, type RunContext, type RunExecutionContext, type RunContextJsonObject, type RunContextJsonValue, } from \"../record/model/run-context.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport type { ReadableRun, RecordReadSession, RecordSelection, SelectedAttemptRef, SelectedRunRef, } from \"../record/host/types.ts\";\nimport type { ActiveAnalysisSlot, AnalysisIssue, AnalysisRun, AnalysisRunContext, AnalysisRunExecution, AnalysisSlotOccurrenceIdentity, SampleIdentity, AnalysisSelectionProblem, AnalysisSelectionRequest, AnalysisSelectionSummary, AnalysisSlot, AnalysisRequestError, CoreInvalidAnalysisSlot, ExcludedAnalysisSlot, IncludedAnalysisSlot, JsonValue, NotRecordedAnalysisSlot, SampleCoverage, SampleSelector, SampleSnapshot, SampleSnapshotCodecError, } from \"../analysis/contracts.ts\";\nimport type { EvalId, ExecutionIdentityDigest, ExperimentId, RunId, SlotId, UtcMillis, } from \"../record/model/identifiers.ts\";\nconst MAX_SELECTED_RUNS = 4096;\nconst MAX_SLOTS = 250000;\n/** Private bridge retained in Sample's WeakMap, never in a closed value. */\nexport interface SampleMaterialization {\n readonly snapshot: SampleSnapshot;\n readonly attemptsBySlot: ReadonlyMap<string, SelectedAttemptRef>;\n /** Private Core identity used to validate a later lazy Attempt read. */\n readonly slotIdentitiesBySlot: ReadonlyMap<string, RecordSlotIdentity>;\n}\n/**\n * Reads only the selected Core needed to freeze the Sample denominator. Fixed\n * family payloads, blobs, and physical paths are intentionally not touched.\n */\nexport function materializeSampleSnapshot(input: {\n readonly reader: RecordReadSession;\n readonly selection: RecordSelection;\n readonly selectionRequest: AnalysisSelectionRequest;\n}): Effect.Effect<SampleMaterialization, RecordReaderReadError> {\n return Effect.gen(function* () {\n const selection = selectionSummary(input.selectionRequest, input.selection);\n const selected = [...input.selection.runRefs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId));\n if (selected.length > MAX_SELECTED_RUNS) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum selected Run count\"));\n }\n const expectedByRun = expectedSlotsByRun(input.selection);\n const factsByRun = runFactsByRun(input.selection);\n const runs: AnalysisRun[] = [];\n const slots: AnalysisSlot[] = [];\n const attemptsBySlot = new Map<string, SelectedAttemptRef>();\n const slotIdentitiesBySlot = new Map<string, RecordSlotIdentity>();\n for (const ref of selected) {\n const facts = factsByRun.get(ref);\n if (facts === undefined) {\n return yield* Effect.die(new Error(\"Record selection omitted closed facts for a selected Run\"));\n }\n const expected = expectedSlotsForRun(ref, facts, expectedByRun.get(ref));\n if (expected.length > MAX_SLOTS - slots.length) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum Slot count\"));\n }\n const read = yield* input.reader.readRun(ref);\n if (read.state !== \"available\") {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run Core is unavailable\"));\n }\n continue;\n }\n const run = read.value;\n if (run.document.experimentId !== facts.experimentId) {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run experimentId does not match its closed selection facts\"));\n }\n continue;\n }\n runs.push(closeRun(run, expected.map((entry) => entry.slot)));\n const members = membersBySlot(run);\n for (const expectedSlot of expected) {\n const slot = expectedSlot.slot;\n slotIdentitiesBySlot.set(slotKey(ref.runId, slot.slotId), slot);\n const materialized = materializeSlot({\n selectedRun: ref,\n experimentId: expectedSlot.experimentId,\n slot,\n members,\n });\n slots.push(materialized.slot);\n if (materialized.attempt !== undefined) {\n attemptsBySlot.set(slotKey(materialized.slot.runId, materialized.slot.slotId), materialized.attempt);\n }\n }\n }\n const canonicalRuns = Object.freeze([...runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const canonicalSlots = Object.freeze([...slots].sort(compareSlots));\n const snapshot = makeSnapshot({ selection, runs: canonicalRuns, slots: canonicalSlots });\n return Object.freeze({\n snapshot,\n attemptsBySlot,\n slotIdentitiesBySlot,\n });\n });\n}\n/** Synchronous, monotonic narrowing over an already-frozen snapshot. */\nexport function narrowSampleSnapshot(snapshot: SampleSnapshot, selector: SampleSelector): SampleSnapshot | AnalysisRequestError {\n const runIds = normalizedSelectorIds(selector.runIds);\n const slotIds = normalizedSelectorIds(selector.slotIds);\n if (runIds === undefined && slotIds === undefined) {\n return requestError(\"narrowSample needs at least one runIds or slotIds selector\");\n }\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n const runMatches = runIds === undefined || runIds.has(slot.runId);\n const slotMatches = slotIds === undefined || slotIds.has(slot.slotId);\n if (runMatches && slotMatches)\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/**\n * `project-current` identity narrowing. Empty matching ids exclude every\n * active Slot; unmatched members become `excluded` with `identity-mismatch`.\n */\nexport function narrowSampleSnapshotByCurrentIdentity(snapshot: SampleSnapshot, matchingOccurrences: readonly AnalysisSlotOccurrenceIdentity[]): SampleSnapshot {\n const keep = new Set(matchingOccurrences.map((occurrence) => slotKey(occurrence.runId, occurrence.slotId)));\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n if (keep.has(slotKey(slot.runId, slot.slotId)))\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n reason: \"identity-mismatch\" as const,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/** The only portable Sample encoding; it has no selected Record references. */\nexport function encodeSampleSnapshot(snapshot: SampleSnapshot): JsonValue {\n return snapshotJson(decodeSampleSnapshot(snapshot));\n}\n/** Exact decode, canonical ordering, coverage validation, and deep freeze. */\nexport function decodeSampleSnapshot(value: unknown): SampleSnapshot {\n const decoded = decodeSampleSnapshotEither(value);\n if (Either.isLeft(decoded))\n throw codecException(decoded.left);\n return decoded.right;\n}\n/** @internal Typed codec branch for host diagnostics. */\nexport function decodeSampleSnapshotEither(value: unknown): Either.Either<SampleSnapshot, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"version\", \"identity\", \"selection\", \"runs\", \"slots\", \"coverage\"])) {\n return Either.left(codecError([], \"must contain exactly version, identity, selection, runs, slots, and coverage\"));\n }\n if (valueAt(value, \"version\") !== 1)\n return Either.left(codecError([\"version\"], \"must be 1\"));\n const selection = decodeSelection(valueAt(value, \"selection\"), [\"selection\"]);\n if (Either.isLeft(selection))\n return Either.left(selection.left);\n const runs = decodeRuns(valueAt(value, \"runs\"), [\"runs\"]);\n if (Either.isLeft(runs))\n return Either.left(runs.left);\n const slots = decodeSlots(valueAt(value, \"slots\"), [\"slots\"]);\n if (Either.isLeft(slots))\n return Either.left(slots.left);\n const alignment = validateSlotRunAlignment(runs.right, slots.right);\n if (alignment !== undefined)\n return Either.left(alignment);\n const snapshot = makeSnapshot({ selection: selection.right, runs: runs.right, slots: slots.right });\n if (!sameIdentity(valueAt(value, \"identity\"), snapshot.identity)) {\n return Either.left(codecError([\"identity\"], \"does not match the canonical frozen selection\"));\n }\n if (!sameCoverage(valueAt(value, \"coverage\"), snapshot.coverage)) {\n return Either.left(codecError([\"coverage\"], \"does not satisfy the canonical coverage equations\"));\n }\n return Either.right(snapshot);\n}\nfunction expectedSlotsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]> {\n const result = new Map<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]>();\n for (const entry of selection.expectedSlots) {\n const slots = result.get(entry.run);\n if (slots === undefined)\n result.set(entry.run, [entry]);\n else\n result.set(entry.run, [...slots, entry]);\n }\n for (const [ref, slots] of result) {\n result.set(ref, Object.freeze([...slots].sort((left, right) => compareCanonicalIdentity(left.slot.slotId, right.slot.slotId))));\n }\n return result;\n}\nfunction runFactsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, RecordSelection[\"runFacts\"][number]> {\n return new Map(selection.runFacts.map((facts) => [facts.run, facts] as const));\n}\nfunction expectedSlotsForRun(ref: SelectedRunRef, facts: RecordSelection[\"runFacts\"][number], fromSelection: readonly RecordSelection[\"expectedSlots\"][number][] | undefined): readonly RecordSelection[\"expectedSlots\"][number][] {\n if (fromSelection !== undefined)\n return fromSelection;\n return Object.freeze(facts.expectedSlots.map((slot) => Object.freeze({\n run: ref,\n experimentId: facts.experimentId,\n slot,\n })));\n}\nfunction selectionSummary(request: AnalysisSelectionRequest, selection: RecordSelection): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(selection.runRefs.map((ref) => ref.runId));\n const problems = normalizedSelectionProblems([\n ...selection.problems,\n ...selection.warnings.map((warning): AnalysisSelectionProblem => Object.freeze({\n code: \"incomplete-run\" as const,\n runId: warning.runId,\n })),\n ]);\n if (request.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(request.runIds),\n selectedRunIds,\n problems,\n });\n }\n const requestedExperimentIds = request.experimentIds === undefined\n ? uniqueSorted(request.currentSlots.map((slot) => slot.experimentId))\n : uniqueSorted(request.experimentIds);\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: requestedExperimentIds.length === 0 ? \"all\" : requestedExperimentIds,\n selectedRunIds,\n problems,\n });\n}\nfunction normalizedSelectionProblems(values: readonly AnalysisSelectionProblem[]): readonly AnalysisSelectionProblem[] {\n const byKey = new Map<string, AnalysisSelectionProblem>();\n for (const problem of values) {\n byKey.set(`${problem.code}\\u0000${problem.runId}`, Object.freeze({ ...problem }));\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, problem]) => problem));\n}\nfunction closeRun(run: ReadableRun, expectedSlots: readonly RecordSlotIdentity[]): AnalysisRun {\n return Object.freeze({\n runId: run.document.runId,\n experimentId: run.document.experimentId,\n context: closeRunContext(run.document.context),\n startedAt: run.document.startedAt,\n completedAt: run.document.completedAt,\n expectedSlots: Object.freeze(expectedSlots.map((slot) => slot.slotId)),\n });\n}\nfunction closeRunFacts(facts: RecordSelection[\"runFacts\"][number]): AnalysisRun {\n return Object.freeze({\n runId: facts.run.runId,\n experimentId: facts.experimentId,\n context: null,\n startedAt: facts.startedAt,\n completedAt: facts.completedAt,\n expectedSlots: Object.freeze(facts.expectedSlots.map((slot) => slot.slotId)),\n });\n}\n/**\n * Context is Core, but Sample owns an independent value-only closure rather\n * than retaining a reference to a Record read result. Canonical key ordering\n * keeps the Snapshot identity stable before it reaches JSON encoding.\n */\nfunction closeRunContext(context: RunContext): AnalysisRunContext {\n return Object.freeze({\n execution: closeAnalysisRunExecution(context.execution),\n labels: closeStringRecord(context.labels),\n });\n}\n/**\n * Internal closure shared by selected-Run snapshot construction and the\n * origin-Attempt projection. It copies only durable JSON facts; neither path,\n * reader, nor mutable Record object escapes into Sample.\n */\nexport function closeAnalysisRunExecution(execution: RunExecutionContext): AnalysisRunExecution {\n return Object.freeze({\n agentId: execution.agentId,\n model: execution.model,\n reasoningEffort: execution.reasoningEffort,\n flags: closeJsonObject(execution.flags),\n });\n}\nfunction closeStringRecord(value: Readonly<Record<string, string>>): Readonly<Record<string, string>> {\n const result: Record<string, string> = Object.create(null) as Record<string, string>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: value[key],\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonObject(value: RunContextJsonObject): Readonly<Record<string, JsonValue>> {\n const result: Record<string, JsonValue> = Object.create(null) as Record<string, JsonValue>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: closeJsonValue(value[key]!),\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonValue(value: RunContextJsonValue): JsonValue {\n if (value === null || typeof value === \"boolean\" || typeof value === \"number\" || typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value))\n return Object.freeze(value.map(closeJsonValue));\n if (isRunContextJsonObject(value))\n return closeJsonObject(value);\n throw new TypeError(\"RunContext JSON value must be an object after scalar and array cases\");\n}\nfunction isRunContextJsonObject(value: RunContextJsonValue): value is RunContextJsonObject {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction membersBySlot(run: ReadableRun): ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\"> {\n const result = new Map<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">();\n for (const member of run.members) {\n if (result.has(member.document.slotId))\n result.set(member.document.slotId, \"duplicate\");\n else\n result.set(member.document.slotId, member);\n }\n return result;\n}\nfunction materializeSlot(input: {\n readonly selectedRun: SelectedRunRef;\n /** Derived once from the exact Run Core, never copied into Record Slot. */\n readonly experimentId: ExperimentId;\n readonly slot: RecordSlotIdentity;\n readonly members: ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">;\n}): {\n readonly slot: AnalysisSlot;\n readonly attempt?: SelectedAttemptRef;\n} {\n const member = input.members.get(input.slot.slotId);\n if (member === undefined) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: null,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member === \"duplicate\" || member.document.slotId !== input.slot.slotId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, null, \"the Run has an invalid Member mapping\"),\n });\n }\n if (member.document.attempt === null) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: member.document.action,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member.attempt === null ||\n member.document.attempt.originRunId !== member.attempt.originRunId ||\n member.document.attempt.attemptId !== member.attempt.attemptId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, member.document.action, \"the selected Member did not receive the exact Attempt capability\"),\n });\n }\n const slot: IncludedAnalysisSlot = Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"included\" as const,\n action: member.document.action,\n relation: member.attempt.originRunId === input.selectedRun.runId ? \"origin\" as const : \"reference\" as const,\n attempt: Object.freeze({\n kind: \"attempt\" as const,\n locator: encodeAttemptLocator(member.attempt.attemptId),\n originRunId: member.attempt.originRunId,\n }),\n });\n return Object.freeze({ slot, attempt: member.attempt });\n}\nfunction coreInvalidSlot(runId: RunId, experimentId: ExperimentId, slot: RecordSlotIdentity, action: CoreInvalidAnalysisSlot[\"action\"], message: string): CoreInvalidAnalysisSlot {\n return Object.freeze({\n runId,\n slotId: slot.slotId,\n experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"core-invalid\" as const,\n action,\n attempt: null,\n issues: Object.freeze([analysisIssue(\"input-invalid\", message)]),\n });\n}\nfunction makeSnapshot(input: {\n readonly selection: AnalysisSelectionSummary;\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}): SampleSnapshot {\n const runs = Object.freeze([...input.runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const slots = Object.freeze([...input.slots].sort(compareSlots));\n const canonicalSelection = selectionForSlots(input.selection, slots);\n const coverage = coverageFor(slots);\n return Object.freeze({\n version: 1 as const,\n identity: sampleIdentity(canonicalSelection, runs, slots),\n selection: canonicalSelection,\n runs,\n slots,\n coverage,\n });\n}\n/** Every derived Sample retains its source policy and refreshes its active result. */\nfunction selectionForSlots(selection: AnalysisSelectionSummary, slots: readonly AnalysisSlot[]): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(slots.flatMap((slot) => slot.state === \"excluded\" ? [] : [slot.runId]));\n const problems = normalizedSelectionProblems(selection.problems);\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(selection.runIds),\n selectedRunIds,\n problems,\n });\n }\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : uniqueSorted(selection.experimentIds),\n selectedRunIds,\n problems,\n });\n}\nfunction coverageFor(slots: readonly AnalysisSlot[]): SampleCoverage {\n let selected = 0;\n let included = 0;\n let notRecorded = 0;\n let coreInvalid = 0;\n let excluded = 0;\n for (const slot of slots) {\n if (slot.state === \"excluded\") {\n excluded += 1;\n continue;\n }\n selected += 1;\n if (slot.state === \"included\")\n included += 1;\n else if (slot.state === \"not-recorded\")\n notRecorded += 1;\n else\n coreInvalid += 1;\n }\n return Object.freeze({\n frameTotal: slots.length,\n selected,\n included,\n notRecorded,\n coreInvalid,\n excluded,\n });\n}\nfunction sampleIdentity(selection: AnalysisSelectionSummary, runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleIdentity {\n return Object.freeze({\n kind: \"analysis-sample\" as const,\n id: canonicalIdentity({ selection, runs, slots }),\n });\n}\nfunction compareSlots(left: AnalysisSlot, right: AnalysisSlot): number {\n const run = compareCanonicalIdentity(left.runId, right.runId);\n return run === 0 ? compareCanonicalIdentity(left.slotId, right.slotId) : run;\n}\nfunction slotKey(runId: RunId, slotId: SlotId): string {\n return `${runId}\\u0000${slotId}`;\n}\nfunction normalizedSelectorIds(values: readonly string[] | undefined): ReadonlySet<string> | undefined {\n if (values === undefined)\n return undefined;\n return new Set(values);\n}\nfunction requestError(reason: string): AnalysisRequestError {\n return Object.freeze({ code: \"analysis-request-invalid\" as const, reason });\n}\nfunction analysisIssue(code: AnalysisIssue[\"code\"], message: string): AnalysisIssue {\n return Object.freeze({ code, message, refs: Object.freeze([]) });\n}\nfunction snapshotJson(snapshot: SampleSnapshot): JsonValue {\n return Object.freeze({\n version: snapshot.version,\n identity: Object.freeze({ kind: snapshot.identity.kind, id: snapshot.identity.id }),\n selection: selectionJson(snapshot.selection),\n runs: Object.freeze(snapshot.runs.map((run) => Object.freeze({\n runId: run.runId,\n experimentId: run.experimentId,\n context: run.context === null ? null : Object.freeze({\n execution: Object.freeze({\n agentId: run.context.execution.agentId,\n model: run.context.execution.model,\n reasoningEffort: run.context.execution.reasoningEffort,\n flags: closeJsonObject(run.context.execution.flags),\n }),\n labels: closeStringRecord(run.context.labels),\n }),\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze([...run.expectedSlots]),\n }))),\n slots: Object.freeze(snapshot.slots.map(slotJson)),\n coverage: Object.freeze({ ...snapshot.coverage }),\n });\n}\nfunction selectionJson(selection: AnalysisSelectionSummary): JsonValue {\n const problems = Object.freeze(selection.problems.map((problem) => Object.freeze({ ...problem })));\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: selection.policy,\n runIds: Object.freeze([...selection.runIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n }\n return Object.freeze({\n policy: selection.policy,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : Object.freeze([...selection.experimentIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n}\nfunction slotJson(slot: AnalysisSlot): JsonValue {\n if (slot.state === \"excluded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n base: slotJson(slot.base),\n ...(slot.reason === undefined ? {} : { reason: slot.reason }),\n });\n }\n if (slot.state === \"included\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n relation: slot.relation,\n attempt: Object.freeze({ ...slot.attempt }),\n });\n }\n if (slot.state === \"not-recorded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n });\n }\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n issues: Object.freeze(slot.issues.map(issueJson)),\n });\n}\nfunction issueJson(issue: AnalysisIssue): JsonValue {\n return Object.freeze({\n code: issue.code,\n message: issue.message,\n refs: Object.freeze(issue.refs.map((ref) => Object.freeze({\n identity: Object.freeze({ kind: ref.identity.kind, locator: ref.identity.locator }),\n }))),\n });\n}\nfunction decodeSelection(value: unknown, path: readonly string[]): Either.Either<AnalysisSelectionSummary, SampleSnapshotCodecError> {\n if (!isPlainObject(value))\n return Either.left(codecError(path, \"must be an object\"));\n const policy = valueAt(value, \"policy\");\n if (policy === \"explicit-runs\") {\n if (!isExactObject(value, [\"policy\", \"runIds\", \"selectedRunIds\", \"problems\"])) {\n return Either.left(codecError(path, \"explicit-runs must contain exactly policy, runIds, selectedRunIds, and problems\"));\n }\n const runIds = decodeArray(valueAt(value, \"runIds\"), [...path, \"runIds\"], decodeRunId);\n const selectedRunIds = decodeArray(valueAt(value, \"selectedRunIds\"), [...path, \"selectedRunIds\"], decodeRunId);\n const problems = decodeSelectionProblems(valueAt(value, \"problems\"), [...path, \"problems\"]);\n if (Either.isLeft(runIds))\n return Either.left(runIds.left);\n if (Either.isLeft(selectedRunIds))\n return Either.left(selectedRunIds.left);\n if (Either.isLeft(problems))\n return Either.left(problems.left);\n return Either.right(Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(runIds.right),\n selectedRunIds: uniqueSorted(selectedRunIds.right),\n problems: normalizedSelectionProblems(problems.right),\n }));\n }\n if (policy === \"project-current\") {\n if (!isExactObject(value, [\"policy\", \"experimentIds\", \"selectedRunIds\", \"problems\"])) {\n return Either.left(codecError(path, \"project-current must contain exactly policy, experimentIds, selectedRunIds, and problems\"));\n }\n const experimentIdsValue = valueAt(value, \"experimentIds\");\n let experimentIds: \"all\" | readonly ExperimentId[];\n if (experimentIdsValue === \"all\") {\n experimentIds = \"all\";\n }\n else {\n const decodedExperimentIds = decodeArray(experimentIdsValue, [...path, \"experimentIds\"], decodeExperimentId);\n if (Either.isLeft(decodedExperimentIds))\n return Either.left(decodedExperimentIds.left);\n experimentIds = uniqueSorted(decodedExperimentIds.right);\n }\n const selectedRunIds = decodeArray(valueAt(value, \"selectedRunIds\"), [...path, \"selectedRunIds\"], decodeRunId);\n const problems = decodeSelectionProblems(valueAt(value, \"problems\"), [...path, \"problems\"]);\n if (Either.isLeft(selectedRunIds))\n return Either.left(selectedRunIds.left);\n if (Either.isLeft(problems))\n return Either.left(problems.left);\n return Either.right(Object.freeze({\n policy: \"project-current\" as const,\n experimentIds,\n selectedRunIds: uniqueSorted(selectedRunIds.right),\n problems: normalizedSelectionProblems(problems.right),\n }));\n }\n return Either.left(codecError([...path, \"policy\"], \"must be explicit-runs or project-current\"));\n}\nfunction decodeSelectionProblems(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisSelectionProblem[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const problems: AnalysisSelectionProblem[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeSelectionProblem(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n problems.push(decoded.right);\n }\n return Either.right(Object.freeze(problems));\n}\nfunction decodeSelectionProblem(value: unknown, path: readonly string[]): Either.Either<AnalysisSelectionProblem, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"code\", \"runId\"]))\n return Either.left(codecError(path, \"must contain exactly code and runId\"));\n const code = valueAt(value, \"code\");\n if (code !== \"incomplete-run\" && code !== \"record-core-invalid\" && code !== \"selection-run-missing\" && code !== \"selection-run-unreadable\") {\n return Either.left(codecError([...path, \"code\"], \"is not a known selection problem\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n return Either.isLeft(runId) ? Either.left(runId.left) : Either.right(Object.freeze({ code, runId: runId.right }));\n}\nfunction decodeRuns(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisRun[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n if (value.length > MAX_SELECTED_RUNS)\n return Either.left(codecError(path, \"exceeds the selected-runs limit\"));\n const runs: AnalysisRun[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeRun(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n runs.push(decoded.right);\n }\n return Either.right(Object.freeze(uniqueSortedBy(runs, (run) => run.runId)));\n}\nfunction decodeRun(value: unknown, path: readonly string[]): Either.Either<AnalysisRun, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"runId\", \"experimentId\", \"context\", \"startedAt\", \"completedAt\", \"expectedSlots\"])) {\n return Either.left(codecError(path, \"contains unsupported fields\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const startedAt = decodeUtcMillis(valueAt(value, \"startedAt\"), [...path, \"startedAt\"]);\n const completedAt = decodeUtcMillis(valueAt(value, \"completedAt\"), [...path, \"completedAt\"]);\n const slots = decodeArray(valueAt(value, \"expectedSlots\"), [...path, \"expectedSlots\"], decodeSlotId);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n const context = decodeRunContext(valueAt(value, \"context\"), experimentId.right, [...path, \"context\"]);\n if (Either.isLeft(context))\n return Either.left(context.left);\n if (Either.isLeft(startedAt))\n return Either.left(startedAt.left);\n if (Either.isLeft(completedAt))\n return Either.left(completedAt.left);\n if (Either.isLeft(slots))\n return Either.left(slots.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n experimentId: experimentId.right,\n context: context.right,\n startedAt: startedAt.right,\n completedAt: completedAt.right,\n expectedSlots: Object.freeze(uniqueSorted(slots.right)),\n }));\n}\nfunction decodeRunContext(value: unknown, experimentId: ExperimentId, path: readonly string[]): Either.Either<AnalysisRunContext | null, SampleSnapshotCodecError> {\n if (value === null)\n return Either.right(null);\n if (!isExactObject(value, [\"execution\", \"labels\"])) {\n return Either.left(codecError(path, \"must contain exactly execution and labels\"));\n }\n const decoded = canonicalizeRunContext({\n experimentId,\n execution: valueAt(value, \"execution\"),\n labels: valueAt(value, \"labels\"),\n });\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"is not a valid closed Run context\"))\n : Either.right(closeRunContext(decoded.right));\n}\nfunction decodeSlots(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisSlot[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n if (value.length > MAX_SLOTS)\n return Either.left(codecError(path, \"exceeds the Slot limit\"));\n const slots: AnalysisSlot[] = [];\n const identities = new Set<string>();\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeSlot(value[index], [...path, String(index)], false);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n const key = slotKey(decoded.right.runId, decoded.right.slotId);\n if (identities.has(key))\n return Either.left(codecError([...path, String(index)], \"duplicates a Run/Slot identity\"));\n identities.add(key);\n slots.push(decoded.right);\n }\n return Either.right(Object.freeze(slots.sort(compareSlots)));\n}\n/** A Snapshot Slot is a derived occurrence of exactly one closed AnalysisRun. */\nfunction validateSlotRunAlignment(runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleSnapshotCodecError | undefined {\n const runsById = new Map(runs.map((run) => [run.runId, run] as const));\n for (let index = 0; index < slots.length; index += 1) {\n const slot = slots[index]!;\n const run = runsById.get(slot.runId);\n if (run === undefined) {\n return codecError([\"slots\", String(index), \"runId\"], \"does not identify a selected AnalysisRun\");\n }\n if (run.experimentId !== slot.experimentId) {\n return codecError([\"slots\", String(index), \"experimentId\"], \"does not match the associated AnalysisRun\");\n }\n if (!run.expectedSlots.includes(slot.slotId)) {\n return codecError([\"slots\", String(index), \"slotId\"], \"does not belong to the associated AnalysisRun\");\n }\n }\n return undefined;\n}\nfunction decodeSlot(value: unknown, path: readonly string[], nested: boolean): Either.Either<AnalysisSlot, SampleSnapshotCodecError> {\n if (!isPlainObject(value))\n return Either.left(codecError(path, \"must be an object\"));\n const state = valueAt(value, \"state\");\n if (state === \"excluded\") {\n const hasReason = Object.prototype.hasOwnProperty.call(value, \"reason\");\n const expectedKeys = hasReason\n ? [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"base\", \"reason\"]\n : [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"base\"];\n if (nested || !isExactObject(value, expectedKeys)) {\n return Either.left(codecError(path, \"excluded Slots must contain exactly runId, slotId, state, base, and optional reason\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const slotId = decodeSlotId(valueAt(value, \"slotId\"), [...path, \"slotId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const evalId = decodeEvalId(valueAt(value, \"evalId\"), [...path, \"evalId\"]);\n const attemptOrdinal = decodeAttemptOrdinal(valueAt(value, \"attemptOrdinal\"), [...path, \"attemptOrdinal\"]);\n const executionIdentityDigest = decodeExecutionIdentityDigest(valueAt(value, \"executionIdentityDigest\"), [...path, \"executionIdentityDigest\"]);\n const base = decodeSlot(valueAt(value, \"base\"), [...path, \"base\"], true);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n if (Either.isLeft(evalId))\n return Either.left(evalId.left);\n if (Either.isLeft(attemptOrdinal))\n return Either.left(attemptOrdinal.left);\n if (Either.isLeft(executionIdentityDigest))\n return Either.left(executionIdentityDigest.left);\n if (Either.isLeft(base))\n return Either.left(base.left);\n if (base.right.state === \"excluded\"\n || base.right.runId !== runId.right\n || base.right.slotId !== slotId.right\n || base.right.experimentId !== experimentId.right\n || base.right.evalId !== evalId.right\n || base.right.attemptOrdinal !== attemptOrdinal.right\n || base.right.executionIdentityDigest !== executionIdentityDigest.right) {\n return Either.left(codecError(path, \"excluded base must be a matching active Slot\"));\n }\n if (hasReason && valueAt(value, \"reason\") !== \"identity-mismatch\") {\n return Either.left(codecError([...path, \"reason\"], \"must be identity-mismatch\"));\n }\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n base: base.right,\n ...(hasReason ? { reason: \"identity-mismatch\" as const } : {}),\n }));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const slotId = decodeSlotId(valueAt(value, \"slotId\"), [...path, \"slotId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const evalId = decodeEvalId(valueAt(value, \"evalId\"), [...path, \"evalId\"]);\n const attemptOrdinal = decodeAttemptOrdinal(valueAt(value, \"attemptOrdinal\"), [...path, \"attemptOrdinal\"]);\n const executionIdentityDigest = decodeExecutionIdentityDigest(valueAt(value, \"executionIdentityDigest\"), [...path, \"executionIdentityDigest\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n if (Either.isLeft(evalId))\n return Either.left(evalId.left);\n if (Either.isLeft(attemptOrdinal))\n return Either.left(attemptOrdinal.left);\n if (Either.isLeft(executionIdentityDigest))\n return Either.left(executionIdentityDigest.left);\n if (state === \"included\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"relation\", \"attempt\"])) {\n return Either.left(codecError(path, \"included Slots contain unsupported fields\"));\n }\n const action = valueAt(value, \"action\");\n const relation = valueAt(value, \"relation\");\n const attempt = decodeAttemptIdentity(valueAt(value, \"attempt\"), [...path, \"attempt\"]);\n if ((action !== \"executed\" && action !== \"carried\" && action !== \"accepted\") || (relation !== \"origin\" && relation !== \"reference\")) {\n return Either.left(codecError(path, \"included Slot has an invalid Member action or relation\"));\n }\n if (Either.isLeft(attempt))\n return Either.left(attempt.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n relation,\n attempt: attempt.right,\n }));\n }\n if (state === \"not-recorded\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"attempt\"]) || valueAt(value, \"attempt\") !== null) {\n return Either.left(codecError(path, \"not-recorded Slots must retain a null Attempt\"));\n }\n const action = valueAt(value, \"action\");\n if (action !== null && action !== \"not-dispatched\" && action !== \"interrupted\") {\n return Either.left(codecError([...path, \"action\"], \"is not a null Member action\"));\n }\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n attempt: null,\n }));\n }\n if (state === \"core-invalid\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"attempt\", \"issues\"]) || valueAt(value, \"attempt\") !== null) {\n return Either.left(codecError(path, \"core-invalid Slots must contain null Attempt and issues\"));\n }\n const action = valueAt(value, \"action\");\n if (action !== null && action !== \"executed\" && action !== \"carried\" && action !== \"accepted\" && action !== \"not-dispatched\" && action !== \"interrupted\") {\n return Either.left(codecError([...path, \"action\"], \"is not a Member action\"));\n }\n const issues = decodeIssues(valueAt(value, \"issues\"), [...path, \"issues\"]);\n if (Either.isLeft(issues))\n return Either.left(issues.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n attempt: null,\n issues: issues.right,\n }));\n }\n return Either.left(codecError([...path, \"state\"], \"must be included, not-recorded, core-invalid, or excluded\"));\n}\nfunction decodeAttemptIdentity(value: unknown, path: readonly string[]): Either.Either<IncludedAnalysisSlot[\"attempt\"], SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"kind\", \"locator\", \"originRunId\"]) || valueAt(value, \"kind\") !== \"attempt\") {\n return Either.left(codecError(path, \"must contain an Attempt locator identity\"));\n }\n const locator = valueAt(value, \"locator\");\n const originRunId = decodeRunId(valueAt(value, \"originRunId\"), [...path, \"originRunId\"]);\n if (typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Either.left(codecError([...path, \"locator\"], \"is not a canonical Attempt locator\"));\n }\n return Either.isLeft(originRunId)\n ? Either.left(originRunId.left)\n : Either.right(Object.freeze({ kind: \"attempt\" as const, locator: locator as IncludedAnalysisSlot[\"attempt\"][\"locator\"], originRunId: originRunId.right }));\n}\nfunction decodeIssues(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisIssue[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const issues: AnalysisIssue[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const entry = value[index];\n if (!isExactObject(entry, [\"code\", \"message\", \"refs\"]))\n return Either.left(codecError([...path, String(index)], \"has unsupported fields\"));\n const code = valueAt(entry, \"code\");\n const message = valueAt(entry, \"message\");\n const refs = valueAt(entry, \"refs\");\n if ((code !== \"missing\" && code !== \"unsupported\" && code !== \"producer-incompatible\" && code !== \"input-invalid\" && code !== \"reduction-failed\" && code !== \"relation-unmatched\") || typeof message !== \"string\" || !Array.isArray(refs)) {\n return Either.left(codecError([...path, String(index)], \"is not a closed Analysis issue\"));\n }\n const decodedRefs = [] as AnalysisIssue[\"refs\"][number][];\n for (let refIndex = 0; refIndex < refs.length; refIndex += 1) {\n const ref = refs[refIndex];\n if (!isExactObject(ref, [\"identity\"]) || !isExactObject(valueAt(ref, \"identity\"), [\"kind\", \"locator\"])) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"is not a closed evidence reference\"));\n }\n const identity = valueAt(ref, \"identity\");\n if (!isExactObject(identity, [\"kind\", \"locator\"])) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"is not a closed evidence reference\"));\n }\n const locator = valueAt(identity, \"locator\");\n if (valueAt(identity, \"kind\") !== \"attempt\" || typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"has an invalid evidence locator\"));\n }\n decodedRefs.push(Object.freeze({ identity: Object.freeze({ kind: \"attempt\" as const, locator: locator as AnalysisIssue[\"refs\"][number][\"identity\"][\"locator\"] }) }));\n }\n issues.push(Object.freeze({ code, message, refs: Object.freeze(decodedRefs) }));\n }\n return Either.right(Object.freeze(issues));\n}\nfunction decodeArray<Value>(value: unknown, path: readonly string[], decode: (value: unknown, path: readonly string[]) => Either.Either<Value, SampleSnapshotCodecError>): Either.Either<readonly Value[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const values: Value[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decode(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n values.push(decoded.right);\n }\n return Either.right(Object.freeze(values));\n}\nfunction decodeRunId(value: unknown, path: readonly string[]): Either.Either<RunId, SampleSnapshotCodecError> {\n return decodeBrand(RunIdSchema, value, path, \"a RunId\");\n}\nfunction decodeSlotId(value: unknown, path: readonly string[]): Either.Either<SlotId, SampleSnapshotCodecError> {\n return decodeBrand(SlotIdSchema, value, path, \"a SlotId\");\n}\nfunction decodeEvalId(value: unknown, path: readonly string[]): Either.Either<EvalId, SampleSnapshotCodecError> {\n return decodeBrand(EvalIdSchema, value, path, \"an EvalId\");\n}\nfunction decodeAttemptOrdinal(value: unknown, path: readonly string[]): Either.Either<number, SampleSnapshotCodecError> {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value >= 0\n ? Either.right(value)\n : Either.left(codecError(path, \"must be a zero-based non-negative safe attempt ordinal\"));\n}\nfunction decodeExecutionIdentityDigest(value: unknown, path: readonly string[]): Either.Either<ExecutionIdentityDigest, SampleSnapshotCodecError> {\n return decodeBrand(ExecutionIdentityDigestSchema, value, path, \"an execution identity digest\");\n}\nfunction decodeExperimentId(value: unknown, path: readonly string[]): Either.Either<ExperimentId, SampleSnapshotCodecError> {\n return decodeBrand(ExperimentIdSchema, value, path, \"an ExperimentId\");\n}\nfunction decodeUtcMillis(value: unknown, path: readonly string[]): Either.Either<UtcMillis, SampleSnapshotCodecError> {\n return decodeBrand(UtcMillisSchema, value, path, \"a UTC millisecond value\");\n}\nfunction decodeBrand<Value>(schema: Schema.Schema<Value, any>, value: unknown, path: readonly string[], label: string): Either.Either<Value, SampleSnapshotCodecError> {\n const decoded = Schema.decodeUnknownEither(schema)(value);\n return Either.isLeft(decoded) ? Either.left(codecError(path, `must be ${label}`)) : Either.right(decoded.right);\n}\nfunction uniqueSorted<Value extends string>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...new Set<Value>(values)].sort(compareCanonicalIdentity));\n}\nfunction uniqueSortedBy<Value>(values: readonly Value[], key: (value: Value) => string): readonly Value[] {\n const byKey = new Map<string, Value>();\n for (const value of values) {\n const identity = key(value);\n if (byKey.has(identity))\n throw new Error(\"SampleSnapshot contains duplicate identities\");\n byKey.set(identity, value);\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, value]) => value));\n}\nfunction sameIdentity(value: unknown, expected: SampleIdentity): boolean {\n return isExactObject(value, [\"kind\", \"id\"])\n && valueAt(value, \"kind\") === expected.kind\n && valueAt(value, \"id\") === expected.id;\n}\nfunction sameCoverage(value: unknown, expected: SampleCoverage): boolean {\n return isExactObject(value, [\"frameTotal\", \"selected\", \"included\", \"notRecorded\", \"coreInvalid\", \"excluded\"])\n && valueAt(value, \"frameTotal\") === expected.frameTotal\n && valueAt(value, \"selected\") === expected.selected\n && valueAt(value, \"included\") === expected.included\n && valueAt(value, \"notRecorded\") === expected.notRecorded\n && valueAt(value, \"coreInvalid\") === expected.coreInvalid\n && valueAt(value, \"excluded\") === expected.excluded;\n}\nfunction codecException(error: SampleSnapshotCodecError): Error {\n const exception = new Error(error.reason);\n Object.assign(exception, error);\n return exception;\n}\nfunction codecError(path: readonly string[], reason: string): SampleSnapshotCodecError {\n return Object.freeze({ code: \"sample-snapshot-invalid\" as const, path: Object.freeze([...path]), reason });\n}\n/** Complete normalized selection data is collision-safe identity material. */\nfunction canonicalIdentity(value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"Sample identity input must be JSON-serializable\");\n return `sample-v1:${encoded}`;\n}\nfunction isPlainObject(value: unknown): value is object {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction isExactObject(value: unknown, keys: readonly string[]): value is object {\n if (!isPlainObject(value))\n return false;\n const actual = Reflect.ownKeys(value);\n return actual.length === keys.length && actual.every((key) => typeof key === \"string\" && keys.includes(key));\n}\nfunction valueAt(value: object, key: string): unknown {\n return Reflect.get(value, key);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["analysis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Either, ParseResult, Schema } from \"effect\";\nimport { encodeAttemptLocator, parseAttemptLocator } from \"../attempt-locator.ts\";\nimport type { AttemptLocator } from \"../attempt-locator.ts\";\nimport { EvalIdSchema, ExecutionIdentityDigestSchema, ExperimentIdSchema, RunIdSchema, SlotIdSchema, UtcMillisSchema, } from \"../record/codec/identifiers.ts\";\nimport type { RecordSlotIdentity } from \"../record/model/core.ts\";\nimport { compareCanonicalIdentity } from \"../record/model/identifiers.ts\";\nimport { canonicalizeRunContext, type RunContext, type RunExecutionContext, type RunContextJsonObject, type RunContextJsonValue, } from \"../record/model/run-context.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport type { ReadableRun, RecordReadSession, RecordSelection, SelectedAttemptRef, SelectedRunRef, } from \"../record/host/types.ts\";\nimport type { ActiveAnalysisSlot, AnalysisIssue, AnalysisRun, AnalysisRunContext, AnalysisRunExecution, AnalysisSlotOccurrenceIdentity, SampleIdentity, AnalysisSelectionProblem, AnalysisSelectionRequest, AnalysisSelectionSummary, AnalysisSlot, AnalysisRequestError, CoreInvalidAnalysisSlot, ExcludedAnalysisSlot, IncludedAnalysisSlot, JsonValue, NotRecordedAnalysisSlot, SampleCoverage, SampleSelector, SampleSnapshot, SampleSnapshotCodecError, } from \"../analysis/contracts.ts\";\nimport type { EvalId, ExecutionIdentityDigest, ExperimentId, RunId, SlotId, UtcMillis, } from \"../record/model/identifiers.ts\";\nconst MAX_SELECTED_RUNS = 4096;\nconst MAX_SLOTS = 250000;\n/** Private bridge retained in Sample's WeakMap, never in a closed value. */\nexport interface SampleMaterialization {\n readonly snapshot: SampleSnapshot;\n readonly attemptsBySlot: ReadonlyMap<string, SelectedAttemptRef>;\n /** Private Core identity used to validate a later lazy Attempt read. */\n readonly slotIdentitiesBySlot: ReadonlyMap<string, RecordSlotIdentity>;\n}\n/**\n * Reads only the selected Core needed to freeze the Sample denominator. Fixed\n * family payloads, blobs, and physical paths are intentionally not touched.\n */\nexport function materializeSampleSnapshot(input: {\n readonly reader: RecordReadSession;\n readonly selection: RecordSelection;\n readonly selectionRequest: AnalysisSelectionRequest;\n}): Effect.Effect<SampleMaterialization, RecordReaderReadError> {\n return Effect.gen(function* () {\n const selection = selectionSummary(input.selectionRequest, input.selection);\n const selected = [...input.selection.runRefs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId));\n if (selected.length > MAX_SELECTED_RUNS) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum selected Run count\"));\n }\n const expectedByRun = expectedSlotsByRun(input.selection);\n const factsByRun = runFactsByRun(input.selection);\n const runs: AnalysisRun[] = [];\n const slots: AnalysisSlot[] = [];\n const attemptsBySlot = new Map<string, SelectedAttemptRef>();\n const slotIdentitiesBySlot = new Map<string, RecordSlotIdentity>();\n for (const ref of selected) {\n const facts = factsByRun.get(ref);\n if (facts === undefined) {\n return yield* Effect.die(new Error(\"Record selection omitted closed facts for a selected Run\"));\n }\n const expected = expectedSlotsForRun(ref, facts, expectedByRun.get(ref));\n if (expected.length > MAX_SLOTS - slots.length) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum Slot count\"));\n }\n const read = yield* input.reader.readRun(ref);\n if (read.state !== \"available\") {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run Core is unavailable\"));\n }\n continue;\n }\n const run = read.value;\n if (run.document.experimentId !== facts.experimentId) {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run experimentId does not match its closed selection facts\"));\n }\n continue;\n }\n runs.push(closeRun(run, expected.map((entry) => entry.slot)));\n const members = membersBySlot(run);\n for (const expectedSlot of expected) {\n const slot = expectedSlot.slot;\n slotIdentitiesBySlot.set(slotKey(ref.runId, slot.slotId), slot);\n const materialized = materializeSlot({\n selectedRun: ref,\n experimentId: expectedSlot.experimentId,\n slot,\n members,\n });\n slots.push(materialized.slot);\n if (materialized.attempt !== undefined) {\n attemptsBySlot.set(slotKey(materialized.slot.runId, materialized.slot.slotId), materialized.attempt);\n }\n }\n }\n const canonicalRuns = Object.freeze([...runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const canonicalSlots = Object.freeze([...slots].sort(compareSlots));\n const snapshot = makeSnapshot({ selection, runs: canonicalRuns, slots: canonicalSlots });\n return Object.freeze({\n snapshot,\n attemptsBySlot,\n slotIdentitiesBySlot,\n });\n });\n}\n/** Synchronous, monotonic narrowing over an already-frozen snapshot. */\nexport function narrowSampleSnapshot(snapshot: SampleSnapshot, selector: SampleSelector): SampleSnapshot | AnalysisRequestError {\n const runIds = normalizedSelectorIds(selector.runIds);\n const slotIds = normalizedSelectorIds(selector.slotIds);\n if (runIds === undefined && slotIds === undefined) {\n return requestError(\"narrowSample needs at least one runIds or slotIds selector\");\n }\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n const runMatches = runIds === undefined || runIds.has(slot.runId);\n const slotMatches = slotIds === undefined || slotIds.has(slot.slotId);\n if (runMatches && slotMatches)\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/**\n * `project-current` identity narrowing. Empty matching ids exclude every\n * active Slot; unmatched members become `excluded` with `identity-mismatch`.\n */\nexport function narrowSampleSnapshotByCurrentIdentity(snapshot: SampleSnapshot, matchingOccurrences: readonly AnalysisSlotOccurrenceIdentity[]): SampleSnapshot {\n const keep = new Set(matchingOccurrences.map((occurrence) => slotKey(occurrence.runId, occurrence.slotId)));\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n if (keep.has(slotKey(slot.runId, slot.slotId)))\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n reason: \"identity-mismatch\" as const,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/** The only portable Sample encoding; it has no selected Record references. */\nexport function encodeSampleSnapshot(snapshot: SampleSnapshot): JsonValue {\n return snapshotJson(decodeSampleSnapshot(snapshot));\n}\n/** Exact decode, canonical ordering, coverage validation, and deep freeze. */\nexport function decodeSampleSnapshot(value: unknown): SampleSnapshot {\n const decoded = decodeSampleSnapshotEither(value);\n if (Either.isLeft(decoded))\n throw codecException(decoded.left);\n return decoded.right;\n}\n/** @internal Typed codec branch for host diagnostics. */\nexport function decodeSampleSnapshotEither(value: unknown): Either.Either<SampleSnapshot, SampleSnapshotCodecError> {\n const decoded = Schema.decodeUnknownEither(SampleSnapshotWireSchema, SampleSchemaParseOptions)(value);\n if (Either.isLeft(decoded))\n return Either.left(codecErrorFromSchema(decoded.left));\n const canonical = canonicalizeSnapshotWire(decoded.right);\n if (Either.isLeft(canonical))\n return Either.left(canonical.left);\n const alignment = validateSlotRunAlignment(canonical.right.runs, canonical.right.slots);\n if (alignment !== undefined)\n return Either.left(alignment);\n const snapshot = makeSnapshot(canonical.right);\n if (decoded.right.identity.kind !== snapshot.identity.kind || decoded.right.identity.id !== snapshot.identity.id) {\n return Either.left(codecError([\"identity\"], \"does not match the canonical frozen selection\"));\n }\n if (!sameCoverage(decoded.right.coverage, snapshot.coverage)) {\n return Either.left(codecError([\"coverage\"], \"does not satisfy the canonical coverage equations\"));\n }\n return Either.right(snapshot);\n}\nconst SampleSchemaParseOptions = Object.freeze({\n errors: \"all\" as const,\n exact: true,\n onExcessProperty: \"error\" as const,\n});\n/** Preserve the former JSON-record boundary before each exact Struct parse. */\ntype PlainObject = Readonly<Record<PropertyKey, unknown>>;\nconst PlainObjectSchema = Schema.declare<PlainObject>((value): value is PlainObject => {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}, { identifier: \"SamplePlainObject\", description: \"a plain object or null-prototype record\" });\nconst plainStruct = <Fields extends Schema.Struct.Fields>(fields: Fields) => Schema.compose(Schema.Struct(fields), { strict: false })(PlainObjectSchema);\nconst AttemptOrdinalSchema = Schema.JsonNumber.pipe(Schema.filter((value): value is number => Number.isSafeInteger(value) && value >= 0, {\n identifier: \"SampleAttemptOrdinal\",\n description: \"a zero-based non-negative safe attempt ordinal\",\n}));\nconst AttemptLocatorSchema: Schema.Schema<AttemptLocator, string> = Schema.String.pipe(Schema.filter<string, AttemptLocator>((value): value is AttemptLocator => parseAttemptLocator(value).valid, { identifier: \"SampleAttemptLocator\", description: \"a canonical Attempt locator\" }));\nconst JsonValueSchema: Schema.Schema<JsonValue> = Schema.suspend(() => Schema.Union(Schema.Null, Schema.Boolean, Schema.JsonNumber, Schema.String, Schema.Array(JsonValueSchema), Schema.Record({ key: Schema.String, value: JsonValueSchema })));\nconst RunContextWireSchema = plainStruct({\n execution: plainStruct({\n agentId: Schema.String.pipe(Schema.minLength(1)),\n model: Schema.NullOr(Schema.String),\n reasoningEffort: Schema.NullOr(Schema.String),\n flags: Schema.Record({ key: Schema.String, value: JsonValueSchema }),\n }),\n labels: Schema.Record({ key: Schema.String, value: Schema.String }),\n});\nconst SelectionProblemSchema = plainStruct({\n code: Schema.Literal(\"incomplete-run\", \"record-core-invalid\", \"selection-run-missing\", \"selection-run-unreadable\"),\n runId: RunIdSchema,\n});\nconst SelectionSchema = Schema.Union(plainStruct({\n policy: Schema.Literal(\"explicit-runs\"),\n runIds: Schema.Array(RunIdSchema),\n selectedRunIds: Schema.Array(RunIdSchema),\n problems: Schema.Array(SelectionProblemSchema),\n}), plainStruct({\n policy: Schema.Literal(\"project-current\"),\n experimentIds: Schema.Union(Schema.Literal(\"all\"), Schema.Array(ExperimentIdSchema)),\n selectedRunIds: Schema.Array(RunIdSchema),\n problems: Schema.Array(SelectionProblemSchema),\n}));\nconst RunSchema = plainStruct({\n runId: RunIdSchema,\n experimentId: ExperimentIdSchema,\n context: Schema.NullOr(RunContextWireSchema),\n startedAt: UtcMillisSchema,\n completedAt: UtcMillisSchema,\n expectedSlots: Schema.Array(SlotIdSchema),\n});\nconst SlotReferenceFields = {\n runId: RunIdSchema,\n slotId: SlotIdSchema,\n experimentId: ExperimentIdSchema,\n evalId: EvalIdSchema,\n attemptOrdinal: AttemptOrdinalSchema,\n executionIdentityDigest: ExecutionIdentityDigestSchema,\n};\nconst AttemptEvidenceSchema = plainStruct({\n kind: Schema.Literal(\"attempt\"),\n locator: AttemptLocatorSchema,\n originRunId: RunIdSchema,\n});\nconst IssueSchema = plainStruct({\n code: Schema.Literal(\"missing\", \"migration-required\", \"unsupported\", \"producer-incompatible\", \"input-invalid\", \"reduction-failed\", \"relation-unmatched\"),\n message: Schema.String,\n refs: Schema.Array(plainStruct({\n identity: plainStruct({ kind: Schema.Literal(\"attempt\"), locator: AttemptLocatorSchema }),\n })),\n});\nconst ActiveSlotSchema = Schema.Union(plainStruct({\n ...SlotReferenceFields,\n state: Schema.Literal(\"included\"),\n action: Schema.Literal(\"executed\", \"carried\", \"accepted\"),\n relation: Schema.Literal(\"origin\", \"reference\"),\n attempt: AttemptEvidenceSchema,\n}), plainStruct({\n ...SlotReferenceFields,\n state: Schema.Literal(\"not-recorded\"),\n action: Schema.Literal(\"not-dispatched\", \"interrupted\").pipe(Schema.NullOr),\n attempt: Schema.Null,\n}), plainStruct({\n ...SlotReferenceFields,\n state: Schema.Literal(\"core-invalid\"),\n action: Schema.Literal(\"executed\", \"carried\", \"accepted\", \"not-dispatched\", \"interrupted\").pipe(Schema.NullOr),\n attempt: Schema.Null,\n issues: Schema.Array(IssueSchema),\n}));\nconst SlotSchemaRaw = Schema.suspend(() => Schema.Union(ActiveSlotSchema, plainStruct({\n ...SlotReferenceFields,\n state: Schema.Literal(\"excluded\"),\n base: ActiveSlotSchema,\n}), plainStruct({\n ...SlotReferenceFields,\n state: Schema.Literal(\"excluded\"),\n base: ActiveSlotSchema,\n reason: Schema.Literal(\"identity-mismatch\"),\n})));\nconst SlotSchema: Schema.Schema<AnalysisSlot, Schema.Schema.Encoded<typeof SlotSchemaRaw>> = SlotSchemaRaw;\nconst CoverageWireSchema = plainStruct({\n frameTotal: Schema.JsonNumber,\n selected: Schema.JsonNumber,\n included: Schema.JsonNumber,\n notRecorded: Schema.JsonNumber,\n coreInvalid: Schema.JsonNumber,\n excluded: Schema.JsonNumber,\n});\nconst SampleSnapshotWireSchema = plainStruct({\n version: Schema.Literal(1),\n identity: plainStruct({ kind: Schema.Literal(\"analysis-sample\"), id: Schema.String }),\n selection: SelectionSchema,\n runs: Schema.Array(RunSchema).pipe(Schema.filter((runs) => runs.length <= MAX_SELECTED_RUNS, { identifier: \"SampleSelectedRuns\", description: \"at most 4096 selected Runs\" })),\n slots: Schema.Array(SlotSchema).pipe(Schema.filter((slots) => slots.length <= MAX_SLOTS, { identifier: \"SampleSlots\", description: \"at most 250000 Slots\" })),\n coverage: CoverageWireSchema,\n});\nfunction canonicalizeSnapshotWire(input: Schema.Schema.Type<typeof SampleSnapshotWireSchema>): Either.Either<{\n readonly selection: AnalysisSelectionSummary;\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}, SampleSnapshotCodecError> {\n const selection = canonicalizeSelection(input.selection);\n const runs: AnalysisRun[] = [];\n for (let index = 0; index < input.runs.length; index += 1) {\n const run = input.runs[index]!;\n const context = run.context === null\n ? null\n : canonicalizeRunContext({ experimentId: run.experimentId, ...run.context });\n if (context !== null && Either.isLeft(context)) {\n return Either.left(codecError([\"runs\", String(index), \"context\"], \"is not a valid closed Run context\"));\n }\n runs.push(Object.freeze({\n runId: run.runId,\n experimentId: run.experimentId,\n context: context === null ? null : closeRunContext(context.right),\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze(uniqueSorted(run.expectedSlots)),\n }));\n }\n let canonicalRuns: readonly AnalysisRun[];\n try {\n canonicalRuns = uniqueSortedBy(runs, (run) => run.runId);\n }\n catch {\n return Either.left(codecError([\"runs\"], \"duplicates a Run identity\"));\n }\n const identities = new Set<string>();\n const slots: AnalysisSlot[] = [];\n for (let index = 0; index < input.slots.length; index += 1) {\n const slot = input.slots[index]!;\n const key = slotKey(slot.runId, slot.slotId);\n if (identities.has(key))\n return Either.left(codecError([\"slots\", String(index)], \"duplicates a Run/Slot identity\"));\n identities.add(key);\n const closed = closeDecodedSlot(slot, [\"slots\", String(index)]);\n if (Either.isLeft(closed))\n return Either.left(closed.left);\n slots.push(closed.right);\n }\n return Either.right(Object.freeze({\n selection,\n runs: canonicalRuns,\n slots: Object.freeze(slots.sort(compareSlots)),\n }));\n}\nfunction closeDecodedSlot(slot: AnalysisSlot, path: readonly string[]): Either.Either<AnalysisSlot, SampleSnapshotCodecError> {\n if (slot.state === \"excluded\") {\n const base = closeDecodedSlot(slot.base, [...path, \"base\"]);\n if (Either.isLeft(base))\n return base;\n if (base.right.state === \"excluded\") {\n return Either.left(codecError([...path, \"base\"], \"must be an active Slot\"));\n }\n if (base.right.runId !== slot.runId || base.right.slotId !== slot.slotId ||\n base.right.experimentId !== slot.experimentId || base.right.evalId !== slot.evalId ||\n base.right.attemptOrdinal !== slot.attemptOrdinal ||\n base.right.executionIdentityDigest !== slot.executionIdentityDigest)\n return Either.left(codecError(path, \"excluded base must be a matching active Slot\"));\n return Either.right(Object.freeze({ ...slot, base: base.right }));\n }\n if (slot.state === \"included\") {\n return Either.right(Object.freeze({ ...slot, attempt: Object.freeze({ ...slot.attempt }) }));\n }\n if (slot.state === \"not-recorded\")\n return Either.right(Object.freeze({ ...slot }));\n return Either.right(Object.freeze({\n ...slot,\n issues: Object.freeze(slot.issues.map((issue) => Object.freeze({\n ...issue,\n refs: Object.freeze(issue.refs.map((ref) => Object.freeze({\n identity: Object.freeze({ ...ref.identity }),\n }))),\n }))),\n }));\n}\nfunction canonicalizeSelection(selection: Schema.Schema.Type<typeof SelectionSchema>): AnalysisSelectionSummary {\n const problems = normalizedSelectionProblems(selection.problems);\n return selection.policy === \"explicit-runs\"\n ? Object.freeze({\n policy: selection.policy,\n runIds: uniqueSorted(selection.runIds),\n selectedRunIds: uniqueSorted(selection.selectedRunIds),\n problems,\n })\n : Object.freeze({\n policy: selection.policy,\n experimentIds: selection.experimentIds === \"all\" ? \"all\" : uniqueSorted(selection.experimentIds),\n selectedRunIds: uniqueSorted(selection.selectedRunIds),\n problems,\n });\n}\n/** A Snapshot Slot is a derived occurrence of exactly one closed AnalysisRun. */\nfunction validateSlotRunAlignment(runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleSnapshotCodecError | undefined {\n const runsById = new Map(runs.map((run) => [run.runId, run] as const));\n for (let index = 0; index < slots.length; index += 1) {\n const slot = slots[index]!;\n const run = runsById.get(slot.runId);\n if (run === undefined)\n return codecError([\"slots\", String(index), \"runId\"], \"does not identify a selected AnalysisRun\");\n if (run.experimentId !== slot.experimentId)\n return codecError([\"slots\", String(index), \"experimentId\"], \"does not match the associated AnalysisRun\");\n if (!run.expectedSlots.includes(slot.slotId))\n return codecError([\"slots\", String(index), \"slotId\"], \"does not belong to the associated AnalysisRun\");\n }\n return undefined;\n}\nfunction codecErrorFromSchema(error: ParseResult.ParseError): SampleSnapshotCodecError {\n const issue = ParseResult.ArrayFormatter.formatErrorSync(error)[0];\n if (issue === undefined)\n return codecError([], \"is not a valid Sample snapshot\");\n return codecError(issue.path.map(String), issue.message);\n}\nfunction expectedSlotsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]> {\n const result = new Map<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]>();\n for (const entry of selection.expectedSlots) {\n const slots = result.get(entry.run);\n if (slots === undefined)\n result.set(entry.run, [entry]);\n else\n result.set(entry.run, [...slots, entry]);\n }\n for (const [ref, slots] of result) {\n result.set(ref, Object.freeze([...slots].sort((left, right) => compareCanonicalIdentity(left.slot.slotId, right.slot.slotId))));\n }\n return result;\n}\nfunction runFactsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, RecordSelection[\"runFacts\"][number]> {\n return new Map(selection.runFacts.map((facts) => [facts.run, facts] as const));\n}\nfunction expectedSlotsForRun(ref: SelectedRunRef, facts: RecordSelection[\"runFacts\"][number], fromSelection: readonly RecordSelection[\"expectedSlots\"][number][] | undefined): readonly RecordSelection[\"expectedSlots\"][number][] {\n if (fromSelection !== undefined)\n return fromSelection;\n return Object.freeze(facts.expectedSlots.map((slot) => Object.freeze({\n run: ref,\n experimentId: facts.experimentId,\n slot,\n })));\n}\nfunction selectionSummary(request: AnalysisSelectionRequest, selection: RecordSelection): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(selection.runRefs.map((ref) => ref.runId));\n // Unpublished Run directories are normal writer residue. Record keeps the\n // warning for maintenance, but it is not a problem with the selected Sample.\n const problems = normalizedSelectionProblems(selection.problems);\n if (request.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(request.runIds),\n selectedRunIds,\n problems,\n });\n }\n const requestedExperimentIds = request.experimentIds === undefined\n ? uniqueSorted(request.currentSlots.map((slot) => slot.experimentId))\n : uniqueSorted(request.experimentIds);\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: requestedExperimentIds.length === 0 ? \"all\" : requestedExperimentIds,\n selectedRunIds,\n problems,\n });\n}\nfunction normalizedSelectionProblems(values: readonly AnalysisSelectionProblem[]): readonly AnalysisSelectionProblem[] {\n const byKey = new Map<string, AnalysisSelectionProblem>();\n for (const problem of values) {\n byKey.set(`${problem.code}\\u0000${problem.runId}`, Object.freeze({ ...problem }));\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, problem]) => problem));\n}\nfunction closeRun(run: ReadableRun, expectedSlots: readonly RecordSlotIdentity[]): AnalysisRun {\n return Object.freeze({\n runId: run.document.runId,\n experimentId: run.document.experimentId,\n context: closeRunContext(run.document.context),\n startedAt: run.document.startedAt,\n completedAt: run.document.completedAt,\n expectedSlots: Object.freeze(expectedSlots.map((slot) => slot.slotId)),\n });\n}\nfunction closeRunFacts(facts: RecordSelection[\"runFacts\"][number]): AnalysisRun {\n return Object.freeze({\n runId: facts.run.runId,\n experimentId: facts.experimentId,\n context: null,\n startedAt: facts.startedAt,\n completedAt: facts.completedAt,\n expectedSlots: Object.freeze(facts.expectedSlots.map((slot) => slot.slotId)),\n });\n}\n/**\n * Context is Core, but Sample owns an independent value-only closure rather\n * than retaining a reference to a Record read result. Canonical key ordering\n * keeps the Snapshot identity stable before it reaches JSON encoding.\n */\nfunction closeRunContext(context: RunContext): AnalysisRunContext {\n return Object.freeze({\n execution: closeAnalysisRunExecution(context.execution),\n labels: closeStringRecord(context.labels),\n });\n}\n/**\n * Internal closure shared by selected-Run snapshot construction and the\n * origin-Attempt projection. It copies only durable JSON facts; neither path,\n * reader, nor mutable Record object escapes into Sample.\n */\nexport function closeAnalysisRunExecution(execution: RunExecutionContext): AnalysisRunExecution {\n return Object.freeze({\n agentId: execution.agentId,\n model: execution.model,\n reasoningEffort: execution.reasoningEffort,\n flags: closeJsonObject(execution.flags),\n });\n}\nfunction closeStringRecord(value: Readonly<Record<string, string>>): Readonly<Record<string, string>> {\n const result: Record<string, string> = Object.create(null) as Record<string, string>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: value[key],\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonObject(value: RunContextJsonObject): Readonly<Record<string, JsonValue>> {\n const result: Record<string, JsonValue> = Object.create(null) as Record<string, JsonValue>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: closeJsonValue(value[key]!),\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonValue(value: RunContextJsonValue): JsonValue {\n if (value === null || typeof value === \"boolean\" || typeof value === \"number\" || typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value))\n return Object.freeze(value.map(closeJsonValue));\n if (isRunContextJsonObject(value))\n return closeJsonObject(value);\n throw new TypeError(\"RunContext JSON value must be an object after scalar and array cases\");\n}\nfunction isRunContextJsonObject(value: RunContextJsonValue): value is RunContextJsonObject {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction membersBySlot(run: ReadableRun): ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\"> {\n const result = new Map<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">();\n for (const member of run.members) {\n if (result.has(member.document.slotId))\n result.set(member.document.slotId, \"duplicate\");\n else\n result.set(member.document.slotId, member);\n }\n return result;\n}\nfunction materializeSlot(input: {\n readonly selectedRun: SelectedRunRef;\n /** Derived once from the exact Run Core, never copied into Record Slot. */\n readonly experimentId: ExperimentId;\n readonly slot: RecordSlotIdentity;\n readonly members: ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">;\n}): {\n readonly slot: AnalysisSlot;\n readonly attempt?: SelectedAttemptRef;\n} {\n const member = input.members.get(input.slot.slotId);\n if (member === undefined) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: null,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member === \"duplicate\" || member.document.slotId !== input.slot.slotId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, null, \"the Run has an invalid Member mapping\"),\n });\n }\n if (member.document.attempt === null) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: member.document.action,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member.attempt === null ||\n member.document.attempt.originRunId !== member.attempt.originRunId ||\n member.document.attempt.attemptId !== member.attempt.attemptId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, member.document.action, \"the selected Member did not receive the exact Attempt capability\"),\n });\n }\n const slot: IncludedAnalysisSlot = Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"included\" as const,\n action: member.document.action,\n relation: member.attempt.originRunId === input.selectedRun.runId ? \"origin\" as const : \"reference\" as const,\n attempt: Object.freeze({\n kind: \"attempt\" as const,\n locator: encodeAttemptLocator(member.attempt.attemptId),\n originRunId: member.attempt.originRunId,\n }),\n });\n return Object.freeze({ slot, attempt: member.attempt });\n}\nfunction coreInvalidSlot(runId: RunId, experimentId: ExperimentId, slot: RecordSlotIdentity, action: CoreInvalidAnalysisSlot[\"action\"], message: string): CoreInvalidAnalysisSlot {\n return Object.freeze({\n runId,\n slotId: slot.slotId,\n experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"core-invalid\" as const,\n action,\n attempt: null,\n issues: Object.freeze([analysisIssue(\"input-invalid\", message)]),\n });\n}\nfunction makeSnapshot(input: {\n readonly selection: AnalysisSelectionSummary;\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}): SampleSnapshot {\n const runs = Object.freeze([...input.runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const slots = Object.freeze([...input.slots].sort(compareSlots));\n const canonicalSelection = selectionForSlots(input.selection, slots);\n const coverage = coverageFor(slots);\n return Object.freeze({\n version: 1 as const,\n identity: sampleIdentity(canonicalSelection, runs, slots),\n selection: canonicalSelection,\n runs,\n slots,\n coverage,\n });\n}\n/** Every derived Sample retains its source policy and refreshes its active result. */\nfunction selectionForSlots(selection: AnalysisSelectionSummary, slots: readonly AnalysisSlot[]): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(slots.flatMap((slot) => slot.state === \"excluded\" ? [] : [slot.runId]));\n const problems = normalizedSelectionProblems(selection.problems);\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(selection.runIds),\n selectedRunIds,\n problems,\n });\n }\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : uniqueSorted(selection.experimentIds),\n selectedRunIds,\n problems,\n });\n}\nfunction coverageFor(slots: readonly AnalysisSlot[]): SampleCoverage {\n let selected = 0;\n let included = 0;\n let notRecorded = 0;\n let coreInvalid = 0;\n let excluded = 0;\n for (const slot of slots) {\n if (slot.state === \"excluded\") {\n excluded += 1;\n continue;\n }\n selected += 1;\n if (slot.state === \"included\")\n included += 1;\n else if (slot.state === \"not-recorded\")\n notRecorded += 1;\n else\n coreInvalid += 1;\n }\n return Object.freeze({\n frameTotal: slots.length,\n selected,\n included,\n notRecorded,\n coreInvalid,\n excluded,\n });\n}\nfunction sampleIdentity(selection: AnalysisSelectionSummary, runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleIdentity {\n return Object.freeze({\n kind: \"analysis-sample\" as const,\n id: canonicalIdentity({ selection, runs, slots }),\n });\n}\nfunction compareSlots(left: AnalysisSlot, right: AnalysisSlot): number {\n const run = compareCanonicalIdentity(left.runId, right.runId);\n return run === 0 ? compareCanonicalIdentity(left.slotId, right.slotId) : run;\n}\nfunction slotKey(runId: RunId, slotId: SlotId): string {\n return `${runId}\\u0000${slotId}`;\n}\nfunction normalizedSelectorIds(values: readonly string[] | undefined): ReadonlySet<string> | undefined {\n if (values === undefined)\n return undefined;\n return new Set(values);\n}\nfunction requestError(reason: string): AnalysisRequestError {\n return Object.freeze({ code: \"analysis-request-invalid\" as const, reason });\n}\nfunction analysisIssue(code: AnalysisIssue[\"code\"], message: string): AnalysisIssue {\n return Object.freeze({ code, message, refs: Object.freeze([]) });\n}\nfunction snapshotJson(snapshot: SampleSnapshot): JsonValue {\n return Object.freeze({\n version: snapshot.version,\n identity: Object.freeze({ kind: snapshot.identity.kind, id: snapshot.identity.id }),\n selection: selectionJson(snapshot.selection),\n runs: Object.freeze(snapshot.runs.map((run) => Object.freeze({\n runId: run.runId,\n experimentId: run.experimentId,\n context: run.context === null ? null : Object.freeze({\n execution: Object.freeze({\n agentId: run.context.execution.agentId,\n model: run.context.execution.model,\n reasoningEffort: run.context.execution.reasoningEffort,\n flags: closeJsonObject(run.context.execution.flags),\n }),\n labels: closeStringRecord(run.context.labels),\n }),\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze([...run.expectedSlots]),\n }))),\n slots: Object.freeze(snapshot.slots.map(slotJson)),\n coverage: Object.freeze({ ...snapshot.coverage }),\n });\n}\nfunction selectionJson(selection: AnalysisSelectionSummary): JsonValue {\n const problems = Object.freeze(selection.problems.map((problem) => Object.freeze({ ...problem })));\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: selection.policy,\n runIds: Object.freeze([...selection.runIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n }\n return Object.freeze({\n policy: selection.policy,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : Object.freeze([...selection.experimentIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n}\nfunction slotJson(slot: AnalysisSlot): JsonValue {\n if (slot.state === \"excluded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n base: slotJson(slot.base),\n ...(slot.reason === undefined ? {} : { reason: slot.reason }),\n });\n }\n if (slot.state === \"included\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n relation: slot.relation,\n attempt: Object.freeze({ ...slot.attempt }),\n });\n }\n if (slot.state === \"not-recorded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n });\n }\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n issues: Object.freeze(slot.issues.map(issueJson)),\n });\n}\nfunction issueJson(issue: AnalysisIssue): JsonValue {\n return Object.freeze({\n code: issue.code,\n message: issue.message,\n refs: Object.freeze(issue.refs.map((ref) => Object.freeze({\n identity: Object.freeze({ kind: ref.identity.kind, locator: ref.identity.locator }),\n }))),\n });\n}\nfunction uniqueSortedBy<Value>(values: readonly Value[], key: (value: Value) => string): readonly Value[] {\n const byKey = new Map<string, Value>();\n for (const value of values) {\n const identity = key(value);\n if (byKey.has(identity))\n throw new Error(\"SampleSnapshot contains duplicate identities\");\n byKey.set(identity, value);\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, value]) => value));\n}\nfunction uniqueSorted<Value extends string>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...new Set<Value>(values)].sort(compareCanonicalIdentity));\n}\nfunction sameCoverage(value: Schema.Schema.Type<typeof CoverageWireSchema>, expected: SampleCoverage): boolean {\n return value.frameTotal === expected.frameTotal\n && value.selected === expected.selected\n && value.included === expected.included\n && value.notRecorded === expected.notRecorded\n && value.coreInvalid === expected.coreInvalid\n && value.excluded === expected.excluded;\n}\nfunction codecException(error: SampleSnapshotCodecError): Error {\n const exception = new Error(error.reason);\n Object.assign(exception, error);\n return exception;\n}\nfunction codecError(path: readonly string[], reason: string): SampleSnapshotCodecError {\n return Object.freeze({ code: \"sample-snapshot-invalid\" as const, path: Object.freeze([...path]), reason });\n}\n/** Complete normalized selection data is collision-safe identity material. */\nfunction canonicalIdentity(value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"Sample identity input must be JSON-serializable\");\n return `sample-v1:${encoded}`;\n}\n"]}
|