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
package/dist/analysis/api.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sandboxHistoryView = exports.sourcesView = exports.sourceNavigationView = exports.fileChangesView = exports.attemptObservabilityView = exports.attemptEvidenceView = void 0;
|
|
3
|
+
exports.runDiagnosticsView = exports.sandboxHistoryView = exports.sourcesView = exports.sourceNavigationView = exports.fileChangesView = exports.attemptObservabilityView = exports.attemptEvidenceView = void 0;
|
|
4
4
|
exports.aggregate = aggregate;
|
|
5
5
|
exports.aggregateEffect = aggregateEffect;
|
|
6
6
|
exports.query = query;
|
|
@@ -38,6 +38,14 @@ exports.sourceNavigationView = publishedDomainViewRequest(bindings_ts_1.sourceNa
|
|
|
38
38
|
exports.sourcesView = publishedDomainViewRequest(bindings_ts_1.sourcesDomainBinding);
|
|
39
39
|
/** Sandbox command/timing/diagnostic history projected from Observability. */
|
|
40
40
|
exports.sandboxHistoryView = publishedDomainViewRequest(bindings_ts_1.sandboxHistoryDomainBinding);
|
|
41
|
+
exports.runDiagnosticsView = Object.freeze({
|
|
42
|
+
kind: "domain-view-request",
|
|
43
|
+
id: "niceeval.domain.run-diagnostics",
|
|
44
|
+
[domainViewRequestTypeId]: (value) => value,
|
|
45
|
+
});
|
|
46
|
+
publishedDomainViewBindings.set(exports.runDiagnosticsView, Object.freeze({
|
|
47
|
+
read: (sample) => (0, capability_ts_1.readRunDiagnosticsDomainView)(sample),
|
|
48
|
+
}));
|
|
41
49
|
function aggregate(sample, request) {
|
|
42
50
|
const capture = (0, capability_ts_1.currentAnalysisIssueCapture)(sample);
|
|
43
51
|
return (0, capability_ts_1.runSamplePromise)(sample, aggregateEffect(sample, request, capture));
|
|
@@ -449,6 +457,9 @@ function reduce(kind, entries) {
|
|
|
449
457
|
}
|
|
450
458
|
const values = entries.filter((entry) => entry.state === "value");
|
|
451
459
|
if (values.length === 0) {
|
|
460
|
+
if (entries.length > 0 && entries.every((entry) => entry.state === "migration-required")) {
|
|
461
|
+
return migrationRequiredReduced(metadata.issues, metadata.refs, metadata.producers);
|
|
462
|
+
}
|
|
452
463
|
if (entries.some((entry) => entry.state === "missing")) {
|
|
453
464
|
return missingReduced(metadata.issues, metadata.refs, metadata.producers);
|
|
454
465
|
}
|
|
@@ -516,16 +527,20 @@ function metricValue(input) {
|
|
|
516
527
|
return Object.freeze({ value: null, state: "empty", ...common });
|
|
517
528
|
}
|
|
518
529
|
const values = input.slots.filter((slot) => slot.state === "value");
|
|
530
|
+
const migrationRequired = input.slots.filter((slot) => slot.state === "migration-required");
|
|
519
531
|
const unsupported = input.slots.filter((slot) => slot.state === "unsupported");
|
|
520
532
|
const missing = input.slots.filter((slot) => slot.state === "missing");
|
|
521
533
|
const empty = input.slots.filter((slot) => slot.state === "empty");
|
|
534
|
+
if (values.length === 0 && migrationRequired.length === input.total) {
|
|
535
|
+
return Object.freeze({ value: null, state: "migration-required", ...common });
|
|
536
|
+
}
|
|
522
537
|
if (values.length === 0 && unsupported.length === input.total) {
|
|
523
538
|
return Object.freeze({ value: null, state: "unsupported", ...common });
|
|
524
539
|
}
|
|
525
540
|
if (values.length === 0 && empty.length === input.total) {
|
|
526
541
|
return Object.freeze({ value: null, state: "empty", ...common });
|
|
527
542
|
}
|
|
528
|
-
if (samples < input.total || missing.length > 0 || unsupported.length > 0) {
|
|
543
|
+
if (samples < input.total || missing.length > 0 || migrationRequired.length > 0 || unsupported.length > 0) {
|
|
529
544
|
return Object.freeze({
|
|
530
545
|
value: input.across.state === "value" ? input.across.value : null,
|
|
531
546
|
state: "partial",
|
|
@@ -535,6 +550,9 @@ function metricValue(input) {
|
|
|
535
550
|
if (input.across.state === "empty") {
|
|
536
551
|
return Object.freeze({ value: null, state: "empty", ...common });
|
|
537
552
|
}
|
|
553
|
+
if (input.across.state === "migration-required") {
|
|
554
|
+
return Object.freeze({ value: null, state: "migration-required", ...common });
|
|
555
|
+
}
|
|
538
556
|
if (input.across.state === "unsupported") {
|
|
539
557
|
return Object.freeze({ value: null, state: "unsupported", ...common });
|
|
540
558
|
}
|
|
@@ -559,6 +577,14 @@ function emptyReduced(issues, refs = [], producers = []) {
|
|
|
559
577
|
function missingReduced(issues, refs = [], producers = []) {
|
|
560
578
|
return Object.freeze({ state: "missing", issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });
|
|
561
579
|
}
|
|
580
|
+
function migrationRequiredReduced(issues, refs = [], producers = []) {
|
|
581
|
+
return Object.freeze({
|
|
582
|
+
state: "migration-required",
|
|
583
|
+
issues: freezeIssues(issues),
|
|
584
|
+
refs: dedupeRefs(refs),
|
|
585
|
+
producers,
|
|
586
|
+
});
|
|
587
|
+
}
|
|
562
588
|
function unsupportedReduced(issues, refs = [], producers = []) {
|
|
563
589
|
return Object.freeze({ state: "unsupported", issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });
|
|
564
590
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["api.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport { parseAttemptLocator, type AttemptLocator } from \"../attempt-locator.ts\";\nimport { attemptEvidenceDomainBinding, attemptObservabilityDomainBinding, fileChangesDomainBinding, sandboxHistoryDomainBinding, sourceNavigationDomainBinding, sourcesDomainBinding, type BuiltinDomainViewBinding, type FixedFamilyBinding, type FixedFamilyOwnerRequirement, } from \"./bindings.ts\";\nimport type { BuiltinDomainDetail, BuiltinDomainViewKind, } from \"./domain-view.ts\";\nimport { allLogicalSlots, analysisInputState, denominatorState, dimensionState, measureState, populationIdentity, populationMembersState, producerPolicyIsRequired, reductionState, registeredRelations, relationState, type AcrossSlotsReduction, type AnalysisInput, type Denominator, type Dimension, type DimensionValue, type EvidencePolicy, type LogicalSlot, type Measure, type MissingPolicy, type Population, type ProducerPolicy, type Relation, type WithinAttemptReduction, type WithinSlotReduction, logicalSlots, } from \"./definitions.ts\";\nimport { costMeasureState, isCostMeasure, type CostMeasure, type CostMetricValue, } from \"./cost.ts\";\nimport { aggregateCostProjection } from \"./cost-projection.ts\";\nimport { makeClosedRows, type AnalysisIssue, type AnalysisRequestError, type SampleClosedError, type ClosedRows, type DomainView, type EvidenceRef, type MetricBasis, type MetricValue, type PopulationIdentity, type ProducerIdentity, type AttemptEvidenceIdentity, type Sample, } from \"./contracts.ts\";\nimport { assertSampleOpen, currentAnalysisIssueCapture, recordAnalysisCostMetric, recordAnalysisIssues, readCostProjection, readBuiltinDomainView, runSamplePromise, type AnalysisIssueCaptureToken, } from \"../sample/capability.ts\";\n/**\n * Constraint only: `any` intentionally erases the nominal Population and\n * value brands at this object boundary. Generic inference retains each named\n * descriptor's real type in AggregateRow; callers do not need an unsafe cast\n * merely because several descriptors share a Population.\n */\nexport type DimensionSet = Readonly<Record<string, Dimension<any, any>>>;\nexport type MeasureSet = Readonly<Record<string, Measure<any, any>>>;\ntype DimensionOutput<Value> = Value extends Dimension<any, infer Output> ? Output : never;\n/**\n * The one result mapping for every requested Measure. Cost keeps `number` as\n * its Measure value for ordinary axes while its closed cell exposes the\n * authoritative CostProjectionValue without a Report cast.\n */\nexport type MeasureCell<Value> = Value extends CostMeasure ? CostMetricValue : Value extends Measure<any, infer Output> ? MetricValue<Output> : never;\nexport type AggregateRow<By, Values> = Readonly<{\n readonly key: string;\n} & {\n readonly [Key in keyof By]: DimensionOutput<By[Key]>;\n} & {\n readonly [Key in keyof Values]: MeasureCell<Values[Key]>;\n}>;\nexport type SemanticRow<By, Measures> = AggregateRow<By, Measures>;\nexport interface SemanticFrame<By, Measures> {\n readonly kind: \"semantic-frame\";\n readonly sample: import(\"./contracts.ts\").SampleIdentity;\n readonly population: PopulationIdentity;\n readonly rows: ClosedRows<SemanticRow<By, Measures>>;\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n}\nexport interface AggregateRequest<By extends object, Values extends object> {\n readonly by: By;\n readonly values: Values;\n}\nexport interface FrameQuery<Member, By extends object, Measures extends object> {\n readonly kind: \"frame\";\n readonly population: Population<Member>;\n readonly by: By;\n readonly measures: Measures;\n}\nconst domainViewRequestTypeId: unique symbol = Symbol(\"niceeval.analysis.DomainViewRequest\");\nexport type { BuiltinDomainViewKind } from \"./domain-view.ts\";\n/** One fully closed entry for a selected Attempt in a built-in DomainView. */\nexport type ClosedDomainEntry<Kind extends BuiltinDomainViewKind = BuiltinDomainViewKind> = {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"available\";\n readonly view: Kind;\n readonly detail: BuiltinDomainDetail<Kind>;\n} | {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"not-recorded\" | \"unsupported\" | \"invalid\";\n readonly view: Kind;\n} | {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"failed\";\n readonly view: Kind;\n readonly detail: string;\n};\n/**\n * The projection contains only JSON values, evidence identities and analysis\n * issues. It never carries a Record capability, filesystem location or thunk.\n */\nexport interface BuiltinDomainView<Kind extends BuiltinDomainViewKind> extends DomainView {\n readonly view: Kind;\n readonly entries: readonly ClosedDomainEntry<Kind>[];\n}\nexport type AttemptEvidenceDomainView = BuiltinDomainView<\"attempt-evidence\">;\nexport type AttemptObservabilityDomainView = BuiltinDomainView<\"attempt-observability\">;\nexport type FileChangesDomainView = BuiltinDomainView<\"file-changes\">;\nexport type SourceNavigationDomainView = BuiltinDomainView<\"source-navigation\">;\nexport type SourcesDomainView = BuiltinDomainView<\"sources\">;\nexport type SandboxHistoryDomainView = BuiltinDomainView<\"sandbox-history\">;\n/** A NiceEval-published request for a non-tabular, already-closed DomainView. */\nexport interface DomainViewRequest<View extends DomainView> {\n readonly kind: \"domain-view-request\";\n readonly id: string;\n readonly [domainViewRequestTypeId]: (_: View) => View;\n}\ninterface PublishedDomainViewRegistration {\n readonly read: (sample: Sample, locator?: import(\"../attempt-locator.ts\").AttemptLocator) => Effect.Effect<DomainView, SampleClosedError>;\n}\nconst publishedDomainViewBindings = new WeakMap<object, PublishedDomainViewRegistration>();\nfunction publishedDomainViewRequest<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(binding: BuiltinDomainViewBinding<Kind, Payload, Family>): DomainViewRequest<BuiltinDomainView<Kind>> {\n const request: DomainViewRequest<BuiltinDomainView<Kind>> = Object.freeze({\n kind: \"domain-view-request\" as const,\n id: binding.id,\n [domainViewRequestTypeId]: (value: BuiltinDomainView<Kind>) => value,\n });\n publishedDomainViewBindings.set(request, Object.freeze({\n read: (sample: Sample, locator?: AttemptLocator) => readBuiltinDomainView(sample, binding, locator),\n }));\n return request;\n}\n/** Closed Assertions / evidence material for each included Attempt. */\nexport const attemptEvidenceView = publishedDomainViewRequest(attemptEvidenceDomainBinding);\n/** Closed conversation, commands, usage, timing and diagnostics per Attempt. */\nexport const attemptObservabilityView = publishedDomainViewRequest(attemptObservabilityDomainBinding);\n/** Closed attempt-owned FileChanges projection. */\nexport const fileChangesView = publishedDomainViewRequest(fileChangesDomainBinding);\n/** Closed physical send-to-source and send-to-timing navigation rows. */\nexport const sourceNavigationView = publishedDomainViewRequest(sourceNavigationDomainBinding);\n/** Closed origin-run Sources projection for each included Attempt. */\nexport const sourcesView = publishedDomainViewRequest(sourcesDomainBinding);\n/** Sandbox command/timing/diagnostic history projected from Observability. */\nexport const sandboxHistoryView = publishedDomainViewRequest(sandboxHistoryDomainBinding);\nexport interface DomainViewQuery<View extends DomainView> {\n readonly kind: \"domain-view\";\n readonly view: DomainViewRequest<View>;\n /**\n * When present, closes exactly one selected Attempt rather than eagerly\n * reading every included Attempt in the Sample.\n */\n readonly locator?: import(\"../attempt-locator.ts\").AttemptLocator;\n}\nexport function aggregate<By extends object, Values extends object>(sample: Sample, request: AggregateRequest<By, Values>): Promise<ClosedRows<AggregateRow<By, Values>>> {\n const capture = currentAnalysisIssueCapture(sample);\n return runSamplePromise(sample, aggregateEffect(sample, request, capture));\n}\n/**\n * Scoped host operation behind the public Promise facade. It is intentionally\n * absent from the `niceeval/analysis` export surface.\n *\n * @internal\n */\nexport function aggregateEffect<By extends object, Values extends object>(sample: Sample, request: AggregateRequest<By, Values>, capture?: AnalysisIssueCaptureToken): Effect.Effect<ClosedRows<AggregateRow<By, Values>>, SampleClosedError | AnalysisRequestError> {\n return Effect.flatMap(assertSampleOpen(sample), () => {\n const inferred = inferAggregatePopulation(request);\n if (inferred instanceof Error)\n return Effect.fail(requestError(inferred.message));\n return Effect.map(executeFrame(sample, {\n kind: \"frame\",\n population: inferred,\n by: request.by,\n measures: request.values,\n }, capture), (frame) => frame.rows);\n });\n}\nexport function query<Member, By extends object, Measures extends object>(sample: Sample, request: FrameQuery<Member, By, Measures>): Promise<SemanticFrame<By, Measures>>;\nexport function query<View extends DomainView>(sample: Sample, request: DomainViewQuery<View>): Promise<View>;\nexport function query(sample: Sample, request: FrameQuery<unknown, object, object> | DomainViewQuery<DomainView>): Promise<SemanticFrame<object, object> | DomainView> {\n const capture = currentAnalysisIssueCapture(sample);\n const operation = request.kind === \"frame\"\n ? queryEffect(sample, request, capture)\n : queryEffect(sample, request, capture);\n return runSamplePromise<SemanticFrame<object, object> | DomainView, SampleClosedError | AnalysisRequestError>(sample, operation);\n}\n/**\n * Scoped host operation behind the public Promise facade. It is intentionally\n * absent from the `niceeval/analysis` export surface.\n *\n * @internal\n */\nexport function queryEffect<Member, By extends object, Measures extends object>(sample: Sample, request: FrameQuery<Member, By, Measures>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError>;\n/** @internal */\nexport function queryEffect<View extends DomainView>(sample: Sample, request: DomainViewQuery<View>, capture?: AnalysisIssueCaptureToken): Effect.Effect<View, SampleClosedError | AnalysisRequestError>;\n/** @internal */\nexport function queryEffect(sample: Sample, request: FrameQuery<unknown, object, object> | DomainViewQuery<DomainView>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<object, object> | DomainView, SampleClosedError | AnalysisRequestError> {\n if (request.kind === \"frame\")\n return executeFrame(sample, request, capture);\n const binding = publishedDomainViewBindings.get(request.view);\n if (binding === undefined) {\n return Effect.flatMap(assertSampleOpen(sample), () => Effect.fail(requestError(`DomainView request ${request.view.id} is not published by Analysis`)));\n }\n return Effect.flatMap(assertSampleOpen(sample), (): Effect.Effect<DomainView, SampleClosedError | AnalysisRequestError> => {\n const locator = request.locator;\n if (locator !== undefined) {\n if (typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Effect.fail(requestError(\"DomainView locator must be a canonical Attempt locator\"));\n }\n const selected = sample.snapshot.slots.some((slot) => slot.state === \"included\" && slot.attempt.locator === locator);\n if (!selected) {\n return Effect.fail(requestError(\"DomainView locator does not belong to the current Sample\"));\n }\n }\n return Effect.map(binding.read(sample, locator), (view) => {\n recordAnalysisIssues(sample, view.issues, capture);\n return view;\n });\n });\n}\ninterface NormalizedFrameRequest {\n readonly population: Population<unknown>;\n readonly dimensions: readonly [\n string,\n Dimension<unknown, DimensionValue>\n ][];\n readonly measures: readonly [\n string,\n Measure<unknown, unknown>\n ][];\n}\ninterface ResolvedMember {\n readonly member?: unknown;\n readonly issues: readonly AnalysisIssue[];\n}\ninterface QueryContext {\n readonly sample: Sample;\n readonly relationTargets: Map<object, Map<string, string>>;\n readonly memberKeys: Map<object, readonly string[]>;\n}\ninterface FrameGroup {\n readonly key: string;\n readonly coordinates: Readonly<Record<string, DimensionValue>>;\n readonly members: unknown[];\n readonly issues: AnalysisIssue[];\n}\n/** Bound independent Record reads without serializing large Report Samples. */\nconst ANALYSIS_READ_CONCURRENCY = 32;\ntype Reduced<Value> = {\n readonly state: \"value\" | \"empty\" | \"missing\" | \"unsupported\" | \"failed\";\n readonly value?: Value;\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n readonly producers: readonly ProducerIdentity[];\n};\nfunction executeFrame<By extends object, Measures extends object>(sample: Sample, request: FrameQuery<unknown, By, Measures>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError> {\n return Effect.suspend<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError, never>(() => {\n const normalized = normalizeFrameRequest(request);\n if (normalized instanceof Error)\n return Effect.fail(requestError(normalized.message));\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const context: QueryContext = {\n sample,\n relationTargets: new Map(),\n memberKeys: new Map(),\n };\n const groups = yield* buildGroups(context, normalized);\n const rows: Readonly<SemanticRow<By, Measures>>[] = [];\n const frameIssues: AnalysisIssue[] = [];\n const frameRefs: EvidenceRef[] = [];\n for (const group of groups) {\n const row: Record<string, unknown> = { key: group.key, ...group.coordinates };\n const values = yield* Effect.forEach(normalized.measures, ([name, measure]) => Effect.map(evaluateMeasure(context, normalized.population, group.members, measure), (value) => [name, measure, value] as const), { concurrency: ANALYSIS_READ_CONCURRENCY });\n for (const [name, measure, value] of values) {\n row[name] = value;\n frameIssues.push(...value.issues);\n frameRefs.push(...value.refs);\n if (isCostMeasure(measure)) {\n recordAnalysisCostMetric(sample, {\n measureId: measure.id,\n row: Object.freeze({ key: group.key, dimensions: group.coordinates }),\n metric: value as CostMetricValue,\n }, capture);\n }\n }\n rows.push(Object.freeze(row) as SemanticRow<By, Measures>);\n frameIssues.push(...group.issues);\n frameRefs.push(...group.issues.flatMap((entry) => entry.refs));\n }\n const issues = freezeIssues(frameIssues);\n const refs = dedupeRefs([...frameRefs, ...issues.flatMap((entry) => entry.refs)]);\n const closedRows = makeClosedRows<SemanticRow<By, Measures>>({\n rows,\n identity: Object.freeze({\n kind: \"closed-rows\" as const,\n id: canonicalIdentity(\"closed-rows\", [\n sample.snapshot.identity.id,\n normalized.population.id,\n normalized.dimensions.map(([name, dimension]) => [name, dimension.id]),\n normalized.measures.map(([name, measure]) => [name, measure.id]),\n groups.map((group) => Object.freeze([\n group.key,\n Object.freeze(group.members\n .map((member) => populationMembersState(normalized.population.members).key(member))\n .sort(compareCanonicalCodeUnits)),\n ])),\n ]),\n }),\n issues,\n refs,\n });\n const frame = Object.freeze({\n kind: \"semantic-frame\" as const,\n sample: sample.snapshot.identity,\n population: populationIdentity(normalized.population),\n rows: closedRows,\n issues,\n refs,\n });\n recordAnalysisIssues(sample, issues, capture);\n return frame;\n });\n });\n}\nfunction inferAggregatePopulation(request: AggregateRequest<object, object>): Population<unknown> | Error {\n const candidates: Population<unknown>[] = [];\n let hasCostMeasure = false;\n try {\n for (const dimension of Object.values(request.by)) {\n if (!isDimension(dimension))\n return new Error(\"aggregate by must contain only Dimensions\");\n candidates.push(dimension.population);\n }\n for (const measure of Object.values(request.values)) {\n const cost = isCostMeasure(measure);\n if (!cost && !isMeasure(measure))\n return new Error(\"aggregate values must contain only Measures\");\n if (cost) {\n // The CostMeasure descriptor, rather than a foreign package's\n // Population object or a string id, binds it to this package's\n // logical-Slot catalog.\n hasCostMeasure = true;\n }\n else {\n candidates.push((measure as Measure<unknown, unknown>).population);\n }\n }\n }\n catch (error) {\n return new Error(errorMessage(error));\n }\n if (hasCostMeasure)\n return logicalSlots as unknown as Population<unknown>;\n const first = candidates[0];\n return first === undefined ? new Error(\"aggregate needs at least one Dimension or Measure\") : first;\n}\nfunction normalizeFrameRequest(request: FrameQuery<unknown, object, object>): NormalizedFrameRequest | Error {\n if (request === null || typeof request !== \"object\" || request.kind !== \"frame\") {\n return new Error(\"frame request must have kind frame\");\n }\n try {\n if (!isPlainObject(request.by) || !isPlainObject(request.measures)) {\n return new Error(\"frame by and measures must be records\");\n }\n const dimensions = Object.entries(request.by);\n const measures = Object.entries(request.measures);\n if (measures.length === 0)\n return new Error(\"frame request needs at least one Measure\");\n const ids = new Set<string>();\n for (const [, dimension] of dimensions) {\n if (!isDimension(dimension))\n return new Error(\"frame by must contain only Dimensions\");\n if (ids.has(dimension.id))\n return new Error(`Dimension identity collision: ${dimension.id}`);\n ids.add(dimension.id);\n }\n for (const [, measure] of measures) {\n const cost = isCostMeasure(measure);\n if (!cost && !isMeasure(measure))\n return new Error(\"frame measures must contain only Measures\");\n const descriptor = measure as Measure<unknown, unknown>;\n if (ids.has(descriptor.id))\n return new Error(`Measure identity collision: ${descriptor.id}`);\n ids.add(descriptor.id);\n }\n const typedDimensions = dimensions.filter((entry): entry is [\n string,\n Dimension<unknown, DimensionValue>\n ] => isDimension(entry[1]));\n const typedMeasures = measures.filter((entry): entry is [\n string,\n Measure<unknown, unknown>\n ] => isCostMeasure(entry[1]) || isMeasure(entry[1]));\n // Explicit query Population capabilities stay package-local. Cross-package\n // CostMeasure support is limited to aggregate()'s Measure-driven inference;\n // a string id cannot author a new Population capability here.\n populationIdentity(request.population);\n const population = request.population;\n for (const [, descriptor] of [...typedDimensions, ...typedMeasures]) {\n const targetPopulation = isCostMeasure(descriptor)\n ? logicalSlots as unknown as Population<unknown>\n : descriptor.population;\n if (samePopulationMembers(population, targetPopulation))\n continue;\n const links = registeredRelations().filter((relation) => relation.from === population && relation.to === targetPopulation);\n if (links.length !== 1) {\n return new Error(`No unambiguous Relation connects ${population.id} to ${targetPopulation.id}`);\n }\n }\n return Object.freeze({\n population,\n dimensions: Object.freeze(typedDimensions),\n measures: Object.freeze(typedMeasures),\n });\n }\n catch (error) {\n return new Error(errorMessage(error));\n }\n}\nfunction buildGroups(context: QueryContext, request: NormalizedFrameRequest): Effect.Effect<readonly FrameGroup[], SampleClosedError> {\n return Effect.gen(function* () {\n const baseMembers = yield* populationMembersState(request.population.members).enumerate(context.sample);\n const groups = new Map<string, FrameGroup>();\n for (const member of baseMembers) {\n const coordinates: Record<string, DimensionValue> = {};\n const issues: AnalysisIssue[] = [];\n for (const [name, dimension] of request.dimensions) {\n const resolved = yield* resolveMember(context, request.population, member, dimension.population);\n issues.push(...resolved.issues);\n if (resolved.member === undefined) {\n coordinates[name] = null;\n continue;\n }\n try {\n const value = dimensionState(dimension).value(resolved.member);\n if (!isDimensionValue(value)) {\n issues.push(issue(\"input-invalid\", `Dimension ${dimension.id} returned a non-serializable value`));\n coordinates[name] = null;\n }\n else {\n coordinates[name] = value;\n }\n }\n catch (error) {\n issues.push(issue(\"input-invalid\", `Dimension ${dimension.id} failed: ${errorMessage(error)}`));\n coordinates[name] = null;\n }\n }\n const key = groupKey(coordinates);\n const previous = groups.get(key);\n if (previous === undefined) {\n groups.set(key, {\n key,\n coordinates: Object.freeze({ ...coordinates }),\n members: [member],\n issues,\n });\n }\n else {\n previous.members.push(member);\n previous.issues.push(...issues);\n }\n }\n return Object.freeze([...groups.values()].sort((left, right) => compareCanonicalCodeUnits(left.key, right.key)));\n });\n}\nfunction evaluateMeasure(context: QueryContext, sourcePopulation: Population<unknown>, sourceMembers: readonly unknown[], measure: Measure<unknown, unknown>): Effect.Effect<MetricValue<unknown> | CostMetricValue, SampleClosedError> {\n return Effect.gen(function* () {\n const cost = costMeasureState(measure);\n if (cost !== undefined) {\n return yield* evaluateCostMeasure(context, sourcePopulation, sourceMembers, cost);\n }\n const state = measureStateFor(measure);\n const denominator = denominatorState(state.denominator);\n const resolved: Reduced<unknown>[] = [];\n const targetMembers: unknown[] = [];\n const targets = yield* Effect.forEach(sourceMembers, (sourceMember) => resolveMember(context, sourcePopulation, sourceMember, measure.population), { concurrency: ANALYSIS_READ_CONCURRENCY });\n for (const target of targets) {\n if (target.member === undefined) {\n resolved.push(failedReduced(target.issues));\n }\n else {\n targetMembers.push(target.member);\n }\n }\n const expectedMembers = denominator.members(targetMembers);\n const observations = yield* Effect.forEach(expectedMembers, (member) => Effect.map(analysisInputState(state.input).read(context.sample, member), (observation) => {\n const withinAttempt = reduce(reductionState(state.withinAttempt).kind, [fromObservation(observation)]);\n return reduce(reductionState(state.withinSlot).kind, [withinAttempt]);\n }), { concurrency: ANALYSIS_READ_CONCURRENCY });\n resolved.push(...observations);\n const across = reduce(reductionState(state.acrossSlots).kind, resolved);\n return metricValue({\n measure,\n slots: resolved,\n across,\n total: resolved.length,\n basis: denominator.basis,\n enforceSameProducer: producerPolicyIsRequired(state.producers),\n });\n });\n}\nfunction evaluateCostMeasure(context: QueryContext, sourcePopulation: Population<unknown>, sourceMembers: readonly unknown[], state: NonNullable<ReturnType<typeof costMeasureState>>): Effect.Effect<CostMetricValue, SampleClosedError> {\n return Effect.gen(function* () {\n const resolved = yield* Effect.forEach(sourceMembers, (member) => resolveMember(context, sourcePopulation, member, logicalSlots as unknown as Population<unknown>), { concurrency: ANALYSIS_READ_CONCURRENCY });\n const relationIssues = freezeIssues(resolved.flatMap((entry) => entry.issues));\n const keys = new Set(resolved.flatMap((entry) => entry.member === undefined ? [] : [logicalSlotKey(entry.member as LogicalSlot)]));\n const entries = yield* readCostProjection(context.sample, state.profile);\n const reduced = aggregateCostProjection(state.profile, entries.filter((entry) => keys.has(logicalSlotKey(entry.slot))), state.mode);\n return Object.freeze({\n value: reduced.value,\n state: reduced.projection.state,\n samples: reduced.samples,\n total: reduced.total,\n basis: \"slot\" as const,\n issues: relationIssues,\n refs: dedupeRefs([...reduced.refs, ...relationIssues.flatMap((entry) => entry.refs)]),\n format: \"currency-usd\" as const,\n better: \"lower\" as const,\n projection: reduced.projection,\n });\n });\n}\nfunction logicalSlotKey(slot: Pick<LogicalSlot, \"runId\" | \"slotId\">): string {\n return `${slot.runId}\\u0000${slot.slotId}`;\n}\nfunction resolveMember(context: QueryContext, from: Population<unknown>, member: unknown, to: Population<unknown>): Effect.Effect<ResolvedMember, SampleClosedError> {\n if (samePopulationMembers(from, to)) {\n return Effect.succeed(Object.freeze({ member, issues: Object.freeze([]) }));\n }\n const candidates = registeredRelations().filter((relation) => relation.from === from && relation.to === to);\n if (candidates.length !== 1) {\n return Effect.succeed(unmatched(`No unambiguous Relation connects ${from.id} to ${to.id}`));\n }\n const relation = candidates[0]!;\n let target: unknown | null;\n try {\n target = relationState(relation).match(member);\n }\n catch (error) {\n return Effect.succeed(unmatched(`Relation ${relation.id} failed: ${errorMessage(error)}`));\n }\n if (target === null)\n return Effect.succeed(unmatched(`Relation ${relation.id} did not match a target`));\n return Effect.flatMap(memberKeys(context, to), (targets) => {\n let targetKey: string;\n let sourceKey: string;\n try {\n targetKey = populationMembersState(to.members).key(target);\n sourceKey = populationMembersState(from.members).key(member);\n }\n catch (error) {\n return Effect.succeed(unmatched(`Relation ${relation.id} returned an invalid target: ${errorMessage(error)}`));\n }\n if (!targets.includes(targetKey)) {\n return Effect.succeed(unmatched(`Relation ${relation.id} returned a target outside ${to.id}`));\n }\n if (relation.cardinality === \"one-to-one\") {\n let seen = context.relationTargets.get(relation);\n if (seen === undefined) {\n seen = new Map();\n context.relationTargets.set(relation, seen);\n }\n const previous = seen.get(targetKey);\n if (previous !== undefined && previous !== sourceKey) {\n return Effect.succeed(unmatched(`Relation ${relation.id} violates one-to-one cardinality`));\n }\n seen.set(targetKey, sourceKey);\n }\n return Effect.succeed(Object.freeze({ member: target, issues: Object.freeze([]) }));\n });\n}\nfunction memberKeys(context: QueryContext, population: Population<unknown>): Effect.Effect<readonly string[], SampleClosedError> {\n const cached = context.memberKeys.get(population);\n if (cached !== undefined)\n return Effect.succeed(cached);\n return Effect.map(populationMembersState(population.members).enumerate(context.sample), (members) => {\n const keys = Object.freeze(members.map((member) => populationMembersState(population.members).key(member)));\n context.memberKeys.set(population, keys);\n return keys;\n });\n}\nfunction fromObservation<Value>(observation: import(\"./contracts.ts\").SampleInputObservation<Value>): Reduced<Value> {\n if (observation.state === \"value\") {\n if (observation.value === null) {\n return Object.freeze({\n state: \"empty\" as const,\n issues: Object.freeze([]),\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n }\n return Object.freeze({\n state: \"value\" as const,\n value: observation.value,\n issues: Object.freeze([]),\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n }\n return Object.freeze({\n state: observation.state,\n issues: observation.issues,\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n}\nfunction reduce(kind: import(\"./definitions.ts\").ReductionKind, entries: readonly Reduced<unknown>[]): Reduced<unknown> {\n const metadata = reductionMetadata(entries);\n if (entries.some((entry) => entry.state === \"failed\")) {\n return failedReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n const values = entries.filter((entry): entry is Reduced<unknown> & {\n readonly state: \"value\";\n readonly value: unknown;\n } => entry.state === \"value\");\n if (values.length === 0) {\n if (entries.some((entry) => entry.state === \"missing\")) {\n return missingReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n if (entries.some((entry) => entry.state === \"unsupported\")) {\n return unsupportedReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n return emptyReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n try {\n switch (kind) {\n case \"one-value\":\n if (values.length !== 1)\n return failedReduced([\n ...metadata.issues,\n issue(\"reduction-failed\", \"oneValue received more than one input\"),\n ], metadata.refs, metadata.producers);\n return valueReduced(values[0]!.value, metadata.issues, metadata.refs, metadata.producers);\n case \"latest-completed-attempt\":\n return valueReduced(values.at(-1)!.value, metadata.issues, metadata.refs, metadata.producers);\n case \"sum\": {\n const sum = values.reduce((total, entry) => total + finiteNumber(entry.value), 0);\n return valueReduced(sum, metadata.issues, metadata.refs, metadata.producers);\n }\n case \"mean\": {\n const sum = values.reduce((total, entry) => total + finiteNumber(entry.value), 0);\n return valueReduced(sum / values.length, metadata.issues, metadata.refs, metadata.producers);\n }\n case \"ratio\": {\n const passed = values.reduce((total, entry) => total + (booleanValue(entry.value) ? 1 : 0), 0);\n return valueReduced(passed / values.length, metadata.issues, metadata.refs, metadata.producers);\n }\n }\n }\n catch (error) {\n return failedReduced([\n ...metadata.issues,\n issue(\"reduction-failed\", errorMessage(error)),\n ], metadata.refs, metadata.producers);\n }\n}\nfunction metricValue(input: {\n readonly measure: Measure<unknown, unknown>;\n readonly slots: readonly Reduced<unknown>[];\n readonly across: Reduced<unknown>;\n readonly total: number;\n readonly basis: MetricBasis;\n readonly enforceSameProducer: boolean;\n}): MetricValue<unknown> {\n const issues = [...input.slots.flatMap((slot) => slot.issues), ...input.across.issues];\n const refs = dedupeRefs([...input.slots.flatMap((slot) => slot.refs), ...input.across.refs]);\n const producers = new Set(input.slots.flatMap((slot) => slot.producers).map((producer) => producer.id));\n const producerConflict = input.enforceSameProducer && producers.size > 1;\n if (producerConflict) {\n issues.push(issue(\"producer-incompatible\", \"Measure requires one comparable producer\"));\n }\n const frozenIssues = freezeIssues(issues);\n const samples = input.slots.filter((slot) => slot.state === \"value\" || slot.state === \"empty\").length;\n const common = {\n samples,\n total: input.total,\n basis: input.basis,\n issues: frozenIssues,\n refs,\n ...(input.measure.unit === undefined ? {} : { unit: input.measure.unit }),\n ...(input.measure.format === undefined ? {} : { format: closeFormat(input.measure.format) }),\n ...(input.measure.better === undefined ? {} : { better: input.measure.better }),\n };\n if (producerConflict || input.slots.some((slot) => slot.state === \"failed\") || input.across.state === \"failed\") {\n return Object.freeze({ value: null, state: \"failed\" as const, ...common });\n }\n if (input.total === 0) {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n const values = input.slots.filter((slot) => slot.state === \"value\");\n const unsupported = input.slots.filter((slot) => slot.state === \"unsupported\");\n const missing = input.slots.filter((slot) => slot.state === \"missing\");\n const empty = input.slots.filter((slot) => slot.state === \"empty\");\n if (values.length === 0 && unsupported.length === input.total) {\n return Object.freeze({ value: null, state: \"unsupported\" as const, ...common });\n }\n if (values.length === 0 && empty.length === input.total) {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n if (samples < input.total || missing.length > 0 || unsupported.length > 0) {\n return Object.freeze({\n value: input.across.state === \"value\" ? input.across.value! : null,\n state: \"partial\" as const,\n ...common,\n });\n }\n if (input.across.state === \"empty\") {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n if (input.across.state === \"unsupported\") {\n return Object.freeze({ value: null, state: \"unsupported\" as const, ...common });\n }\n if (input.across.state === \"missing\") {\n return Object.freeze({ value: null, state: \"partial\" as const, ...common });\n }\n return Object.freeze({ value: input.across.value!, state: \"available\" as const, ...common });\n}\nfunction reductionMetadata(entries: readonly Reduced<unknown>[]): {\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n readonly producers: readonly ProducerIdentity[];\n} {\n return Object.freeze({\n issues: freezeIssues(entries.flatMap((entry) => entry.issues)),\n refs: dedupeRefs(entries.flatMap((entry) => entry.refs)),\n producers: Object.freeze(entries.flatMap((entry) => entry.producers)),\n });\n}\nfunction valueReduced(value: unknown, issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[], producers: readonly ProducerIdentity[]): Reduced<unknown> {\n return Object.freeze({ state: \"value\" as const, value, issues: freezeIssues(issues), refs, producers });\n}\nfunction emptyReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"empty\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction missingReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"missing\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction unsupportedReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"unsupported\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction failedReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({\n state: \"failed\" as const,\n issues: freezeIssues(issues),\n refs: dedupeRefs(refs),\n producers: Object.freeze([...producers]),\n });\n}\nfunction unmatched(message: string): ResolvedMember {\n return Object.freeze({\n issues: Object.freeze([issue(\"relation-unmatched\", message)]),\n });\n}\nfunction issue(code: AnalysisIssue[\"code\"], message: string, refs: readonly EvidenceRef[] = []): AnalysisIssue {\n return Object.freeze({ code, message, refs: dedupeRefs(refs) });\n}\nfunction freezeIssues(issues: readonly AnalysisIssue[]): readonly AnalysisIssue[] {\n const byIdentity = new Map<string, AnalysisIssue>();\n for (const value of issues) {\n const refs = dedupeRefs(value.refs);\n const key = `${value.code}\\u0000${value.message}\\u0000${refs.map(evidenceRefIdentity).join(\"\\u0001\")}`;\n if (!byIdentity.has(key)) {\n byIdentity.set(key, Object.freeze({ code: value.code, message: value.message, refs }));\n }\n }\n return Object.freeze([...byIdentity.entries()]\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([, value]) => value));\n}\nfunction dedupeRefs(refs: readonly EvidenceRef[]): readonly EvidenceRef[] {\n const byIdentity = new Map<string, EvidenceRef>();\n for (const ref of refs) {\n const key = evidenceRefIdentity(ref);\n if (!byIdentity.has(key)) {\n byIdentity.set(key, Object.freeze({ identity: Object.freeze({ ...ref.identity }) }));\n }\n }\n return Object.freeze([...byIdentity.entries()]\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([, value]) => value));\n}\nfunction evidenceRefIdentity(ref: EvidenceRef): string {\n return `${ref.identity.kind}\\u0000${ref.identity.locator}`;\n}\nfunction closeFormat(format: import(\"./contracts.ts\").MeasureFormat): import(\"./contracts.ts\").MeasureFormat {\n if (typeof format === \"string\")\n return format;\n return Object.freeze({\n kind: format.kind,\n ...(format.options === undefined ? {} : { options: cloneJson(format.options) }),\n });\n}\nfunction cloneJson(value: import(\"./contracts.ts\").JsonValue): import(\"./contracts.ts\").JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\" || typeof value === \"number\") {\n return value;\n }\n if (Array.isArray(value))\n return Object.freeze(value.map(cloneJson));\n const result: {\n [key: string]: import(\"./contracts.ts\").JsonValue;\n } = {};\n for (const [key, entry] of Object.entries(value))\n result[key] = cloneJson(entry);\n return Object.freeze(result);\n}\nfunction groupKey(coordinates: Readonly<Record<string, DimensionValue>>): string {\n const encoded = Object.entries(coordinates)\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([key, value]) => Object.freeze([key, value] as const));\n return canonicalIdentity(\"row\", encoded);\n}\n/** Locale-independent ordering for all Analysis identities and closed output. */\nfunction compareCanonicalCodeUnits(left: string, right: string): number {\n if (left === right)\n return 0;\n return left < right ? -1 : 1;\n}\n/**\n * Canonical identities retain their complete normalized input. They are not\n * bounded hashes, so distinct coordinates cannot collapse through a digest\n * collision.\n */\nfunction canonicalIdentity(namespace: string, value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"Analysis identity input must be JSON-serializable\");\n return `${namespace}-v1:${encoded}`;\n}\nfunction finiteNumber(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value))\n throw new Error(\"reduction expected a finite number\");\n return value;\n}\nfunction booleanValue(value: unknown): boolean {\n if (typeof value !== \"boolean\")\n throw new Error(\"ratio reduction expected a boolean\");\n return value;\n}\nfunction isDimensionValue(value: unknown): value is DimensionValue {\n return value === null || typeof value === \"string\" || typeof value === \"boolean\" ||\n (typeof value === \"number\" && Number.isFinite(value));\n}\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction isDimension(value: unknown): value is Dimension<unknown, DimensionValue> {\n return typeof value === \"object\" && value !== null && (value as {\n readonly kind?: unknown;\n }).kind === \"dimension\";\n}\nfunction isMeasure(value: unknown): value is Measure<unknown, unknown> {\n return typeof value === \"object\" && value !== null && (value as {\n readonly kind?: unknown;\n }).kind === \"measure\";\n}\nfunction samePopulationMembers(left: Population<unknown>, right: Population<unknown>): boolean {\n return left === right || left.members === right.members;\n}\nfunction measureStateFor(measure: Measure<unknown, unknown>): {\n readonly input: AnalysisInput<unknown, unknown>;\n readonly withinAttempt: WithinAttemptReduction<unknown, unknown>;\n readonly withinSlot: WithinSlotReduction<unknown, unknown>;\n readonly acrossSlots: AcrossSlotsReduction<unknown, unknown>;\n readonly denominator: Denominator<unknown>;\n readonly missing: MissingPolicy;\n readonly evidence: EvidencePolicy;\n readonly producers?: ProducerPolicy;\n} {\n return measureState(measure);\n}\nfunction requestError(reason: string): AnalysisRequestError {\n return Object.freeze({ code: \"analysis-request-invalid\" as const, reason });\n}\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : \"an unknown definition error occurred\";\n}\n// Keeps the catalog helper reachable in generated type declarations without\n// opening a second definition surface for application code.\nexport type BuiltinLogicalSlotDenominator = ReturnType<typeof allLogicalSlots<LogicalSlot>>;\n"]}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["api.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport { parseAttemptLocator, type AttemptLocator } from \"../attempt-locator.ts\";\nimport { attemptEvidenceDomainBinding, attemptObservabilityDomainBinding, fileChangesDomainBinding, sandboxHistoryDomainBinding, sourceNavigationDomainBinding, sourcesDomainBinding, type BuiltinDomainViewBinding, type FixedFamilyBinding, type FixedFamilyOwnerRequirement, } from \"./bindings.ts\";\nimport type { BuiltinDomainDetail, BuiltinDomainViewKind, } from \"./domain-view.ts\";\nimport { allLogicalSlots, analysisInputState, denominatorState, dimensionState, measureState, populationIdentity, populationMembersState, producerPolicyIsRequired, reductionState, registeredRelations, relationState, type AcrossSlotsReduction, type AnalysisInput, type Denominator, type Dimension, type DimensionValue, type EvidencePolicy, type LogicalSlot, type Measure, type MissingPolicy, type Population, type ProducerPolicy, type Relation, type WithinAttemptReduction, type WithinSlotReduction, logicalSlots, } from \"./definitions.ts\";\nimport { costMeasureState, isCostMeasure, type CostMeasure, type CostMetricValue, } from \"./cost.ts\";\nimport { aggregateCostProjection } from \"./cost-projection.ts\";\nimport { makeClosedRows, type AnalysisIssue, type AnalysisRequestError, type SampleClosedError, type ClosedRows, type DomainView, type EvidenceRef, type MetricBasis, type MetricValue, type PopulationIdentity, type ProducerIdentity, type AttemptEvidenceIdentity, type Sample, } from \"./contracts.ts\";\nimport { assertSampleOpen, currentAnalysisIssueCapture, recordAnalysisCostMetric, recordAnalysisIssues, readCostProjection, readBuiltinDomainView, readRunDiagnosticsDomainView, runSamplePromise, type AnalysisIssueCaptureToken, } from \"../sample/capability.ts\";\n/**\n * Constraint only: `any` intentionally erases the nominal Population and\n * value brands at this object boundary. Generic inference retains each named\n * descriptor's real type in AggregateRow; callers do not need an unsafe cast\n * merely because several descriptors share a Population.\n */\nexport type DimensionSet = Readonly<Record<string, Dimension<any, any>>>;\nexport type MeasureSet = Readonly<Record<string, Measure<any, any>>>;\ntype DimensionOutput<Value> = Value extends Dimension<any, infer Output> ? Output : never;\n/**\n * The one result mapping for every requested Measure. Cost keeps `number` as\n * its Measure value for ordinary axes while its closed cell exposes the\n * authoritative CostProjectionValue without a Report cast.\n */\nexport type MeasureCell<Value> = Value extends CostMeasure ? CostMetricValue : Value extends Measure<any, infer Output> ? MetricValue<Output> : never;\nexport type AggregateRow<By, Values> = Readonly<{\n readonly key: string;\n} & {\n readonly [Key in keyof By]: DimensionOutput<By[Key]>;\n} & {\n readonly [Key in keyof Values]: MeasureCell<Values[Key]>;\n}>;\nexport type SemanticRow<By, Measures> = AggregateRow<By, Measures>;\nexport interface SemanticFrame<By, Measures> {\n readonly kind: \"semantic-frame\";\n readonly sample: import(\"./contracts.ts\").SampleIdentity;\n readonly population: PopulationIdentity;\n readonly rows: ClosedRows<SemanticRow<By, Measures>>;\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n}\nexport interface AggregateRequest<By extends object, Values extends object> {\n readonly by: By;\n readonly values: Values;\n}\nexport interface FrameQuery<Member, By extends object, Measures extends object> {\n readonly kind: \"frame\";\n readonly population: Population<Member>;\n readonly by: By;\n readonly measures: Measures;\n}\nconst domainViewRequestTypeId: unique symbol = Symbol(\"niceeval.analysis.DomainViewRequest\");\nexport type { BuiltinDomainViewKind } from \"./domain-view.ts\";\n/** One fully closed entry for a selected Attempt in a built-in DomainView. */\nexport type ClosedDomainEntry<Kind extends BuiltinDomainViewKind = BuiltinDomainViewKind> = {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"available\";\n readonly view: Kind;\n readonly detail: BuiltinDomainDetail<Kind>;\n} | {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"not-recorded\" | \"migration-required\" | \"unsupported\" | \"invalid\";\n readonly view: Kind;\n} | {\n readonly attempt: AttemptEvidenceIdentity;\n readonly state: \"failed\";\n readonly view: Kind;\n readonly detail: string;\n};\n/**\n * The projection contains only JSON values, evidence identities and analysis\n * issues. It never carries a Record capability, filesystem location or thunk.\n */\nexport interface BuiltinDomainView<Kind extends BuiltinDomainViewKind> extends DomainView {\n readonly view: Kind;\n readonly entries: readonly ClosedDomainEntry<Kind>[];\n}\nexport type AttemptEvidenceDomainView = BuiltinDomainView<\"attempt-evidence\">;\nexport type AttemptObservabilityDomainView = BuiltinDomainView<\"attempt-observability\">;\nexport type FileChangesDomainView = BuiltinDomainView<\"file-changes\">;\nexport type SourceNavigationDomainView = BuiltinDomainView<\"source-navigation\">;\nexport type SourcesDomainView = BuiltinDomainView<\"sources\">;\nexport type SandboxHistoryDomainView = BuiltinDomainView<\"sandbox-history\">;\nexport type ClosedRunDiagnosticsEntry = {\n readonly runId: string;\n readonly experimentId: string;\n readonly state: \"available\";\n readonly detail: import(\"./domain-view.ts\").ClosedDiagnosticsDetail;\n} | {\n readonly runId: string;\n readonly experimentId: string;\n readonly state: \"not-recorded\" | \"migration-required\" | \"unsupported\" | \"invalid\";\n} | {\n readonly runId: string;\n readonly experimentId: string;\n readonly state: \"failed\";\n readonly detail: string;\n};\n/** Closed Run-owned diagnostics, including failures that predate an Attempt. */\nexport interface RunDiagnosticsDomainView extends DomainView {\n readonly view: \"run-diagnostics\";\n readonly entries: readonly ClosedRunDiagnosticsEntry[];\n}\n/** A NiceEval-published request for a non-tabular, already-closed DomainView. */\nexport interface DomainViewRequest<View extends DomainView> {\n readonly kind: \"domain-view-request\";\n readonly id: string;\n readonly [domainViewRequestTypeId]: (_: View) => View;\n}\ninterface PublishedDomainViewRegistration {\n readonly read: (sample: Sample, locator?: import(\"../attempt-locator.ts\").AttemptLocator) => Effect.Effect<DomainView, SampleClosedError>;\n}\nconst publishedDomainViewBindings = new WeakMap<object, PublishedDomainViewRegistration>();\nfunction publishedDomainViewRequest<Kind extends BuiltinDomainViewKind, Payload, Family extends FixedFamilyBinding<FixedFamilyOwnerRequirement, Payload, any>>(binding: BuiltinDomainViewBinding<Kind, Payload, Family>): DomainViewRequest<BuiltinDomainView<Kind>> {\n const request: DomainViewRequest<BuiltinDomainView<Kind>> = Object.freeze({\n kind: \"domain-view-request\" as const,\n id: binding.id,\n [domainViewRequestTypeId]: (value: BuiltinDomainView<Kind>) => value,\n });\n publishedDomainViewBindings.set(request, Object.freeze({\n read: (sample: Sample, locator?: AttemptLocator) => readBuiltinDomainView(sample, binding, locator),\n }));\n return request;\n}\n/** Closed Assertions / evidence material for each included Attempt. */\nexport const attemptEvidenceView = publishedDomainViewRequest(attemptEvidenceDomainBinding);\n/** Closed conversation, commands, usage, timing and diagnostics per Attempt. */\nexport const attemptObservabilityView = publishedDomainViewRequest(attemptObservabilityDomainBinding);\n/** Closed attempt-owned FileChanges projection. */\nexport const fileChangesView = publishedDomainViewRequest(fileChangesDomainBinding);\n/** Closed physical send-to-source and send-to-timing navigation rows. */\nexport const sourceNavigationView = publishedDomainViewRequest(sourceNavigationDomainBinding);\n/** Closed origin-run Sources projection for each included Attempt. */\nexport const sourcesView = publishedDomainViewRequest(sourcesDomainBinding);\n/** Sandbox command/timing/diagnostic history projected from Observability. */\nexport const sandboxHistoryView = publishedDomainViewRequest(sandboxHistoryDomainBinding);\nexport const runDiagnosticsView: DomainViewRequest<RunDiagnosticsDomainView> = Object.freeze({\n kind: \"domain-view-request\" as const,\n id: \"niceeval.domain.run-diagnostics\",\n [domainViewRequestTypeId]: (value: RunDiagnosticsDomainView) => value,\n});\npublishedDomainViewBindings.set(runDiagnosticsView, Object.freeze({\n read: (sample: Sample) => readRunDiagnosticsDomainView(sample),\n}));\nexport interface DomainViewQuery<View extends DomainView> {\n readonly kind: \"domain-view\";\n readonly view: DomainViewRequest<View>;\n /**\n * When present, closes exactly one selected Attempt rather than eagerly\n * reading every included Attempt in the Sample.\n */\n readonly locator?: import(\"../attempt-locator.ts\").AttemptLocator;\n}\nexport function aggregate<By extends object, Values extends object>(sample: Sample, request: AggregateRequest<By, Values>): Promise<ClosedRows<AggregateRow<By, Values>>> {\n const capture = currentAnalysisIssueCapture(sample);\n return runSamplePromise(sample, aggregateEffect(sample, request, capture));\n}\n/**\n * Scoped host operation behind the public Promise facade. It is intentionally\n * absent from the `niceeval/analysis` export surface.\n *\n * @internal\n */\nexport function aggregateEffect<By extends object, Values extends object>(sample: Sample, request: AggregateRequest<By, Values>, capture?: AnalysisIssueCaptureToken): Effect.Effect<ClosedRows<AggregateRow<By, Values>>, SampleClosedError | AnalysisRequestError> {\n return Effect.flatMap(assertSampleOpen(sample), () => {\n const inferred = inferAggregatePopulation(request);\n if (inferred instanceof Error)\n return Effect.fail(requestError(inferred.message));\n return Effect.map(executeFrame(sample, {\n kind: \"frame\",\n population: inferred,\n by: request.by,\n measures: request.values,\n }, capture), (frame) => frame.rows);\n });\n}\nexport function query<Member, By extends object, Measures extends object>(sample: Sample, request: FrameQuery<Member, By, Measures>): Promise<SemanticFrame<By, Measures>>;\nexport function query<View extends DomainView>(sample: Sample, request: DomainViewQuery<View>): Promise<View>;\nexport function query(sample: Sample, request: FrameQuery<unknown, object, object> | DomainViewQuery<DomainView>): Promise<SemanticFrame<object, object> | DomainView> {\n const capture = currentAnalysisIssueCapture(sample);\n const operation = request.kind === \"frame\"\n ? queryEffect(sample, request, capture)\n : queryEffect(sample, request, capture);\n return runSamplePromise<SemanticFrame<object, object> | DomainView, SampleClosedError | AnalysisRequestError>(sample, operation);\n}\n/**\n * Scoped host operation behind the public Promise facade. It is intentionally\n * absent from the `niceeval/analysis` export surface.\n *\n * @internal\n */\nexport function queryEffect<Member, By extends object, Measures extends object>(sample: Sample, request: FrameQuery<Member, By, Measures>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError>;\n/** @internal */\nexport function queryEffect<View extends DomainView>(sample: Sample, request: DomainViewQuery<View>, capture?: AnalysisIssueCaptureToken): Effect.Effect<View, SampleClosedError | AnalysisRequestError>;\n/** @internal */\nexport function queryEffect(sample: Sample, request: FrameQuery<unknown, object, object> | DomainViewQuery<DomainView>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<object, object> | DomainView, SampleClosedError | AnalysisRequestError> {\n if (request.kind === \"frame\")\n return executeFrame(sample, request, capture);\n const binding = publishedDomainViewBindings.get(request.view);\n if (binding === undefined) {\n return Effect.flatMap(assertSampleOpen(sample), () => Effect.fail(requestError(`DomainView request ${request.view.id} is not published by Analysis`)));\n }\n return Effect.flatMap(assertSampleOpen(sample), (): Effect.Effect<DomainView, SampleClosedError | AnalysisRequestError> => {\n const locator = request.locator;\n if (locator !== undefined) {\n if (typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Effect.fail(requestError(\"DomainView locator must be a canonical Attempt locator\"));\n }\n const selected = sample.snapshot.slots.some((slot) => slot.state === \"included\" && slot.attempt.locator === locator);\n if (!selected) {\n return Effect.fail(requestError(\"DomainView locator does not belong to the current Sample\"));\n }\n }\n return Effect.map(binding.read(sample, locator), (view) => {\n recordAnalysisIssues(sample, view.issues, capture);\n return view;\n });\n });\n}\ninterface NormalizedFrameRequest {\n readonly population: Population<unknown>;\n readonly dimensions: readonly [\n string,\n Dimension<unknown, DimensionValue>\n ][];\n readonly measures: readonly [\n string,\n Measure<unknown, unknown>\n ][];\n}\ninterface ResolvedMember {\n readonly member?: unknown;\n readonly issues: readonly AnalysisIssue[];\n}\ninterface QueryContext {\n readonly sample: Sample;\n readonly relationTargets: Map<object, Map<string, string>>;\n readonly memberKeys: Map<object, readonly string[]>;\n}\ninterface FrameGroup {\n readonly key: string;\n readonly coordinates: Readonly<Record<string, DimensionValue>>;\n readonly members: unknown[];\n readonly issues: AnalysisIssue[];\n}\n/** Bound independent Record reads without serializing large Report Samples. */\nconst ANALYSIS_READ_CONCURRENCY = 32;\ntype Reduced<Value> = {\n readonly state: \"value\" | \"empty\" | \"missing\" | \"migration-required\" | \"unsupported\" | \"failed\";\n readonly value?: Value;\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n readonly producers: readonly ProducerIdentity[];\n};\nfunction executeFrame<By extends object, Measures extends object>(sample: Sample, request: FrameQuery<unknown, By, Measures>, capture?: AnalysisIssueCaptureToken): Effect.Effect<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError> {\n return Effect.suspend<SemanticFrame<By, Measures>, SampleClosedError | AnalysisRequestError, never>(() => {\n const normalized = normalizeFrameRequest(request);\n if (normalized instanceof Error)\n return Effect.fail(requestError(normalized.message));\n return Effect.gen(function* () {\n yield* assertSampleOpen(sample);\n const context: QueryContext = {\n sample,\n relationTargets: new Map(),\n memberKeys: new Map(),\n };\n const groups = yield* buildGroups(context, normalized);\n const rows: Readonly<SemanticRow<By, Measures>>[] = [];\n const frameIssues: AnalysisIssue[] = [];\n const frameRefs: EvidenceRef[] = [];\n for (const group of groups) {\n const row: Record<string, unknown> = { key: group.key, ...group.coordinates };\n const values = yield* Effect.forEach(normalized.measures, ([name, measure]) => Effect.map(evaluateMeasure(context, normalized.population, group.members, measure), (value) => [name, measure, value] as const), { concurrency: ANALYSIS_READ_CONCURRENCY });\n for (const [name, measure, value] of values) {\n row[name] = value;\n frameIssues.push(...value.issues);\n frameRefs.push(...value.refs);\n if (isCostMeasure(measure)) {\n recordAnalysisCostMetric(sample, {\n measureId: measure.id,\n row: Object.freeze({ key: group.key, dimensions: group.coordinates }),\n metric: value as CostMetricValue,\n }, capture);\n }\n }\n rows.push(Object.freeze(row) as SemanticRow<By, Measures>);\n frameIssues.push(...group.issues);\n frameRefs.push(...group.issues.flatMap((entry) => entry.refs));\n }\n const issues = freezeIssues(frameIssues);\n const refs = dedupeRefs([...frameRefs, ...issues.flatMap((entry) => entry.refs)]);\n const closedRows = makeClosedRows<SemanticRow<By, Measures>>({\n rows,\n identity: Object.freeze({\n kind: \"closed-rows\" as const,\n id: canonicalIdentity(\"closed-rows\", [\n sample.snapshot.identity.id,\n normalized.population.id,\n normalized.dimensions.map(([name, dimension]) => [name, dimension.id]),\n normalized.measures.map(([name, measure]) => [name, measure.id]),\n groups.map((group) => Object.freeze([\n group.key,\n Object.freeze(group.members\n .map((member) => populationMembersState(normalized.population.members).key(member))\n .sort(compareCanonicalCodeUnits)),\n ])),\n ]),\n }),\n issues,\n refs,\n });\n const frame = Object.freeze({\n kind: \"semantic-frame\" as const,\n sample: sample.snapshot.identity,\n population: populationIdentity(normalized.population),\n rows: closedRows,\n issues,\n refs,\n });\n recordAnalysisIssues(sample, issues, capture);\n return frame;\n });\n });\n}\nfunction inferAggregatePopulation(request: AggregateRequest<object, object>): Population<unknown> | Error {\n const candidates: Population<unknown>[] = [];\n let hasCostMeasure = false;\n try {\n for (const dimension of Object.values(request.by)) {\n if (!isDimension(dimension))\n return new Error(\"aggregate by must contain only Dimensions\");\n candidates.push(dimension.population);\n }\n for (const measure of Object.values(request.values)) {\n const cost = isCostMeasure(measure);\n if (!cost && !isMeasure(measure))\n return new Error(\"aggregate values must contain only Measures\");\n if (cost) {\n // The CostMeasure descriptor, rather than a foreign package's\n // Population object or a string id, binds it to this package's\n // logical-Slot catalog.\n hasCostMeasure = true;\n }\n else {\n candidates.push((measure as Measure<unknown, unknown>).population);\n }\n }\n }\n catch (error) {\n return new Error(errorMessage(error));\n }\n if (hasCostMeasure)\n return logicalSlots as unknown as Population<unknown>;\n const first = candidates[0];\n return first === undefined ? new Error(\"aggregate needs at least one Dimension or Measure\") : first;\n}\nfunction normalizeFrameRequest(request: FrameQuery<unknown, object, object>): NormalizedFrameRequest | Error {\n if (request === null || typeof request !== \"object\" || request.kind !== \"frame\") {\n return new Error(\"frame request must have kind frame\");\n }\n try {\n if (!isPlainObject(request.by) || !isPlainObject(request.measures)) {\n return new Error(\"frame by and measures must be records\");\n }\n const dimensions = Object.entries(request.by);\n const measures = Object.entries(request.measures);\n if (measures.length === 0)\n return new Error(\"frame request needs at least one Measure\");\n const ids = new Set<string>();\n for (const [, dimension] of dimensions) {\n if (!isDimension(dimension))\n return new Error(\"frame by must contain only Dimensions\");\n if (ids.has(dimension.id))\n return new Error(`Dimension identity collision: ${dimension.id}`);\n ids.add(dimension.id);\n }\n for (const [, measure] of measures) {\n const cost = isCostMeasure(measure);\n if (!cost && !isMeasure(measure))\n return new Error(\"frame measures must contain only Measures\");\n const descriptor = measure as Measure<unknown, unknown>;\n if (ids.has(descriptor.id))\n return new Error(`Measure identity collision: ${descriptor.id}`);\n ids.add(descriptor.id);\n }\n const typedDimensions = dimensions.filter((entry): entry is [\n string,\n Dimension<unknown, DimensionValue>\n ] => isDimension(entry[1]));\n const typedMeasures = measures.filter((entry): entry is [\n string,\n Measure<unknown, unknown>\n ] => isCostMeasure(entry[1]) || isMeasure(entry[1]));\n // Explicit query Population capabilities stay package-local. Cross-package\n // CostMeasure support is limited to aggregate()'s Measure-driven inference;\n // a string id cannot author a new Population capability here.\n populationIdentity(request.population);\n const population = request.population;\n for (const [, descriptor] of [...typedDimensions, ...typedMeasures]) {\n const targetPopulation = isCostMeasure(descriptor)\n ? logicalSlots as unknown as Population<unknown>\n : descriptor.population;\n if (samePopulationMembers(population, targetPopulation))\n continue;\n const links = registeredRelations().filter((relation) => relation.from === population && relation.to === targetPopulation);\n if (links.length !== 1) {\n return new Error(`No unambiguous Relation connects ${population.id} to ${targetPopulation.id}`);\n }\n }\n return Object.freeze({\n population,\n dimensions: Object.freeze(typedDimensions),\n measures: Object.freeze(typedMeasures),\n });\n }\n catch (error) {\n return new Error(errorMessage(error));\n }\n}\nfunction buildGroups(context: QueryContext, request: NormalizedFrameRequest): Effect.Effect<readonly FrameGroup[], SampleClosedError> {\n return Effect.gen(function* () {\n const baseMembers = yield* populationMembersState(request.population.members).enumerate(context.sample);\n const groups = new Map<string, FrameGroup>();\n for (const member of baseMembers) {\n const coordinates: Record<string, DimensionValue> = {};\n const issues: AnalysisIssue[] = [];\n for (const [name, dimension] of request.dimensions) {\n const resolved = yield* resolveMember(context, request.population, member, dimension.population);\n issues.push(...resolved.issues);\n if (resolved.member === undefined) {\n coordinates[name] = null;\n continue;\n }\n try {\n const value = dimensionState(dimension).value(resolved.member);\n if (!isDimensionValue(value)) {\n issues.push(issue(\"input-invalid\", `Dimension ${dimension.id} returned a non-serializable value`));\n coordinates[name] = null;\n }\n else {\n coordinates[name] = value;\n }\n }\n catch (error) {\n issues.push(issue(\"input-invalid\", `Dimension ${dimension.id} failed: ${errorMessage(error)}`));\n coordinates[name] = null;\n }\n }\n const key = groupKey(coordinates);\n const previous = groups.get(key);\n if (previous === undefined) {\n groups.set(key, {\n key,\n coordinates: Object.freeze({ ...coordinates }),\n members: [member],\n issues,\n });\n }\n else {\n previous.members.push(member);\n previous.issues.push(...issues);\n }\n }\n return Object.freeze([...groups.values()].sort((left, right) => compareCanonicalCodeUnits(left.key, right.key)));\n });\n}\nfunction evaluateMeasure(context: QueryContext, sourcePopulation: Population<unknown>, sourceMembers: readonly unknown[], measure: Measure<unknown, unknown>): Effect.Effect<MetricValue<unknown> | CostMetricValue, SampleClosedError> {\n return Effect.gen(function* () {\n const cost = costMeasureState(measure);\n if (cost !== undefined) {\n return yield* evaluateCostMeasure(context, sourcePopulation, sourceMembers, cost);\n }\n const state = measureStateFor(measure);\n const denominator = denominatorState(state.denominator);\n const resolved: Reduced<unknown>[] = [];\n const targetMembers: unknown[] = [];\n const targets = yield* Effect.forEach(sourceMembers, (sourceMember) => resolveMember(context, sourcePopulation, sourceMember, measure.population), { concurrency: ANALYSIS_READ_CONCURRENCY });\n for (const target of targets) {\n if (target.member === undefined) {\n resolved.push(failedReduced(target.issues));\n }\n else {\n targetMembers.push(target.member);\n }\n }\n const expectedMembers = denominator.members(targetMembers);\n const observations = yield* Effect.forEach(expectedMembers, (member) => Effect.map(analysisInputState(state.input).read(context.sample, member), (observation) => {\n const withinAttempt = reduce(reductionState(state.withinAttempt).kind, [fromObservation(observation)]);\n return reduce(reductionState(state.withinSlot).kind, [withinAttempt]);\n }), { concurrency: ANALYSIS_READ_CONCURRENCY });\n resolved.push(...observations);\n const across = reduce(reductionState(state.acrossSlots).kind, resolved);\n return metricValue({\n measure,\n slots: resolved,\n across,\n total: resolved.length,\n basis: denominator.basis,\n enforceSameProducer: producerPolicyIsRequired(state.producers),\n });\n });\n}\nfunction evaluateCostMeasure(context: QueryContext, sourcePopulation: Population<unknown>, sourceMembers: readonly unknown[], state: NonNullable<ReturnType<typeof costMeasureState>>): Effect.Effect<CostMetricValue, SampleClosedError> {\n return Effect.gen(function* () {\n const resolved = yield* Effect.forEach(sourceMembers, (member) => resolveMember(context, sourcePopulation, member, logicalSlots as unknown as Population<unknown>), { concurrency: ANALYSIS_READ_CONCURRENCY });\n const relationIssues = freezeIssues(resolved.flatMap((entry) => entry.issues));\n const keys = new Set(resolved.flatMap((entry) => entry.member === undefined ? [] : [logicalSlotKey(entry.member as LogicalSlot)]));\n const entries = yield* readCostProjection(context.sample, state.profile);\n const reduced = aggregateCostProjection(state.profile, entries.filter((entry) => keys.has(logicalSlotKey(entry.slot))), state.mode);\n return Object.freeze({\n value: reduced.value,\n state: reduced.projection.state,\n samples: reduced.samples,\n total: reduced.total,\n basis: \"slot\" as const,\n issues: relationIssues,\n refs: dedupeRefs([...reduced.refs, ...relationIssues.flatMap((entry) => entry.refs)]),\n format: \"currency-usd\" as const,\n better: \"lower\" as const,\n projection: reduced.projection,\n });\n });\n}\nfunction logicalSlotKey(slot: Pick<LogicalSlot, \"runId\" | \"slotId\">): string {\n return `${slot.runId}\\u0000${slot.slotId}`;\n}\nfunction resolveMember(context: QueryContext, from: Population<unknown>, member: unknown, to: Population<unknown>): Effect.Effect<ResolvedMember, SampleClosedError> {\n if (samePopulationMembers(from, to)) {\n return Effect.succeed(Object.freeze({ member, issues: Object.freeze([]) }));\n }\n const candidates = registeredRelations().filter((relation) => relation.from === from && relation.to === to);\n if (candidates.length !== 1) {\n return Effect.succeed(unmatched(`No unambiguous Relation connects ${from.id} to ${to.id}`));\n }\n const relation = candidates[0]!;\n let target: unknown | null;\n try {\n target = relationState(relation).match(member);\n }\n catch (error) {\n return Effect.succeed(unmatched(`Relation ${relation.id} failed: ${errorMessage(error)}`));\n }\n if (target === null)\n return Effect.succeed(unmatched(`Relation ${relation.id} did not match a target`));\n return Effect.flatMap(memberKeys(context, to), (targets) => {\n let targetKey: string;\n let sourceKey: string;\n try {\n targetKey = populationMembersState(to.members).key(target);\n sourceKey = populationMembersState(from.members).key(member);\n }\n catch (error) {\n return Effect.succeed(unmatched(`Relation ${relation.id} returned an invalid target: ${errorMessage(error)}`));\n }\n if (!targets.includes(targetKey)) {\n return Effect.succeed(unmatched(`Relation ${relation.id} returned a target outside ${to.id}`));\n }\n if (relation.cardinality === \"one-to-one\") {\n let seen = context.relationTargets.get(relation);\n if (seen === undefined) {\n seen = new Map();\n context.relationTargets.set(relation, seen);\n }\n const previous = seen.get(targetKey);\n if (previous !== undefined && previous !== sourceKey) {\n return Effect.succeed(unmatched(`Relation ${relation.id} violates one-to-one cardinality`));\n }\n seen.set(targetKey, sourceKey);\n }\n return Effect.succeed(Object.freeze({ member: target, issues: Object.freeze([]) }));\n });\n}\nfunction memberKeys(context: QueryContext, population: Population<unknown>): Effect.Effect<readonly string[], SampleClosedError> {\n const cached = context.memberKeys.get(population);\n if (cached !== undefined)\n return Effect.succeed(cached);\n return Effect.map(populationMembersState(population.members).enumerate(context.sample), (members) => {\n const keys = Object.freeze(members.map((member) => populationMembersState(population.members).key(member)));\n context.memberKeys.set(population, keys);\n return keys;\n });\n}\nfunction fromObservation<Value>(observation: import(\"./contracts.ts\").SampleInputObservation<Value>): Reduced<Value> {\n if (observation.state === \"value\") {\n if (observation.value === null) {\n return Object.freeze({\n state: \"empty\" as const,\n issues: Object.freeze([]),\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n }\n return Object.freeze({\n state: \"value\" as const,\n value: observation.value,\n issues: Object.freeze([]),\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n }\n return Object.freeze({\n state: observation.state,\n issues: observation.issues,\n refs: observation.refs,\n producers: observation.producer === undefined ? Object.freeze([]) : Object.freeze([observation.producer]),\n });\n}\nfunction reduce(kind: import(\"./definitions.ts\").ReductionKind, entries: readonly Reduced<unknown>[]): Reduced<unknown> {\n const metadata = reductionMetadata(entries);\n if (entries.some((entry) => entry.state === \"failed\")) {\n return failedReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n const values = entries.filter((entry): entry is Reduced<unknown> & {\n readonly state: \"value\";\n readonly value: unknown;\n } => entry.state === \"value\");\n if (values.length === 0) {\n if (entries.length > 0 && entries.every((entry) => entry.state === \"migration-required\")) {\n return migrationRequiredReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n if (entries.some((entry) => entry.state === \"missing\")) {\n return missingReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n if (entries.some((entry) => entry.state === \"unsupported\")) {\n return unsupportedReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n return emptyReduced(metadata.issues, metadata.refs, metadata.producers);\n }\n try {\n switch (kind) {\n case \"one-value\":\n if (values.length !== 1)\n return failedReduced([\n ...metadata.issues,\n issue(\"reduction-failed\", \"oneValue received more than one input\"),\n ], metadata.refs, metadata.producers);\n return valueReduced(values[0]!.value, metadata.issues, metadata.refs, metadata.producers);\n case \"latest-completed-attempt\":\n return valueReduced(values.at(-1)!.value, metadata.issues, metadata.refs, metadata.producers);\n case \"sum\": {\n const sum = values.reduce((total, entry) => total + finiteNumber(entry.value), 0);\n return valueReduced(sum, metadata.issues, metadata.refs, metadata.producers);\n }\n case \"mean\": {\n const sum = values.reduce((total, entry) => total + finiteNumber(entry.value), 0);\n return valueReduced(sum / values.length, metadata.issues, metadata.refs, metadata.producers);\n }\n case \"ratio\": {\n const passed = values.reduce((total, entry) => total + (booleanValue(entry.value) ? 1 : 0), 0);\n return valueReduced(passed / values.length, metadata.issues, metadata.refs, metadata.producers);\n }\n }\n }\n catch (error) {\n return failedReduced([\n ...metadata.issues,\n issue(\"reduction-failed\", errorMessage(error)),\n ], metadata.refs, metadata.producers);\n }\n}\nfunction metricValue(input: {\n readonly measure: Measure<unknown, unknown>;\n readonly slots: readonly Reduced<unknown>[];\n readonly across: Reduced<unknown>;\n readonly total: number;\n readonly basis: MetricBasis;\n readonly enforceSameProducer: boolean;\n}): MetricValue<unknown> {\n const issues = [...input.slots.flatMap((slot) => slot.issues), ...input.across.issues];\n const refs = dedupeRefs([...input.slots.flatMap((slot) => slot.refs), ...input.across.refs]);\n const producers = new Set(input.slots.flatMap((slot) => slot.producers).map((producer) => producer.id));\n const producerConflict = input.enforceSameProducer && producers.size > 1;\n if (producerConflict) {\n issues.push(issue(\"producer-incompatible\", \"Measure requires one comparable producer\"));\n }\n const frozenIssues = freezeIssues(issues);\n const samples = input.slots.filter((slot) => slot.state === \"value\" || slot.state === \"empty\").length;\n const common = {\n samples,\n total: input.total,\n basis: input.basis,\n issues: frozenIssues,\n refs,\n ...(input.measure.unit === undefined ? {} : { unit: input.measure.unit }),\n ...(input.measure.format === undefined ? {} : { format: closeFormat(input.measure.format) }),\n ...(input.measure.better === undefined ? {} : { better: input.measure.better }),\n };\n if (producerConflict || input.slots.some((slot) => slot.state === \"failed\") || input.across.state === \"failed\") {\n return Object.freeze({ value: null, state: \"failed\" as const, ...common });\n }\n if (input.total === 0) {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n const values = input.slots.filter((slot) => slot.state === \"value\");\n const migrationRequired = input.slots.filter((slot) => slot.state === \"migration-required\");\n const unsupported = input.slots.filter((slot) => slot.state === \"unsupported\");\n const missing = input.slots.filter((slot) => slot.state === \"missing\");\n const empty = input.slots.filter((slot) => slot.state === \"empty\");\n if (values.length === 0 && migrationRequired.length === input.total) {\n return Object.freeze({ value: null, state: \"migration-required\" as const, ...common });\n }\n if (values.length === 0 && unsupported.length === input.total) {\n return Object.freeze({ value: null, state: \"unsupported\" as const, ...common });\n }\n if (values.length === 0 && empty.length === input.total) {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n if (samples < input.total || missing.length > 0 || migrationRequired.length > 0 || unsupported.length > 0) {\n return Object.freeze({\n value: input.across.state === \"value\" ? input.across.value! : null,\n state: \"partial\" as const,\n ...common,\n });\n }\n if (input.across.state === \"empty\") {\n return Object.freeze({ value: null, state: \"empty\" as const, ...common });\n }\n if (input.across.state === \"migration-required\") {\n return Object.freeze({ value: null, state: \"migration-required\" as const, ...common });\n }\n if (input.across.state === \"unsupported\") {\n return Object.freeze({ value: null, state: \"unsupported\" as const, ...common });\n }\n if (input.across.state === \"missing\") {\n return Object.freeze({ value: null, state: \"partial\" as const, ...common });\n }\n return Object.freeze({ value: input.across.value!, state: \"available\" as const, ...common });\n}\nfunction reductionMetadata(entries: readonly Reduced<unknown>[]): {\n readonly issues: readonly AnalysisIssue[];\n readonly refs: readonly EvidenceRef[];\n readonly producers: readonly ProducerIdentity[];\n} {\n return Object.freeze({\n issues: freezeIssues(entries.flatMap((entry) => entry.issues)),\n refs: dedupeRefs(entries.flatMap((entry) => entry.refs)),\n producers: Object.freeze(entries.flatMap((entry) => entry.producers)),\n });\n}\nfunction valueReduced(value: unknown, issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[], producers: readonly ProducerIdentity[]): Reduced<unknown> {\n return Object.freeze({ state: \"value\" as const, value, issues: freezeIssues(issues), refs, producers });\n}\nfunction emptyReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"empty\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction missingReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"missing\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction migrationRequiredReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({\n state: \"migration-required\" as const,\n issues: freezeIssues(issues),\n refs: dedupeRefs(refs),\n producers,\n });\n}\nfunction unsupportedReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({ state: \"unsupported\" as const, issues: freezeIssues(issues), refs: dedupeRefs(refs), producers });\n}\nfunction failedReduced(issues: readonly AnalysisIssue[], refs: readonly EvidenceRef[] = [], producers: readonly ProducerIdentity[] = []): Reduced<never> {\n return Object.freeze({\n state: \"failed\" as const,\n issues: freezeIssues(issues),\n refs: dedupeRefs(refs),\n producers: Object.freeze([...producers]),\n });\n}\nfunction unmatched(message: string): ResolvedMember {\n return Object.freeze({\n issues: Object.freeze([issue(\"relation-unmatched\", message)]),\n });\n}\nfunction issue(code: AnalysisIssue[\"code\"], message: string, refs: readonly EvidenceRef[] = []): AnalysisIssue {\n return Object.freeze({ code, message, refs: dedupeRefs(refs) });\n}\nfunction freezeIssues(issues: readonly AnalysisIssue[]): readonly AnalysisIssue[] {\n const byIdentity = new Map<string, AnalysisIssue>();\n for (const value of issues) {\n const refs = dedupeRefs(value.refs);\n const key = `${value.code}\\u0000${value.message}\\u0000${refs.map(evidenceRefIdentity).join(\"\\u0001\")}`;\n if (!byIdentity.has(key)) {\n byIdentity.set(key, Object.freeze({ code: value.code, message: value.message, refs }));\n }\n }\n return Object.freeze([...byIdentity.entries()]\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([, value]) => value));\n}\nfunction dedupeRefs(refs: readonly EvidenceRef[]): readonly EvidenceRef[] {\n const byIdentity = new Map<string, EvidenceRef>();\n for (const ref of refs) {\n const key = evidenceRefIdentity(ref);\n if (!byIdentity.has(key)) {\n byIdentity.set(key, Object.freeze({ identity: Object.freeze({ ...ref.identity }) }));\n }\n }\n return Object.freeze([...byIdentity.entries()]\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([, value]) => value));\n}\nfunction evidenceRefIdentity(ref: EvidenceRef): string {\n return `${ref.identity.kind}\\u0000${ref.identity.locator}`;\n}\nfunction closeFormat(format: import(\"./contracts.ts\").MeasureFormat): import(\"./contracts.ts\").MeasureFormat {\n if (typeof format === \"string\")\n return format;\n return Object.freeze({\n kind: format.kind,\n ...(format.options === undefined ? {} : { options: cloneJson(format.options) }),\n });\n}\nfunction cloneJson(value: import(\"./contracts.ts\").JsonValue): import(\"./contracts.ts\").JsonValue {\n if (value === null || typeof value === \"string\" || typeof value === \"boolean\" || typeof value === \"number\") {\n return value;\n }\n if (Array.isArray(value))\n return Object.freeze(value.map(cloneJson));\n const result: {\n [key: string]: import(\"./contracts.ts\").JsonValue;\n } = {};\n for (const [key, entry] of Object.entries(value))\n result[key] = cloneJson(entry);\n return Object.freeze(result);\n}\nfunction groupKey(coordinates: Readonly<Record<string, DimensionValue>>): string {\n const encoded = Object.entries(coordinates)\n .sort(([left], [right]) => compareCanonicalCodeUnits(left, right))\n .map(([key, value]) => Object.freeze([key, value] as const));\n return canonicalIdentity(\"row\", encoded);\n}\n/** Locale-independent ordering for all Analysis identities and closed output. */\nfunction compareCanonicalCodeUnits(left: string, right: string): number {\n if (left === right)\n return 0;\n return left < right ? -1 : 1;\n}\n/**\n * Canonical identities retain their complete normalized input. They are not\n * bounded hashes, so distinct coordinates cannot collapse through a digest\n * collision.\n */\nfunction canonicalIdentity(namespace: string, value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"Analysis identity input must be JSON-serializable\");\n return `${namespace}-v1:${encoded}`;\n}\nfunction finiteNumber(value: unknown): number {\n if (typeof value !== \"number\" || !Number.isFinite(value))\n throw new Error(\"reduction expected a finite number\");\n return value;\n}\nfunction booleanValue(value: unknown): boolean {\n if (typeof value !== \"boolean\")\n throw new Error(\"ratio reduction expected a boolean\");\n return value;\n}\nfunction isDimensionValue(value: unknown): value is DimensionValue {\n return value === null || typeof value === \"string\" || typeof value === \"boolean\" ||\n (typeof value === \"number\" && Number.isFinite(value));\n}\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction isDimension(value: unknown): value is Dimension<unknown, DimensionValue> {\n return typeof value === \"object\" && value !== null && (value as {\n readonly kind?: unknown;\n }).kind === \"dimension\";\n}\nfunction isMeasure(value: unknown): value is Measure<unknown, unknown> {\n return typeof value === \"object\" && value !== null && (value as {\n readonly kind?: unknown;\n }).kind === \"measure\";\n}\nfunction samePopulationMembers(left: Population<unknown>, right: Population<unknown>): boolean {\n return left === right || left.members === right.members;\n}\nfunction measureStateFor(measure: Measure<unknown, unknown>): {\n readonly input: AnalysisInput<unknown, unknown>;\n readonly withinAttempt: WithinAttemptReduction<unknown, unknown>;\n readonly withinSlot: WithinSlotReduction<unknown, unknown>;\n readonly acrossSlots: AcrossSlotsReduction<unknown, unknown>;\n readonly denominator: Denominator<unknown>;\n readonly missing: MissingPolicy;\n readonly evidence: EvidencePolicy;\n readonly producers?: ProducerPolicy;\n} {\n return measureState(measure);\n}\nfunction requestError(reason: string): AnalysisRequestError {\n return Object.freeze({ code: \"analysis-request-invalid\" as const, reason });\n}\nfunction errorMessage(error: unknown): string {\n return error instanceof Error ? error.message : \"an unknown definition error occurred\";\n}\n// Keeps the catalog helper reachable in generated type declarations without\n// opening a second definition surface for application code.\nexport type BuiltinLogicalSlotDenominator = ReturnType<typeof allLogicalSlots<LogicalSlot>>;\n"]}
|
package/dist/analysis/api.d.cts
CHANGED
|
@@ -55,7 +55,7 @@ export type ClosedDomainEntry<Kind extends BuiltinDomainViewKind = BuiltinDomain
|
|
|
55
55
|
readonly detail: BuiltinDomainDetail<Kind>;
|
|
56
56
|
} | {
|
|
57
57
|
readonly attempt: AttemptEvidenceIdentity;
|
|
58
|
-
readonly state: "not-recorded" | "unsupported" | "invalid";
|
|
58
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
59
59
|
readonly view: Kind;
|
|
60
60
|
} | {
|
|
61
61
|
readonly attempt: AttemptEvidenceIdentity;
|
|
@@ -77,6 +77,26 @@ export type FileChangesDomainView = BuiltinDomainView<"file-changes">;
|
|
|
77
77
|
export type SourceNavigationDomainView = BuiltinDomainView<"source-navigation">;
|
|
78
78
|
export type SourcesDomainView = BuiltinDomainView<"sources">;
|
|
79
79
|
export type SandboxHistoryDomainView = BuiltinDomainView<"sandbox-history">;
|
|
80
|
+
export type ClosedRunDiagnosticsEntry = {
|
|
81
|
+
readonly runId: string;
|
|
82
|
+
readonly experimentId: string;
|
|
83
|
+
readonly state: "available";
|
|
84
|
+
readonly detail: import("./domain-view.cjs").ClosedDiagnosticsDetail;
|
|
85
|
+
} | {
|
|
86
|
+
readonly runId: string;
|
|
87
|
+
readonly experimentId: string;
|
|
88
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
89
|
+
} | {
|
|
90
|
+
readonly runId: string;
|
|
91
|
+
readonly experimentId: string;
|
|
92
|
+
readonly state: "failed";
|
|
93
|
+
readonly detail: string;
|
|
94
|
+
};
|
|
95
|
+
/** Closed Run-owned diagnostics, including failures that predate an Attempt. */
|
|
96
|
+
export interface RunDiagnosticsDomainView extends DomainView {
|
|
97
|
+
readonly view: "run-diagnostics";
|
|
98
|
+
readonly entries: readonly ClosedRunDiagnosticsEntry[];
|
|
99
|
+
}
|
|
80
100
|
/** A NiceEval-published request for a non-tabular, already-closed DomainView. */
|
|
81
101
|
export interface DomainViewRequest<View extends DomainView> {
|
|
82
102
|
readonly kind: "domain-view-request";
|
|
@@ -95,6 +115,7 @@ export declare const sourceNavigationView: DomainViewRequest<BuiltinDomainView<"
|
|
|
95
115
|
export declare const sourcesView: DomainViewRequest<BuiltinDomainView<"sources">>;
|
|
96
116
|
/** Sandbox command/timing/diagnostic history projected from Observability. */
|
|
97
117
|
export declare const sandboxHistoryView: DomainViewRequest<BuiltinDomainView<"sandbox-history">>;
|
|
118
|
+
export declare const runDiagnosticsView: DomainViewRequest<RunDiagnosticsDomainView>;
|
|
98
119
|
export interface DomainViewQuery<View extends DomainView> {
|
|
99
120
|
readonly kind: "domain-view";
|
|
100
121
|
readonly view: DomainViewRequest<View>;
|
package/dist/analysis/api.d.mts
CHANGED
|
@@ -55,7 +55,7 @@ export type ClosedDomainEntry<Kind extends BuiltinDomainViewKind = BuiltinDomain
|
|
|
55
55
|
readonly detail: BuiltinDomainDetail<Kind>;
|
|
56
56
|
} | {
|
|
57
57
|
readonly attempt: AttemptEvidenceIdentity;
|
|
58
|
-
readonly state: "not-recorded" | "unsupported" | "invalid";
|
|
58
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
59
59
|
readonly view: Kind;
|
|
60
60
|
} | {
|
|
61
61
|
readonly attempt: AttemptEvidenceIdentity;
|
|
@@ -77,6 +77,26 @@ export type FileChangesDomainView = BuiltinDomainView<"file-changes">;
|
|
|
77
77
|
export type SourceNavigationDomainView = BuiltinDomainView<"source-navigation">;
|
|
78
78
|
export type SourcesDomainView = BuiltinDomainView<"sources">;
|
|
79
79
|
export type SandboxHistoryDomainView = BuiltinDomainView<"sandbox-history">;
|
|
80
|
+
export type ClosedRunDiagnosticsEntry = {
|
|
81
|
+
readonly runId: string;
|
|
82
|
+
readonly experimentId: string;
|
|
83
|
+
readonly state: "available";
|
|
84
|
+
readonly detail: import("./domain-view.mjs").ClosedDiagnosticsDetail;
|
|
85
|
+
} | {
|
|
86
|
+
readonly runId: string;
|
|
87
|
+
readonly experimentId: string;
|
|
88
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
89
|
+
} | {
|
|
90
|
+
readonly runId: string;
|
|
91
|
+
readonly experimentId: string;
|
|
92
|
+
readonly state: "failed";
|
|
93
|
+
readonly detail: string;
|
|
94
|
+
};
|
|
95
|
+
/** Closed Run-owned diagnostics, including failures that predate an Attempt. */
|
|
96
|
+
export interface RunDiagnosticsDomainView extends DomainView {
|
|
97
|
+
readonly view: "run-diagnostics";
|
|
98
|
+
readonly entries: readonly ClosedRunDiagnosticsEntry[];
|
|
99
|
+
}
|
|
80
100
|
/** A NiceEval-published request for a non-tabular, already-closed DomainView. */
|
|
81
101
|
export interface DomainViewRequest<View extends DomainView> {
|
|
82
102
|
readonly kind: "domain-view-request";
|
|
@@ -95,6 +115,7 @@ export declare const sourceNavigationView: DomainViewRequest<BuiltinDomainView<"
|
|
|
95
115
|
export declare const sourcesView: DomainViewRequest<BuiltinDomainView<"sources">>;
|
|
96
116
|
/** Sandbox command/timing/diagnostic history projected from Observability. */
|
|
97
117
|
export declare const sandboxHistoryView: DomainViewRequest<BuiltinDomainView<"sandbox-history">>;
|
|
118
|
+
export declare const runDiagnosticsView: DomainViewRequest<RunDiagnosticsDomainView>;
|
|
98
119
|
export interface DomainViewQuery<View extends DomainView> {
|
|
99
120
|
readonly kind: "domain-view";
|
|
100
121
|
readonly view: DomainViewRequest<View>;
|
package/dist/analysis/api.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export type ClosedDomainEntry<Kind extends BuiltinDomainViewKind = BuiltinDomain
|
|
|
55
55
|
readonly detail: BuiltinDomainDetail<Kind>;
|
|
56
56
|
} | {
|
|
57
57
|
readonly attempt: AttemptEvidenceIdentity;
|
|
58
|
-
readonly state: "not-recorded" | "unsupported" | "invalid";
|
|
58
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
59
59
|
readonly view: Kind;
|
|
60
60
|
} | {
|
|
61
61
|
readonly attempt: AttemptEvidenceIdentity;
|
|
@@ -77,6 +77,26 @@ export type FileChangesDomainView = BuiltinDomainView<"file-changes">;
|
|
|
77
77
|
export type SourceNavigationDomainView = BuiltinDomainView<"source-navigation">;
|
|
78
78
|
export type SourcesDomainView = BuiltinDomainView<"sources">;
|
|
79
79
|
export type SandboxHistoryDomainView = BuiltinDomainView<"sandbox-history">;
|
|
80
|
+
export type ClosedRunDiagnosticsEntry = {
|
|
81
|
+
readonly runId: string;
|
|
82
|
+
readonly experimentId: string;
|
|
83
|
+
readonly state: "available";
|
|
84
|
+
readonly detail: import("./domain-view.js").ClosedDiagnosticsDetail;
|
|
85
|
+
} | {
|
|
86
|
+
readonly runId: string;
|
|
87
|
+
readonly experimentId: string;
|
|
88
|
+
readonly state: "not-recorded" | "migration-required" | "unsupported" | "invalid";
|
|
89
|
+
} | {
|
|
90
|
+
readonly runId: string;
|
|
91
|
+
readonly experimentId: string;
|
|
92
|
+
readonly state: "failed";
|
|
93
|
+
readonly detail: string;
|
|
94
|
+
};
|
|
95
|
+
/** Closed Run-owned diagnostics, including failures that predate an Attempt. */
|
|
96
|
+
export interface RunDiagnosticsDomainView extends DomainView {
|
|
97
|
+
readonly view: "run-diagnostics";
|
|
98
|
+
readonly entries: readonly ClosedRunDiagnosticsEntry[];
|
|
99
|
+
}
|
|
80
100
|
/** A NiceEval-published request for a non-tabular, already-closed DomainView. */
|
|
81
101
|
export interface DomainViewRequest<View extends DomainView> {
|
|
82
102
|
readonly kind: "domain-view-request";
|
|
@@ -95,6 +115,7 @@ export declare const sourceNavigationView: DomainViewRequest<BuiltinDomainView<"
|
|
|
95
115
|
export declare const sourcesView: DomainViewRequest<BuiltinDomainView<"sources">>;
|
|
96
116
|
/** Sandbox command/timing/diagnostic history projected from Observability. */
|
|
97
117
|
export declare const sandboxHistoryView: DomainViewRequest<BuiltinDomainView<"sandbox-history">>;
|
|
118
|
+
export declare const runDiagnosticsView: DomainViewRequest<RunDiagnosticsDomainView>;
|
|
98
119
|
export interface DomainViewQuery<View extends DomainView> {
|
|
99
120
|
readonly kind: "domain-view";
|
|
100
121
|
readonly view: DomainViewRequest<View>;
|
package/dist/analysis/api.js
CHANGED
|
@@ -15,10 +15,12 @@ const __niceevalExport5 = __niceevalCanonical["query"];
|
|
|
15
15
|
export { __niceevalExport5 as query };
|
|
16
16
|
const __niceevalExport6 = __niceevalCanonical["queryEffect"];
|
|
17
17
|
export { __niceevalExport6 as queryEffect };
|
|
18
|
-
const __niceevalExport7 = __niceevalCanonical["
|
|
19
|
-
export { __niceevalExport7 as
|
|
20
|
-
const __niceevalExport8 = __niceevalCanonical["
|
|
21
|
-
export { __niceevalExport8 as
|
|
22
|
-
const __niceevalExport9 = __niceevalCanonical["
|
|
23
|
-
export { __niceevalExport9 as
|
|
18
|
+
const __niceevalExport7 = __niceevalCanonical["runDiagnosticsView"];
|
|
19
|
+
export { __niceevalExport7 as runDiagnosticsView };
|
|
20
|
+
const __niceevalExport8 = __niceevalCanonical["sandboxHistoryView"];
|
|
21
|
+
export { __niceevalExport8 as sandboxHistoryView };
|
|
22
|
+
const __niceevalExport9 = __niceevalCanonical["sourceNavigationView"];
|
|
23
|
+
export { __niceevalExport9 as sourceNavigationView };
|
|
24
|
+
const __niceevalExport10 = __niceevalCanonical["sourcesView"];
|
|
25
|
+
export { __niceevalExport10 as sourcesView };
|
|
24
26
|
//# sourceMappingURL=api.js.map
|