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
|
@@ -13,6 +13,7 @@ exports.logicalSlotMembersForSample = logicalSlotMembersForSample;
|
|
|
13
13
|
exports.readCostProjection = readCostProjection;
|
|
14
14
|
exports.readPublishedInput = readPublishedInput;
|
|
15
15
|
exports.readBuiltinDomainView = readBuiltinDomainView;
|
|
16
|
+
exports.readRunDiagnosticsDomainView = readRunDiagnosticsDomainView;
|
|
16
17
|
exports.encodeSampleSnapshot = encodeSampleSnapshot;
|
|
17
18
|
exports.decodeSampleSnapshot = decodeSampleSnapshot;
|
|
18
19
|
exports.decodeSampleSnapshotEither = decodeSampleSnapshotEither;
|
|
@@ -288,6 +289,11 @@ function recordAnalysisIssues(sample, issues, capture) {
|
|
|
288
289
|
if (capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle)
|
|
289
290
|
return;
|
|
290
291
|
for (const issue of freezeIssues(issues)) {
|
|
292
|
+
// Unsupported is a closed, locally renderable MetricValue/DomainView
|
|
293
|
+
// state. Report components retain it with its refs; it is not a Host-level
|
|
294
|
+
// warning about a failed or unexpectedly missing analysis input.
|
|
295
|
+
if (issue.code === "unsupported")
|
|
296
|
+
continue;
|
|
291
297
|
const key = analysisIssueIdentity(issue);
|
|
292
298
|
if (!capture.issues.has(key))
|
|
293
299
|
capture.issues.set(key, issue);
|
|
@@ -376,6 +382,8 @@ function readPublishedInput(sample, input, member) {
|
|
|
376
382
|
});
|
|
377
383
|
if (projected.state === "value")
|
|
378
384
|
return valueObservation(projected.value, evidenceRefs(included));
|
|
385
|
+
if (projected.state === "migration-required")
|
|
386
|
+
return migrationRequiredObservation(included, projected.message);
|
|
379
387
|
if (projected.state === "unsupported")
|
|
380
388
|
return unsupportedObservation(included, projected.message);
|
|
381
389
|
if (projected.state === "failed")
|
|
@@ -419,6 +427,104 @@ function readBuiltinDomainView(sample, binding, locator) {
|
|
|
419
427
|
return view;
|
|
420
428
|
});
|
|
421
429
|
}
|
|
430
|
+
/** @internal Closes Run-owned diagnostics without requiring an Attempt locator. */
|
|
431
|
+
function readRunDiagnosticsDomainView(sample) {
|
|
432
|
+
return effect_1.Effect.gen(function* () {
|
|
433
|
+
yield* assertSampleOpen(sample);
|
|
434
|
+
const binding = sampleBindings.get(sample);
|
|
435
|
+
if (binding === undefined)
|
|
436
|
+
return yield* effect_1.Effect.fail(sampleClosed(sample.snapshot.identity));
|
|
437
|
+
const selectedRunIds = new Set(sample.snapshot.runs.map((run) => String(run.runId)));
|
|
438
|
+
const experimentByRun = new Map(sample.snapshot.runs.map((run) => [String(run.runId), String(run.experimentId)]));
|
|
439
|
+
const entries = [];
|
|
440
|
+
for (const ref of binding.runRefs) {
|
|
441
|
+
const runId = String(ref.runId);
|
|
442
|
+
if (!selectedRunIds.has(runId))
|
|
443
|
+
continue;
|
|
444
|
+
const experimentId = experimentByRun.get(runId) ?? "unknown";
|
|
445
|
+
const runRead = yield* effect_1.Effect.either(binding.reader.readRun(ref));
|
|
446
|
+
let entry;
|
|
447
|
+
if (effect_1.Either.isLeft(runRead)) {
|
|
448
|
+
entry = Object.freeze({
|
|
449
|
+
runId,
|
|
450
|
+
experimentId,
|
|
451
|
+
state: "failed",
|
|
452
|
+
detail: `Record read failed: ${safeErrorMessage(runRead.left)}`,
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
else if (runRead.right.state !== "available") {
|
|
456
|
+
entry = Object.freeze({
|
|
457
|
+
runId,
|
|
458
|
+
experimentId,
|
|
459
|
+
state: runRead.right.state === "missing" ? "not-recorded" : "invalid",
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
const observability = yield* effect_1.Effect.either(binding.reader.readRunObservability(runRead.right.value.owner));
|
|
464
|
+
if (effect_1.Either.isLeft(observability)) {
|
|
465
|
+
entry = Object.freeze({
|
|
466
|
+
runId,
|
|
467
|
+
experimentId,
|
|
468
|
+
state: "failed",
|
|
469
|
+
detail: `Record read failed: ${safeErrorMessage(observability.left)}`,
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
else if (observability.right.state !== "available") {
|
|
473
|
+
entry = Object.freeze({
|
|
474
|
+
runId,
|
|
475
|
+
experimentId,
|
|
476
|
+
state: observability.right.state === "not-recorded"
|
|
477
|
+
? "not-recorded"
|
|
478
|
+
: observability.right.state === "migration-required"
|
|
479
|
+
? "migration-required"
|
|
480
|
+
: observability.right.state === "unsupported"
|
|
481
|
+
? "unsupported"
|
|
482
|
+
: "invalid",
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
else {
|
|
486
|
+
const diagnostics = observability.right.value.diagnostics;
|
|
487
|
+
entry = Object.freeze({
|
|
488
|
+
runId,
|
|
489
|
+
experimentId,
|
|
490
|
+
state: "available",
|
|
491
|
+
detail: Object.freeze({
|
|
492
|
+
collection: Object.freeze({
|
|
493
|
+
state: diagnostics.collection.state,
|
|
494
|
+
limitations: Object.freeze([...diagnostics.collection.limitations]),
|
|
495
|
+
}),
|
|
496
|
+
diagnostics: Object.freeze(diagnostics.diagnostics.map((diagnostic) => Object.freeze({
|
|
497
|
+
diagnosticId: String(diagnostic.diagnosticId),
|
|
498
|
+
kind: diagnostic.kind,
|
|
499
|
+
code: String(diagnostic.code),
|
|
500
|
+
phase: diagnostic.phase,
|
|
501
|
+
summary: String(diagnostic.summary),
|
|
502
|
+
causes: Object.freeze(diagnostic.causes.map((cause) => Object.freeze({
|
|
503
|
+
code: String(cause.code),
|
|
504
|
+
summary: String(cause.summary),
|
|
505
|
+
}))),
|
|
506
|
+
redaction: diagnostic.redaction,
|
|
507
|
+
sourceFrame: diagnostic.sourceFrame,
|
|
508
|
+
}))),
|
|
509
|
+
}),
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
entries.push(entry);
|
|
514
|
+
}
|
|
515
|
+
return Object.freeze({
|
|
516
|
+
kind: "domain-view",
|
|
517
|
+
identity: Object.freeze({
|
|
518
|
+
kind: "domain-view",
|
|
519
|
+
id: canonicalIdentity("domain-view", [sample.snapshot.identity.id, "run-diagnostics"]),
|
|
520
|
+
}),
|
|
521
|
+
view: "run-diagnostics",
|
|
522
|
+
entries: Object.freeze(entries),
|
|
523
|
+
issues: Object.freeze([]),
|
|
524
|
+
refs: Object.freeze([]),
|
|
525
|
+
});
|
|
526
|
+
});
|
|
527
|
+
}
|
|
422
528
|
/** Snapshot is the only Sample value that can cross a JSON boundary. */
|
|
423
529
|
function encodeSampleSnapshot(snapshot) {
|
|
424
530
|
return (0, analysis_ts_1.encodeSampleSnapshot)(snapshot);
|
|
@@ -495,8 +601,9 @@ function readCostSlot(sample, binding, member, profile) {
|
|
|
495
601
|
case "not-recorded":
|
|
496
602
|
return (0, cost_projection_ts_1.unavailableCostSlot)(included, "usage-not-recorded", refs);
|
|
497
603
|
case "unsupported":
|
|
498
|
-
case "migration-required":
|
|
499
604
|
return (0, cost_projection_ts_1.unavailableCostSlot)(included, "usage-unsupported", refs);
|
|
605
|
+
case "migration-required":
|
|
606
|
+
return (0, cost_projection_ts_1.unavailableCostSlot)(included, "usage-migration-required", refs);
|
|
500
607
|
case "invalid":
|
|
501
608
|
return (0, cost_projection_ts_1.unavailableCostSlot)(included, "usage-invalid", refs);
|
|
502
609
|
}
|
|
@@ -516,7 +623,7 @@ function readDomainEntry(sample, binding, slot, domain) {
|
|
|
516
623
|
return domainFailure(slot.attempt, domain.kind, "the selected Record fact could not be read");
|
|
517
624
|
}
|
|
518
625
|
if (cached.read.state !== "available") {
|
|
519
|
-
return domainFamilyState(slot.attempt, domain.kind, cached.read);
|
|
626
|
+
return domainFamilyState(slot.attempt, domain.kind, cached.read, !(cached.read.state === "not-recorded" && resolved.core.outcome !== "completed"));
|
|
520
627
|
}
|
|
521
628
|
return domainAvailable(slot.attempt, domain.kind, domain.project({
|
|
522
629
|
core: resolved.core,
|
|
@@ -585,14 +692,26 @@ function analysisRunForSlot(snapshot, slot) {
|
|
|
585
692
|
throw new Error("SampleSnapshot Slot has no selected AnalysisRun");
|
|
586
693
|
return run;
|
|
587
694
|
}
|
|
588
|
-
function domainFamilyState(identity, view, read) {
|
|
589
|
-
const state = read.state === "not-recorded"
|
|
590
|
-
|
|
695
|
+
function domainFamilyState(identity, view, read, reportIssue = true) {
|
|
696
|
+
const state = read.state === "not-recorded"
|
|
697
|
+
? "not-recorded"
|
|
698
|
+
: read.state === "migration-required"
|
|
699
|
+
? "migration-required"
|
|
700
|
+
: read.state === "unsupported"
|
|
701
|
+
? "unsupported"
|
|
702
|
+
: "invalid";
|
|
703
|
+
const code = state === "not-recorded"
|
|
704
|
+
? "missing"
|
|
705
|
+
: state === "migration-required"
|
|
706
|
+
? "migration-required"
|
|
707
|
+
: state === "unsupported"
|
|
708
|
+
? "unsupported"
|
|
709
|
+
: "input-invalid";
|
|
591
710
|
const issue = analysisIssue(code, `${view} is ${state}`, [evidenceRef(identity)]);
|
|
592
711
|
const value = Object.freeze({ attempt: identity, state, view });
|
|
593
712
|
return Object.freeze({
|
|
594
713
|
value,
|
|
595
|
-
issues: Object.freeze([issue]),
|
|
714
|
+
issues: reportIssue ? Object.freeze([issue]) : Object.freeze([]),
|
|
596
715
|
});
|
|
597
716
|
}
|
|
598
717
|
function domainFailure(identity, view, message) {
|
|
@@ -611,6 +730,9 @@ function domainFailure(identity, view, message) {
|
|
|
611
730
|
function observationFromFamily(member, read, label) {
|
|
612
731
|
if (read.state === "not-recorded")
|
|
613
732
|
return missingObservation(member);
|
|
733
|
+
if (read.state === "migration-required") {
|
|
734
|
+
return migrationRequiredObservation(member, `${label} requires migration`);
|
|
735
|
+
}
|
|
614
736
|
if (read.state === "unsupported")
|
|
615
737
|
return unsupportedObservation(member, `${label} is unsupported`);
|
|
616
738
|
return invalidObservation(member, `${label} is invalid`);
|
|
@@ -641,13 +763,22 @@ function invalidObservation(member, message = "the selected logical Slot has inv
|
|
|
641
763
|
function unsupportedObservation(member, message) {
|
|
642
764
|
return issueObservation("unsupported", member, message);
|
|
643
765
|
}
|
|
766
|
+
function migrationRequiredObservation(member, message) {
|
|
767
|
+
return issueObservation("migration-required", member, message);
|
|
768
|
+
}
|
|
644
769
|
function failedObservation(member, message) {
|
|
645
770
|
return issueObservation("reduction-failed", member, message);
|
|
646
771
|
}
|
|
647
772
|
function issueObservation(code, member, message) {
|
|
648
773
|
const refs = evidenceRefs(member);
|
|
649
774
|
return Object.freeze({
|
|
650
|
-
state: code === "missing"
|
|
775
|
+
state: code === "missing"
|
|
776
|
+
? "missing"
|
|
777
|
+
: code === "migration-required"
|
|
778
|
+
? "migration-required"
|
|
779
|
+
: code === "unsupported"
|
|
780
|
+
? "unsupported"
|
|
781
|
+
: "failed",
|
|
651
782
|
issues: Object.freeze([analysisIssue(code, message, refs)]),
|
|
652
783
|
refs,
|
|
653
784
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["capability.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deferred, Effect, Either, Runtime, Scope } from \"effect\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\nimport type { AttemptLocator } from \"../attempt-locator.ts\";\nimport type { BuiltinDomainViewBinding, FixedFamilyBinding, FixedFamilyOwnerRequirement, PublishedAnalysisInputBinding, } from \"../analysis/bindings.ts\";\nimport { attemptObservabilityFamily } from \"../analysis/bindings.ts\";\nimport type { BuiltinDomainView, ClosedDomainEntry, } from \"../analysis/api.ts\";\nimport type { BuiltinDomainDetail, BuiltinDomainViewKind, ClosedAttemptCore, } from \"../analysis/domain-view.ts\";\nimport type { LogicalSlot } from \"../analysis/definitions.ts\";\nimport type { PricingProfile } from \"../analysis/cost.ts\";\nimport type { CostMetricValue } from \"../analysis/cost.ts\";\nimport { projectCostUsage, unavailableCostSlot, type CostSlotProjection, } from \"../analysis/cost-projection.ts\";\nimport { sampleCapabilityTypeId } from \"../analysis/contracts.ts\";\nimport type { ActiveAnalysisSlot, AnalysisRun, AttemptEvidenceIdentity, AnalysisIssue, AnalysisSelectionRequest, AnalysisSlotOccurrenceIdentity, DomainView, EvidenceRef, IncludedAnalysisSlot, JsonValue, Sample, SampleClosedError, SampleIdentity, SampleInputObservation, SampleSelector, SampleSnapshot, SampleSnapshotCodecError, SlotId, } from \"../analysis/contracts.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport type { AttemptObservabilityAttachment } from \"../record/family/observability.ts\";\nimport type { FixedFamilyRead, ReadableAttempt, RecordReadSession, RecordSelection, SelectedAttemptRef, SelectedOwnerRef, SelectedRunRef, } from \"../record/host/types.ts\";\nimport { closeAnalysisRunExecution, decodeSampleSnapshot as decodeSnapshot, decodeSampleSnapshotEither as decodeSnapshotEither, encodeSampleSnapshot as encodeSnapshot, materializeSampleSnapshot, narrowSampleSnapshot, narrowSampleSnapshotByCurrentIdentity, } from \"./analysis.ts\";\ninterface SampleLifecycle {\n readonly inFlight: Set<AbortController>;\n readonly issueCaptures: Set<AnalysisIssueCaptureState>;\n readonly attempts: AttemptLazyCache;\n readonly attachments: FixedFamilyLazyCache;\n readonly costProjections: CostProjectionLazyCache;\n closed: boolean;\n}\ninterface AnalysisIssueCaptureState {\n readonly lifecycle: SampleLifecycle;\n readonly issues: Map<string, AnalysisIssue>;\n readonly costs: Map<string, AnalysisCostCaptureEntry>;\n closed: boolean;\n}\n/** @internal Opaque execution-local token propagated by public Analysis calls. */\nexport type AnalysisIssueCaptureToken = AnalysisIssueCaptureState;\n/** @internal Execution-local collection that Report turns into its problem table. */\nexport interface AnalysisIssueCapture {\n readonly issues: () => readonly AnalysisIssue[];\n /** Closed cost values requested during this exact host execution. */\n readonly costEntries: () => readonly AnalysisCostCaptureEntry[];\n readonly close: () => void;\n readonly run: <Value>(callback: () => Value) => Value;\n}\n/** @internal Host binds these data-only values to its target/page ownership. */\nexport interface AnalysisCostCaptureEntry {\n readonly measureId: string;\n readonly row: {\n readonly key: string;\n readonly dimensions: Readonly<Record<string, import(\"../analysis/definitions.ts\").DimensionValue>>;\n };\n readonly profileIdentity: string;\n readonly projection: import(\"../analysis/cost.ts\").CostProjectionValue;\n}\ninterface SamplePromiseRunner {\n <Value, Error>(operation: Effect.Effect<Value, Error>, options: {\n readonly signal: AbortSignal;\n }): Promise<Value>;\n}\ninterface SampleBinding {\n readonly reader: RecordReadSession;\n /** Nominal refs stay private and are only used to read selected Core. */\n readonly runRefs: readonly SelectedRunRef[];\n readonly attemptsBySlot: ReadonlyMap<string, SelectedAttemptRef>;\n readonly lifecycle: SampleLifecycle;\n /** Closed over the Runtime captured at issuance; never exposed on Sample. */\n readonly run: SamplePromiseRunner;\n}\ninterface ResolvedAttempt {\n readonly attempt: ReadableAttempt;\n /** Closed during the same successful ReadableAttempt read as `attempt`. */\n readonly core: ClosedAttemptCore;\n}\ninterface AttemptCoreUnavailable {\n readonly code: \"analysis-attempt-core-unavailable\";\n}\ninterface AttemptReadFailed {\n readonly code: \"analysis-attempt-read-failed\";\n readonly message: string;\n}\ntype CachedAttemptRead = {\n readonly state: \"available\";\n readonly attempt: ReadableAttempt;\n readonly core: ClosedAttemptCore;\n} | {\n readonly state: \"core-unavailable\";\n} | {\n readonly state: \"read-failed\";\n readonly message: string;\n};\ntype AttemptCacheDeferred = Deferred.Deferred<CachedAttemptRead, SampleClosedError>;\ntype CachedFixedFamilyRead<Payload> = {\n readonly state: \"family\";\n readonly read: FixedFamilyRead<Payload>;\n} | {\n readonly state: \"read-failed\";\n readonly message: string;\n};\ntype CacheDeferred = Deferred.Deferred<CachedFixedFamilyRead<unknown>, SampleClosedError>;\ntype CostProjectionDeferred = Deferred.Deferred<readonly CostSlotProjection[], SampleClosedError>;\n/**\n * A Sample-local exact-once Core cache. The selected Attempt capability itself\n * is the key: no locator, path, Run id, or Attempt id is reconstructed here.\n * Keeping the resolved ReadableAttempt stable also keeps its nominal attempt\n * and origin owners stable for the fixed-family cache below.\n */\nclass AttemptLazyCache {\n private readonly byRef = new Map<SelectedAttemptRef, AttemptCacheDeferred>();\n read(input: {\n readonly sample: Sample;\n readonly reader: RecordReadSession;\n readonly ref: SelectedAttemptRef;\n }): Effect.Effect<CachedAttemptRead, SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<CachedAttemptRead, SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n const pending = this.byRef.get(input.ref);\n if (pending !== undefined)\n return { _tag: \"Follower\" as const, deferred: pending };\n this.byRef.set(input.ref, fresh);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(Effect.flatMap(assertSampleOpen(input.sample), () => Effect.catchAll(Effect.map(input.reader.readAttempt(input.ref), (read): CachedAttemptRead => read.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n attempt: read.value,\n // Do not defer this Core fact to another lookup. A\n // successful ReadableAttempt is the only authority that\n // can close its terminal outcome and origin execution\n // history for Analysis. The origin must not be replaced\n // with the selected target Run for carried/accepted\n // members.\n core: Object.freeze({\n outcome: read.value.document.outcome,\n origin: Object.freeze({\n runId: read.value.origin.runId,\n experimentId: read.value.origin.experimentId,\n startedAt: read.value.origin.startedAt,\n executionIdentityDigest: read.value.document.executionIdentityDigest,\n execution: closeAnalysisRunExecution(read.value.origin.context.execution),\n }),\n }),\n })\n : Object.freeze({ state: \"core-unavailable\" as const })), (error): Effect.Effect<CachedAttemptRead> => Effect.succeed(Object.freeze({\n state: \"read-failed\" as const,\n message: safeErrorMessage(error),\n }))))));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byRef.clear();\n }\n}\n/**\n * A Sample-local exact-once cache. Keys are the nominal owner capability and\n * the exact static descriptor object, not a family string or an input id.\n * Deferreds keep concurrent readers in one in-flight operation and retain all\n * fixed-family states plus Record read failures for the remainder of Scope.\n */\nclass FixedFamilyLazyCache {\n private readonly byOwner = new Map<SelectedOwnerRef, Map<object, CacheDeferred>>();\n read<Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(input: {\n readonly sample: Sample;\n readonly lifecycle: SampleLifecycle;\n readonly reader: RecordReadSession;\n readonly owner: SelectedOwnerRef;\n readonly family: Family;\n }): Effect.Effect<CachedFixedFamilyRead<Payload>, SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<CachedFixedFamilyRead<Payload>, SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n let descriptors = this.byOwner.get(input.owner);\n if (descriptors === undefined) {\n descriptors = new Map();\n this.byOwner.set(input.owner, descriptors);\n }\n const pending = descriptors.get(input.family.descriptor);\n if (pending !== undefined) {\n return { _tag: \"Follower\" as const, deferred: pending as Deferred.Deferred<CachedFixedFamilyRead<Payload>, SampleClosedError> };\n }\n descriptors.set(input.family.descriptor, fresh as CacheDeferred);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(Effect.flatMap(assertSampleOpen(input.sample), () => Effect.catchAll(Effect.map(input.family.read(input.reader, input.owner), (read): CachedFixedFamilyRead<Payload> => Object.freeze({ state: \"family\" as const, read })), (error): Effect.Effect<CachedFixedFamilyRead<Payload>> => Effect.succeed(Object.freeze({\n state: \"read-failed\" as const,\n message: safeErrorMessage(error),\n }))))));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byOwner.clear();\n }\n}\n/**\n * Raw cost closure is memoized once for a Sample and Profile content identity.\n * Grouped mean/total reductions reuse the same closed Slot/provider ledger;\n * no Report page can trigger a second Usage interpretation for that pair.\n */\nclass CostProjectionLazyCache {\n private readonly byProfileIdentity = new Map<string, CostProjectionDeferred>();\n read(input: {\n readonly sample: Sample;\n readonly profile: PricingProfile;\n readonly build: () => Effect.Effect<readonly CostSlotProjection[], SampleClosedError>;\n }): Effect.Effect<readonly CostSlotProjection[], SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<readonly CostSlotProjection[], SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n const pending = this.byProfileIdentity.get(input.profile.contentIdentity);\n if (pending !== undefined)\n return { _tag: \"Follower\" as const, deferred: pending };\n this.byProfileIdentity.set(input.profile.contentIdentity, fresh);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(input.build()));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byProfileIdentity.clear();\n }\n}\nconst sampleBindings = new WeakMap<Sample, SampleBinding>();\nconst issueCaptureContext = new AsyncLocalStorage<AnalysisIssueCaptureState>();\n/**\n * Host-only opening operation. The Record session and its already-frozen\n * selection remain private in the binding map; Sample exposes only a closed\n * audit snapshot and Scope-bound lazy query capability.\n */\nexport function openSample(input: {\n readonly reader: RecordReadSession;\n readonly selection: RecordSelection;\n readonly selectionRequest: AnalysisSelectionRequest;\n}): Effect.Effect<Sample, RecordReaderReadError, Scope.Scope> {\n return Effect.gen(function* () {\n const materialized = yield* materializeSampleSnapshot(input);\n const scope = yield* Effect.scope;\n const runtime = yield* Effect.runtime<never>();\n const lifecycle: SampleLifecycle = {\n closed: false,\n inFlight: new Set(),\n issueCaptures: new Set(),\n attempts: new AttemptLazyCache(),\n attachments: new FixedFamilyLazyCache(),\n costProjections: new CostProjectionLazyCache(),\n };\n const sample = bindSample({\n reader: input.reader,\n runRefs: Object.freeze([...input.selection.runRefs]),\n attemptsBySlot: materialized.attemptsBySlot,\n lifecycle,\n run: Runtime.runPromise(runtime),\n }, materialized.snapshot);\n yield* Scope.addFinalizer(scope, Effect.sync(() => closeLifecycle(lifecycle)));\n return sample;\n });\n}\n/**\n * Narrowing is synchronous, monotonic, and requires the issuing Scope to be\n * live. It never reopens Record or starts family I/O.\n */\nexport function narrowSample(sample: Sample, selector: SampleSelector): Sample {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n throw sampleClosed(sample?.snapshot?.identity);\n const narrowed = narrowSampleSnapshot(sample.snapshot, selector);\n if (\"code\" in narrowed)\n throw narrowed;\n return bindSample(binding, narrowed);\n}\n/**\n * Named `project-current` narrowing. Matching SlotIds stay selected; every\n * other active Slot becomes `excluded` with `identity-mismatch`. The caller\n * supplies occurrence matches after it has aligned logical identities.\n */\nexport function narrowSampleByCurrentIdentity(sample: Sample, matchingOccurrences: readonly AnalysisSlotOccurrenceIdentity[]): Sample {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n throw sampleClosed(sample?.snapshot?.identity);\n return bindSample(binding, narrowSampleSnapshotByCurrentIdentity(sample.snapshot, matchingOccurrences));\n}\n/**\n * Promise boundary for author-facing Analysis operations. The Runtime belongs\n * to the original scoped Sample, so public APIs never choose a global runtime\n * or run an Effect from inside a definition.\n *\n * @internal\n */\nexport function runSamplePromise<Value, Error>(sample: Sample, operation: Effect.Effect<Value, Error>): Promise<Value> {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed) {\n return Promise.reject(sampleClosed(sample?.snapshot?.identity));\n }\n const controller = new AbortController();\n binding.lifecycle.inFlight.add(controller);\n if (binding.lifecycle.closed) {\n controller.abort();\n binding.lifecycle.inFlight.delete(controller);\n return Promise.reject(sampleClosed(sample.snapshot.identity));\n }\n return binding.run(Effect.flatMap(assertSampleOpen(sample), () => operation), { signal: controller.signal })\n .catch((error: unknown) => {\n if (binding.lifecycle.closed)\n throw sampleClosed(sample.snapshot.identity);\n throw error;\n })\n .finally(() => binding.lifecycle.inFlight.delete(controller));\n}\n/** @internal Stops an operation before it can start Record I/O after closure. */\nexport function assertSampleOpen(sample: Sample): Effect.Effect<void, SampleClosedError> {\n return Effect.suspend(() => {\n const binding = sampleBindings.get(sample);\n return binding === undefined || binding.lifecycle.closed\n ? Effect.fail(sampleClosed(sample?.snapshot?.identity))\n : Effect.void;\n });\n}\n/**\n * Starts a Report-execution-local collection of Analysis data issues. It is\n * private to hosts: callbacks still receive only closed data values.\n *\n * @internal\n */\nexport function captureAnalysisIssues(sample: Sample): Effect.Effect<AnalysisIssueCapture, SampleClosedError> {\n return Effect.flatMap(assertSampleOpen(sample), () => {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed) {\n return Effect.fail(sampleClosed(sample.snapshot.identity));\n }\n const state: AnalysisIssueCaptureState = {\n lifecycle: binding.lifecycle,\n issues: new Map(),\n costs: new Map(),\n closed: false,\n };\n binding.lifecycle.issueCaptures.add(state);\n return Effect.succeed(Object.freeze({\n issues: () => freezeIssues([...state.issues.values()]),\n costEntries: () => freezeCostEntries([...state.costs.values()]),\n close: () => {\n if (state.closed)\n return;\n state.closed = true;\n binding.lifecycle.issueCaptures.delete(state);\n },\n run: <Value>(callback: () => Value): Value => issueCaptureContext.run(state, callback),\n }));\n });\n}\n/**\n * Gets the execution-local capture synchronously while an author callback\n * starts a public Analysis Promise. The token is then carried explicitly\n * through the Effect runtime rather than consulting AsyncLocalStorage later.\n *\n * @internal\n */\nexport function currentAnalysisIssueCapture(sample: Sample): AnalysisIssueCaptureToken | undefined {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n return undefined;\n const capture = issueCaptureContext.getStore();\n return capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle\n ? undefined\n : capture;\n}\n/** @internal Records already-closed Analysis issues for one explicit host execution. */\nexport function recordAnalysisIssues(sample: Sample, issues: readonly AnalysisIssue[], capture: AnalysisIssueCaptureToken | undefined): void {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed || issues.length === 0)\n return;\n if (capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle)\n return;\n for (const issue of freezeIssues(issues)) {\n const key = analysisIssueIdentity(issue);\n if (!capture.issues.has(key))\n capture.issues.set(key, issue);\n }\n}\n/** @internal Records one already-closed cost cell for the active Host execution. */\nexport function recordAnalysisCostMetric(sample: Sample, input: {\n readonly measureId: string;\n readonly row: {\n readonly key: string;\n readonly dimensions: Readonly<Record<string, import(\"../analysis/definitions.ts\").DimensionValue>>;\n };\n readonly metric: CostMetricValue;\n}, capture: AnalysisIssueCaptureToken | undefined): void {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed || capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle) {\n return;\n }\n const dimensions = Object.freeze(Object.fromEntries(Object.entries(input.row.dimensions).sort(([left], [right]) => compareUtf8(left, right))));\n const entry: AnalysisCostCaptureEntry = Object.freeze({\n measureId: input.measureId,\n row: Object.freeze({ key: input.row.key, dimensions }),\n profileIdentity: input.metric.projection.profile.contentIdentity,\n projection: input.metric.projection,\n });\n // Analysis only deduplicates byte-for-byte equivalent closed entries. A\n // repeated machine key with distinct dimensions or projection remains\n // visible to Host, which owns typed page/route conflict decisions.\n const key = canonicalCostCaptureIdentity(entry);\n if (!capture.costs.has(key))\n capture.costs.set(key, entry);\n}\n/** @internal Enumerates selected logical Slots without Record I/O. */\nexport function logicalSlotMembersForSample(sample: Sample): Effect.Effect<readonly LogicalSlot[], SampleClosedError> {\n return Effect.map(assertSampleOpen(sample), () => {\n const runsById = new Map(sample.snapshot.runs.map((run) => [run.runId, run] as const));\n return Object.freeze(sample.snapshot.slots.flatMap((slot): readonly LogicalSlot[] => {\n if (slot.state === \"excluded\")\n return [];\n const run = runsById.get(slot.runId);\n if (run === undefined)\n throw new Error(\"SampleSnapshot Slot has no selected AnalysisRun\");\n return [logicalSlotFromActiveSlot(slot, run)];\n }));\n });\n}\n/**\n * @internal Reads and closes every selected Slot once for one Profile content\n * identity. The return value contains only data, never a reader, owner, or\n * attachment payload capable of another interpretation.\n */\nexport function readCostProjection(sample: Sample, profile: PricingProfile): Effect.Effect<readonly CostSlotProjection[], SampleClosedError> {\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const binding = sampleBindings.get(sample);\n if (binding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n return yield* binding.lifecycle.costProjections.read({\n sample,\n profile,\n build: () => Effect.flatMap(logicalSlotMembersForSample(sample), (members) => Effect.forEach(members, (member) => readCostSlot(sample, binding, member, profile), { concurrency: 32 }).pipe(Effect.map((entries) => Object.freeze(entries)))),\n });\n });\n}\n/**\n * Reads one statically published input through its immutable binding. There is\n * no input-id lookup: the descriptor carries its semantic id, owner contract,\n * fixed family descriptor/property tokens, and pure projector together.\n */\nexport function readPublishedInput<Value, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, input: PublishedAnalysisInputBinding<Value, Payload, Family>, member: LogicalSlot): Effect.Effect<SampleInputObservation<Value>, SampleClosedError> {\n if (member.state === \"not-recorded\")\n return Effect.succeed(missingObservation(member));\n if (member.state === \"core-invalid\" || member.attempt === undefined) {\n return Effect.succeed(invalidObservation(member));\n }\n const included = member as LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n };\n const operation = Effect.gen(function* () {\n const binding = sampleBindings.get(sample);\n if (binding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n const resolved = yield* resolveAttempt(sample, binding, included);\n const cached = yield* readFixedFamily<Payload, Family>(sample, binding, resolved.attempt, input.family);\n if (cached.state === \"read-failed\") {\n return failedObservation(included, `Record read failed: ${cached.message}`);\n }\n if (cached.read.state !== \"available\") {\n return observationFromFamily(included, cached.read, input.id);\n }\n const projected = input.project({\n member: included,\n core: resolved.core,\n payload: cached.read.value,\n });\n if (projected.state === \"value\")\n return valueObservation(projected.value, evidenceRefs(included));\n if (projected.state === \"unsupported\")\n return unsupportedObservation(included, projected.message);\n if (projected.state === \"failed\")\n return failedObservation(included, projected.message);\n return missingObservation(included, projected.message);\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(failedObservation(included, `Record read failed: ${safeErrorMessage(error)}`)));\n}\n/** @internal Executes one static, typed, closed DomainView binding. */\nexport function readBuiltinDomainView<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: BuiltinDomainViewBinding<Kind, Payload, Family>, locator?: AttemptLocator): Effect.Effect<BuiltinDomainView<Kind>, SampleClosedError> {\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const sampleBinding = sampleBindings.get(sample);\n if (sampleBinding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n const slots = sample.snapshot.slots.filter((slot): slot is IncludedAnalysisSlot => slot.state === \"included\" && (locator === undefined || slot.attempt.locator === locator));\n const entries: ClosedDomainEntry<Kind>[] = [];\n const issues: AnalysisIssue[] = [];\n for (const slot of slots) {\n const entry = yield* readDomainEntry(sample, sampleBinding, slot, binding);\n entries.push(entry.value);\n issues.push(...entry.issues);\n }\n const refs = freezeRefs([\n ...slots.map((slot) => evidenceRef(slot.attempt)),\n ...issues.flatMap((issue) => issue.refs),\n ]);\n const view: BuiltinDomainView<Kind> = Object.freeze({\n kind: \"domain-view\" as const,\n identity: Object.freeze({\n kind: \"domain-view\" as const,\n id: canonicalIdentity(\"domain-view\", [sample.snapshot.identity.id, binding.kind, locator ?? null]),\n }),\n view: binding.kind,\n entries: Object.freeze(entries),\n issues: freezeIssues(issues),\n refs,\n });\n return view;\n });\n}\n/** Snapshot is the only Sample value that can cross a JSON boundary. */\nexport function encodeSampleSnapshot(snapshot: SampleSnapshot): JsonValue {\n return encodeSnapshot(snapshot);\n}\n/** Exact decode, canonical ordering, coverage validation, and deep freeze. */\nexport function decodeSampleSnapshot(value: unknown): SampleSnapshot {\n return decodeSnapshot(value);\n}\n/** @internal Typed codec branch used where callers retain the failure ADT. */\nexport function decodeSampleSnapshotEither(value: unknown): Either.Either<SampleSnapshot, SampleSnapshotCodecError> {\n return decodeSnapshotEither(value);\n}\nfunction bindSample(binding: SampleBinding, snapshot: SampleSnapshot): Sample {\n const sample: Sample = Object.freeze({\n kind: \"analysis-sample\",\n snapshot,\n [sampleCapabilityTypeId]: true as const,\n });\n sampleBindings.set(sample, binding);\n return sample;\n}\nfunction resolveAttempt(sample: Sample, binding: SampleBinding, member: LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n}): Effect.Effect<ResolvedAttempt, SampleClosedError | AttemptCoreUnavailable | AttemptReadFailed> {\n const ref = binding.attemptsBySlot.get(slotKey(member.runId, member.slotId));\n if (ref === undefined) {\n return Effect.fail<AttemptCoreUnavailable>({ code: \"analysis-attempt-core-unavailable\" });\n }\n return Effect.flatMap(binding.lifecycle.attempts.read({ sample, reader: binding.reader, ref }), (cached) => Effect.flatMap(assertSampleOpen(sample), (): Effect.Effect<ResolvedAttempt, AttemptCoreUnavailable | AttemptReadFailed> => {\n if (cached.state === \"available\") {\n return Effect.succeed(Object.freeze({ attempt: cached.attempt, core: cached.core }));\n }\n if (cached.state === \"core-unavailable\") {\n return Effect.fail<AttemptCoreUnavailable>({ code: \"analysis-attempt-core-unavailable\" });\n }\n return Effect.fail<AttemptReadFailed>(Object.freeze({\n code: \"analysis-attempt-read-failed\" as const,\n message: cached.message,\n }));\n }));\n}\nfunction readFixedFamily<Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: SampleBinding, attempt: ReadableAttempt, family: Family): Effect.Effect<CachedFixedFamilyRead<Payload>, SampleClosedError> {\n const owner = family.owner === \"attempt\" ? attempt.owner : attempt.origin.owner;\n return Effect.flatMap(binding.lifecycle.attachments.read<Payload, Family>({\n sample,\n lifecycle: binding.lifecycle,\n reader: binding.reader,\n owner,\n family,\n }), (cached) => Effect.as(assertSampleOpen(sample), cached));\n}\nfunction readCostSlot(sample: Sample, binding: SampleBinding, member: LogicalSlot, profile: PricingProfile): Effect.Effect<CostSlotProjection, SampleClosedError> {\n if (member.state === \"not-recorded\") {\n return Effect.succeed(unavailableCostSlot(member, \"member-not-recorded\"));\n }\n if (member.state === \"core-invalid\" || member.attempt === undefined) {\n return Effect.succeed(unavailableCostSlot(member, \"core-invalid\"));\n }\n const included = member as LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n };\n const refs = Object.freeze([evidenceRef(included.attempt)]);\n const operation = Effect.gen(function* () {\n const resolved = yield* resolveAttempt(sample, binding, included);\n const cached = yield* readFixedFamily<AttemptObservabilityAttachment, typeof attemptObservabilityFamily>(sample, binding, resolved.attempt, attemptObservabilityFamily);\n if (cached.state === \"read-failed\") {\n return unavailableCostSlot(included, \"usage-unavailable\", refs);\n }\n switch (cached.read.state) {\n case \"available\":\n return projectCostUsage({\n member: included,\n core: resolved.core,\n usage: cached.read.value.usage,\n profile,\n refs,\n });\n case \"not-recorded\":\n return unavailableCostSlot(included, \"usage-not-recorded\", refs);\n case \"unsupported\":\n case \"migration-required\":\n return unavailableCostSlot(included, \"usage-unsupported\", refs);\n case \"invalid\":\n return unavailableCostSlot(included, \"usage-invalid\", refs);\n }\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(unavailableCostSlot(included, error.code === \"analysis-attempt-core-unavailable\" || error.code === \"analysis-attempt-read-failed\"\n ? \"origin-run-unavailable\"\n : \"usage-unavailable\", refs)));\n}\nfunction readDomainEntry<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: SampleBinding, slot: IncludedAnalysisSlot, domain: BuiltinDomainViewBinding<Kind, Payload, Family>): Effect.Effect<{\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n}, SampleClosedError> {\n const operation = Effect.gen(function* () {\n const run = analysisRunForSlot(sample.snapshot, slot);\n const resolved = yield* resolveAttempt(sample, binding, logicalSlotFromIncluded(slot, run));\n const cached = yield* readFixedFamily<Payload, Family>(sample, binding, resolved.attempt, domain.family);\n if (cached.state === \"read-failed\") {\n return domainFailure<Kind>(slot.attempt, domain.kind, \"the selected Record fact could not be read\");\n }\n if (cached.read.state !== \"available\") {\n return domainFamilyState<Kind, Payload>(slot.attempt, domain.kind, cached.read);\n }\n return domainAvailable<Kind>(slot.attempt, domain.kind, domain.project({\n core: resolved.core,\n payload: cached.read.value,\n blobs: cached.read.blobs,\n }));\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(domainFailure<Kind>(slot.attempt, domain.kind, attemptCoreFailureMessage(error))));\n}\nfunction attemptCoreFailureMessage(error: AttemptCoreUnavailable | AttemptReadFailed): string {\n return error.code === \"analysis-attempt-core-unavailable\"\n ? \"the selected Attempt Core is unavailable\"\n : `the selected Attempt Core could not be read: ${error.message}`;\n}\nfunction domainAvailable<Kind extends BuiltinDomainViewKind>(attempt: AttemptEvidenceIdentity, view: Kind, detail: BuiltinDomainDetail<Kind>): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n return Object.freeze({\n value: Object.freeze({ attempt, state: \"available\" as const, view, detail }),\n issues: Object.freeze([]),\n });\n}\nfunction logicalSlotFromActiveSlot(slot: ActiveAnalysisSlot, run: AnalysisRun): LogicalSlot {\n const base = {\n runId: slot.runId,\n run,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n };\n if (slot.state === \"included\") {\n return Object.freeze({\n ...base,\n state: \"included\" as const,\n action: slot.action,\n relation: slot.relation,\n attempt: slot.attempt,\n });\n }\n return Object.freeze({\n ...base,\n state: slot.state,\n action: slot.action,\n });\n}\nfunction logicalSlotFromIncluded(slot: IncludedAnalysisSlot, run: AnalysisRun): LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n} {\n return Object.freeze({\n runId: slot.runId,\n run,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"included\" as const,\n action: slot.action,\n relation: slot.relation,\n attempt: slot.attempt,\n });\n}\nfunction analysisRunForSlot(snapshot: SampleSnapshot, slot: IncludedAnalysisSlot): AnalysisRun {\n const run = snapshot.runs.find((candidate) => candidate.runId === slot.runId);\n if (run === undefined)\n throw new Error(\"SampleSnapshot Slot has no selected AnalysisRun\");\n return run;\n}\nfunction domainFamilyState<Kind extends BuiltinDomainViewKind, Payload>(identity: AttemptEvidenceIdentity, view: Kind, read: Exclude<FixedFamilyRead<Payload>, {\n readonly state: \"available\";\n}>): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n const state = read.state === \"not-recorded\" ? \"not-recorded\" : read.state === \"unsupported\" ? \"unsupported\" : \"invalid\";\n const code = state === \"not-recorded\" ? \"missing\" : state === \"unsupported\" ? \"unsupported\" : \"input-invalid\";\n const issue = analysisIssue(code, `${view} is ${state}`, [evidenceRef(identity)]);\n const value: ClosedDomainEntry<Kind> = Object.freeze({ attempt: identity, state, view });\n return Object.freeze({\n value,\n issues: Object.freeze([issue]),\n });\n}\nfunction domainFailure<Kind extends BuiltinDomainViewKind>(identity: AttemptEvidenceIdentity, view: Kind, message: string): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n const issue = analysisIssue(\"reduction-failed\", message, [evidenceRef(identity)]);\n const value: ClosedDomainEntry<Kind> = Object.freeze({\n attempt: identity,\n state: \"failed\" as const,\n view,\n detail: message,\n });\n return Object.freeze({\n value,\n issues: Object.freeze([issue]),\n });\n}\nfunction observationFromFamily<Payload>(member: LogicalSlot, read: Exclude<FixedFamilyRead<Payload>, {\n readonly state: \"available\";\n}>, label: string): SampleInputObservation<never> {\n if (read.state === \"not-recorded\")\n return missingObservation(member);\n if (read.state === \"unsupported\")\n return unsupportedObservation(member, `${label} is unsupported`);\n return invalidObservation(member, `${label} is invalid`);\n}\nfunction closeLifecycle(lifecycle: SampleLifecycle): void {\n if (lifecycle.closed)\n return;\n lifecycle.closed = true;\n for (const controller of lifecycle.inFlight)\n controller.abort();\n lifecycle.inFlight.clear();\n lifecycle.attempts.clear();\n lifecycle.attachments.clear();\n lifecycle.costProjections.clear();\n for (const capture of lifecycle.issueCaptures)\n capture.closed = true;\n lifecycle.issueCaptures.clear();\n}\nfunction valueObservation<Value>(value: Value, refs: readonly EvidenceRef[]): SampleInputObservation<Value> {\n return Object.freeze({ state: \"value\" as const, value, refs });\n}\nfunction missingObservation(member: LogicalSlot, message = \"the selected logical Slot has no input value\"): SampleInputObservation<never> {\n return issueObservation(\"missing\", member, message);\n}\nfunction invalidObservation(member: LogicalSlot, message = \"the selected logical Slot has invalid Core facts\"): SampleInputObservation<never> {\n return issueObservation(\"input-invalid\", member, message);\n}\nfunction unsupportedObservation(member: LogicalSlot, message: string): SampleInputObservation<never> {\n return issueObservation(\"unsupported\", member, message);\n}\nfunction failedObservation(member: LogicalSlot, message: string): SampleInputObservation<never> {\n return issueObservation(\"reduction-failed\", member, message);\n}\nfunction issueObservation(code: AnalysisIssue[\"code\"], member: LogicalSlot, message: string): SampleInputObservation<never> {\n const refs = evidenceRefs(member);\n return Object.freeze({\n state: code === \"missing\" ? \"missing\" as const : code === \"unsupported\" ? \"unsupported\" as const : \"failed\" as const,\n issues: Object.freeze([analysisIssue(code, message, refs)]),\n refs,\n });\n}\nfunction evidenceRefs(member: LogicalSlot): readonly EvidenceRef[] {\n return member.attempt === undefined ? Object.freeze([]) : Object.freeze([evidenceRef(member.attempt)]);\n}\nfunction evidenceRef(identity: AttemptEvidenceIdentity): EvidenceRef {\n return Object.freeze({ identity: Object.freeze({ kind: \"attempt\" as const, locator: identity.locator }) });\n}\nfunction analysisIssue(code: AnalysisIssue[\"code\"], message: string, refs: readonly EvidenceRef[] = []): AnalysisIssue {\n return Object.freeze({ code, message, refs: Object.freeze([...refs]) });\n}\nfunction freezeIssues(issues: readonly AnalysisIssue[]): readonly AnalysisIssue[] {\n const values = new Map<string, AnalysisIssue>();\n for (const issue of issues) {\n const closed = Object.freeze({\n code: issue.code,\n message: issue.message,\n refs: freezeRefs(issue.refs),\n });\n const key = analysisIssueIdentity(closed);\n if (!values.has(key))\n values.set(key, closed);\n }\n return Object.freeze([...values.entries()]\n .sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)\n .map(([, issue]) => issue));\n}\nfunction freezeCostEntries(entries: readonly AnalysisCostCaptureEntry[]): readonly AnalysisCostCaptureEntry[] {\n return Object.freeze([...entries].sort((left, right) => compareUtf8(canonicalCostCaptureIdentity(left), canonicalCostCaptureIdentity(right))));\n}\nfunction canonicalCostCaptureIdentity(entry: AnalysisCostCaptureEntry): string {\n return canonicalCaptureJson(Object.freeze({\n measureId: entry.measureId,\n row: entry.row,\n profileIdentity: entry.profileIdentity,\n projection: entry.projection,\n }));\n}\nfunction canonicalCaptureJson(value: unknown): string {\n if (value === null || typeof value === \"boolean\" || typeof value === \"number\" || typeof value === \"string\") {\n return JSON.stringify(value);\n }\n if (Array.isArray(value))\n return `[${value.map(canonicalCaptureJson).join(\",\")}]`;\n if (typeof value !== \"object\" || value === null) {\n throw new Error(\"Analysis cost capture contains a non-JSON value\");\n }\n const fields = Object.keys(value as Record<string, unknown>)\n .sort(compareUtf8)\n .map((key) => `${JSON.stringify(key)}:${canonicalCaptureJson((value as Record<string, unknown>)[key])}`);\n return `{${fields.join(\",\")}}`;\n}\nfunction freezeRefs(refs: readonly EvidenceRef[]): readonly EvidenceRef[] {\n const values = new Map<string, EvidenceRef>();\n for (const ref of refs) {\n const key = `${ref.identity.kind}\\u0000${ref.identity.locator}`;\n if (!values.has(key)) {\n values.set(key, Object.freeze({\n identity: Object.freeze({ kind: ref.identity.kind, locator: ref.identity.locator }),\n }));\n }\n }\n return Object.freeze([...values.entries()]\n .sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)\n .map(([, ref]) => ref));\n}\nfunction analysisIssueIdentity(issue: AnalysisIssue): string {\n return JSON.stringify([\n issue.code,\n issue.message,\n issue.refs.map((ref) => [ref.identity.kind, ref.identity.locator]),\n ]);\n}\nfunction slotKey(runId: string, slotId: string): string {\n return `${runId}\\u0000${slotId}`;\n}\nfunction sampleClosed(identity: SampleIdentity | undefined): SampleClosedError {\n return Object.freeze({\n code: \"analysis-sample-closed\" as const,\n sample: identity ?? Object.freeze({ kind: \"analysis-sample\" as const, id: \"unknown\" }),\n });\n}\nfunction isSampleClosedError(value: unknown): value is SampleClosedError {\n return typeof value === \"object\" && value !== null\n && (value as {\n readonly code?: unknown;\n }).code === \"analysis-sample-closed\";\n}\nfunction safeErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : \"an unknown Record failure occurred\";\n}\nfunction canonicalIdentity(namespace: string, value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"DomainView identity input must be JSON-serializable\");\n return `${namespace}-v1:${encoded}`;\n}\nfunction compareUtf8(left: string, right: string): number {\n if (left === right)\n return 0;\n const first = new TextEncoder().encode(left);\n const second = new TextEncoder().encode(right);\n const length = Math.min(first.length, second.length);\n for (let index = 0; index < length; index += 1) {\n const difference = first[index]! - second[index]!;\n if (difference !== 0)\n return difference;\n }\n return first.length - second.length;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["capability.ts"],"names":[],"mappings":"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","sourcesContent":["import { Deferred, Effect, Either, Runtime, Scope } from \"effect\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\nimport type { AttemptLocator } from \"../attempt-locator.ts\";\nimport type { BuiltinDomainViewBinding, FixedFamilyBinding, FixedFamilyOwnerRequirement, PublishedAnalysisInputBinding, } from \"../analysis/bindings.ts\";\nimport { attemptObservabilityFamily } from \"../analysis/bindings.ts\";\nimport type { BuiltinDomainView, ClosedRunDiagnosticsEntry, ClosedDomainEntry, RunDiagnosticsDomainView, } from \"../analysis/api.ts\";\nimport type { BuiltinDomainDetail, BuiltinDomainViewKind, ClosedAttemptCore, } from \"../analysis/domain-view.ts\";\nimport type { LogicalSlot } from \"../analysis/definitions.ts\";\nimport type { PricingProfile } from \"../analysis/cost.ts\";\nimport type { CostMetricValue } from \"../analysis/cost.ts\";\nimport { projectCostUsage, unavailableCostSlot, type CostSlotProjection, } from \"../analysis/cost-projection.ts\";\nimport { sampleCapabilityTypeId } from \"../analysis/contracts.ts\";\nimport type { ActiveAnalysisSlot, AnalysisRun, AttemptEvidenceIdentity, AnalysisIssue, AnalysisSelectionRequest, AnalysisSlotOccurrenceIdentity, DomainView, EvidenceRef, IncludedAnalysisSlot, JsonValue, Sample, SampleClosedError, SampleIdentity, SampleInputObservation, SampleSelector, SampleSnapshot, SampleSnapshotCodecError, SlotId, } from \"../analysis/contracts.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport type { AttemptObservabilityAttachment } from \"../record/family/observability.ts\";\nimport type { FixedFamilyRead, ReadableAttempt, RecordReadSession, RecordSelection, SelectedAttemptRef, SelectedOwnerRef, SelectedRunRef, } from \"../record/host/types.ts\";\nimport { closeAnalysisRunExecution, decodeSampleSnapshot as decodeSnapshot, decodeSampleSnapshotEither as decodeSnapshotEither, encodeSampleSnapshot as encodeSnapshot, materializeSampleSnapshot, narrowSampleSnapshot, narrowSampleSnapshotByCurrentIdentity, } from \"./analysis.ts\";\ninterface SampleLifecycle {\n readonly inFlight: Set<AbortController>;\n readonly issueCaptures: Set<AnalysisIssueCaptureState>;\n readonly attempts: AttemptLazyCache;\n readonly attachments: FixedFamilyLazyCache;\n readonly costProjections: CostProjectionLazyCache;\n closed: boolean;\n}\ninterface AnalysisIssueCaptureState {\n readonly lifecycle: SampleLifecycle;\n readonly issues: Map<string, AnalysisIssue>;\n readonly costs: Map<string, AnalysisCostCaptureEntry>;\n closed: boolean;\n}\n/** @internal Opaque execution-local token propagated by public Analysis calls. */\nexport type AnalysisIssueCaptureToken = AnalysisIssueCaptureState;\n/** @internal Execution-local collection that Report turns into its problem table. */\nexport interface AnalysisIssueCapture {\n readonly issues: () => readonly AnalysisIssue[];\n /** Closed cost values requested during this exact host execution. */\n readonly costEntries: () => readonly AnalysisCostCaptureEntry[];\n readonly close: () => void;\n readonly run: <Value>(callback: () => Value) => Value;\n}\n/** @internal Host binds these data-only values to its target/page ownership. */\nexport interface AnalysisCostCaptureEntry {\n readonly measureId: string;\n readonly row: {\n readonly key: string;\n readonly dimensions: Readonly<Record<string, import(\"../analysis/definitions.ts\").DimensionValue>>;\n };\n readonly profileIdentity: string;\n readonly projection: import(\"../analysis/cost.ts\").CostProjectionValue;\n}\ninterface SamplePromiseRunner {\n <Value, Error>(operation: Effect.Effect<Value, Error>, options: {\n readonly signal: AbortSignal;\n }): Promise<Value>;\n}\ninterface SampleBinding {\n readonly reader: RecordReadSession;\n /** Nominal refs stay private and are only used to read selected Core. */\n readonly runRefs: readonly SelectedRunRef[];\n readonly attemptsBySlot: ReadonlyMap<string, SelectedAttemptRef>;\n readonly lifecycle: SampleLifecycle;\n /** Closed over the Runtime captured at issuance; never exposed on Sample. */\n readonly run: SamplePromiseRunner;\n}\ninterface ResolvedAttempt {\n readonly attempt: ReadableAttempt;\n /** Closed during the same successful ReadableAttempt read as `attempt`. */\n readonly core: ClosedAttemptCore;\n}\ninterface AttemptCoreUnavailable {\n readonly code: \"analysis-attempt-core-unavailable\";\n}\ninterface AttemptReadFailed {\n readonly code: \"analysis-attempt-read-failed\";\n readonly message: string;\n}\ntype CachedAttemptRead = {\n readonly state: \"available\";\n readonly attempt: ReadableAttempt;\n readonly core: ClosedAttemptCore;\n} | {\n readonly state: \"core-unavailable\";\n} | {\n readonly state: \"read-failed\";\n readonly message: string;\n};\ntype AttemptCacheDeferred = Deferred.Deferred<CachedAttemptRead, SampleClosedError>;\ntype CachedFixedFamilyRead<Payload> = {\n readonly state: \"family\";\n readonly read: FixedFamilyRead<Payload>;\n} | {\n readonly state: \"read-failed\";\n readonly message: string;\n};\ntype CacheDeferred = Deferred.Deferred<CachedFixedFamilyRead<unknown>, SampleClosedError>;\ntype CostProjectionDeferred = Deferred.Deferred<readonly CostSlotProjection[], SampleClosedError>;\n/**\n * A Sample-local exact-once Core cache. The selected Attempt capability itself\n * is the key: no locator, path, Run id, or Attempt id is reconstructed here.\n * Keeping the resolved ReadableAttempt stable also keeps its nominal attempt\n * and origin owners stable for the fixed-family cache below.\n */\nclass AttemptLazyCache {\n private readonly byRef = new Map<SelectedAttemptRef, AttemptCacheDeferred>();\n read(input: {\n readonly sample: Sample;\n readonly reader: RecordReadSession;\n readonly ref: SelectedAttemptRef;\n }): Effect.Effect<CachedAttemptRead, SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<CachedAttemptRead, SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n const pending = this.byRef.get(input.ref);\n if (pending !== undefined)\n return { _tag: \"Follower\" as const, deferred: pending };\n this.byRef.set(input.ref, fresh);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(Effect.flatMap(assertSampleOpen(input.sample), () => Effect.catchAll(Effect.map(input.reader.readAttempt(input.ref), (read): CachedAttemptRead => read.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n attempt: read.value,\n // Do not defer this Core fact to another lookup. A\n // successful ReadableAttempt is the only authority that\n // can close its terminal outcome and origin execution\n // history for Analysis. The origin must not be replaced\n // with the selected target Run for carried/accepted\n // members.\n core: Object.freeze({\n outcome: read.value.document.outcome,\n origin: Object.freeze({\n runId: read.value.origin.runId,\n experimentId: read.value.origin.experimentId,\n startedAt: read.value.origin.startedAt,\n executionIdentityDigest: read.value.document.executionIdentityDigest,\n execution: closeAnalysisRunExecution(read.value.origin.context.execution),\n }),\n }),\n })\n : Object.freeze({ state: \"core-unavailable\" as const })), (error): Effect.Effect<CachedAttemptRead> => Effect.succeed(Object.freeze({\n state: \"read-failed\" as const,\n message: safeErrorMessage(error),\n }))))));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byRef.clear();\n }\n}\n/**\n * A Sample-local exact-once cache. Keys are the nominal owner capability and\n * the exact static descriptor object, not a family string or an input id.\n * Deferreds keep concurrent readers in one in-flight operation and retain all\n * fixed-family states plus Record read failures for the remainder of Scope.\n */\nclass FixedFamilyLazyCache {\n private readonly byOwner = new Map<SelectedOwnerRef, Map<object, CacheDeferred>>();\n read<Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(input: {\n readonly sample: Sample;\n readonly lifecycle: SampleLifecycle;\n readonly reader: RecordReadSession;\n readonly owner: SelectedOwnerRef;\n readonly family: Family;\n }): Effect.Effect<CachedFixedFamilyRead<Payload>, SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<CachedFixedFamilyRead<Payload>, SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n let descriptors = this.byOwner.get(input.owner);\n if (descriptors === undefined) {\n descriptors = new Map();\n this.byOwner.set(input.owner, descriptors);\n }\n const pending = descriptors.get(input.family.descriptor);\n if (pending !== undefined) {\n return { _tag: \"Follower\" as const, deferred: pending as Deferred.Deferred<CachedFixedFamilyRead<Payload>, SampleClosedError> };\n }\n descriptors.set(input.family.descriptor, fresh as CacheDeferred);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(Effect.flatMap(assertSampleOpen(input.sample), () => Effect.catchAll(Effect.map(input.family.read(input.reader, input.owner), (read): CachedFixedFamilyRead<Payload> => Object.freeze({ state: \"family\" as const, read })), (error): Effect.Effect<CachedFixedFamilyRead<Payload>> => Effect.succeed(Object.freeze({\n state: \"read-failed\" as const,\n message: safeErrorMessage(error),\n }))))));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byOwner.clear();\n }\n}\n/**\n * Raw cost closure is memoized once for a Sample and Profile content identity.\n * Grouped mean/total reductions reuse the same closed Slot/provider ledger;\n * no Report page can trigger a second Usage interpretation for that pair.\n */\nclass CostProjectionLazyCache {\n private readonly byProfileIdentity = new Map<string, CostProjectionDeferred>();\n read(input: {\n readonly sample: Sample;\n readonly profile: PricingProfile;\n readonly build: () => Effect.Effect<readonly CostSlotProjection[], SampleClosedError>;\n }): Effect.Effect<readonly CostSlotProjection[], SampleClosedError> {\n return Effect.uninterruptibleMask((restore) => Effect.gen(this, function* () {\n const fresh = yield* Deferred.make<readonly CostSlotProjection[], SampleClosedError>();\n const flight = yield* Effect.sync(() => {\n const pending = this.byProfileIdentity.get(input.profile.contentIdentity);\n if (pending !== undefined)\n return { _tag: \"Follower\" as const, deferred: pending };\n this.byProfileIdentity.set(input.profile.contentIdentity, fresh);\n return { _tag: \"Leader\" as const, deferred: fresh };\n });\n if (flight._tag === \"Follower\")\n return yield* restore(Deferred.await(flight.deferred));\n const completed = yield* Effect.exit(restore(input.build()));\n yield* Deferred.done(flight.deferred, completed);\n return yield* Deferred.await(flight.deferred);\n }));\n }\n clear(): void {\n this.byProfileIdentity.clear();\n }\n}\nconst sampleBindings = new WeakMap<Sample, SampleBinding>();\nconst issueCaptureContext = new AsyncLocalStorage<AnalysisIssueCaptureState>();\n/**\n * Host-only opening operation. The Record session and its already-frozen\n * selection remain private in the binding map; Sample exposes only a closed\n * audit snapshot and Scope-bound lazy query capability.\n */\nexport function openSample(input: {\n readonly reader: RecordReadSession;\n readonly selection: RecordSelection;\n readonly selectionRequest: AnalysisSelectionRequest;\n}): Effect.Effect<Sample, RecordReaderReadError, Scope.Scope> {\n return Effect.gen(function* () {\n const materialized = yield* materializeSampleSnapshot(input);\n const scope = yield* Effect.scope;\n const runtime = yield* Effect.runtime<never>();\n const lifecycle: SampleLifecycle = {\n closed: false,\n inFlight: new Set(),\n issueCaptures: new Set(),\n attempts: new AttemptLazyCache(),\n attachments: new FixedFamilyLazyCache(),\n costProjections: new CostProjectionLazyCache(),\n };\n const sample = bindSample({\n reader: input.reader,\n runRefs: Object.freeze([...input.selection.runRefs]),\n attemptsBySlot: materialized.attemptsBySlot,\n lifecycle,\n run: Runtime.runPromise(runtime),\n }, materialized.snapshot);\n yield* Scope.addFinalizer(scope, Effect.sync(() => closeLifecycle(lifecycle)));\n return sample;\n });\n}\n/**\n * Narrowing is synchronous, monotonic, and requires the issuing Scope to be\n * live. It never reopens Record or starts family I/O.\n */\nexport function narrowSample(sample: Sample, selector: SampleSelector): Sample {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n throw sampleClosed(sample?.snapshot?.identity);\n const narrowed = narrowSampleSnapshot(sample.snapshot, selector);\n if (\"code\" in narrowed)\n throw narrowed;\n return bindSample(binding, narrowed);\n}\n/**\n * Named `project-current` narrowing. Matching SlotIds stay selected; every\n * other active Slot becomes `excluded` with `identity-mismatch`. The caller\n * supplies occurrence matches after it has aligned logical identities.\n */\nexport function narrowSampleByCurrentIdentity(sample: Sample, matchingOccurrences: readonly AnalysisSlotOccurrenceIdentity[]): Sample {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n throw sampleClosed(sample?.snapshot?.identity);\n return bindSample(binding, narrowSampleSnapshotByCurrentIdentity(sample.snapshot, matchingOccurrences));\n}\n/**\n * Promise boundary for author-facing Analysis operations. The Runtime belongs\n * to the original scoped Sample, so public APIs never choose a global runtime\n * or run an Effect from inside a definition.\n *\n * @internal\n */\nexport function runSamplePromise<Value, Error>(sample: Sample, operation: Effect.Effect<Value, Error>): Promise<Value> {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed) {\n return Promise.reject(sampleClosed(sample?.snapshot?.identity));\n }\n const controller = new AbortController();\n binding.lifecycle.inFlight.add(controller);\n if (binding.lifecycle.closed) {\n controller.abort();\n binding.lifecycle.inFlight.delete(controller);\n return Promise.reject(sampleClosed(sample.snapshot.identity));\n }\n return binding.run(Effect.flatMap(assertSampleOpen(sample), () => operation), { signal: controller.signal })\n .catch((error: unknown) => {\n if (binding.lifecycle.closed)\n throw sampleClosed(sample.snapshot.identity);\n throw error;\n })\n .finally(() => binding.lifecycle.inFlight.delete(controller));\n}\n/** @internal Stops an operation before it can start Record I/O after closure. */\nexport function assertSampleOpen(sample: Sample): Effect.Effect<void, SampleClosedError> {\n return Effect.suspend(() => {\n const binding = sampleBindings.get(sample);\n return binding === undefined || binding.lifecycle.closed\n ? Effect.fail(sampleClosed(sample?.snapshot?.identity))\n : Effect.void;\n });\n}\n/**\n * Starts a Report-execution-local collection of Analysis data issues. It is\n * private to hosts: callbacks still receive only closed data values.\n *\n * @internal\n */\nexport function captureAnalysisIssues(sample: Sample): Effect.Effect<AnalysisIssueCapture, SampleClosedError> {\n return Effect.flatMap(assertSampleOpen(sample), () => {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed) {\n return Effect.fail(sampleClosed(sample.snapshot.identity));\n }\n const state: AnalysisIssueCaptureState = {\n lifecycle: binding.lifecycle,\n issues: new Map(),\n costs: new Map(),\n closed: false,\n };\n binding.lifecycle.issueCaptures.add(state);\n return Effect.succeed(Object.freeze({\n issues: () => freezeIssues([...state.issues.values()]),\n costEntries: () => freezeCostEntries([...state.costs.values()]),\n close: () => {\n if (state.closed)\n return;\n state.closed = true;\n binding.lifecycle.issueCaptures.delete(state);\n },\n run: <Value>(callback: () => Value): Value => issueCaptureContext.run(state, callback),\n }));\n });\n}\n/**\n * Gets the execution-local capture synchronously while an author callback\n * starts a public Analysis Promise. The token is then carried explicitly\n * through the Effect runtime rather than consulting AsyncLocalStorage later.\n *\n * @internal\n */\nexport function currentAnalysisIssueCapture(sample: Sample): AnalysisIssueCaptureToken | undefined {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed)\n return undefined;\n const capture = issueCaptureContext.getStore();\n return capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle\n ? undefined\n : capture;\n}\n/** @internal Records already-closed Analysis issues for one explicit host execution. */\nexport function recordAnalysisIssues(sample: Sample, issues: readonly AnalysisIssue[], capture: AnalysisIssueCaptureToken | undefined): void {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed || issues.length === 0)\n return;\n if (capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle)\n return;\n for (const issue of freezeIssues(issues)) {\n // Unsupported is a closed, locally renderable MetricValue/DomainView\n // state. Report components retain it with its refs; it is not a Host-level\n // warning about a failed or unexpectedly missing analysis input.\n if (issue.code === \"unsupported\")\n continue;\n const key = analysisIssueIdentity(issue);\n if (!capture.issues.has(key))\n capture.issues.set(key, issue);\n }\n}\n/** @internal Records one already-closed cost cell for the active Host execution. */\nexport function recordAnalysisCostMetric(sample: Sample, input: {\n readonly measureId: string;\n readonly row: {\n readonly key: string;\n readonly dimensions: Readonly<Record<string, import(\"../analysis/definitions.ts\").DimensionValue>>;\n };\n readonly metric: CostMetricValue;\n}, capture: AnalysisIssueCaptureToken | undefined): void {\n const binding = sampleBindings.get(sample);\n if (binding === undefined || binding.lifecycle.closed || capture === undefined || capture.closed || capture.lifecycle !== binding.lifecycle) {\n return;\n }\n const dimensions = Object.freeze(Object.fromEntries(Object.entries(input.row.dimensions).sort(([left], [right]) => compareUtf8(left, right))));\n const entry: AnalysisCostCaptureEntry = Object.freeze({\n measureId: input.measureId,\n row: Object.freeze({ key: input.row.key, dimensions }),\n profileIdentity: input.metric.projection.profile.contentIdentity,\n projection: input.metric.projection,\n });\n // Analysis only deduplicates byte-for-byte equivalent closed entries. A\n // repeated machine key with distinct dimensions or projection remains\n // visible to Host, which owns typed page/route conflict decisions.\n const key = canonicalCostCaptureIdentity(entry);\n if (!capture.costs.has(key))\n capture.costs.set(key, entry);\n}\n/** @internal Enumerates selected logical Slots without Record I/O. */\nexport function logicalSlotMembersForSample(sample: Sample): Effect.Effect<readonly LogicalSlot[], SampleClosedError> {\n return Effect.map(assertSampleOpen(sample), () => {\n const runsById = new Map(sample.snapshot.runs.map((run) => [run.runId, run] as const));\n return Object.freeze(sample.snapshot.slots.flatMap((slot): readonly LogicalSlot[] => {\n if (slot.state === \"excluded\")\n return [];\n const run = runsById.get(slot.runId);\n if (run === undefined)\n throw new Error(\"SampleSnapshot Slot has no selected AnalysisRun\");\n return [logicalSlotFromActiveSlot(slot, run)];\n }));\n });\n}\n/**\n * @internal Reads and closes every selected Slot once for one Profile content\n * identity. The return value contains only data, never a reader, owner, or\n * attachment payload capable of another interpretation.\n */\nexport function readCostProjection(sample: Sample, profile: PricingProfile): Effect.Effect<readonly CostSlotProjection[], SampleClosedError> {\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const binding = sampleBindings.get(sample);\n if (binding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n return yield* binding.lifecycle.costProjections.read({\n sample,\n profile,\n build: () => Effect.flatMap(logicalSlotMembersForSample(sample), (members) => Effect.forEach(members, (member) => readCostSlot(sample, binding, member, profile), { concurrency: 32 }).pipe(Effect.map((entries) => Object.freeze(entries)))),\n });\n });\n}\n/**\n * Reads one statically published input through its immutable binding. There is\n * no input-id lookup: the descriptor carries its semantic id, owner contract,\n * fixed family descriptor/property tokens, and pure projector together.\n */\nexport function readPublishedInput<Value, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, input: PublishedAnalysisInputBinding<Value, Payload, Family>, member: LogicalSlot): Effect.Effect<SampleInputObservation<Value>, SampleClosedError> {\n if (member.state === \"not-recorded\")\n return Effect.succeed(missingObservation(member));\n if (member.state === \"core-invalid\" || member.attempt === undefined) {\n return Effect.succeed(invalidObservation(member));\n }\n const included = member as LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n };\n const operation = Effect.gen(function* () {\n const binding = sampleBindings.get(sample);\n if (binding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n const resolved = yield* resolveAttempt(sample, binding, included);\n const cached = yield* readFixedFamily<Payload, Family>(sample, binding, resolved.attempt, input.family);\n if (cached.state === \"read-failed\") {\n return failedObservation(included, `Record read failed: ${cached.message}`);\n }\n if (cached.read.state !== \"available\") {\n return observationFromFamily(included, cached.read, input.id);\n }\n const projected = input.project({\n member: included,\n core: resolved.core,\n payload: cached.read.value,\n });\n if (projected.state === \"value\")\n return valueObservation(projected.value, evidenceRefs(included));\n if (projected.state === \"migration-required\")\n return migrationRequiredObservation(included, projected.message);\n if (projected.state === \"unsupported\")\n return unsupportedObservation(included, projected.message);\n if (projected.state === \"failed\")\n return failedObservation(included, projected.message);\n return missingObservation(included, projected.message);\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(failedObservation(included, `Record read failed: ${safeErrorMessage(error)}`)));\n}\n/** @internal Executes one static, typed, closed DomainView binding. */\nexport function readBuiltinDomainView<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: BuiltinDomainViewBinding<Kind, Payload, Family>, locator?: AttemptLocator): Effect.Effect<BuiltinDomainView<Kind>, SampleClosedError> {\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const sampleBinding = sampleBindings.get(sample);\n if (sampleBinding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n const slots = sample.snapshot.slots.filter((slot): slot is IncludedAnalysisSlot => slot.state === \"included\" && (locator === undefined || slot.attempt.locator === locator));\n const entries: ClosedDomainEntry<Kind>[] = [];\n const issues: AnalysisIssue[] = [];\n for (const slot of slots) {\n const entry = yield* readDomainEntry(sample, sampleBinding, slot, binding);\n entries.push(entry.value);\n issues.push(...entry.issues);\n }\n const refs = freezeRefs([\n ...slots.map((slot) => evidenceRef(slot.attempt)),\n ...issues.flatMap((issue) => issue.refs),\n ]);\n const view: BuiltinDomainView<Kind> = Object.freeze({\n kind: \"domain-view\" as const,\n identity: Object.freeze({\n kind: \"domain-view\" as const,\n id: canonicalIdentity(\"domain-view\", [sample.snapshot.identity.id, binding.kind, locator ?? null]),\n }),\n view: binding.kind,\n entries: Object.freeze(entries),\n issues: freezeIssues(issues),\n refs,\n });\n return view;\n });\n}\n/** @internal Closes Run-owned diagnostics without requiring an Attempt locator. */\nexport function readRunDiagnosticsDomainView(sample: Sample): Effect.Effect<RunDiagnosticsDomainView, SampleClosedError> {\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const binding = sampleBindings.get(sample);\n if (binding === undefined)\n return yield* Effect.fail(sampleClosed(sample.snapshot.identity));\n const selectedRunIds = new Set(sample.snapshot.runs.map((run) => String(run.runId)));\n const experimentByRun = new Map(sample.snapshot.runs.map((run) => [String(run.runId), String(run.experimentId)]));\n const entries: RunDiagnosticsDomainView[\"entries\"][number][] = [];\n for (const ref of binding.runRefs) {\n const runId = String(ref.runId);\n if (!selectedRunIds.has(runId))\n continue;\n const experimentId = experimentByRun.get(runId) ?? \"unknown\";\n const runRead = yield* Effect.either(binding.reader.readRun(ref));\n let entry: ClosedRunDiagnosticsEntry;\n if (Either.isLeft(runRead)) {\n entry = Object.freeze({\n runId,\n experimentId,\n state: \"failed\" as const,\n detail: `Record read failed: ${safeErrorMessage(runRead.left)}`,\n });\n }\n else if (runRead.right.state !== \"available\") {\n entry = Object.freeze({\n runId,\n experimentId,\n state: runRead.right.state === \"missing\" ? \"not-recorded\" as const : \"invalid\" as const,\n });\n }\n else {\n const observability = yield* Effect.either(binding.reader.readRunObservability(runRead.right.value.owner));\n if (Either.isLeft(observability)) {\n entry = Object.freeze({\n runId,\n experimentId,\n state: \"failed\" as const,\n detail: `Record read failed: ${safeErrorMessage(observability.left)}`,\n });\n }\n else if (observability.right.state !== \"available\") {\n entry = Object.freeze({\n runId,\n experimentId,\n state: observability.right.state === \"not-recorded\"\n ? \"not-recorded\" as const\n : observability.right.state === \"migration-required\"\n ? \"migration-required\" as const\n : observability.right.state === \"unsupported\"\n ? \"unsupported\" as const\n : \"invalid\" as const,\n });\n }\n else {\n const diagnostics = observability.right.value.diagnostics;\n entry = Object.freeze({\n runId,\n experimentId,\n state: \"available\" as const,\n detail: Object.freeze({\n collection: Object.freeze({\n state: diagnostics.collection.state,\n limitations: Object.freeze([...diagnostics.collection.limitations]),\n }),\n diagnostics: Object.freeze(diagnostics.diagnostics.map((diagnostic) => Object.freeze({\n diagnosticId: String(diagnostic.diagnosticId),\n kind: diagnostic.kind,\n code: String(diagnostic.code),\n phase: diagnostic.phase,\n summary: String(diagnostic.summary),\n causes: Object.freeze(diagnostic.causes.map((cause) => Object.freeze({\n code: String(cause.code),\n summary: String(cause.summary),\n }))),\n redaction: diagnostic.redaction,\n sourceFrame: diagnostic.sourceFrame,\n }))),\n }),\n });\n }\n }\n entries.push(entry);\n }\n return Object.freeze({\n kind: \"domain-view\" as const,\n identity: Object.freeze({\n kind: \"domain-view\" as const,\n id: canonicalIdentity(\"domain-view\", [sample.snapshot.identity.id, \"run-diagnostics\"]),\n }),\n view: \"run-diagnostics\" as const,\n entries: Object.freeze(entries),\n issues: Object.freeze([]),\n refs: Object.freeze([]),\n });\n });\n}\n/** Snapshot is the only Sample value that can cross a JSON boundary. */\nexport function encodeSampleSnapshot(snapshot: SampleSnapshot): JsonValue {\n return encodeSnapshot(snapshot);\n}\n/** Exact decode, canonical ordering, coverage validation, and deep freeze. */\nexport function decodeSampleSnapshot(value: unknown): SampleSnapshot {\n return decodeSnapshot(value);\n}\n/** @internal Typed codec branch used where callers retain the failure ADT. */\nexport function decodeSampleSnapshotEither(value: unknown): Either.Either<SampleSnapshot, SampleSnapshotCodecError> {\n return decodeSnapshotEither(value);\n}\nfunction bindSample(binding: SampleBinding, snapshot: SampleSnapshot): Sample {\n const sample: Sample = Object.freeze({\n kind: \"analysis-sample\",\n snapshot,\n [sampleCapabilityTypeId]: true as const,\n });\n sampleBindings.set(sample, binding);\n return sample;\n}\nfunction resolveAttempt(sample: Sample, binding: SampleBinding, member: LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n}): Effect.Effect<ResolvedAttempt, SampleClosedError | AttemptCoreUnavailable | AttemptReadFailed> {\n const ref = binding.attemptsBySlot.get(slotKey(member.runId, member.slotId));\n if (ref === undefined) {\n return Effect.fail<AttemptCoreUnavailable>({ code: \"analysis-attempt-core-unavailable\" });\n }\n return Effect.flatMap(binding.lifecycle.attempts.read({ sample, reader: binding.reader, ref }), (cached) => Effect.flatMap(assertSampleOpen(sample), (): Effect.Effect<ResolvedAttempt, AttemptCoreUnavailable | AttemptReadFailed> => {\n if (cached.state === \"available\") {\n return Effect.succeed(Object.freeze({ attempt: cached.attempt, core: cached.core }));\n }\n if (cached.state === \"core-unavailable\") {\n return Effect.fail<AttemptCoreUnavailable>({ code: \"analysis-attempt-core-unavailable\" });\n }\n return Effect.fail<AttemptReadFailed>(Object.freeze({\n code: \"analysis-attempt-read-failed\" as const,\n message: cached.message,\n }));\n }));\n}\nfunction readFixedFamily<Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: SampleBinding, attempt: ReadableAttempt, family: Family): Effect.Effect<CachedFixedFamilyRead<Payload>, SampleClosedError> {\n const owner = family.owner === \"attempt\" ? attempt.owner : attempt.origin.owner;\n return Effect.flatMap(binding.lifecycle.attachments.read<Payload, Family>({\n sample,\n lifecycle: binding.lifecycle,\n reader: binding.reader,\n owner,\n family,\n }), (cached) => Effect.as(assertSampleOpen(sample), cached));\n}\nfunction readCostSlot(sample: Sample, binding: SampleBinding, member: LogicalSlot, profile: PricingProfile): Effect.Effect<CostSlotProjection, SampleClosedError> {\n if (member.state === \"not-recorded\") {\n return Effect.succeed(unavailableCostSlot(member, \"member-not-recorded\"));\n }\n if (member.state === \"core-invalid\" || member.attempt === undefined) {\n return Effect.succeed(unavailableCostSlot(member, \"core-invalid\"));\n }\n const included = member as LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n };\n const refs = Object.freeze([evidenceRef(included.attempt)]);\n const operation = Effect.gen(function* () {\n const resolved = yield* resolveAttempt(sample, binding, included);\n const cached = yield* readFixedFamily<AttemptObservabilityAttachment, typeof attemptObservabilityFamily>(sample, binding, resolved.attempt, attemptObservabilityFamily);\n if (cached.state === \"read-failed\") {\n return unavailableCostSlot(included, \"usage-unavailable\", refs);\n }\n switch (cached.read.state) {\n case \"available\":\n return projectCostUsage({\n member: included,\n core: resolved.core,\n usage: cached.read.value.usage,\n profile,\n refs,\n });\n case \"not-recorded\":\n return unavailableCostSlot(included, \"usage-not-recorded\", refs);\n case \"unsupported\":\n return unavailableCostSlot(included, \"usage-unsupported\", refs);\n case \"migration-required\":\n return unavailableCostSlot(included, \"usage-migration-required\", refs);\n case \"invalid\":\n return unavailableCostSlot(included, \"usage-invalid\", refs);\n }\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(unavailableCostSlot(included, error.code === \"analysis-attempt-core-unavailable\" || error.code === \"analysis-attempt-read-failed\"\n ? \"origin-run-unavailable\"\n : \"usage-unavailable\", refs)));\n}\nfunction readDomainEntry<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(sample: Sample, binding: SampleBinding, slot: IncludedAnalysisSlot, domain: BuiltinDomainViewBinding<Kind, Payload, Family>): Effect.Effect<{\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n}, SampleClosedError> {\n const operation = Effect.gen(function* () {\n const run = analysisRunForSlot(sample.snapshot, slot);\n const resolved = yield* resolveAttempt(sample, binding, logicalSlotFromIncluded(slot, run));\n const cached = yield* readFixedFamily<Payload, Family>(sample, binding, resolved.attempt, domain.family);\n if (cached.state === \"read-failed\") {\n return domainFailure<Kind>(slot.attempt, domain.kind, \"the selected Record fact could not be read\");\n }\n if (cached.read.state !== \"available\") {\n return domainFamilyState<Kind, Payload>(slot.attempt, domain.kind, cached.read, !(cached.read.state === \"not-recorded\" && resolved.core.outcome !== \"completed\"));\n }\n return domainAvailable<Kind>(slot.attempt, domain.kind, domain.project({\n core: resolved.core,\n payload: cached.read.value,\n blobs: cached.read.blobs,\n }));\n });\n return Effect.catchAll(operation, (error) => isSampleClosedError(error)\n ? Effect.fail(error)\n : Effect.succeed(domainFailure<Kind>(slot.attempt, domain.kind, attemptCoreFailureMessage(error))));\n}\nfunction attemptCoreFailureMessage(error: AttemptCoreUnavailable | AttemptReadFailed): string {\n return error.code === \"analysis-attempt-core-unavailable\"\n ? \"the selected Attempt Core is unavailable\"\n : `the selected Attempt Core could not be read: ${error.message}`;\n}\nfunction domainAvailable<Kind extends BuiltinDomainViewKind>(attempt: AttemptEvidenceIdentity, view: Kind, detail: BuiltinDomainDetail<Kind>): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n return Object.freeze({\n value: Object.freeze({ attempt, state: \"available\" as const, view, detail }),\n issues: Object.freeze([]),\n });\n}\nfunction logicalSlotFromActiveSlot(slot: ActiveAnalysisSlot, run: AnalysisRun): LogicalSlot {\n const base = {\n runId: slot.runId,\n run,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n };\n if (slot.state === \"included\") {\n return Object.freeze({\n ...base,\n state: \"included\" as const,\n action: slot.action,\n relation: slot.relation,\n attempt: slot.attempt,\n });\n }\n return Object.freeze({\n ...base,\n state: slot.state,\n action: slot.action,\n });\n}\nfunction logicalSlotFromIncluded(slot: IncludedAnalysisSlot, run: AnalysisRun): LogicalSlot & {\n readonly attempt: AttemptEvidenceIdentity;\n} {\n return Object.freeze({\n runId: slot.runId,\n run,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"included\" as const,\n action: slot.action,\n relation: slot.relation,\n attempt: slot.attempt,\n });\n}\nfunction analysisRunForSlot(snapshot: SampleSnapshot, slot: IncludedAnalysisSlot): AnalysisRun {\n const run = snapshot.runs.find((candidate) => candidate.runId === slot.runId);\n if (run === undefined)\n throw new Error(\"SampleSnapshot Slot has no selected AnalysisRun\");\n return run;\n}\nfunction domainFamilyState<Kind extends BuiltinDomainViewKind, Payload>(identity: AttemptEvidenceIdentity, view: Kind, read: Exclude<FixedFamilyRead<Payload>, {\n readonly state: \"available\";\n}>, reportIssue = true): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n const state = read.state === \"not-recorded\"\n ? \"not-recorded\"\n : read.state === \"migration-required\"\n ? \"migration-required\"\n : read.state === \"unsupported\"\n ? \"unsupported\"\n : \"invalid\";\n const code = state === \"not-recorded\"\n ? \"missing\"\n : state === \"migration-required\"\n ? \"migration-required\"\n : state === \"unsupported\"\n ? \"unsupported\"\n : \"input-invalid\";\n const issue = analysisIssue(code, `${view} is ${state}`, [evidenceRef(identity)]);\n const value: ClosedDomainEntry<Kind> = Object.freeze({ attempt: identity, state, view });\n return Object.freeze({\n value,\n issues: reportIssue ? Object.freeze([issue]) : Object.freeze([]),\n });\n}\nfunction domainFailure<Kind extends BuiltinDomainViewKind>(identity: AttemptEvidenceIdentity, view: Kind, message: string): {\n readonly value: ClosedDomainEntry<Kind>;\n readonly issues: readonly AnalysisIssue[];\n} {\n const issue = analysisIssue(\"reduction-failed\", message, [evidenceRef(identity)]);\n const value: ClosedDomainEntry<Kind> = Object.freeze({\n attempt: identity,\n state: \"failed\" as const,\n view,\n detail: message,\n });\n return Object.freeze({\n value,\n issues: Object.freeze([issue]),\n });\n}\nfunction observationFromFamily<Payload>(member: LogicalSlot, read: Exclude<FixedFamilyRead<Payload>, {\n readonly state: \"available\";\n}>, label: string): SampleInputObservation<never> {\n if (read.state === \"not-recorded\")\n return missingObservation(member);\n if (read.state === \"migration-required\") {\n return migrationRequiredObservation(member, `${label} requires migration`);\n }\n if (read.state === \"unsupported\")\n return unsupportedObservation(member, `${label} is unsupported`);\n return invalidObservation(member, `${label} is invalid`);\n}\nfunction closeLifecycle(lifecycle: SampleLifecycle): void {\n if (lifecycle.closed)\n return;\n lifecycle.closed = true;\n for (const controller of lifecycle.inFlight)\n controller.abort();\n lifecycle.inFlight.clear();\n lifecycle.attempts.clear();\n lifecycle.attachments.clear();\n lifecycle.costProjections.clear();\n for (const capture of lifecycle.issueCaptures)\n capture.closed = true;\n lifecycle.issueCaptures.clear();\n}\nfunction valueObservation<Value>(value: Value, refs: readonly EvidenceRef[]): SampleInputObservation<Value> {\n return Object.freeze({ state: \"value\" as const, value, refs });\n}\nfunction missingObservation(member: LogicalSlot, message = \"the selected logical Slot has no input value\"): SampleInputObservation<never> {\n return issueObservation(\"missing\", member, message);\n}\nfunction invalidObservation(member: LogicalSlot, message = \"the selected logical Slot has invalid Core facts\"): SampleInputObservation<never> {\n return issueObservation(\"input-invalid\", member, message);\n}\nfunction unsupportedObservation(member: LogicalSlot, message: string): SampleInputObservation<never> {\n return issueObservation(\"unsupported\", member, message);\n}\nfunction migrationRequiredObservation(member: LogicalSlot, message: string): SampleInputObservation<never> {\n return issueObservation(\"migration-required\", member, message);\n}\nfunction failedObservation(member: LogicalSlot, message: string): SampleInputObservation<never> {\n return issueObservation(\"reduction-failed\", member, message);\n}\nfunction issueObservation(code: AnalysisIssue[\"code\"], member: LogicalSlot, message: string): SampleInputObservation<never> {\n const refs = evidenceRefs(member);\n return Object.freeze({\n state: code === \"missing\"\n ? \"missing\" as const\n : code === \"migration-required\"\n ? \"migration-required\" as const\n : code === \"unsupported\"\n ? \"unsupported\" as const\n : \"failed\" as const,\n issues: Object.freeze([analysisIssue(code, message, refs)]),\n refs,\n });\n}\nfunction evidenceRefs(member: LogicalSlot): readonly EvidenceRef[] {\n return member.attempt === undefined ? Object.freeze([]) : Object.freeze([evidenceRef(member.attempt)]);\n}\nfunction evidenceRef(identity: AttemptEvidenceIdentity): EvidenceRef {\n return Object.freeze({ identity: Object.freeze({ kind: \"attempt\" as const, locator: identity.locator }) });\n}\nfunction analysisIssue(code: AnalysisIssue[\"code\"], message: string, refs: readonly EvidenceRef[] = []): AnalysisIssue {\n return Object.freeze({ code, message, refs: Object.freeze([...refs]) });\n}\nfunction freezeIssues(issues: readonly AnalysisIssue[]): readonly AnalysisIssue[] {\n const values = new Map<string, AnalysisIssue>();\n for (const issue of issues) {\n const closed = Object.freeze({\n code: issue.code,\n message: issue.message,\n refs: freezeRefs(issue.refs),\n });\n const key = analysisIssueIdentity(closed);\n if (!values.has(key))\n values.set(key, closed);\n }\n return Object.freeze([...values.entries()]\n .sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)\n .map(([, issue]) => issue));\n}\nfunction freezeCostEntries(entries: readonly AnalysisCostCaptureEntry[]): readonly AnalysisCostCaptureEntry[] {\n return Object.freeze([...entries].sort((left, right) => compareUtf8(canonicalCostCaptureIdentity(left), canonicalCostCaptureIdentity(right))));\n}\nfunction canonicalCostCaptureIdentity(entry: AnalysisCostCaptureEntry): string {\n return canonicalCaptureJson(Object.freeze({\n measureId: entry.measureId,\n row: entry.row,\n profileIdentity: entry.profileIdentity,\n projection: entry.projection,\n }));\n}\nfunction canonicalCaptureJson(value: unknown): string {\n if (value === null || typeof value === \"boolean\" || typeof value === \"number\" || typeof value === \"string\") {\n return JSON.stringify(value);\n }\n if (Array.isArray(value))\n return `[${value.map(canonicalCaptureJson).join(\",\")}]`;\n if (typeof value !== \"object\" || value === null) {\n throw new Error(\"Analysis cost capture contains a non-JSON value\");\n }\n const fields = Object.keys(value as Record<string, unknown>)\n .sort(compareUtf8)\n .map((key) => `${JSON.stringify(key)}:${canonicalCaptureJson((value as Record<string, unknown>)[key])}`);\n return `{${fields.join(\",\")}}`;\n}\nfunction freezeRefs(refs: readonly EvidenceRef[]): readonly EvidenceRef[] {\n const values = new Map<string, EvidenceRef>();\n for (const ref of refs) {\n const key = `${ref.identity.kind}\\u0000${ref.identity.locator}`;\n if (!values.has(key)) {\n values.set(key, Object.freeze({\n identity: Object.freeze({ kind: ref.identity.kind, locator: ref.identity.locator }),\n }));\n }\n }\n return Object.freeze([...values.entries()]\n .sort(([left], [right]) => left < right ? -1 : left > right ? 1 : 0)\n .map(([, ref]) => ref));\n}\nfunction analysisIssueIdentity(issue: AnalysisIssue): string {\n return JSON.stringify([\n issue.code,\n issue.message,\n issue.refs.map((ref) => [ref.identity.kind, ref.identity.locator]),\n ]);\n}\nfunction slotKey(runId: string, slotId: string): string {\n return `${runId}\\u0000${slotId}`;\n}\nfunction sampleClosed(identity: SampleIdentity | undefined): SampleClosedError {\n return Object.freeze({\n code: \"analysis-sample-closed\" as const,\n sample: identity ?? Object.freeze({ kind: \"analysis-sample\" as const, id: \"unknown\" }),\n });\n}\nfunction isSampleClosedError(value: unknown): value is SampleClosedError {\n return typeof value === \"object\" && value !== null\n && (value as {\n readonly code?: unknown;\n }).code === \"analysis-sample-closed\";\n}\nfunction safeErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : \"an unknown Record failure occurred\";\n}\nfunction canonicalIdentity(namespace: string, value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"DomainView identity input must be JSON-serializable\");\n return `${namespace}-v1:${encoded}`;\n}\nfunction compareUtf8(left: string, right: string): number {\n if (left === right)\n return 0;\n const first = new TextEncoder().encode(left);\n const second = new TextEncoder().encode(right);\n const length = Math.min(first.length, second.length);\n for (let index = 0; index < length; index += 1) {\n const difference = first[index]! - second[index]!;\n if (difference !== 0)\n return difference;\n }\n return first.length - second.length;\n}\n"]}
|