niceeval 0.12.2-canary.31 → 0.13.0
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 +10 -10
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/bin/niceeval.js +15 -0
- package/dist/agents/claude-code.cjs +9 -1
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/post-setup.cjs +0 -2
- package/dist/agents/post-setup.cjs.map +1 -1
- package/dist/agents/provisioner.cjs +2 -13
- package/dist/agents/provisioner.cjs.map +1 -1
- package/dist/agents/provisioner.d.cts +0 -5
- package/dist/agents/provisioner.d.mts +0 -5
- package/dist/agents/provisioner.d.ts +0 -5
- package/dist/agents/provisioner.js +22 -26
- package/dist/agents/sdk-streams.cjs +2 -1
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +2 -10
- package/dist/agents/types.d.mts +2 -10
- package/dist/agents/types.d.ts +2 -10
- package/dist/analysis/api.cjs +689 -0
- package/dist/analysis/api.cjs.map +1 -0
- package/dist/analysis/api.d.cts +126 -0
- package/dist/analysis/api.d.mts +126 -0
- package/dist/analysis/api.d.ts +126 -0
- package/dist/analysis/api.js +24 -0
- package/dist/analysis/api.js.map +1 -0
- package/dist/analysis/bindings.cjs +617 -0
- package/dist/analysis/bindings.cjs.map +1 -0
- package/dist/analysis/bindings.d.cts +8313 -0
- package/dist/analysis/bindings.d.mts +8313 -0
- package/dist/analysis/bindings.d.ts +8313 -0
- package/dist/analysis/bindings.js +22 -0
- package/dist/analysis/bindings.js.map +1 -0
- package/dist/analysis/contracts.cjs +39 -0
- package/dist/analysis/contracts.cjs.map +1 -0
- package/dist/analysis/contracts.d.cts +293 -0
- package/dist/analysis/contracts.d.mts +293 -0
- package/dist/analysis/contracts.d.ts +293 -0
- package/dist/analysis/contracts.js +12 -0
- package/dist/analysis/contracts.js.map +1 -0
- package/dist/analysis/cost-decimal.cjs +177 -0
- package/dist/analysis/cost-decimal.cjs.map +1 -0
- package/dist/analysis/cost-decimal.d.cts +51 -0
- package/dist/analysis/cost-decimal.d.mts +51 -0
- package/dist/analysis/cost-decimal.d.ts +51 -0
- package/dist/analysis/cost-decimal.js +28 -0
- package/dist/analysis/cost-decimal.js.map +1 -0
- package/dist/analysis/cost-projection.cjs +430 -0
- package/dist/analysis/cost-projection.cjs.map +1 -0
- package/dist/analysis/cost-projection.d.cts +37 -0
- package/dist/analysis/cost-projection.d.mts +37 -0
- package/dist/analysis/cost-projection.d.ts +37 -0
- package/dist/analysis/cost-projection.js +10 -0
- package/dist/analysis/cost-projection.js.map +1 -0
- package/dist/analysis/cost.cjs +814 -0
- package/dist/analysis/cost.cjs.map +1 -0
- package/dist/analysis/cost.d.cts +310 -0
- package/dist/analysis/cost.d.mts +310 -0
- package/dist/analysis/cost.d.ts +310 -0
- package/dist/analysis/cost.js +26 -0
- package/dist/analysis/cost.js.map +1 -0
- package/dist/analysis/definitions.cjs +346 -0
- package/dist/analysis/definitions.cjs.map +1 -0
- package/dist/analysis/definitions.d.cts +230 -0
- package/dist/analysis/definitions.d.mts +230 -0
- package/dist/analysis/definitions.d.ts +230 -0
- package/dist/analysis/definitions.js +70 -0
- package/dist/analysis/definitions.js.map +1 -0
- package/dist/analysis/domain-view.cjs +3 -0
- package/dist/analysis/domain-view.cjs.map +1 -0
- package/dist/analysis/domain-view.d.cts +367 -0
- package/dist/analysis/domain-view.d.mts +367 -0
- package/dist/analysis/domain-view.d.ts +367 -0
- package/dist/analysis/domain-view.js +4 -0
- package/dist/analysis/domain-view.js.map +1 -0
- package/dist/analysis/file-changes.cjs +225 -0
- package/dist/analysis/file-changes.cjs.map +1 -0
- package/dist/analysis/file-changes.d.cts +30 -0
- package/dist/analysis/file-changes.d.mts +30 -0
- package/dist/analysis/file-changes.d.ts +30 -0
- package/dist/analysis/file-changes.js +6 -0
- package/dist/analysis/file-changes.js.map +1 -0
- package/dist/analysis/host.cjs +8 -0
- package/dist/analysis/host.cjs.map +1 -0
- package/dist/analysis/host.d.cts +19 -0
- package/dist/analysis/host.d.mts +19 -0
- package/dist/analysis/host.d.ts +19 -0
- package/dist/analysis/host.js +6 -0
- package/dist/analysis/host.js.map +1 -0
- package/dist/analysis/host.mjs +6 -0
- package/dist/analysis/host.mjs.map +1 -0
- package/dist/analysis/index.cjs +45 -8
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +10 -2
- package/dist/analysis/index.d.mts +10 -2
- package/dist/analysis/index.d.ts +10 -2
- package/dist/analysis/index.js +70 -6
- package/dist/analysis/index.mjs +70 -6
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +1 -1
- package/dist/assertions/api.d.mts +1 -1
- package/dist/assertions/api.d.ts +1 -1
- package/dist/assertions/diff.cjs +2 -2
- package/dist/assertions/diff.cjs.map +1 -1
- package/dist/assertions/diff.d.cts +2 -2
- package/dist/assertions/diff.d.mts +2 -2
- package/dist/assertions/diff.d.ts +2 -2
- package/dist/assertions/judge.cjs +11 -10
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/record/attachment.cjs +64 -81
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/attachment.d.cts +88 -143
- package/dist/assertions/record/attachment.d.mts +88 -143
- package/dist/assertions/record/attachment.d.ts +88 -143
- package/dist/assertions/record/attachment.js +12 -16
- package/dist/assertions/record/codec.cjs +178 -100
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/codec.d.cts +75 -56
- package/dist/assertions/record/codec.d.mts +75 -56
- package/dist/assertions/record/codec.d.ts +75 -56
- package/dist/assertions/record/codec.js +36 -32
- package/dist/assertions/record/diff.cjs +545 -134
- package/dist/assertions/record/diff.cjs.map +1 -1
- package/dist/assertions/record/diff.d.cts +73 -25
- package/dist/assertions/record/diff.d.mts +73 -25
- package/dist/assertions/record/diff.d.ts +73 -25
- package/dist/assertions/record/diff.js +12 -14
- package/dist/assertions/record/index.js +70 -72
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +62 -70
- package/dist/assertions/record/model.d.mts +62 -70
- package/dist/assertions/record/model.d.ts +62 -70
- package/dist/assertions/record/producer.cjs +5 -2
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +18 -18
- package/dist/assertions/record/producer.d.mts +18 -18
- package/dist/assertions/record/producer.d.ts +18 -18
- package/dist/assertions/record/producer.js +2 -2
- package/dist/assertions/runtime.cjs +14 -9
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/assertions/workspace-diff.cjs +18 -4
- package/dist/assertions/workspace-diff.cjs.map +1 -1
- package/dist/assertions/workspace-diff.d.cts +3 -1
- package/dist/assertions/workspace-diff.d.mts +3 -1
- package/dist/assertions/workspace-diff.d.ts +3 -1
- package/dist/assertions/workspace-diff.js +14 -12
- package/dist/attempt-locator-resolution.cjs +33 -38
- package/dist/attempt-locator-resolution.cjs.map +1 -1
- package/dist/attempt-locator-resolution.d.cts +15 -8
- package/dist/attempt-locator-resolution.d.mts +15 -8
- package/dist/attempt-locator-resolution.d.ts +15 -8
- package/dist/cli/record.cjs +16 -89
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +2 -9
- package/dist/cli/record.d.mts +2 -9
- package/dist/cli/record.d.ts +2 -9
- package/dist/cli/record.js +2 -6
- package/dist/cli.cjs +609 -245
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +6 -5
- package/dist/cli.d.mts +6 -5
- package/dist/cli.d.ts +6 -5
- package/dist/context/assert-first.cjs +13 -4
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +3 -4
- package/dist/context/assert-first.d.mts +3 -4
- package/dist/context/assert-first.d.ts +3 -4
- package/dist/context/send-retry.cjs +18 -21
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/context/send-retry.d.cts +0 -3
- package/dist/context/send-retry.d.mts +0 -3
- package/dist/context/send-retry.d.ts +0 -3
- package/dist/context/session.cjs +46 -42
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +4 -6
- package/dist/context/session.d.mts +4 -6
- package/dist/context/session.d.ts +4 -6
- package/dist/coordination/host/index.cjs +10 -0
- package/dist/coordination/host/index.cjs.map +1 -0
- package/dist/coordination/host/index.d.cts +6 -0
- package/dist/coordination/host/index.d.mts +6 -0
- package/dist/coordination/host/index.d.ts +6 -0
- package/dist/coordination/host/index.js +6 -0
- package/dist/coordination/host/index.mjs +6 -0
- package/dist/coordination/host/runtime.cjs +57 -0
- package/dist/coordination/host/runtime.cjs.map +1 -0
- package/dist/coordination/host/runtime.d.cts +13 -0
- package/dist/coordination/host/runtime.d.mts +13 -0
- package/dist/coordination/host/runtime.d.ts +13 -0
- package/dist/coordination/host/runtime.js +8 -0
- package/dist/coordination/host/types.cjs.map +1 -0
- package/dist/coordination/host/types.d.cts +37 -0
- package/dist/coordination/host/types.d.mts +37 -0
- package/dist/coordination/host/types.d.ts +37 -0
- package/dist/coordination/identity.cjs +48 -0
- package/dist/coordination/identity.cjs.map +1 -0
- package/dist/coordination/identity.d.cts +14 -0
- package/dist/coordination/identity.d.mts +14 -0
- package/dist/coordination/identity.d.ts +14 -0
- package/dist/coordination/identity.js +6 -0
- package/dist/coordination/index.cjs +23 -0
- package/dist/coordination/index.cjs.map +1 -0
- package/dist/coordination/index.d.cts +6 -0
- package/dist/coordination/index.d.mts +6 -0
- package/dist/coordination/index.d.ts +6 -0
- package/dist/coordination/index.js +16 -0
- package/dist/coordination/platform/index.cjs +18 -0
- package/dist/coordination/platform/index.cjs.map +1 -0
- package/dist/coordination/platform/index.d.cts +1 -0
- package/dist/coordination/platform/index.d.mts +1 -0
- package/dist/coordination/platform/index.d.ts +1 -0
- package/dist/coordination/platform/index.js +6 -0
- package/dist/coordination/platform/node.cjs +251 -0
- package/dist/coordination/platform/node.cjs.map +1 -0
- package/dist/coordination/platform/node.d.cts +3 -0
- package/dist/coordination/platform/node.d.mts +3 -0
- package/dist/coordination/platform/node.d.ts +3 -0
- package/dist/coordination/platform/node.js +6 -0
- package/dist/coordination/platform/node.js.map +1 -0
- package/dist/coordination/record-leases.cjs +22 -0
- package/dist/coordination/record-leases.cjs.map +1 -0
- package/dist/coordination/record-leases.d.cts +39 -0
- package/dist/coordination/record-leases.d.mts +39 -0
- package/dist/coordination/record-leases.d.ts +39 -0
- package/dist/coordination/record-leases.js +10 -0
- package/dist/coordination/record-leases.js.map +1 -0
- package/dist/eval/experiment-id.cjs +1 -5
- package/dist/eval/experiment-id.cjs.map +1 -1
- package/dist/eval/experiment-id.d.cts +0 -2
- package/dist/eval/experiment-id.d.mts +0 -2
- package/dist/eval/experiment-id.d.ts +0 -2
- package/dist/eval/experiment-id.js +0 -4
- package/dist/eval/record/attachment.cjs +7 -47
- package/dist/eval/record/attachment.cjs.map +1 -1
- package/dist/eval/record/attachment.d.cts +8 -24
- package/dist/eval/record/attachment.d.mts +8 -24
- package/dist/eval/record/attachment.d.ts +8 -24
- package/dist/eval/record/attachment.js +4 -10
- package/dist/eval/record/coherence.cjs +6 -6
- package/dist/eval/record/coherence.cjs.map +1 -1
- package/dist/eval/record/coherence.d.cts +16 -16
- package/dist/eval/record/coherence.d.mts +16 -16
- package/dist/eval/record/coherence.d.ts +16 -16
- package/dist/eval/record/coherence.js +2 -2
- package/dist/eval/record/eligibility.cjs +53 -135
- package/dist/eval/record/eligibility.cjs.map +1 -1
- package/dist/eval/record/eligibility.d.cts +38 -140
- package/dist/eval/record/eligibility.d.mts +38 -140
- package/dist/eval/record/eligibility.d.ts +38 -140
- package/dist/eval/record/eligibility.js +16 -38
- package/dist/eval/record/evaluation-plan.cjs +18 -23
- package/dist/eval/record/evaluation-plan.cjs.map +1 -1
- package/dist/eval/record/evaluation-plan.d.cts +6 -9
- package/dist/eval/record/evaluation-plan.d.mts +6 -9
- package/dist/eval/record/evaluation-plan.d.ts +6 -9
- package/dist/eval/record/evaluation-plan.js +2 -2
- package/dist/eval/record/evaluation-record.cjs +161 -454
- package/dist/eval/record/evaluation-record.cjs.map +1 -1
- package/dist/eval/record/evaluation-record.d.cts +67 -128
- package/dist/eval/record/evaluation-record.d.mts +67 -128
- package/dist/eval/record/evaluation-record.d.ts +67 -128
- package/dist/eval/record/evaluation-record.js +16 -16
- package/dist/eval/record/evaluation.cjs +59 -174
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/evaluation.d.cts +43 -119
- package/dist/eval/record/evaluation.d.mts +43 -119
- package/dist/eval/record/evaluation.d.ts +43 -119
- package/dist/eval/record/evaluation.js +20 -32
- package/dist/eval/record/index.js +144 -238
- package/dist/eval/record/membership-provenance.cjs +58 -191
- package/dist/eval/record/membership-provenance.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +83 -659
- package/dist/eval/record/membership-provenance.d.mts +83 -659
- package/dist/eval/record/membership-provenance.d.ts +83 -659
- package/dist/eval/record/membership-provenance.js +34 -54
- package/dist/eval/record/score.cjs +58 -170
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/score.d.cts +36 -104
- package/dist/eval/record/score.d.mts +36 -104
- package/dist/eval/record/score.d.ts +36 -104
- package/dist/eval/record/score.js +22 -40
- package/dist/eval/record/sealed-assertion.cjs +10 -10
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.d.cts +12 -12
- package/dist/eval/record/sealed-assertion.d.mts +12 -12
- package/dist/eval/record/sealed-assertion.d.ts +12 -12
- package/dist/eval/record/sealed-assertion.js +10 -10
- package/dist/eval/record/verdict.cjs +42 -64
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/eval/record/verdict.d.cts +35 -48
- package/dist/eval/record/verdict.d.mts +35 -48
- package/dist/eval/record/verdict.d.ts +35 -48
- package/dist/eval/record/verdict.js +16 -32
- package/dist/experiment/host/index.cjs +210 -0
- package/dist/experiment/host/index.cjs.map +1 -0
- package/dist/experiment/host/index.d.cts +125 -0
- package/dist/experiment/host/index.d.mts +125 -0
- package/dist/experiment/host/index.d.ts +125 -0
- package/dist/experiment/host/index.js +6 -0
- package/dist/experiment/host/index.mjs +6 -0
- package/dist/experiment/host/index.mjs.map +1 -0
- package/dist/fresh-import.cjs +33 -119
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/i18n/en.cjs +10 -5
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +9 -4
- package/dist/i18n/en.d.mts +9 -4
- package/dist/i18n/en.d.ts +9 -4
- package/dist/index.cjs +1 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.mts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +18 -20
- package/dist/index.mjs +18 -20
- package/dist/o11y/cost.cjs +16 -6
- package/dist/o11y/cost.cjs.map +1 -1
- package/dist/o11y/parsers/bub.cjs +16 -4
- package/dist/o11y/parsers/bub.cjs.map +1 -1
- package/dist/o11y/parsers/hermes.cjs +19 -6
- package/dist/o11y/parsers/hermes.cjs.map +1 -1
- package/dist/o11y/parsers/openclaw.cjs +5 -10
- package/dist/o11y/parsers/openclaw.cjs.map +1 -1
- package/dist/o11y/parsers/opencode.cjs +6 -11
- package/dist/o11y/parsers/opencode.cjs.map +1 -1
- package/dist/o11y/prices.json +1335 -557
- package/dist/o11y/record/capture.cjs +38 -38
- package/dist/o11y/record/capture.cjs.map +1 -1
- package/dist/o11y/record/capture.d.cts +25 -25
- package/dist/o11y/record/capture.d.mts +25 -25
- package/dist/o11y/record/capture.d.ts +25 -25
- package/dist/o11y/record/capture.js +26 -26
- package/dist/o11y/record/codec.cjs +139 -140
- package/dist/o11y/record/codec.cjs.map +1 -1
- package/dist/o11y/record/codec.d.cts +262 -266
- package/dist/o11y/record/codec.d.mts +262 -266
- package/dist/o11y/record/codec.d.ts +262 -266
- package/dist/o11y/record/codec.js +58 -60
- package/dist/o11y/record/errors.cjs +20 -20
- package/dist/o11y/record/errors.cjs.map +1 -1
- package/dist/o11y/record/errors.d.cts +18 -18
- package/dist/o11y/record/errors.d.mts +18 -18
- package/dist/o11y/record/errors.d.ts +18 -18
- package/dist/o11y/record/errors.js +20 -20
- package/dist/o11y/record/families.cjs +269 -264
- package/dist/o11y/record/families.cjs.map +1 -1
- package/dist/o11y/record/families.d.cts +1589 -1573
- package/dist/o11y/record/families.d.mts +1589 -1573
- package/dist/o11y/record/families.d.ts +1589 -1573
- package/dist/o11y/record/families.js +64 -64
- package/dist/o11y/record/family-projectors.cjs +31 -58
- package/dist/o11y/record/family-projectors.cjs.map +1 -1
- package/dist/o11y/record/family-projectors.d.cts +2933 -34
- package/dist/o11y/record/family-projectors.d.mts +2933 -34
- package/dist/o11y/record/family-projectors.d.ts +2933 -34
- package/dist/o11y/record/family-projectors.js +10 -4
- package/dist/o11y/record/family-writers.cjs +207 -336
- package/dist/o11y/record/family-writers.cjs.map +1 -1
- package/dist/o11y/record/family-writers.d.cts +637 -5260
- package/dist/o11y/record/family-writers.d.mts +637 -5260
- package/dist/o11y/record/family-writers.d.ts +637 -5260
- package/dist/o11y/record/family-writers.js +14 -56
- package/dist/o11y/record/index.js +446 -484
- package/dist/o11y/record/limits.cjs +45 -45
- package/dist/o11y/record/limits.cjs.map +1 -1
- package/dist/o11y/record/limits.d.cts +32 -32
- package/dist/o11y/record/limits.d.mts +32 -32
- package/dist/o11y/record/limits.d.ts +32 -32
- package/dist/o11y/record/limits.js +64 -64
- package/dist/o11y/record/model.cjs +271 -277
- package/dist/o11y/record/model.cjs.map +1 -1
- package/dist/o11y/record/model.d.cts +160 -186
- package/dist/o11y/record/model.d.mts +160 -186
- package/dist/o11y/record/model.d.ts +160 -186
- package/dist/o11y/record/model.js +154 -154
- package/dist/o11y/record/runner-producer.cjs +649 -520
- package/dist/o11y/record/runner-producer.cjs.map +1 -1
- package/dist/o11y/record/runner-producer.d.cts +39 -25
- package/dist/o11y/record/runner-producer.d.mts +39 -25
- package/dist/o11y/record/runner-producer.d.ts +39 -25
- package/dist/o11y/record/runner-producer.js +26 -22
- package/dist/o11y/record/validation.cjs +75 -75
- package/dist/o11y/record/validation.cjs.map +1 -1
- package/dist/o11y/record/validation.d.cts +35 -35
- package/dist/o11y/record/validation.d.mts +35 -35
- package/dist/o11y/record/validation.d.ts +35 -35
- package/dist/o11y/record/validation.js +24 -24
- package/dist/o11y/types.cjs.map +1 -1
- package/dist/o11y/types.d.cts +7 -5
- package/dist/o11y/types.d.mts +7 -5
- package/dist/o11y/types.d.ts +7 -5
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/contracts.d.cts +0 -3
- package/dist/plugin/contracts.d.mts +0 -3
- package/dist/plugin/contracts.d.ts +0 -3
- package/dist/plugins/record/attachment.cjs +0 -59
- package/dist/plugins/record/attachment.cjs.map +1 -1
- package/dist/plugins/record/attachment.d.cts +6 -14
- package/dist/plugins/record/attachment.d.mts +6 -14
- package/dist/plugins/record/attachment.d.ts +6 -14
- package/dist/plugins/record/attachment.js +0 -16
- package/dist/plugins/record/capability.cjs +0 -255
- package/dist/plugins/record/capability.cjs.map +1 -1
- package/dist/plugins/record/capability.d.cts +1 -93
- package/dist/plugins/record/capability.d.mts +1 -93
- package/dist/plugins/record/capability.d.ts +1 -93
- package/dist/plugins/record/capability.js +0 -22
- package/dist/plugins/record/codec.cjs +0 -241
- package/dist/plugins/record/codec.cjs.map +1 -1
- package/dist/plugins/record/codec.d.cts +2 -28
- package/dist/plugins/record/codec.d.mts +2 -28
- package/dist/plugins/record/codec.d.ts +2 -28
- package/dist/plugins/record/codec.js +0 -44
- package/dist/plugins/record/index.cjs +0 -51
- package/dist/plugins/record/index.cjs.map +1 -1
- package/dist/plugins/record/index.d.cts +5 -9
- package/dist/plugins/record/index.d.mts +5 -9
- package/dist/plugins/record/index.d.ts +5 -9
- package/dist/plugins/record/index.js +0 -90
- package/dist/plugins/record/migration.cjs +0 -30
- package/dist/plugins/record/migration.cjs.map +1 -1
- package/dist/plugins/record/migration.d.cts +3 -20
- package/dist/plugins/record/migration.d.mts +3 -20
- package/dist/plugins/record/migration.d.ts +3 -20
- package/dist/plugins/record/migration.js +0 -2
- package/dist/plugins/record/model.cjs.map +1 -1
- package/dist/plugins/record/model.d.cts +2 -93
- package/dist/plugins/record/model.d.mts +2 -93
- package/dist/plugins/record/model.d.ts +2 -93
- package/dist/plugins/record/provenance.cjs +0 -316
- package/dist/plugins/record/provenance.cjs.map +1 -1
- package/dist/plugins/record/provenance.d.cts +1 -78
- package/dist/plugins/record/provenance.d.mts +1 -78
- package/dist/plugins/record/provenance.d.ts +1 -78
- package/dist/plugins/record/provenance.js +0 -20
- package/dist/record/attachment/blob-policy.cjs +3 -0
- package/dist/record/attachment/blob-policy.cjs.map +1 -0
- package/dist/record/attachment/blob-policy.d.cts +18 -0
- package/dist/record/attachment/blob-policy.d.mts +18 -0
- package/dist/record/attachment/blob-policy.d.ts +18 -0
- package/dist/record/attachment/blob-policy.js +4 -0
- package/dist/record/attachment/blob-policy.js.map +1 -0
- package/dist/record/attachment/blob-ref.cjs +42 -0
- package/dist/record/attachment/blob-ref.cjs.map +1 -0
- package/dist/record/attachment/blob-ref.d.cts +22 -0
- package/dist/record/attachment/blob-ref.d.mts +22 -0
- package/dist/record/attachment/blob-ref.d.ts +22 -0
- package/dist/record/attachment/blob-ref.js +14 -0
- package/dist/record/attachment/blob-ref.js.map +1 -0
- package/dist/record/attachment/errors.cjs +6 -34
- package/dist/record/attachment/errors.cjs.map +1 -1
- package/dist/record/attachment/errors.d.cts +2 -24
- package/dist/record/attachment/errors.d.mts +2 -24
- package/dist/record/attachment/errors.d.ts +2 -24
- package/dist/record/attachment/errors.js +4 -10
- package/dist/record/attachment/index.cjs +2 -8
- package/dist/record/attachment/index.cjs.map +1 -1
- package/dist/record/attachment/index.d.cts +3 -3
- package/dist/record/attachment/index.d.mts +3 -3
- package/dist/record/attachment/index.d.ts +3 -3
- package/dist/record/attachment/index.js +6 -18
- package/dist/record/attachment/internal.cjs +5 -14
- package/dist/record/attachment/internal.cjs.map +1 -1
- package/dist/record/attachment/internal.d.cts +3 -2
- package/dist/record/attachment/internal.d.mts +3 -2
- package/dist/record/attachment/internal.d.ts +3 -2
- package/dist/record/attachment/internal.js +12 -30
- package/dist/record/attachment/runtime.cjs +155 -745
- package/dist/record/attachment/runtime.cjs.map +1 -1
- package/dist/record/attachment/runtime.d.cts +25 -68
- package/dist/record/attachment/runtime.d.mts +25 -68
- package/dist/record/attachment/runtime.d.ts +25 -68
- package/dist/record/attachment/runtime.js +16 -48
- package/dist/record/attachment/types.cjs +3 -26
- package/dist/record/attachment/types.cjs.map +1 -1
- package/dist/record/attachment/types.d.cts +33 -132
- package/dist/record/attachment/types.d.mts +33 -132
- package/dist/record/attachment/types.d.ts +33 -132
- package/dist/record/attachment/types.js +10 -22
- package/dist/record/codec/core.cjs +102 -85
- package/dist/record/codec/core.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +205 -55
- package/dist/record/codec/core.d.mts +205 -55
- package/dist/record/codec/core.d.ts +205 -55
- package/dist/record/codec/core.js +50 -42
- package/dist/record/codec/identifiers.cjs +24 -2
- package/dist/record/codec/identifiers.cjs.map +1 -1
- package/dist/record/codec/identifiers.d.cts +11 -2
- package/dist/record/codec/identifiers.d.mts +11 -2
- package/dist/record/codec/identifiers.d.ts +11 -2
- package/dist/record/codec/identifiers.js +36 -18
- package/dist/record/codec/index.js +86 -60
- package/dist/record/definition/attachment.cjs +108 -0
- package/dist/record/definition/attachment.cjs.map +1 -0
- package/dist/record/definition/attachment.d.cts +77 -0
- package/dist/record/definition/attachment.d.mts +77 -0
- package/dist/record/definition/attachment.d.ts +77 -0
- package/dist/record/definition/attachment.js +8 -0
- package/dist/record/definition/attachment.js.map +1 -0
- package/dist/record/definition/canonical.cjs +271 -0
- package/dist/record/definition/canonical.cjs.map +1 -0
- package/dist/record/definition/canonical.d.cts +38 -0
- package/dist/record/definition/canonical.d.mts +38 -0
- package/dist/record/definition/canonical.d.ts +38 -0
- package/dist/record/definition/canonical.js +10 -0
- package/dist/record/definition/canonical.js.map +1 -0
- package/dist/record/definition/core.cjs +13 -0
- package/dist/record/definition/core.cjs.map +1 -0
- package/dist/record/definition/core.d.cts +10 -0
- package/dist/record/definition/core.d.mts +10 -0
- package/dist/record/definition/core.d.ts +10 -0
- package/dist/record/definition/core.js +6 -0
- package/dist/record/definition/core.js.map +1 -0
- package/dist/record/definition/index.cjs +21 -0
- package/dist/record/definition/index.cjs.map +1 -0
- package/dist/record/definition/index.d.cts +4 -0
- package/dist/record/definition/index.d.mts +4 -0
- package/dist/record/definition/index.d.ts +4 -0
- package/dist/record/definition/index.js +16 -0
- package/dist/record/definition/index.js.map +1 -0
- package/dist/record/definition/schema-codec.cjs +347 -0
- package/dist/record/definition/schema-codec.cjs.map +1 -0
- package/dist/record/definition/schema-codec.d.cts +48 -0
- package/dist/record/definition/schema-codec.d.mts +48 -0
- package/dist/record/definition/schema-codec.d.ts +48 -0
- package/dist/record/definition/schema-codec.js +8 -0
- package/dist/record/definition/schema-codec.js.map +1 -0
- package/dist/record/errors/record-errors.cjs +2 -2
- package/dist/record/errors/record-errors.cjs.map +1 -1
- package/dist/record/errors/record-errors.d.cts +2 -2
- package/dist/record/errors/record-errors.d.mts +2 -2
- package/dist/record/errors/record-errors.d.ts +2 -2
- package/dist/record/family/artifacts.cjs +83 -0
- package/dist/record/family/artifacts.cjs.map +1 -0
- package/dist/record/family/artifacts.d.cts +225 -0
- package/dist/record/family/artifacts.d.mts +225 -0
- package/dist/record/family/artifacts.d.ts +225 -0
- package/dist/record/family/artifacts.js +14 -0
- package/dist/record/family/artifacts.js.map +1 -0
- package/dist/record/family/assertions.cjs +172 -0
- package/dist/record/family/assertions.cjs.map +1 -0
- package/dist/record/family/assertions.d.cts +292 -0
- package/dist/record/family/assertions.d.mts +292 -0
- package/dist/record/family/assertions.d.ts +292 -0
- package/dist/record/family/assertions.js +20 -0
- package/dist/record/family/assertions.js.map +1 -0
- package/dist/record/family/catalog.cjs +91 -0
- package/dist/record/family/catalog.cjs.map +1 -0
- package/dist/record/family/catalog.d.cts +3653 -0
- package/dist/record/family/catalog.d.mts +3653 -0
- package/dist/record/family/catalog.d.ts +3653 -0
- package/dist/record/family/catalog.js +34 -0
- package/dist/record/family/catalog.js.map +1 -0
- package/dist/record/family/common.cjs +80 -0
- package/dist/record/family/common.cjs.map +1 -0
- package/dist/record/family/common.d.cts +44 -0
- package/dist/record/family/common.d.mts +44 -0
- package/dist/record/family/common.d.ts +44 -0
- package/dist/record/family/common.js +28 -0
- package/dist/record/family/common.js.map +1 -0
- package/dist/record/family/file-changes.cjs +278 -0
- package/dist/record/family/file-changes.cjs.map +1 -0
- package/dist/record/family/file-changes.d.cts +643 -0
- package/dist/record/family/file-changes.d.mts +643 -0
- package/dist/record/family/file-changes.d.ts +643 -0
- package/dist/record/family/file-changes.js +32 -0
- package/dist/record/family/file-changes.js.map +1 -0
- package/dist/record/family/index.cjs +24 -0
- package/dist/record/family/index.cjs.map +1 -0
- package/dist/record/family/index.d.cts +7 -0
- package/dist/record/family/index.d.mts +7 -0
- package/dist/record/family/index.d.ts +7 -0
- package/dist/record/family/index.js +148 -0
- package/dist/record/family/index.js.map +1 -0
- package/dist/record/family/observability.cjs +511 -0
- package/dist/record/family/observability.cjs.map +1 -0
- package/dist/record/family/observability.d.cts +2879 -0
- package/dist/record/family/observability.d.mts +2879 -0
- package/dist/record/family/observability.d.ts +2879 -0
- package/dist/record/family/observability.js +30 -0
- package/dist/record/family/observability.js.map +1 -0
- package/dist/record/family/source-navigation.cjs +215 -0
- package/dist/record/family/source-navigation.cjs.map +1 -0
- package/dist/record/family/source-navigation.d.cts +330 -0
- package/dist/record/family/source-navigation.d.mts +330 -0
- package/dist/record/family/source-navigation.d.ts +330 -0
- package/dist/record/family/source-navigation.js +24 -0
- package/dist/record/family/source-navigation.js.map +1 -0
- package/dist/record/family/sources.cjs +82 -0
- package/dist/record/family/sources.cjs.map +1 -0
- package/dist/record/family/sources.d.cts +81 -0
- package/dist/record/family/sources.d.mts +81 -0
- package/dist/record/family/sources.d.ts +81 -0
- package/dist/record/family/sources.js +14 -0
- package/dist/record/family/sources.js.map +1 -0
- package/dist/record/host/index.cjs +11 -0
- package/dist/record/host/index.cjs.map +1 -0
- package/dist/record/host/index.d.cts +7 -0
- package/dist/record/host/index.d.mts +7 -0
- package/dist/record/host/index.d.ts +7 -0
- package/dist/record/host/index.js +6 -0
- package/dist/record/host/index.js.map +1 -0
- package/dist/record/host/index.mjs +6 -0
- package/dist/record/host/index.mjs.map +1 -0
- package/dist/record/host/runtime.cjs +1696 -0
- package/dist/record/host/runtime.cjs.map +1 -0
- package/dist/record/host/runtime.d.cts +2 -0
- package/dist/record/host/runtime.d.mts +2 -0
- package/dist/record/host/runtime.d.ts +2 -0
- package/dist/record/host/runtime.js +6 -0
- package/dist/record/host/types.cjs +9 -0
- package/dist/record/host/types.cjs.map +1 -0
- package/dist/record/host/types.d.cts +259 -0
- package/dist/record/host/types.d.mts +259 -0
- package/dist/record/host/types.d.ts +259 -0
- package/dist/record/host/types.js +14 -0
- package/dist/record/host/types.js.map +1 -0
- package/dist/record/index.cjs +19 -52
- package/dist/record/index.cjs.map +1 -1
- package/dist/record/index.d.cts +14 -11
- package/dist/record/index.d.mts +14 -11
- package/dist/record/index.d.ts +14 -11
- package/dist/record/index.js +16 -310
- package/dist/record/index.mjs +20 -0
- package/dist/record/index.mjs.map +1 -0
- package/dist/record/maintenance/runtime.cjs +9 -11
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/maintenance/runtime.d.cts +4 -5
- package/dist/record/maintenance/runtime.d.mts +4 -5
- package/dist/record/maintenance/runtime.d.ts +4 -5
- package/dist/record/maintenance/types.cjs.map +1 -1
- package/dist/record/maintenance/types.d.cts +7 -8
- package/dist/record/maintenance/types.d.mts +7 -8
- package/dist/record/maintenance/types.d.ts +7 -8
- package/dist/record/migration/index.cjs +2 -25
- package/dist/record/migration/index.cjs.map +1 -1
- package/dist/record/migration/index.d.cts +11 -8
- package/dist/record/migration/index.d.mts +11 -8
- package/dist/record/migration/index.d.ts +11 -8
- package/dist/record/migration/index.js +2 -44
- package/dist/record/model/core.cjs +1 -4
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +59 -39
- package/dist/record/model/core.d.mts +59 -39
- package/dist/record/model/core.d.ts +59 -39
- package/dist/record/model/definition.cjs +147 -0
- package/dist/record/model/definition.cjs.map +1 -0
- package/dist/record/model/definition.d.cts +463 -0
- package/dist/record/model/definition.d.mts +463 -0
- package/dist/record/model/definition.d.ts +463 -0
- package/dist/record/model/definition.js +40 -0
- package/dist/record/model/definition.js.map +1 -0
- package/dist/record/model/identifiers.cjs +52 -10
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +44 -3
- package/dist/record/model/identifiers.d.mts +44 -3
- package/dist/record/model/identifiers.d.ts +44 -3
- package/dist/record/model/identifiers.js +62 -36
- package/dist/record/model/index.cjs +1 -0
- package/dist/record/model/index.cjs.map +1 -1
- package/dist/record/model/index.d.cts +1 -0
- package/dist/record/model/index.d.mts +1 -0
- package/dist/record/model/index.d.ts +1 -0
- package/dist/record/model/index.js +86 -48
- package/dist/record/model/read-state.cjs.map +1 -1
- package/dist/record/model/read-state.d.cts +6 -9
- package/dist/record/model/read-state.d.mts +6 -9
- package/dist/record/model/read-state.d.ts +6 -9
- package/dist/record/model/run-context.cjs +80 -0
- package/dist/record/model/run-context.cjs.map +1 -0
- package/dist/record/model/run-context.d.cts +30 -0
- package/dist/record/model/run-context.d.mts +30 -0
- package/dist/record/model/run-context.d.ts +30 -0
- package/dist/record/model/run-context.js +14 -0
- package/dist/record/model/run-context.js.map +1 -0
- package/dist/record/model/validation.cjs +155 -54
- package/dist/record/model/validation.cjs.map +1 -1
- package/dist/record/model/validation.d.cts +16 -11
- package/dist/record/model/validation.d.mts +16 -11
- package/dist/record/model/validation.d.ts +16 -11
- package/dist/record/model/validation.js +10 -8
- package/dist/record/platform/errors.cjs +2 -8
- package/dist/record/platform/errors.cjs.map +1 -1
- package/dist/record/platform/errors.d.cts +3 -13
- package/dist/record/platform/errors.d.mts +3 -13
- package/dist/record/platform/errors.d.ts +3 -13
- package/dist/record/platform/errors.js +0 -2
- package/dist/record/platform/index.js +38 -48
- package/dist/record/platform/node.cjs +3 -142
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/node.d.cts +2 -4
- package/dist/record/platform/node.d.mts +2 -4
- package/dist/record/platform/node.d.ts +2 -4
- package/dist/record/platform/node.js +0 -4
- package/dist/record/platform/root.cjs +0 -11
- package/dist/record/platform/root.cjs.map +1 -1
- package/dist/record/platform/root.d.cts +0 -2
- package/dist/record/platform/root.d.mts +0 -2
- package/dist/record/platform/root.d.ts +0 -2
- package/dist/record/platform/services.cjs +1 -7
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +2 -29
- package/dist/record/platform/services.d.mts +2 -29
- package/dist/record/platform/services.d.ts +2 -29
- package/dist/record/platform/services.js +2 -6
- package/dist/record/reader/errors.cjs.map +1 -1
- package/dist/record/reader/errors.d.cts +3 -2
- package/dist/record/reader/errors.d.mts +3 -2
- package/dist/record/reader/errors.d.ts +3 -2
- package/dist/record/reader/format.cjs +26 -40
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +6 -7
- package/dist/record/reader/format.d.mts +6 -7
- package/dist/record/reader/format.d.ts +6 -7
- package/dist/record/reader/index.js +22 -30
- package/dist/record/reader/runtime.cjs +112 -636
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +43 -12
- package/dist/record/reader/runtime.d.mts +43 -12
- package/dist/record/reader/runtime.d.ts +43 -12
- package/dist/record/reader/runtime.js +6 -10
- package/dist/record/reader/types.cjs +3 -6
- package/dist/record/reader/types.cjs.map +1 -1
- package/dist/record/reader/types.d.cts +3 -42
- package/dist/record/reader/types.d.mts +3 -42
- package/dist/record/reader/types.d.ts +3 -42
- package/dist/record/reader/types.js +0 -4
- package/dist/record/writer/errors.cjs +7 -0
- package/dist/record/writer/errors.cjs.map +1 -1
- package/dist/record/writer/errors.d.cts +5 -0
- package/dist/record/writer/errors.d.mts +5 -0
- package/dist/record/writer/errors.d.ts +5 -0
- package/dist/record/writer/errors.js +6 -4
- package/dist/record/writer/index.cjs +0 -1
- package/dist/record/writer/index.cjs.map +1 -1
- package/dist/record/writer/index.d.cts +0 -1
- package/dist/record/writer/index.d.mts +0 -1
- package/dist/record/writer/index.d.ts +0 -1
- package/dist/record/writer/index.js +10 -10
- package/dist/record/writer/types.cjs.map +1 -1
- package/dist/record/writer/types.d.cts +12 -17
- package/dist/record/writer/types.d.mts +12 -17
- package/dist/record/writer/types.d.ts +12 -17
- package/dist/report/assets/colors.cjs +70 -0
- package/dist/report/assets/colors.cjs.map +1 -0
- package/dist/report/assets/colors.d.cts +22 -0
- package/dist/report/assets/colors.d.mts +22 -0
- package/dist/report/assets/colors.d.ts +22 -0
- package/dist/report/assets/colors.js +18 -0
- package/dist/report/assets/colors.js.map +1 -0
- package/dist/report/assets/enhance.js +466 -0
- package/dist/report/assets/series-encoding.cjs +116 -0
- package/dist/report/assets/series-encoding.cjs.map +1 -0
- package/dist/report/assets/series-encoding.d.cts +36 -0
- package/dist/report/assets/series-encoding.d.mts +36 -0
- package/dist/report/assets/series-encoding.d.ts +36 -0
- package/dist/report/assets/series-encoding.js +22 -0
- package/dist/report/assets/series-encoding.js.map +1 -0
- package/dist/report/assets/styles.css +2678 -0
- package/dist/report/built-in/analysis-values.cjs +28 -0
- package/dist/report/built-in/analysis-values.cjs.map +1 -0
- package/dist/report/built-in/analysis-values.d.cts +41 -0
- package/dist/report/built-in/analysis-values.d.mts +41 -0
- package/dist/report/built-in/analysis-values.d.ts +41 -0
- package/dist/report/built-in/analysis-values.js +10 -0
- package/dist/report/built-in/analysis-values.js.map +1 -0
- package/dist/report/built-in/attempt-overview.cjs +62 -384
- package/dist/report/built-in/attempt-overview.cjs.map +1 -1
- package/dist/report/built-in/attempt-overview.d.cts +4 -8
- package/dist/report/built-in/attempt-overview.d.mts +4 -8
- package/dist/report/built-in/attempt-overview.d.ts +4 -8
- package/dist/report/built-in/execution.cjs +40 -747
- package/dist/report/built-in/execution.cjs.map +1 -1
- package/dist/report/built-in/execution.d.cts +10 -19
- package/dist/report/built-in/execution.d.mts +10 -19
- package/dist/report/built-in/execution.d.ts +10 -19
- package/dist/report/built-in/index.cjs +15 -28
- package/dist/report/built-in/index.cjs.map +1 -1
- package/dist/report/built-in/index.d.cts +4 -6
- package/dist/report/built-in/index.d.mts +4 -6
- package/dist/report/built-in/index.d.ts +4 -6
- package/dist/report/built-in/index.js +22 -31
- package/dist/report/built-in/index.mjs +22 -31
- package/dist/report/built-in/machine.cjs +41 -0
- package/dist/report/built-in/machine.cjs.map +1 -0
- package/dist/report/built-in/machine.d.cts +29 -0
- package/dist/report/built-in/machine.d.mts +29 -0
- package/dist/report/built-in/machine.d.ts +29 -0
- package/dist/report/built-in/machine.js +8 -0
- package/dist/report/built-in/machine.js.map +1 -0
- package/dist/report/built-in/overview.cjs +38 -200
- package/dist/report/built-in/overview.cjs.map +1 -1
- package/dist/report/built-in/overview.d.cts +5 -5
- package/dist/report/built-in/overview.d.mts +5 -5
- package/dist/report/built-in/overview.d.ts +5 -5
- package/dist/report/built-in/overview.js +0 -2
- package/dist/report/built-in/result-components.cjs +325 -0
- package/dist/report/built-in/result-components.cjs.map +1 -0
- package/dist/report/built-in/result-components.d.cts +94 -0
- package/dist/report/built-in/result-components.d.mts +94 -0
- package/dist/report/built-in/result-components.d.ts +94 -0
- package/dist/report/built-in/result-components.js +24 -0
- package/dist/report/built-in/result-components.js.map +1 -0
- package/dist/report/built-in/run-membership-overview.cjs +48 -184
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
- package/dist/report/built-in/run-membership-overview.d.cts +5 -5
- package/dist/report/built-in/run-membership-overview.d.mts +5 -5
- package/dist/report/built-in/run-membership-overview.d.ts +5 -5
- package/dist/report/built-in/sandbox-history.cjs +31 -372
- package/dist/report/built-in/sandbox-history.cjs.map +1 -1
- package/dist/report/built-in/sandbox-history.d.cts +5 -8
- package/dist/report/built-in/sandbox-history.d.mts +5 -8
- package/dist/report/built-in/sandbox-history.d.ts +5 -8
- package/dist/report/built-in/source.cjs +40 -150
- package/dist/report/built-in/source.cjs.map +1 -1
- package/dist/report/built-in/source.d.cts +10 -11
- package/dist/report/built-in/source.d.mts +10 -11
- package/dist/report/built-in/source.d.ts +10 -11
- package/dist/report/built-in/source.js +1 -0
- package/dist/report/built-in/standard.cjs +135 -0
- package/dist/report/built-in/standard.cjs.map +1 -0
- package/dist/report/built-in/standard.d.cts +91 -0
- package/dist/report/built-in/standard.d.mts +91 -0
- package/dist/report/built-in/standard.d.ts +91 -0
- package/dist/report/built-in/standard.js +17 -0
- package/dist/report/built-in/standard.js.map +1 -0
- package/dist/report/components/attempt-detail/compute.cjs +763 -0
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -0
- package/dist/report/components/attempt-detail/compute.d.cts +370 -0
- package/dist/report/components/attempt-detail/compute.d.mts +370 -0
- package/dist/report/components/attempt-detail/compute.d.ts +370 -0
- package/dist/report/components/attempt-detail/compute.js +46 -0
- package/dist/report/components/attempt-detail/compute.js.map +1 -0
- package/dist/report/components/attempt-detail/content.cjs +411 -0
- package/dist/report/components/attempt-detail/content.cjs.map +1 -0
- package/dist/report/components/attempt-detail/content.d.cts +34 -0
- package/dist/report/components/attempt-detail/content.d.mts +34 -0
- package/dist/report/components/attempt-detail/content.d.ts +34 -0
- package/dist/report/components/attempt-detail/content.js +30 -0
- package/dist/report/components/attempt-detail/content.js.map +1 -0
- package/dist/report/components/attempt-detail/index.cjs +314 -0
- package/dist/report/components/attempt-detail/index.cjs.map +1 -0
- package/dist/report/components/attempt-detail/index.d.cts +27 -0
- package/dist/report/components/attempt-detail/index.d.mts +27 -0
- package/dist/report/components/attempt-detail/index.d.ts +27 -0
- package/dist/report/components/attempt-detail/index.js +34 -0
- package/dist/report/components/attempt-detail/index.js.map +1 -0
- package/dist/report/components/attempt-detail/validate.cjs +497 -0
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -0
- package/dist/report/components/attempt-detail/validate.d.cts +14 -0
- package/dist/report/components/attempt-detail/validate.d.mts +14 -0
- package/dist/report/components/attempt-detail/validate.d.ts +14 -0
- package/dist/report/components/attempt-detail/validate.js +30 -0
- package/dist/report/components/attempt-detail/validate.js.map +1 -0
- package/dist/report/components/entity-lists/compute.cjs +426 -0
- package/dist/report/components/entity-lists/compute.cjs.map +1 -0
- package/dist/report/components/entity-lists/compute.d.cts +107 -0
- package/dist/report/components/entity-lists/compute.d.mts +107 -0
- package/dist/report/components/entity-lists/compute.d.ts +107 -0
- package/dist/report/components/entity-lists/compute.js +12 -0
- package/dist/report/components/entity-lists/compute.js.map +1 -0
- package/dist/report/components/entity-lists/content.cjs +275 -0
- package/dist/report/components/entity-lists/content.cjs.map +1 -0
- package/dist/report/components/entity-lists/content.d.cts +4 -0
- package/dist/report/components/entity-lists/content.d.mts +4 -0
- package/dist/report/components/entity-lists/content.d.ts +4 -0
- package/dist/report/components/entity-lists/content.js +8 -0
- package/dist/report/components/entity-lists/content.js.map +1 -0
- package/dist/report/components/entity-lists/index.cjs +48 -0
- package/dist/report/components/entity-lists/index.cjs.map +1 -0
- package/dist/report/components/entity-lists/index.d.cts +39 -0
- package/dist/report/components/entity-lists/index.d.mts +39 -0
- package/dist/report/components/entity-lists/index.d.ts +39 -0
- package/dist/report/components/entity-lists/index.js +22 -0
- package/dist/report/components/entity-lists/index.js.map +1 -0
- package/dist/report/components/experiment-detail/compute.cjs +228 -0
- package/dist/report/components/experiment-detail/compute.cjs.map +1 -0
- package/dist/report/components/experiment-detail/compute.d.cts +72 -0
- package/dist/report/components/experiment-detail/compute.d.mts +72 -0
- package/dist/report/components/experiment-detail/compute.d.ts +72 -0
- package/dist/report/components/experiment-detail/compute.js +6 -0
- package/dist/report/components/experiment-detail/compute.js.map +1 -0
- package/dist/report/components/experiment-detail/index.cjs +84 -0
- package/dist/report/components/experiment-detail/index.cjs.map +1 -0
- package/dist/report/components/experiment-detail/index.d.cts +13 -0
- package/dist/report/components/experiment-detail/index.d.mts +13 -0
- package/dist/report/components/experiment-detail/index.d.ts +13 -0
- package/dist/report/components/experiment-detail/index.js +6 -0
- package/dist/report/components/experiment-detail/index.js.map +1 -0
- package/dist/report/components/site-components/HeroCard.cjs +38 -0
- package/dist/report/components/site-components/HeroCard.cjs.map +1 -0
- package/dist/report/components/site-components/HeroCard.d.cts +14 -0
- package/dist/report/components/site-components/HeroCard.d.mts +14 -0
- package/dist/report/components/site-components/HeroCard.d.ts +14 -0
- package/dist/report/components/site-components/HeroCard.js +6 -0
- package/dist/report/components/site-components/HeroCard.js.map +1 -0
- package/dist/report/components/site-components/PoweredBy.cjs +12 -0
- package/dist/report/components/site-components/PoweredBy.cjs.map +1 -0
- package/dist/report/components/site-components/PoweredBy.d.cts +5 -0
- package/dist/report/components/site-components/PoweredBy.d.mts +5 -0
- package/dist/report/components/site-components/PoweredBy.d.ts +5 -0
- package/dist/report/components/site-components/PoweredBy.js +8 -0
- package/dist/report/components/site-components/PoweredBy.js.map +1 -0
- package/dist/report/components/site-components/compute.cjs +130 -0
- package/dist/report/components/site-components/compute.cjs.map +1 -0
- package/dist/report/components/site-components/compute.d.cts +36 -0
- package/dist/report/components/site-components/compute.d.mts +36 -0
- package/dist/report/components/site-components/compute.d.ts +36 -0
- package/dist/report/components/site-components/compute.js +16 -0
- package/dist/report/components/site-components/compute.js.map +1 -0
- package/dist/report/components/site-components/content.cjs +9 -0
- package/dist/report/components/site-components/content.cjs.map +1 -0
- package/dist/report/components/site-components/content.d.cts +118 -0
- package/dist/report/components/site-components/content.d.mts +118 -0
- package/dist/report/components/site-components/content.d.ts +118 -0
- package/dist/report/components/site-components/content.js +12 -0
- package/dist/report/components/site-components/content.js.map +1 -0
- package/dist/report/components/site-components/faces.cjs +33 -0
- package/dist/report/components/site-components/faces.cjs.map +1 -0
- package/dist/report/components/site-components/faces.d.cts +9 -0
- package/dist/report/components/site-components/faces.d.mts +9 -0
- package/dist/report/components/site-components/faces.d.ts +9 -0
- package/dist/report/components/site-components/faces.js +6 -0
- package/dist/report/components/site-components/faces.js.map +1 -0
- package/dist/report/components/site-components/hero-types.cjs +3 -0
- package/dist/report/components/site-components/hero-types.cjs.map +1 -0
- package/dist/report/components/site-components/hero-types.d.cts +17 -0
- package/dist/report/components/site-components/hero-types.d.mts +17 -0
- package/dist/report/components/site-components/hero-types.d.ts +17 -0
- package/dist/report/components/site-components/hero-types.js +4 -0
- package/dist/report/components/site-components/hero-types.js.map +1 -0
- package/dist/report/components/site-components/index.cjs +90 -0
- package/dist/report/components/site-components/index.cjs.map +1 -0
- package/dist/report/components/site-components/index.d.cts +58 -0
- package/dist/report/components/site-components/index.d.mts +58 -0
- package/dist/report/components/site-components/index.d.ts +58 -0
- package/dist/report/components/site-components/index.js +26 -0
- package/dist/report/components/site-components/index.js.map +1 -0
- package/dist/report/components/site-components/projections.cjs +86 -0
- package/dist/report/components/site-components/projections.cjs.map +1 -0
- package/dist/report/components/site-components/projections.d.cts +11 -0
- package/dist/report/components/site-components/projections.d.mts +11 -0
- package/dist/report/components/site-components/projections.d.ts +11 -0
- package/dist/report/components/site-components/projections.js +12 -0
- package/dist/report/components/site-components/projections.js.map +1 -0
- package/dist/report/components/site-components/scope-warnings.cjs +89 -0
- package/dist/report/components/site-components/scope-warnings.cjs.map +1 -0
- package/dist/report/components/site-components/scope-warnings.d.cts +34 -0
- package/dist/report/components/site-components/scope-warnings.d.mts +34 -0
- package/dist/report/components/site-components/scope-warnings.d.ts +34 -0
- package/dist/report/components/site-components/scope-warnings.js +8 -0
- package/dist/report/components/site-components/scope-warnings.js.map +1 -0
- package/dist/report/components/site-components/snapshot-diagnostics.cjs +43 -0
- package/dist/report/components/site-components/snapshot-diagnostics.cjs.map +1 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.cts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.mts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.ts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.js +8 -0
- package/dist/report/components/site-components/snapshot-diagnostics.js.map +1 -0
- package/dist/report/components/site-components/validators.cjs +140 -0
- package/dist/report/components/site-components/validators.cjs.map +1 -0
- package/dist/report/components/site-components/validators.d.cts +9 -0
- package/dist/report/components/site-components/validators.d.mts +9 -0
- package/dist/report/components/site-components/validators.d.ts +9 -0
- package/dist/report/components/site-components/validators.js +16 -0
- package/dist/report/components/site-components/validators.js.map +1 -0
- package/dist/report/components/summaries/compute.cjs +224 -0
- package/dist/report/components/summaries/compute.cjs.map +1 -0
- package/dist/report/components/summaries/compute.d.cts +78 -0
- package/dist/report/components/summaries/compute.d.mts +78 -0
- package/dist/report/components/summaries/compute.d.ts +78 -0
- package/dist/report/components/summaries/compute.js +10 -0
- package/dist/report/components/summaries/compute.js.map +1 -0
- package/dist/report/components/summaries/index.cjs +68 -0
- package/dist/report/components/summaries/index.cjs.map +1 -0
- package/dist/report/components/summaries/index.d.cts +42 -0
- package/dist/report/components/summaries/index.d.mts +42 -0
- package/dist/report/components/summaries/index.d.ts +42 -0
- package/dist/report/components/summaries/index.js +12 -0
- package/dist/report/components/summaries/index.js.map +1 -0
- package/dist/report/components/summaries/stability-overview.cjs +27 -0
- package/dist/report/components/summaries/stability-overview.cjs.map +1 -0
- package/dist/report/components/summaries/stability-overview.d.cts +19 -0
- package/dist/report/components/summaries/stability-overview.d.mts +19 -0
- package/dist/report/components/summaries/stability-overview.d.ts +19 -0
- package/dist/report/components/summaries/stability-overview.js +6 -0
- package/dist/report/components/summaries/stability-overview.js.map +1 -0
- package/dist/report/definition/cell.cjs +90 -0
- package/dist/report/definition/cell.cjs.map +1 -0
- package/dist/report/definition/cell.d.cts +99 -0
- package/dist/report/definition/cell.d.mts +99 -0
- package/dist/report/definition/cell.d.ts +99 -0
- package/dist/report/definition/cell.js +8 -0
- package/dist/report/definition/cell.js.map +1 -0
- package/dist/report/definition/grid-layout.cjs +151 -0
- package/dist/report/definition/grid-layout.cjs.map +1 -0
- package/dist/report/definition/grid-layout.d.cts +77 -0
- package/dist/report/definition/grid-layout.d.mts +77 -0
- package/dist/report/definition/grid-layout.d.ts +77 -0
- package/dist/report/definition/grid-layout.js +20 -0
- package/dist/report/definition/grid-layout.js.map +1 -0
- package/dist/report/definition/primitives/callouts-logic.cjs +113 -0
- package/dist/report/definition/primitives/callouts-logic.cjs.map +1 -0
- package/dist/report/definition/primitives/callouts-logic.d.cts +26 -0
- package/dist/report/definition/primitives/callouts-logic.d.mts +26 -0
- package/dist/report/definition/primitives/callouts-logic.d.ts +26 -0
- package/dist/report/definition/primitives/callouts-logic.js +20 -0
- package/dist/report/definition/primitives/callouts-logic.js.map +1 -0
- package/dist/report/definition/primitives/callouts.cjs +105 -0
- package/dist/report/definition/primitives/callouts.cjs.map +1 -0
- package/dist/report/definition/primitives/callouts.d.cts +9 -0
- package/dist/report/definition/primitives/callouts.d.mts +9 -0
- package/dist/report/definition/primitives/callouts.d.ts +9 -0
- package/dist/report/definition/primitives/callouts.js +6 -0
- package/dist/report/definition/primitives/callouts.js.map +1 -0
- package/dist/report/definition/primitives/chart-map.cjs +138 -0
- package/dist/report/definition/primitives/chart-map.cjs.map +1 -0
- package/dist/report/definition/primitives/chart-map.d.cts +77 -0
- package/dist/report/definition/primitives/chart-map.d.mts +77 -0
- package/dist/report/definition/primitives/chart-map.d.ts +77 -0
- package/dist/report/definition/primitives/chart-map.js +12 -0
- package/dist/report/definition/primitives/chart-map.js.map +1 -0
- package/dist/report/definition/primitives/chart.cjs +651 -0
- package/dist/report/definition/primitives/chart.cjs.map +1 -0
- package/dist/report/definition/primitives/chart.d.cts +43 -0
- package/dist/report/definition/primitives/chart.d.mts +43 -0
- package/dist/report/definition/primitives/chart.d.ts +43 -0
- package/dist/report/definition/primitives/chart.js +8 -0
- package/dist/report/definition/primitives/chart.js.map +1 -0
- package/dist/report/definition/primitives/conversation.cjs +255 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -0
- package/dist/report/definition/primitives/conversation.d.cts +71 -0
- package/dist/report/definition/primitives/conversation.d.mts +71 -0
- package/dist/report/definition/primitives/conversation.d.ts +71 -0
- package/dist/report/definition/primitives/conversation.js +16 -0
- package/dist/report/definition/primitives/conversation.js.map +1 -0
- package/dist/report/definition/primitives/copy-block.cjs +55 -0
- package/dist/report/definition/primitives/copy-block.cjs.map +1 -0
- package/dist/report/definition/primitives/copy-block.d.cts +19 -0
- package/dist/report/definition/primitives/copy-block.d.mts +19 -0
- package/dist/report/definition/primitives/copy-block.d.ts +19 -0
- package/dist/report/definition/primitives/copy-block.js +6 -0
- package/dist/report/definition/primitives/copy-block.js.map +1 -0
- package/dist/report/definition/primitives/diff-lines.cjs +163 -0
- package/dist/report/definition/primitives/diff-lines.cjs.map +1 -0
- package/dist/report/definition/primitives/diff-lines.d.cts +68 -0
- package/dist/report/definition/primitives/diff-lines.d.mts +68 -0
- package/dist/report/definition/primitives/diff-lines.d.ts +68 -0
- package/dist/report/definition/primitives/diff-lines.js +28 -0
- package/dist/report/definition/primitives/diff-lines.js.map +1 -0
- package/dist/report/definition/primitives/diff-view.cjs +155 -0
- package/dist/report/definition/primitives/diff-view.cjs.map +1 -0
- package/dist/report/definition/primitives/diff-view.d.cts +14 -0
- package/dist/report/definition/primitives/diff-view.d.mts +14 -0
- package/dist/report/definition/primitives/diff-view.d.ts +14 -0
- package/dist/report/definition/primitives/diff-view.js +8 -0
- package/dist/report/definition/primitives/diff-view.js.map +1 -0
- package/dist/report/definition/primitives/downloads.cjs +89 -0
- package/dist/report/definition/primitives/downloads.cjs.map +1 -0
- package/dist/report/definition/primitives/downloads.d.cts +28 -0
- package/dist/report/definition/primitives/downloads.d.mts +28 -0
- package/dist/report/definition/primitives/downloads.d.ts +28 -0
- package/dist/report/definition/primitives/downloads.js +8 -0
- package/dist/report/definition/primitives/downloads.js.map +1 -0
- package/dist/report/definition/primitives/markdown.cjs +290 -0
- package/dist/report/definition/primitives/markdown.cjs.map +1 -0
- package/dist/report/definition/primitives/markdown.d.cts +29 -0
- package/dist/report/definition/primitives/markdown.d.mts +29 -0
- package/dist/report/definition/primitives/markdown.d.ts +29 -0
- package/dist/report/definition/primitives/markdown.js +16 -0
- package/dist/report/definition/primitives/markdown.js.map +1 -0
- package/dist/report/definition/primitives/marks.cjs +96 -0
- package/dist/report/definition/primitives/marks.cjs.map +1 -0
- package/dist/report/definition/primitives/marks.d.cts +125 -0
- package/dist/report/definition/primitives/marks.d.mts +125 -0
- package/dist/report/definition/primitives/marks.d.ts +125 -0
- package/dist/report/definition/primitives/marks.js +14 -0
- package/dist/report/definition/primitives/marks.js.map +1 -0
- package/dist/report/definition/primitives/points-dataset.cjs +147 -0
- package/dist/report/definition/primitives/points-dataset.cjs.map +1 -0
- package/dist/report/definition/primitives/points-dataset.d.cts +17 -0
- package/dist/report/definition/primitives/points-dataset.d.mts +17 -0
- package/dist/report/definition/primitives/points-dataset.d.ts +17 -0
- package/dist/report/definition/primitives/points-dataset.js +6 -0
- package/dist/report/definition/primitives/points-dataset.js.map +1 -0
- package/dist/report/definition/primitives/shared.cjs +131 -0
- package/dist/report/definition/primitives/shared.cjs.map +1 -0
- package/dist/report/definition/primitives/shared.d.cts +67 -0
- package/dist/report/definition/primitives/shared.d.mts +67 -0
- package/dist/report/definition/primitives/shared.d.ts +67 -0
- package/dist/report/definition/primitives/shared.js +34 -0
- package/dist/report/definition/primitives/shared.js.map +1 -0
- package/dist/report/definition/primitives/source-view.cjs +204 -0
- package/dist/report/definition/primitives/source-view.cjs.map +1 -0
- package/dist/report/definition/primitives/source-view.d.cts +47 -0
- package/dist/report/definition/primitives/source-view.d.mts +47 -0
- package/dist/report/definition/primitives/source-view.d.ts +47 -0
- package/dist/report/definition/primitives/source-view.js +8 -0
- package/dist/report/definition/primitives/source-view.js.map +1 -0
- package/dist/report/definition/primitives/text-panel-state.cjs +38 -0
- package/dist/report/definition/primitives/text-panel-state.cjs.map +1 -0
- package/dist/report/definition/primitives/text-panel-state.d.cts +9 -0
- package/dist/report/definition/primitives/text-panel-state.d.mts +9 -0
- package/dist/report/definition/primitives/text-panel-state.d.ts +9 -0
- package/dist/report/definition/primitives/text-panel-state.js +12 -0
- package/dist/report/definition/primitives/text-panel-state.js.map +1 -0
- package/dist/report/definition/primitives/tool-evidence.cjs +95 -0
- package/dist/report/definition/primitives/tool-evidence.cjs.map +1 -0
- package/dist/report/definition/primitives/tool-evidence.d.cts +11 -0
- package/dist/report/definition/primitives/tool-evidence.d.mts +11 -0
- package/dist/report/definition/primitives/tool-evidence.d.ts +11 -0
- package/dist/report/definition/primitives/tool-evidence.js +6 -0
- package/dist/report/definition/primitives/tool-evidence.js.map +1 -0
- package/dist/report/definition/primitives/turn-trace.cjs +205 -0
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -0
- package/dist/report/definition/primitives/turn-trace.d.cts +8 -0
- package/dist/report/definition/primitives/turn-trace.d.mts +8 -0
- package/dist/report/definition/primitives/turn-trace.d.ts +8 -0
- package/dist/report/definition/primitives/turn-trace.js +6 -0
- package/dist/report/definition/primitives/turn-trace.js.map +1 -0
- package/dist/report/definition/primitives/waterfall.cjs +206 -0
- package/dist/report/definition/primitives/waterfall.cjs.map +1 -0
- package/dist/report/definition/primitives/waterfall.d.cts +34 -0
- package/dist/report/definition/primitives/waterfall.d.mts +34 -0
- package/dist/report/definition/primitives/waterfall.d.ts +34 -0
- package/dist/report/definition/primitives/waterfall.js +8 -0
- package/dist/report/definition/primitives/waterfall.js.map +1 -0
- package/dist/report/definition/primitives.cjs +826 -0
- package/dist/report/definition/primitives.cjs.map +1 -0
- package/dist/report/definition/primitives.d.cts +194 -0
- package/dist/report/definition/primitives.d.mts +194 -0
- package/dist/report/definition/primitives.d.ts +194 -0
- package/dist/report/definition/primitives.js +84 -0
- package/dist/report/definition/primitives.js.map +1 -0
- package/dist/report/definition/report.cjs +778 -0
- package/dist/report/definition/report.cjs.map +1 -0
- package/dist/report/definition/report.d.cts +203 -0
- package/dist/report/definition/report.d.mts +203 -0
- package/dist/report/definition/report.d.ts +203 -0
- package/dist/report/definition/report.js +16 -0
- package/dist/report/definition/report.js.map +1 -0
- package/dist/report/definition/table-text.cjs +184 -0
- package/dist/report/definition/table-text.cjs.map +1 -0
- package/dist/report/definition/table-text.d.cts +14 -0
- package/dist/report/definition/table-text.d.mts +14 -0
- package/dist/report/definition/table-text.d.ts +14 -0
- package/dist/report/definition/table-text.js +6 -0
- package/dist/report/definition/table-text.js.map +1 -0
- package/dist/report/definition/tree.cjs +685 -0
- package/dist/report/definition/tree.cjs.map +1 -0
- package/dist/report/definition/tree.d.cts +165 -0
- package/dist/report/definition/tree.d.mts +165 -0
- package/dist/report/definition/tree.d.ts +165 -0
- package/dist/report/definition/tree.js +44 -0
- package/dist/report/definition/tree.js.map +1 -0
- package/dist/report/execution/machine.cjs +587 -0
- package/dist/report/execution/machine.cjs.map +1 -0
- package/dist/report/execution/machine.d.cts +291 -0
- package/dist/report/execution/machine.d.mts +291 -0
- package/dist/report/execution/machine.d.ts +291 -0
- package/dist/report/execution/machine.js +36 -0
- package/dist/report/execution/machine.js.map +1 -0
- package/dist/report/execution/model.cjs +91 -463
- package/dist/report/execution/model.cjs.map +1 -1
- package/dist/report/execution/model.d.cts +57 -39
- package/dist/report/execution/model.d.mts +57 -39
- package/dist/report/execution/model.d.ts +57 -39
- package/dist/report/execution/model.js +36 -12
- package/dist/report/execution/paths.cjs +182 -0
- package/dist/report/execution/paths.cjs.map +1 -0
- package/dist/report/execution/paths.d.cts +27 -0
- package/dist/report/execution/paths.d.mts +27 -0
- package/dist/report/execution/paths.d.ts +27 -0
- package/dist/report/execution/paths.js +20 -0
- package/dist/report/execution/paths.js.map +1 -0
- package/dist/report/extension/assets.cjs +143 -0
- package/dist/report/extension/assets.cjs.map +1 -0
- package/dist/report/extension/assets.d.cts +17 -0
- package/dist/report/extension/assets.d.mts +17 -0
- package/dist/report/extension/assets.d.ts +17 -0
- package/dist/report/extension/assets.js +10 -0
- package/dist/report/extension/assets.js.map +1 -0
- package/dist/report/extension/define.cjs +119 -0
- package/dist/report/extension/define.cjs.map +1 -0
- package/dist/report/extension/define.d.cts +11 -0
- package/dist/report/extension/define.d.mts +11 -0
- package/dist/report/extension/define.d.ts +11 -0
- package/dist/report/extension/define.js +6 -0
- package/dist/report/extension/define.js.map +1 -0
- package/dist/report/extension/index.cjs +10 -0
- package/dist/report/extension/index.cjs.map +1 -0
- package/dist/report/extension/index.d.cts +6 -0
- package/dist/report/extension/index.d.mts +6 -0
- package/dist/report/extension/index.d.ts +6 -0
- package/dist/report/extension/index.js +10 -0
- package/dist/report/extension/index.js.map +1 -0
- package/dist/report/extension/index.mjs +10 -0
- package/dist/report/extension/index.mjs.map +1 -0
- package/dist/report/extension/meta.cjs +59 -0
- package/dist/report/extension/meta.cjs.map +1 -0
- package/dist/report/extension/meta.d.cts +13 -0
- package/dist/report/extension/meta.d.mts +13 -0
- package/dist/report/extension/meta.d.ts +13 -0
- package/dist/report/extension/meta.js +12 -0
- package/dist/report/extension/meta.js.map +1 -0
- package/dist/report/extension/types.cjs +3 -0
- package/dist/report/extension/types.cjs.map +1 -0
- package/dist/report/extension/types.d.cts +44 -0
- package/dist/report/extension/types.d.mts +44 -0
- package/dist/report/extension/types.d.ts +44 -0
- package/dist/report/extension/types.js +4 -0
- package/dist/report/extension/types.js.map +1 -0
- package/dist/report/host/execute.cjs +457 -1238
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +66 -19
- package/dist/report/host/execute.d.mts +66 -19
- package/dist/report/host/execute.d.ts +66 -19
- package/dist/report/host/execute.js +10 -2
- package/dist/report/host/from-record.cjs +441 -27
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/from-record.d.cts +62 -30
- package/dist/report/host/from-record.d.mts +62 -30
- package/dist/report/host/from-record.d.ts +62 -30
- package/dist/report/host/from-record.js +8 -4
- package/dist/report/host/index.cjs +31 -18
- package/dist/report/host/index.cjs.map +1 -1
- package/dist/report/host/index.d.cts +20 -11
- package/dist/report/host/index.d.mts +20 -11
- package/dist/report/host/index.d.ts +20 -11
- package/dist/report/host/index.js +2 -20
- package/dist/report/host/index.mjs +6 -0
- package/dist/report/host/index.mjs.map +1 -0
- package/dist/report/host/machine.cjs +102 -0
- package/dist/report/host/machine.cjs.map +1 -0
- package/dist/report/host/machine.d.cts +7 -0
- package/dist/report/host/machine.d.mts +7 -0
- package/dist/report/host/machine.d.ts +7 -0
- package/dist/report/host/machine.js +6 -0
- package/dist/report/host/machine.js.map +1 -0
- package/dist/report/host/node/loader.cjs +40 -19
- package/dist/report/host/node/loader.cjs.map +1 -1
- package/dist/report/host/node/loader.d.cts +8 -7
- package/dist/report/host/node/loader.d.mts +8 -7
- package/dist/report/host/node/loader.d.ts +8 -7
- package/dist/report/host/node.cjs +1 -1
- package/dist/report/host/node.cjs.map +1 -1
- package/dist/report/host/node.d.cts +3 -3
- package/dist/report/host/node.d.mts +3 -3
- package/dist/report/host/node.d.ts +3 -3
- package/dist/report/host/progress.cjs +41 -0
- package/dist/report/host/progress.cjs.map +1 -0
- package/dist/report/host/progress.d.cts +22 -0
- package/dist/report/host/progress.d.mts +22 -0
- package/dist/report/host/progress.d.ts +22 -0
- package/dist/report/host/progress.js +8 -0
- package/dist/report/host/progress.js.map +1 -0
- package/dist/report/host/show-target.cjs +214 -0
- package/dist/report/host/show-target.cjs.map +1 -0
- package/dist/report/host/show-target.d.cts +107 -0
- package/dist/report/host/show-target.d.mts +107 -0
- package/dist/report/host/show-target.d.ts +107 -0
- package/dist/report/host/show-target.js +8 -0
- package/dist/report/host/show-target.js.map +1 -0
- package/dist/report/host/site-assets.cjs +11 -0
- package/dist/report/host/site-assets.cjs.map +1 -0
- package/dist/report/host/site-assets.d.cts +7 -0
- package/dist/report/host/site-assets.d.mts +7 -0
- package/dist/report/host/site-assets.d.ts +7 -0
- package/dist/report/host/site-assets.js +8 -0
- package/dist/report/host/site-assets.js.map +1 -0
- package/dist/report/host/site-runtime.cjs +91 -0
- package/dist/report/host/site-runtime.cjs.map +1 -0
- package/dist/report/host/site-runtime.d.cts +9 -0
- package/dist/report/host/site-runtime.d.mts +9 -0
- package/dist/report/host/site-runtime.d.ts +9 -0
- package/dist/report/host/site-runtime.js +10 -0
- package/dist/report/host/site-runtime.js.map +1 -0
- package/dist/report/host/static.cjs +694 -99
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/host/static.d.cts +36 -19
- package/dist/report/host/static.d.mts +36 -19
- package/dist/report/host/static.d.ts +36 -19
- package/dist/report/host/static.js +14 -4
- package/dist/report/host/target-route.cjs +58 -0
- package/dist/report/host/target-route.cjs.map +1 -0
- package/dist/report/host/target-route.d.cts +15 -0
- package/dist/report/host/target-route.d.mts +15 -0
- package/dist/report/host/target-route.d.ts +15 -0
- package/dist/report/host/target-route.js +8 -0
- package/dist/report/host/target-route.js.map +1 -0
- package/dist/report/host/view-session.cjs +68 -51
- package/dist/report/host/view-session.cjs.map +1 -1
- package/dist/report/host/view-session.d.cts +38 -44
- package/dist/report/host/view-session.d.mts +38 -44
- package/dist/report/host/view-session.d.ts +38 -44
- package/dist/report/index.cjs +111 -52
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +39 -11
- package/dist/report/index.d.mts +39 -11
- package/dist/report/index.d.ts +39 -11
- package/dist/report/index.js +188 -116
- package/dist/report/index.mjs +188 -116
- package/dist/report/library/details.cjs +166 -0
- package/dist/report/library/details.cjs.map +1 -0
- package/dist/report/library/details.d.cts +29 -0
- package/dist/report/library/details.d.mts +29 -0
- package/dist/report/library/details.d.ts +29 -0
- package/dist/report/library/details.js +18 -0
- package/dist/report/library/details.js.map +1 -0
- package/dist/report/model/aggregate.cjs +243 -0
- package/dist/report/model/aggregate.cjs.map +1 -0
- package/dist/report/model/aggregate.d.cts +88 -0
- package/dist/report/model/aggregate.d.mts +88 -0
- package/dist/report/model/aggregate.d.ts +88 -0
- package/dist/report/model/aggregate.js +26 -0
- package/dist/report/model/aggregate.js.map +1 -0
- package/dist/report/model/chart/math.cjs +206 -0
- package/dist/report/model/chart/math.cjs.map +1 -0
- package/dist/report/model/chart/math.d.cts +73 -0
- package/dist/report/model/chart/math.d.mts +73 -0
- package/dist/report/model/chart/math.d.ts +73 -0
- package/dist/report/model/chart/math.js +14 -0
- package/dist/report/model/chart/math.js.map +1 -0
- package/dist/report/model/chart/plot.cjs +94 -0
- package/dist/report/model/chart/plot.cjs.map +1 -0
- package/dist/report/model/chart/plot.d.cts +52 -0
- package/dist/report/model/chart/plot.d.mts +52 -0
- package/dist/report/model/chart/plot.d.ts +52 -0
- package/dist/report/model/chart/plot.js +8 -0
- package/dist/report/model/chart/plot.js.map +1 -0
- package/dist/report/model/conversions.cjs +100 -0
- package/dist/report/model/conversions.cjs.map +1 -0
- package/dist/report/model/conversions.d.cts +40 -0
- package/dist/report/model/conversions.d.mts +40 -0
- package/dist/report/model/conversions.d.ts +40 -0
- package/dist/report/model/conversions.js +24 -0
- package/dist/report/model/conversions.js.map +1 -0
- package/dist/report/model/dataset.cjs +255 -0
- package/dist/report/model/dataset.cjs.map +1 -0
- package/dist/report/model/dataset.d.cts +33 -0
- package/dist/report/model/dataset.d.mts +33 -0
- package/dist/report/model/dataset.d.ts +33 -0
- package/dist/report/model/dataset.js +22 -0
- package/dist/report/model/dataset.js.map +1 -0
- package/dist/report/model/format.cjs +377 -0
- package/dist/report/model/format.cjs.map +1 -0
- package/dist/report/model/format.d.cts +98 -0
- package/dist/report/model/format.d.mts +98 -0
- package/dist/report/model/format.d.ts +98 -0
- package/dist/report/model/format.js +38 -0
- package/dist/report/model/format.js.map +1 -0
- package/dist/report/model/locale.cjs +437 -0
- package/dist/report/model/locale.cjs.map +1 -0
- package/dist/report/model/locale.d.cts +220 -0
- package/dist/report/model/locale.d.mts +220 -0
- package/dist/report/model/locale.d.ts +220 -0
- package/dist/report/model/locale.js +20 -0
- package/dist/report/model/locale.js.map +1 -0
- package/dist/report/model/metrics.cjs +254 -0
- package/dist/report/model/metrics.cjs.map +1 -0
- package/dist/report/model/metrics.d.cts +73 -0
- package/dist/report/model/metrics.d.mts +73 -0
- package/dist/report/model/metrics.d.ts +73 -0
- package/dist/report/model/metrics.js +26 -0
- package/dist/report/model/metrics.js.map +1 -0
- package/dist/report/model/pricing.cjs +126 -0
- package/dist/report/model/pricing.cjs.map +1 -0
- package/dist/report/model/pricing.d.cts +37 -0
- package/dist/report/model/pricing.d.mts +37 -0
- package/dist/report/model/pricing.d.ts +37 -0
- package/dist/report/model/pricing.js +16 -0
- package/dist/report/model/pricing.js.map +1 -0
- package/dist/report/model/text-layout.cjs +8 -0
- package/dist/report/model/text-layout.cjs.map +1 -1
- package/dist/report/model/text-layout.d.cts +7 -0
- package/dist/report/model/text-layout.d.mts +7 -0
- package/dist/report/model/text-layout.d.ts +7 -0
- package/dist/report/model/text-layout.js +30 -18
- package/dist/report/model/types.cjs +3 -0
- package/dist/report/model/types.cjs.map +1 -0
- package/dist/report/model/types.d.cts +64 -0
- package/dist/report/model/types.d.mts +64 -0
- package/dist/report/model/types.d.ts +64 -0
- package/dist/report/model/types.js +4 -0
- package/dist/report/model/types.js.map +1 -0
- package/dist/report/presentation.cjs +219 -0
- package/dist/report/presentation.cjs.map +1 -0
- package/dist/report/presentation.d.cts +114 -0
- package/dist/report/presentation.d.mts +114 -0
- package/dist/report/presentation.d.ts +114 -0
- package/dist/report/presentation.js +18 -0
- package/dist/report/react/enhance.js +466 -0
- package/dist/report/react/index.cjs +40 -0
- package/dist/report/react/index.cjs.map +1 -0
- package/dist/report/react/index.d.cts +9 -0
- package/dist/report/react/index.d.mts +9 -0
- package/dist/report/react/index.d.ts +9 -0
- package/dist/report/react/index.js +64 -0
- package/dist/report/react/index.js.map +1 -0
- package/dist/report/react/index.mjs +64 -0
- package/dist/report/react/index.mjs.map +1 -0
- package/dist/report/react/styles.css +2678 -0
- package/dist/report/runtime/resolved-page.cjs +317 -0
- package/dist/report/runtime/resolved-page.cjs.map +1 -0
- package/dist/report/runtime/resolved-page.d.cts +133 -0
- package/dist/report/runtime/resolved-page.d.mts +133 -0
- package/dist/report/runtime/resolved-page.d.ts +133 -0
- package/dist/report/runtime/resolved-page.js +14 -0
- package/dist/report/runtime/resolved-page.js.map +1 -0
- package/dist/report/runtime/text.cjs +32 -0
- package/dist/report/runtime/text.cjs.map +1 -0
- package/dist/report/runtime/text.d.cts +24 -0
- package/dist/report/runtime/text.d.mts +24 -0
- package/dist/report/runtime/text.d.ts +24 -0
- package/dist/report/runtime/text.js +8 -0
- package/dist/report/runtime/text.js.map +1 -0
- package/dist/report/runtime/web.cjs +31 -0
- package/dist/report/runtime/web.cjs.map +1 -0
- package/dist/report/runtime/web.d.cts +21 -0
- package/dist/report/runtime/web.d.mts +21 -0
- package/dist/report/runtime/web.d.ts +21 -0
- package/dist/report/runtime/web.js +8 -0
- package/dist/report/runtime/web.js.map +1 -0
- package/dist/report/theme.cjs +141 -0
- package/dist/report/theme.cjs.map +1 -0
- package/dist/report/theme.d.cts +57 -0
- package/dist/report/theme.d.mts +57 -0
- package/dist/report/theme.d.ts +57 -0
- package/dist/report/theme.js +20 -0
- package/dist/runner/accept.cjs +74 -87
- package/dist/runner/accept.cjs.map +1 -1
- package/dist/runner/accept.d.cts +14 -17
- package/dist/runner/accept.d.mts +14 -17
- package/dist/runner/accept.d.ts +14 -17
- package/dist/runner/accept.js +4 -8
- package/dist/runner/adoption.cjs +346 -408
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/adoption.d.cts +132 -116
- package/dist/runner/adoption.d.mts +132 -116
- package/dist/runner/adoption.d.ts +132 -116
- package/dist/runner/adoption.js +42 -46
- package/dist/runner/attempt.cjs +175 -74
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +1 -1
- package/dist/runner/attempt.d.mts +1 -1
- package/dist/runner/attempt.d.ts +1 -1
- package/dist/runner/cleanup-timeout.cjs +12 -6
- package/dist/runner/cleanup-timeout.cjs.map +1 -1
- package/dist/runner/cleanup-timeout.d.cts +5 -5
- package/dist/runner/cleanup-timeout.d.mts +5 -5
- package/dist/runner/cleanup-timeout.d.ts +5 -5
- package/dist/runner/execution-identity.cjs +25 -0
- package/dist/runner/execution-identity.cjs.map +1 -0
- package/dist/runner/execution-identity.d.cts +39 -0
- package/dist/runner/execution-identity.d.mts +39 -0
- package/dist/runner/execution-identity.d.ts +39 -0
- package/dist/runner/execution-identity.js +8 -0
- package/dist/runner/execution-identity.js.map +1 -0
- package/dist/runner/feedback/failure.cjs +0 -2
- package/dist/runner/feedback/failure.cjs.map +1 -1
- package/dist/runner/feedback/human.cjs +47 -20
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/index.cjs.map +1 -1
- package/dist/runner/feedback/index.d.cts +1 -1
- package/dist/runner/feedback/index.d.mts +1 -1
- package/dist/runner/feedback/index.d.ts +1 -1
- package/dist/runner/feedback/json.cjs +29 -7
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +14 -1
- package/dist/runner/feedback/json.d.mts +14 -1
- package/dist/runner/feedback/json.d.ts +14 -1
- package/dist/runner/feedback/reducer.cjs +3 -1
- package/dist/runner/feedback/reducer.cjs.map +1 -1
- package/dist/runner/feedback/sink.cjs +1 -1
- package/dist/runner/feedback/sink.cjs.map +1 -1
- package/dist/runner/feedback/sink.d.cts +6 -6
- package/dist/runner/feedback/sink.d.mts +6 -6
- package/dist/runner/feedback/sink.d.ts +6 -6
- package/dist/runner/fingerprint.cjs +8 -2
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/fingerprint.d.cts +9 -0
- package/dist/runner/fingerprint.d.mts +9 -0
- package/dist/runner/fingerprint.d.ts +9 -0
- package/dist/runner/fingerprint.js +4 -2
- package/dist/runner/gate-lease.cjs +24 -12
- package/dist/runner/gate-lease.cjs.map +1 -1
- package/dist/runner/ledger.cjs +27 -5
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/lock.cjs +24 -11
- package/dist/runner/lock.cjs.map +1 -1
- package/dist/runner/project-current.cjs +63 -0
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/project-current.d.cts +2 -0
- package/dist/runner/project-current.d.mts +2 -0
- package/dist/runner/project-current.d.ts +2 -0
- package/dist/runner/record.cjs +659 -667
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/record.d.cts +54 -81
- package/dist/runner/record.d.mts +54 -81
- package/dist/runner/record.d.ts +54 -81
- package/dist/runner/rename-experiment.cjs +95 -54
- package/dist/runner/rename-experiment.cjs.map +1 -1
- package/dist/runner/rename-experiment.d.cts +19 -21
- package/dist/runner/rename-experiment.d.mts +19 -21
- package/dist/runner/rename-experiment.d.ts +19 -21
- package/dist/runner/rename-experiment.js +2 -4
- package/dist/runner/report.cjs +7 -2
- package/dist/runner/report.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.cjs +4 -16
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.d.cts +22 -5
- package/dist/runner/reporters/braintrust.d.mts +22 -5
- package/dist/runner/reporters/braintrust.d.ts +22 -5
- package/dist/runner/reuse-plan.cjs +256 -435
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +43 -63
- package/dist/runner/reuse-plan.d.mts +43 -63
- package/dist/runner/reuse-plan.d.ts +43 -63
- package/dist/runner/reuse-plan.js +6 -8
- package/dist/runner/reuse-readback.cjs +157 -170
- package/dist/runner/reuse-readback.cjs.map +1 -1
- package/dist/runner/reuse-readback.d.cts +46 -62
- package/dist/runner/reuse-readback.d.mts +46 -62
- package/dist/runner/reuse-readback.d.ts +46 -62
- package/dist/runner/reuse-readback.js +0 -2
- package/dist/runner/run.cjs +110 -135
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/run.d.cts +1 -1
- package/dist/runner/run.d.mts +1 -1
- package/dist/runner/run.d.ts +1 -1
- package/dist/runner/sandbox-pool.cjs +55 -43
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/sandbox-record-producer.cjs +21 -6
- package/dist/runner/sandbox-record-producer.cjs.map +1 -1
- package/dist/runner/sandbox-record-producer.d.cts +6 -4
- package/dist/runner/sandbox-record-producer.d.mts +6 -4
- package/dist/runner/sandbox-record-producer.d.ts +6 -4
- package/dist/runner/sandbox-record-producer.js +4 -0
- package/dist/runner/source-producer.cjs +208 -268
- package/dist/runner/source-producer.cjs.map +1 -1
- package/dist/runner/source-producer.d.cts +32 -17
- package/dist/runner/source-producer.d.mts +32 -17
- package/dist/runner/source-producer.d.ts +32 -17
- package/dist/runner/source-producer.js +6 -4
- package/dist/runner/timing.cjs +13 -9
- package/dist/runner/timing.cjs.map +1 -1
- package/dist/runner/types.cjs +3 -2
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +34 -52
- package/dist/runner/types.d.mts +34 -52
- package/dist/runner/types.d.ts +34 -52
- package/dist/runner/types.js +30 -28
- package/dist/sample/analysis.cjs +925 -919
- package/dist/sample/analysis.cjs.map +1 -1
- package/dist/sample/analysis.d.cts +32 -144
- package/dist/sample/analysis.d.mts +32 -144
- package/dist/sample/analysis.d.ts +32 -144
- package/dist/sample/analysis.js +14 -26
- package/dist/sample/capability.cjs +761 -0
- package/dist/sample/capability.cjs.map +1 -0
- package/dist/sample/capability.d.cts +189 -0
- package/dist/sample/capability.d.mts +189 -0
- package/dist/sample/capability.d.ts +189 -0
- package/dist/sample/capability.js +36 -0
- package/dist/sample/capability.js.map +1 -0
- package/dist/sample/index.cjs +9 -13
- package/dist/sample/index.cjs.map +1 -1
- package/dist/sample/index.d.cts +2 -2
- package/dist/sample/index.d.mts +2 -2
- package/dist/sample/index.d.ts +2 -2
- package/dist/sample/index.js +10 -24
- package/dist/sandbox/build-coordinator.cjs +146 -147
- package/dist/sandbox/build-coordinator.cjs.map +1 -1
- package/dist/sandbox/case-types.cjs.map +1 -1
- package/dist/sandbox/case-types.d.cts +6 -0
- package/dist/sandbox/case-types.d.mts +6 -0
- package/dist/sandbox/case-types.d.ts +6 -0
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/commands.d.cts +0 -2
- package/dist/sandbox/commands.d.mts +0 -2
- package/dist/sandbox/commands.d.ts +0 -2
- package/dist/sandbox/compose.cjs +212 -153
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/compose.d.cts +11 -2
- package/dist/sandbox/compose.d.mts +11 -2
- package/dist/sandbox/compose.d.ts +11 -2
- package/dist/sandbox/compose.js +32 -30
- package/dist/sandbox/docker.cjs +59 -38
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +2 -1
- package/dist/sandbox/docker.d.mts +2 -1
- package/dist/sandbox/docker.d.ts +2 -1
- package/dist/sandbox/e2b.cjs +30 -18
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/index.cjs +2 -2
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +2 -2
- package/dist/sandbox/index.d.mts +2 -2
- package/dist/sandbox/index.d.ts +2 -2
- package/dist/sandbox/index.js +52 -52
- package/dist/sandbox/index.mjs +52 -52
- package/dist/sandbox/io-retry.cjs +18 -14
- package/dist/sandbox/io-retry.cjs.map +1 -1
- package/dist/sandbox/io-retry.d.cts +7 -4
- package/dist/sandbox/io-retry.d.mts +7 -4
- package/dist/sandbox/io-retry.d.ts +7 -4
- package/dist/sandbox/keep.cjs +79 -52
- package/dist/sandbox/keep.cjs.map +1 -1
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/sandbox/layer.d.cts +3 -3
- package/dist/sandbox/layer.d.mts +3 -3
- package/dist/sandbox/layer.d.ts +3 -3
- package/dist/sandbox/paths.cjs +96 -12
- package/dist/sandbox/paths.cjs.map +1 -1
- package/dist/sandbox/paths.d.cts +16 -0
- package/dist/sandbox/paths.d.mts +16 -0
- package/dist/sandbox/paths.d.ts +16 -0
- package/dist/sandbox/paths.js +10 -8
- package/dist/sandbox/prepare-commands.cjs +0 -5
- package/dist/sandbox/prepare-commands.cjs.map +1 -1
- package/dist/sandbox/prepare-commands.d.cts +1 -1
- package/dist/sandbox/prepare-commands.d.mts +1 -1
- package/dist/sandbox/prepare-commands.d.ts +1 -1
- package/dist/sandbox/record/attachment.cjs +16 -53
- package/dist/sandbox/record/attachment.cjs.map +1 -1
- package/dist/sandbox/record/attachment.d.cts +11 -15
- package/dist/sandbox/record/attachment.d.mts +11 -15
- package/dist/sandbox/record/attachment.d.ts +11 -15
- package/dist/sandbox/record/attachment.js +2 -6
- package/dist/sandbox/record/codec.cjs +17 -17
- package/dist/sandbox/record/codec.cjs.map +1 -1
- package/dist/sandbox/record/codec.d.cts +12 -12
- package/dist/sandbox/record/codec.d.mts +12 -12
- package/dist/sandbox/record/codec.d.ts +12 -12
- package/dist/sandbox/record/codec.js +4 -4
- package/dist/sandbox/record/model.cjs +7 -7
- package/dist/sandbox/record/model.cjs.map +1 -1
- package/dist/sandbox/record/model.d.cts +13 -13
- package/dist/sandbox/record/model.d.mts +13 -13
- package/dist/sandbox/record/model.d.ts +13 -13
- package/dist/sandbox/record/model.js +6 -6
- package/dist/sandbox/record/projector.cjs +16 -25
- package/dist/sandbox/record/projector.cjs.map +1 -1
- package/dist/sandbox/record/projector.d.cts +4 -18
- package/dist/sandbox/record/projector.d.mts +4 -18
- package/dist/sandbox/record/projector.d.ts +4 -18
- package/dist/sandbox/record/projector.js +2 -2
- package/dist/sandbox/registry.cjs +19 -9
- package/dist/sandbox/registry.cjs.map +1 -1
- package/dist/sandbox/request-executor.cjs +63 -0
- package/dist/sandbox/request-executor.cjs.map +1 -0
- package/dist/sandbox/request-executor.d.cts +16 -0
- package/dist/sandbox/request-executor.d.mts +16 -0
- package/dist/sandbox/request-executor.d.ts +16 -0
- package/dist/sandbox/request-executor.js +8 -0
- package/dist/sandbox/request-executor.js.map +1 -0
- package/dist/sandbox/retry.cjs +42 -38
- package/dist/sandbox/retry.cjs.map +1 -1
- package/dist/sandbox/retry.d.cts +6 -6
- package/dist/sandbox/retry.d.mts +6 -6
- package/dist/sandbox/retry.d.ts +6 -6
- package/dist/sandbox/runtime.cjs +47 -56
- package/dist/sandbox/runtime.cjs.map +1 -1
- package/dist/sandbox/runtime.d.cts +1 -1
- package/dist/sandbox/runtime.d.mts +1 -1
- package/dist/sandbox/runtime.d.ts +1 -1
- package/dist/sandbox/transfer-errors.cjs +37 -5
- package/dist/sandbox/transfer-errors.cjs.map +1 -1
- package/dist/sandbox/transfer-errors.d.cts +14 -0
- package/dist/sandbox/transfer-errors.d.mts +14 -0
- package/dist/sandbox/transfer-errors.d.ts +14 -0
- package/dist/sandbox/transfer-errors.js +12 -8
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +0 -7
- package/dist/sandbox/types.d.mts +0 -7
- package/dist/sandbox/types.d.ts +0 -7
- package/dist/sandbox/vercel.cjs +10 -14
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sources/attachment.cjs +103 -248
- package/dist/sources/attachment.cjs.map +1 -1
- package/dist/sources/attachment.d.cts +47 -319
- package/dist/sources/attachment.d.mts +47 -319
- package/dist/sources/attachment.d.ts +47 -319
- package/dist/sources/attachment.js +8 -18
- package/dist/sources/codec.cjs +56 -56
- package/dist/sources/codec.cjs.map +1 -1
- package/dist/sources/codec.d.cts +63 -63
- package/dist/sources/codec.d.mts +63 -63
- package/dist/sources/codec.d.ts +63 -63
- package/dist/sources/codec.js +44 -44
- package/dist/sources/index.cjs +0 -2
- package/dist/sources/index.cjs.map +1 -1
- package/dist/sources/index.d.cts +0 -2
- package/dist/sources/index.d.mts +0 -2
- package/dist/sources/index.d.ts +0 -2
- package/dist/sources/index.js +72 -86
- package/dist/sources/model.cjs +2 -2
- package/dist/sources/model.cjs.map +1 -1
- package/dist/sources/model.d.cts +41 -41
- package/dist/sources/model.d.mts +41 -41
- package/dist/sources/model.d.ts +41 -41
- package/dist/sources/model.js +2 -2
- package/dist/sources/projector.cjs +39 -268
- package/dist/sources/projector.cjs.map +1 -1
- package/dist/sources/projector.d.cts +40 -8
- package/dist/sources/projector.d.mts +40 -8
- package/dist/sources/projector.d.ts +40 -8
- package/dist/sources/projector.js +4 -6
- package/dist/types.js +30 -28
- package/dist/view/data.cjs.map +1 -1
- package/dist/view/data.d.cts +5 -4
- package/dist/view/data.d.mts +5 -4
- package/dist/view/data.d.ts +5 -4
- package/dist/view/index.cjs +3 -4
- package/dist/view/index.cjs.map +1 -1
- package/dist/view/index.d.cts +2 -2
- package/dist/view/index.d.mts +2 -2
- package/dist/view/index.d.ts +2 -2
- package/dist/view/index.js +2 -4
- package/dist/view/report-view-cache.cjs +200 -0
- package/dist/view/report-view-cache.cjs.map +1 -0
- package/dist/view/report-view-cache.d.cts +67 -0
- package/dist/view/report-view-cache.d.mts +67 -0
- package/dist/view/report-view-cache.d.ts +67 -0
- package/dist/view/report-view-cache.js +8 -0
- package/dist/view/report-view-cache.js.map +1 -0
- package/dist/view/server.cjs +99 -102
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +0 -6
- package/dist/view/server.d.mts +0 -6
- package/dist/view/server.d.ts +0 -6
- package/dist/view/shared/types.cjs.map +1 -1
- package/dist/view/site.cjs +19 -27
- package/dist/view/site.cjs.map +1 -1
- package/dist/view/site.d.cts +10 -12
- package/dist/view/site.d.mts +10 -12
- package/dist/view/site.d.ts +10 -12
- package/dist/view/site.js +2 -4
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +8 -8
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +8 -8
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
- package/docs-site/zh/examples/integrations/langgraph.mdx +6 -6
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +9 -9
- package/docs-site/zh/explanation/adapter.mdx +3 -1
- package/docs-site/zh/explanation/assert.mdx +6 -6
- package/docs-site/zh/explanation/drive.mdx +1 -1
- package/docs-site/zh/explanation/evals.mdx +6 -3
- package/docs-site/zh/explanation/hitl.mdx +4 -2
- package/docs-site/zh/explanation/judge.mdx +6 -6
- package/docs-site/zh/explanation/overview.mdx +28 -29
- package/docs-site/zh/explanation/record.mdx +26 -36
- package/docs-site/zh/explanation/runner.mdx +7 -8
- package/docs-site/zh/index.mdx +1 -1
- package/docs-site/zh/introduction.mdx +1 -1
- package/docs-site/zh/reference/cli.mdx +16 -19
- package/docs-site/zh/reference/define-agent.mdx +0 -8
- package/docs-site/zh/reference/define-config.mdx +6 -2
- package/docs-site/zh/reference/define-eval.mdx +7 -5
- package/docs-site/zh/reference/events.mdx +6 -3
- package/docs-site/zh/reference/report-components.mdx +92 -88
- package/docs-site/zh/reference/results-data.mdx +39 -49
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +1 -1
- package/docs-site/zh/troubleshooting/debugging.mdx +27 -28
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +4 -4
- package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
- package/docs-site/zh/tutorials/authoring.mdx +6 -3
- package/docs-site/zh/tutorials/connect-your-agent.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +148 -76
- package/docs-site/zh/tutorials/deploy-report-site.mdx +14 -17
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
- package/docs-site/zh/tutorials/fixtures.mdx +5 -5
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +1 -1
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +1 -1
- package/docs-site/zh/tutorials/publish-report.mdx +28 -28
- package/docs-site/zh/tutorials/quickstart.mdx +2 -2
- package/docs-site/zh/tutorials/reporters.mdx +4 -4
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +5 -5
- package/docs-site/zh/tutorials/sandbox-agent.mdx +2 -2
- package/docs-site/zh/tutorials/sandbox-providers.mdx +3 -3
- package/docs-site/zh/tutorials/theming.mdx +47 -19
- package/docs-site/zh/tutorials/viewing-results.mdx +43 -80
- package/docs-site/zh/tutorials/write-experiment.mdx +16 -11
- package/docs-site/zh/tutorials/write-send.mdx +11 -3
- package/package.json +83 -11
- package/dist/assertions/record/diff-model.cjs +0 -120
- package/dist/assertions/record/diff-model.cjs.map +0 -1
- package/dist/assertions/record/diff-model.d.cts +0 -47
- package/dist/assertions/record/diff-model.d.mts +0 -47
- package/dist/assertions/record/diff-model.d.ts +0 -47
- package/dist/assertions/record/diff-model.js +0 -12
- package/dist/assertions/record/diff-model.js.map +0 -1
- package/dist/projection/attachment-result.cjs +0 -50
- package/dist/projection/attachment-result.cjs.map +0 -1
- package/dist/projection/attachment-result.d.cts +0 -38
- package/dist/projection/attachment-result.d.mts +0 -38
- package/dist/projection/attachment-result.d.ts +0 -38
- package/dist/projection/attachment-result.js +0 -6
- package/dist/projection/attachment-result.js.map +0 -1
- package/dist/projection/attempt-selection.cjs +0 -87
- package/dist/projection/attempt-selection.cjs.map +0 -1
- package/dist/projection/attempt-selection.d.cts +0 -40
- package/dist/projection/attempt-selection.d.mts +0 -40
- package/dist/projection/attempt-selection.d.ts +0 -40
- package/dist/projection/attempt-selection.js +0 -8
- package/dist/projection/attempt-selection.js.map +0 -1
- package/dist/projection/coverage.cjs +0 -106
- package/dist/projection/coverage.cjs.map +0 -1
- package/dist/projection/coverage.d.cts +0 -43
- package/dist/projection/coverage.d.mts +0 -43
- package/dist/projection/coverage.d.ts +0 -43
- package/dist/projection/coverage.js +0 -6
- package/dist/projection/coverage.js.map +0 -1
- package/dist/projection/index.cjs +0 -36
- package/dist/projection/index.cjs.map +0 -1
- package/dist/projection/index.d.cts +0 -25
- package/dist/projection/index.d.mts +0 -25
- package/dist/projection/index.d.ts +0 -25
- package/dist/projection/index.js +0 -46
- package/dist/projection/index.mjs +0 -46
- package/dist/projection/model.cjs +0 -3
- package/dist/projection/model.cjs.map +0 -1
- package/dist/projection/model.d.cts +0 -49
- package/dist/projection/model.d.mts +0 -49
- package/dist/projection/model.d.ts +0 -49
- package/dist/projection/model.js +0 -4
- package/dist/projection/model.js.map +0 -1
- package/dist/projection/projector.cjs +0 -111
- package/dist/projection/projector.cjs.map +0 -1
- package/dist/projection/projector.d.cts +0 -51
- package/dist/projection/projector.d.mts +0 -51
- package/dist/projection/projector.d.ts +0 -51
- package/dist/projection/projector.js +0 -16
- package/dist/projection/projector.js.map +0 -1
- package/dist/projection/runtime.cjs +0 -246
- package/dist/projection/runtime.cjs.map +0 -1
- package/dist/projection/runtime.d.cts +0 -14
- package/dist/projection/runtime.d.mts +0 -14
- package/dist/projection/runtime.d.ts +0 -14
- package/dist/projection/runtime.js +0 -6
- package/dist/record/migration/errors.cjs +0 -68
- package/dist/record/migration/errors.cjs.map +0 -1
- package/dist/record/migration/errors.d.cts +0 -73
- package/dist/record/migration/errors.d.mts +0 -73
- package/dist/record/migration/errors.d.ts +0 -73
- package/dist/record/migration/errors.js +0 -22
- package/dist/record/migration/errors.js.map +0 -1
- package/dist/record/migration/identity.cjs +0 -27
- package/dist/record/migration/identity.cjs.map +0 -1
- package/dist/record/migration/identity.d.cts +0 -5
- package/dist/record/migration/identity.d.mts +0 -5
- package/dist/record/migration/identity.d.ts +0 -5
- package/dist/record/migration/identity.js +0 -8
- package/dist/record/migration/internal.cjs +0 -3
- package/dist/record/migration/internal.cjs.map +0 -1
- package/dist/record/migration/internal.d.cts +0 -111
- package/dist/record/migration/internal.d.mts +0 -111
- package/dist/record/migration/internal.d.ts +0 -111
- package/dist/record/migration/internal.js +0 -4
- package/dist/record/migration/internal.js.map +0 -1
- package/dist/record/migration/orchestrate.cjs +0 -368
- package/dist/record/migration/orchestrate.cjs.map +0 -1
- package/dist/record/migration/orchestrate.d.cts +0 -113
- package/dist/record/migration/orchestrate.d.mts +0 -113
- package/dist/record/migration/orchestrate.d.ts +0 -113
- package/dist/record/migration/orchestrate.js +0 -16
- package/dist/record/migration/orchestrate.js.map +0 -1
- package/dist/record/migration/plan.cjs +0 -63
- package/dist/record/migration/plan.cjs.map +0 -1
- package/dist/record/migration/plan.d.cts +0 -32
- package/dist/record/migration/plan.d.mts +0 -32
- package/dist/record/migration/plan.d.ts +0 -32
- package/dist/record/migration/plan.js +0 -10
- package/dist/record/migration/plan.js.map +0 -1
- package/dist/record/migration/registry.cjs +0 -150
- package/dist/record/migration/registry.cjs.map +0 -1
- package/dist/record/migration/registry.d.cts +0 -61
- package/dist/record/migration/registry.d.mts +0 -61
- package/dist/record/migration/registry.d.ts +0 -61
- package/dist/record/migration/registry.js +0 -14
- package/dist/record/migration/registry.js.map +0 -1
- package/dist/record/migration/storage.cjs +0 -382
- package/dist/record/migration/storage.cjs.map +0 -1
- package/dist/record/migration/storage.d.cts +0 -18
- package/dist/record/migration/storage.d.mts +0 -18
- package/dist/record/migration/storage.d.ts +0 -18
- package/dist/record/migration/storage.js +0 -6
- package/dist/record/migration/storage.js.map +0 -1
- package/dist/record/migration/types.cjs.map +0 -1
- package/dist/record/migration/types.d.cts +0 -16
- package/dist/record/migration/types.d.mts +0 -16
- package/dist/record/migration/types.d.ts +0 -16
- package/dist/record/reader/internal.cjs +0 -17
- package/dist/record/reader/internal.cjs.map +0 -1
- package/dist/record/reader/internal.d.cts +0 -26
- package/dist/record/reader/internal.d.mts +0 -26
- package/dist/record/reader/internal.d.ts +0 -26
- package/dist/record/reader/internal.js +0 -8
- package/dist/record/reader/internal.js.map +0 -1
- package/dist/record/writer/runtime.cjs +0 -656
- package/dist/record/writer/runtime.cjs.map +0 -1
- package/dist/record/writer/runtime.d.cts +0 -7
- package/dist/record/writer/runtime.d.mts +0 -7
- package/dist/record/writer/runtime.d.ts +0 -7
- package/dist/record/writer/runtime.js +0 -6
- package/dist/report/author/identity.cjs +0 -268
- package/dist/report/author/identity.cjs.map +0 -1
- package/dist/report/author/identity.d.cts +0 -75
- package/dist/report/author/identity.d.mts +0 -75
- package/dist/report/author/identity.d.ts +0 -75
- package/dist/report/author/identity.js +0 -34
- package/dist/report/author/identity.js.map +0 -1
- package/dist/report/author/index.cjs +0 -19
- package/dist/report/author/index.cjs.map +0 -1
- package/dist/report/author/index.d.cts +0 -4
- package/dist/report/author/index.d.mts +0 -4
- package/dist/report/author/index.d.ts +0 -4
- package/dist/report/author/index.js +0 -30
- package/dist/report/author/internal.cjs +0 -98
- package/dist/report/author/internal.cjs.map +0 -1
- package/dist/report/author/internal.d.cts +0 -91
- package/dist/report/author/internal.d.mts +0 -91
- package/dist/report/author/internal.d.ts +0 -91
- package/dist/report/author/internal.js +0 -18
- package/dist/report/author/internal.js.map +0 -1
- package/dist/report/author/model.cjs +0 -467
- package/dist/report/author/model.cjs.map +0 -1
- package/dist/report/author/model.d.cts +0 -241
- package/dist/report/author/model.d.mts +0 -241
- package/dist/report/author/model.d.ts +0 -241
- package/dist/report/author/model.js +0 -32
- package/dist/report/author/model.js.map +0 -1
- package/dist/report/execution/index.cjs +0 -20
- package/dist/report/execution/index.cjs.map +0 -1
- package/dist/report/execution/index.d.cts +0 -3
- package/dist/report/execution/index.d.mts +0 -3
- package/dist/report/execution/index.d.ts +0 -3
- package/dist/report/execution/index.js +0 -30
- package/dist/report/execution/problems.cjs +0 -210
- package/dist/report/execution/problems.cjs.map +0 -1
- package/dist/report/execution/problems.d.cts +0 -54
- package/dist/report/execution/problems.d.mts +0 -54
- package/dist/report/execution/problems.d.ts +0 -54
- package/dist/report/execution/problems.js +0 -14
- package/dist/report/execution/problems.js.map +0 -1
- package/dist/report/execution/results.cjs +0 -26
- package/dist/report/execution/results.cjs.map +0 -1
- package/dist/report/execution/results.d.cts +0 -102
- package/dist/report/execution/results.d.mts +0 -102
- package/dist/report/execution/results.d.ts +0 -102
- package/dist/report/execution/results.js +0 -8
- package/dist/report/execution/results.js.map +0 -1
- package/dist/report/host/html.cjs +0 -424
- package/dist/report/host/html.cjs.map +0 -1
- package/dist/report/host/html.d.cts +0 -28
- package/dist/report/host/html.d.mts +0 -28
- package/dist/report/host/html.d.ts +0 -28
- package/dist/report/host/html.js +0 -6
- package/dist/report/host/html.js.map +0 -1
- package/dist/report/host/node/theme.cjs +0 -21
- package/dist/report/host/node/theme.cjs.map +0 -1
- package/dist/report/host/node/theme.d.cts +0 -1
- package/dist/report/host/node/theme.d.mts +0 -1
- package/dist/report/host/node/theme.d.ts +0 -1
- package/dist/report/host/node/theme.js +0 -14
- package/dist/report/host/presentation.cjs +0 -423
- package/dist/report/host/presentation.cjs.map +0 -1
- package/dist/report/host/presentation.d.cts +0 -42
- package/dist/report/host/presentation.d.mts +0 -42
- package/dist/report/host/presentation.d.ts +0 -42
- package/dist/report/host/presentation.js +0 -16
- package/dist/report/host/theme.cjs +0 -223
- package/dist/report/host/theme.cjs.map +0 -1
- package/dist/report/host/theme.d.cts +0 -64
- package/dist/report/host/theme.d.mts +0 -64
- package/dist/report/host/theme.d.ts +0 -64
- package/dist/report/host/theme.js +0 -14
- package/dist/report/host/theme.js.map +0 -1
- package/dist/report/semantic/document.cjs +0 -593
- package/dist/report/semantic/document.cjs.map +0 -1
- package/dist/report/semantic/document.d.cts +0 -162
- package/dist/report/semantic/document.d.mts +0 -162
- package/dist/report/semantic/document.d.ts +0 -162
- package/dist/report/semantic/document.js +0 -38
- package/dist/report/semantic/document.js.map +0 -1
- package/dist/report/semantic/index.cjs +0 -18
- package/dist/report/semantic/index.cjs.map +0 -1
- package/dist/report/semantic/index.d.cts +0 -1
- package/dist/report/semantic/index.d.mts +0 -1
- package/dist/report/semantic/index.d.ts +0 -1
- package/dist/report/semantic/index.js +0 -38
- package/dist/shared/facts.cjs +0 -24
- package/dist/shared/facts.cjs.map +0 -1
- package/dist/shared/facts.d.cts +0 -7
- package/dist/shared/facts.d.mts +0 -7
- package/dist/shared/facts.d.ts +0 -7
- package/dist/shared/facts.js +0 -6
- package/dist/shared/facts.js.map +0 -1
- package/dist/show/json.cjs +0 -8
- package/dist/show/json.cjs.map +0 -1
- package/dist/show/json.d.cts +0 -2
- package/dist/show/json.d.mts +0 -2
- package/dist/show/json.d.ts +0 -2
- package/dist/show/json.js +0 -8
- package/dist/show/json.js.map +0 -1
- package/dist/show/render.cjs +0 -7
- package/dist/show/render.cjs.map +0 -1
- package/dist/show/render.d.cts +0 -2
- package/dist/show/render.d.mts +0 -2
- package/dist/show/render.d.ts +0 -2
- package/dist/show/render.js +0 -6
- package/dist/show/render.js.map +0 -1
- package/dist/sources/assemble.cjs +0 -634
- package/dist/sources/assemble.cjs.map +0 -1
- package/dist/sources/assemble.d.cts +0 -6
- package/dist/sources/assemble.d.mts +0 -6
- package/dist/sources/assemble.d.ts +0 -6
- package/dist/sources/assemble.js +0 -6
- package/dist/sources/assemble.js.map +0 -1
- package/dist/sources/projection-model.cjs +0 -3
- package/dist/sources/projection-model.cjs.map +0 -1
- package/dist/sources/projection-model.d.cts +0 -327
- package/dist/sources/projection-model.d.mts +0 -327
- package/dist/sources/projection-model.d.ts +0 -327
- package/dist/sources/projection-model.js +0 -4
- package/dist/sources/projection-model.js.map +0 -1
- /package/dist/{projection → coordination/host}/index.js.map +0 -0
- /package/dist/{projection → coordination/host}/index.mjs.map +0 -0
- /package/dist/{projection → coordination/host}/runtime.js.map +0 -0
- /package/dist/{record/migration → coordination/host}/types.cjs +0 -0
- /package/dist/{record/migration → coordination/host}/types.js +0 -0
- /package/dist/{record/migration → coordination/host}/types.js.map +0 -0
- /package/dist/{record/migration → coordination}/identity.js.map +0 -0
- /package/dist/{report/author → coordination}/index.js.map +0 -0
- /package/dist/{report/execution → coordination/platform}/index.js.map +0 -0
- /package/dist/{report/semantic → experiment/host}/index.js.map +0 -0
- /package/dist/record/{writer → host}/runtime.js.map +0 -0
- /package/dist/report/{host/presentation.js.map → presentation.js.map} +0 -0
- /package/dist/report/{host/node/theme.js.map → theme.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["analysis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Either, Schema, Stream } from \"effect\";\nimport { AttemptIdSchema, RunIdSchema, SlotIdSchema, UtcMillisSchema, } from \"../record/codec/identifiers.ts\";\nimport { RecordExactParseOptions } from \"../record/codec/core.ts\";\nimport type { RecordAttemptRef } from \"../record/model/core.ts\";\nimport { compareCanonicalIdentity, isPortableSegment, type AttemptId, type RunId, type SlotId, type UtcMillis, } from \"../record/model/identifiers.ts\";\nimport type { RecordCoreRead } from \"../record/model/read-state.ts\";\nimport { NonEmptyRecordIssuesSchema, recordIssue, type NonEmptyRecordIssues, type RecordIssue, } from \"../record/errors/record-errors.ts\";\nimport { RecordHandleInvalid } from \"../record/reader/errors.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport { resolveFrozenRecordReaderPort, type FrozenRecordReaderPort, } from \"../record/reader/internal.ts\";\nimport type { FrozenRecordRun, RecordReader, } from \"../record/reader/types.ts\";\nimport { evaluationsAttachmentFamily, ExperimentIdSchema, type ExperimentId, } from \"../eval/experiment-id.ts\";\nimport { eligibilityAttachmentFamilyV1, } from \"../eval/record/eligibility.ts\";\nexport type { RecordAttemptRef } from \"../record/model/core.ts\";\nexport type { AttemptId, RunId, SlotId, UtcMillis, } from \"../record/model/identifiers.ts\";\nexport type { NonEmptyRecordIssues, RecordIssue, } from \"../record/errors/record-errors.ts\";\nexport { RecordHandleInvalid, } from \"../record/reader/errors.ts\";\nexport type { RecordReaderClosed, RecordReaderReadError as RecordReadError, } from \"../record/reader/errors.ts\";\nexport type { RecordIoError, RecordPermissionError, } from \"../record/platform/errors.ts\";\nexport { ExperimentIdSchema } from \"../eval/experiment-id.ts\";\nexport type { ExperimentId } from \"../eval/experiment-id.ts\";\nexport interface ExplicitRunsAnalysisInput {\n readonly runIds: readonly [\n RunId,\n ...RunId[]\n ];\n}\nexport interface ProjectCurrentEvalInput {\n readonly id: string;\n readonly resultConfigHash: string;\n readonly fingerprint: string;\n readonly evaluationKind: \"pass\" | \"score\";\n}\nexport interface ProjectCurrentExperimentInput {\n readonly id: string;\n readonly attempts: number;\n readonly evals: readonly ProjectCurrentEvalInput[];\n}\nexport interface ProjectCurrentAnalysisInput {\n readonly target: {\n readonly experiments: readonly ProjectCurrentExperimentInput[];\n };\n}\n/** A portable request. It deliberately carries neither a reader nor a callback. */\nexport type AnalysisSelectionRequest = {\n readonly policy: \"explicit-runs\";\n readonly input: ExplicitRunsAnalysisInput;\n} | {\n readonly policy: \"project-current\";\n readonly input: ProjectCurrentAnalysisInput;\n};\nexport type AnalysisSelectionSummary = {\n readonly policy: \"explicit-runs\";\n readonly runIds: readonly RunId[];\n} | {\n readonly policy: \"project-current\";\n readonly experimentIds: readonly ExperimentId[] | \"all\";\n readonly selectedRunIds: readonly RunId[];\n};\nexport interface AnalysisRun {\n readonly runId: RunId;\n readonly startedAt: UtcMillis;\n readonly completedAt: UtcMillis;\n readonly expectedSlots: readonly SlotId[];\n}\nexport interface AnalysisSlotRef {\n readonly runId: RunId;\n readonly slotId: SlotId;\n}\nexport interface IncludedAnalysisSlot extends AnalysisSlotRef {\n readonly state: \"included\";\n readonly relation: \"origin\" | \"reference\";\n readonly attempt: RecordAttemptRef;\n}\nexport interface NotRecordedAnalysisSlot extends AnalysisSlotRef {\n readonly state: \"not-recorded\";\n}\nexport interface CoreInvalidAnalysisSlot extends AnalysisSlotRef {\n readonly state: \"core-invalid\";\n readonly issues: NonEmptyRecordIssues;\n}\nexport type AnalysisBaseSlot = IncludedAnalysisSlot | NotRecordedAnalysisSlot | CoreInvalidAnalysisSlot;\nexport interface ExcludedAnalysisSlot extends AnalysisSlotRef {\n readonly state: \"excluded\";\n readonly base: AnalysisBaseSlot;\n}\nexport type AnalysisSlot = AnalysisBaseSlot | ExcludedAnalysisSlot;\n/**\n * A self-contained, serializable analysis denominator. It intentionally has\n * no path, reader, handle, callback, promise, or deferred query.\n */\nexport interface AnalysisSample {\n readonly selection: AnalysisSelectionSummary;\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n readonly denominator: number;\n}\nconst analysisSampleHandleTypeId: unique symbol = Symbol(\"niceeval.analysis-sample-handle\");\n/**\n * A live reader-bound capability. The private WeakMap is its runtime authority;\n * this nominal property only prevents ordinary structural assignment.\n */\nexport interface AnalysisSampleHandle {\n readonly sample: AnalysisSample;\n readonly [analysisSampleHandleTypeId]: (sample: AnalysisSample) => AnalysisSample;\n}\nexport interface AnalysisSampleSelector {\n readonly runIds?: readonly RunId[];\n readonly slotIds?: readonly SlotId[];\n}\nexport interface AnalysisSelectionInvalidError {\n readonly code: \"sample-selection-invalid\";\n readonly field: string;\n readonly reason: string;\n}\nexport interface AnalysisRunNotFoundError {\n readonly code: \"sample-run-not-found\";\n readonly runId: RunId;\n}\nexport interface AnalysisRunInvalidError {\n readonly code: \"sample-run-invalid\";\n readonly runId: RunId;\n readonly issues: NonEmptyRecordIssues;\n}\nexport interface AnalysisLimitExceededError {\n readonly code: \"sample-limit-exceeded\";\n readonly limit: \"selected-runs\" | \"slots\";\n readonly maximum: number;\n readonly observedAtLeast: number;\n}\nexport type AnalysisSelectionError = AnalysisSelectionInvalidError | AnalysisRunNotFoundError | AnalysisRunInvalidError | AnalysisLimitExceededError;\nexport interface AnalysisSampleCodecError {\n readonly code: \"analysis-sample-invalid\";\n readonly path: readonly string[];\n readonly reason: string;\n}\nconst MAX_SELECTED_RUNS = 4096;\nconst MAX_SLOTS = 250000;\nconst CURRENT_INPUT_IDENTITY_DOMAIN = \"niceeval.input/fingerprint-v1\";\nconst CURRENT_CONFIG_IDENTITY_DOMAIN = \"niceeval.config/identity-v1\";\ninterface AnalysisHandleBinding {\n readonly reader: RecordReader<RecordReaderReadError>;\n readonly port: FrozenRecordReaderPort;\n readonly sample: AnalysisSample;\n}\ninterface NormalizedSelector {\n readonly runIds: ReadonlySet<RunId> | undefined;\n readonly slotIds: ReadonlySet<SlotId> | undefined;\n}\ninterface NormalizedExplicitSelection {\n readonly policy: \"explicit-runs\";\n readonly runIds: readonly RunId[];\n}\ninterface NormalizedProjectCurrentSelection {\n readonly policy: \"project-current\";\n readonly target: ProjectCurrentAnalysisInput[\"target\"];\n}\ntype NormalizedSelection = NormalizedExplicitSelection | NormalizedProjectCurrentSelection;\nconst handleBindings = new WeakMap<AnalysisSampleHandle, AnalysisHandleBinding>();\n/** Exact, portable decode. The result is deeply frozen and canonically ordered. */\nexport function decodeAnalysisSample(input: unknown): Either.Either<AnalysisSample, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"selection\", \"runs\", \"slots\", \"denominator\"])) {\n return Either.left(codecError([], \"must contain exactly selection, runs, slots, and denominator\"));\n }\n const selection = decodeSelectionSummary(valueAt(input, \"selection\"), [\"selection\"]);\n if (Either.isLeft(selection))\n return Either.left(selection.left);\n const encodedRuns = valueAt(input, \"runs\");\n if (!Array.isArray(encodedRuns))\n return Either.left(codecError([\"runs\"], \"must be an array\"));\n if (encodedRuns.length > MAX_SELECTED_RUNS) {\n return Either.left(codecError([\"runs\"], \"exceeds the selected-runs limit\"));\n }\n const runs: AnalysisRun[] = [];\n for (let index = 0; index < encodedRuns.length; index += 1) {\n const decodedRun = decodeAnalysisRun(encodedRuns[index], [\"runs\", String(index)]);\n if (Either.isLeft(decodedRun))\n return Either.left(decodedRun.left);\n runs.push(decodedRun.right);\n }\n const encodedSlots = valueAt(input, \"slots\");\n if (!Array.isArray(encodedSlots))\n return Either.left(codecError([\"slots\"], \"must be an array\"));\n if (encodedSlots.length > MAX_SLOTS) {\n return Either.left(codecError([\"slots\"], \"exceeds the slots limit\"));\n }\n const slots: AnalysisSlot[] = [];\n for (let index = 0; index < encodedSlots.length; index += 1) {\n const decodedSlot = decodeAnalysisSlot(encodedSlots[index], [\"slots\", String(index)]);\n if (Either.isLeft(decodedSlot))\n return Either.left(decodedSlot.left);\n slots.push(decodedSlot.right);\n }\n const denominator = valueAt(input, \"denominator\");\n if (!isNonNegativeInteger(denominator)) {\n return Either.left(codecError([\"denominator\"], \"must be a non-negative safe integer\"));\n }\n const sample = makeAnalysisSample(selection.right, runs, slots);\n if (sample.denominator !== denominator) {\n return Either.left(codecError([\"denominator\"], \"must equal the number of non-excluded slots\"));\n }\n const integrity = validateSampleIntegrity(sample);\n if (integrity !== undefined)\n return Either.left(integrity);\n return Either.right(sample);\n}\n/** Encoding shares the exact decoder so callers cannot emit a non-canonical sample. */\nexport function encodeAnalysisSample(sample: AnalysisSample): Either.Either<AnalysisSample, AnalysisSampleCodecError> {\n return decodeAnalysisSample(sample);\n}\n/** Selects a portable denominator from exactly the supplied frozen Record view. */\nexport function selectAnalysisSample(reader: RecordReader<RecordReaderReadError>, request: AnalysisSelectionRequest): Effect.Effect<AnalysisSampleHandle, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.suspend(() => {\n const normalized = normalizeSelectionRequest(request);\n return Either.isLeft(normalized)\n ? Effect.fail(normalized.left)\n : selectNormalizedAnalysisSample(reader, normalized.right);\n });\n}\n/** Narrow entry point for the explicit completed-Run policy. */\nexport function selectExplicitRuns(reader: RecordReader<RecordReaderReadError>, input: ExplicitRunsAnalysisInput): Effect.Effect<AnalysisSampleHandle, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.suspend(() => {\n const runIds = normalizeExplicitRunIds(input);\n return Either.isLeft(runIds)\n ? Effect.fail(runIds.left)\n : selectNormalizedAnalysisSample(reader, Object.freeze({ policy: \"explicit-runs\", runIds: runIds.right }));\n });\n}\n/** Narrow entry point for results whose durable identities match the project target. */\nexport function selectProjectCurrent(reader: RecordReader<RecordReaderReadError>, input: ProjectCurrentAnalysisInput): Effect.Effect<AnalysisSampleHandle, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.suspend(() => {\n const normalized = normalizeProjectCurrentInput(input);\n return Either.isLeft(normalized)\n ? Effect.fail(normalized.left)\n : selectNormalizedAnalysisSample(reader, Object.freeze({\n policy: \"project-current\",\n target: normalized.right.target,\n }));\n });\n}\n/** Pure, monotonic narrowing. It neither needs nor restores Record I/O. */\nexport function narrowAnalysisSample(sample: AnalysisSample, selector: AnalysisSampleSelector): Either.Either<AnalysisSample, AnalysisSelectionError> {\n const canonical = encodeAnalysisSample(sample);\n if (Either.isLeft(canonical)) {\n return Either.left(selectionInvalid(\"sample\", canonical.left.reason));\n }\n const normalized = normalizeSelector(selector);\n if (Either.isLeft(normalized))\n return Either.left(normalized.left);\n const slots: AnalysisSlot[] = [];\n for (const slot of canonical.right.slots) {\n if (slot.state === \"excluded\") {\n slots.push(copyAnalysisSlot(slot));\n continue;\n }\n const base = copyBaseSlot(slot);\n if (matchesSelector(base, normalized.right)) {\n slots.push(base);\n }\n else {\n slots.push(excludedSlot(base));\n }\n }\n return Either.right(makeAnalysisSample(canonical.right.selection, canonical.right.runs, slots));\n}\n/**\n * Live narrowing validates the authentic handle and its reader first. The new\n * handle remains bound to exactly the same frozen Record view.\n */\nexport function narrowAnalysisSampleHandle(handle: AnalysisSampleHandle, selector: AnalysisSampleSelector): Effect.Effect<AnalysisSampleHandle, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.suspend(() => {\n const binding = handleBindings.get(handle);\n if (binding === undefined\n || handle.sample !== binding.sample\n || resolveFrozenRecordReaderPort(binding.reader) !== binding.port) {\n return Effect.fail(recordHandleInvalid());\n }\n return Effect.gen(function* () {\n yield* binding.port.assertOpen(binding.reader);\n const narrowed = narrowAnalysisSample(binding.sample, selector);\n if (Either.isLeft(narrowed))\n return yield* Effect.fail(narrowed.left);\n return makeHandle(binding.reader, binding.port, narrowed.right);\n });\n });\n}\n/**\n * @internal Projection consumes the exact frozen reader capability bound when\n * selection minted this handle. This is intentionally not a public Sample\n * export: a pure AnalysisSample can never recover Record I/O.\n */\nexport function resolveAnalysisSampleHandle(handle: AnalysisSampleHandle): Effect.Effect<{\n readonly reader: RecordReader<RecordReaderReadError>;\n readonly sample: AnalysisSample;\n}, RecordReaderReadError> {\n return Effect.suspend(() => {\n const binding = handleBindings.get(handle);\n if (binding === undefined\n || handle.sample !== binding.sample\n || resolveFrozenRecordReaderPort(binding.reader) !== binding.port) {\n return Effect.fail(recordHandleInvalid());\n }\n return Effect.map(binding.port.assertOpen(binding.reader), () => Object.freeze({ reader: binding.reader, sample: binding.sample }));\n });\n}\nfunction selectNormalizedAnalysisSample(reader: RecordReader<RecordReaderReadError>, selection: NormalizedSelection): Effect.Effect<AnalysisSampleHandle, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.suspend(() => {\n const port = resolveFrozenRecordReaderPort(reader);\n if (port === undefined)\n return Effect.fail(recordHandleInvalid());\n return Effect.gen(function* () {\n yield* port.assertOpen(reader);\n if (selection.policy === \"explicit-runs\") {\n const runs = yield* selectExplicitRunsFromPort(reader, port, selection.runIds);\n const summary: AnalysisSelectionSummary = Object.freeze({\n policy: \"explicit-runs\",\n runIds: selection.runIds,\n });\n const sample = yield* materializeAnalysisSample(reader, port, summary, runs);\n return makeHandle(reader, port, sample);\n }\n const sample = yield* selectProjectCurrentFromPort(reader, port, selection);\n const summary: AnalysisSelectionSummary = Object.freeze({\n policy: \"project-current\",\n experimentIds: selection.target.experiments.map((experiment) => experiment.id),\n selectedRunIds: Object.freeze(sample.runs.map((run) => run.runId)),\n });\n return makeHandle(reader, port, makeAnalysisSample(summary, sample.runs, sample.slots));\n });\n });\n}\nfunction selectExplicitRunsFromPort(reader: object, port: FrozenRecordReaderPort, runIds: readonly RunId[]): Effect.Effect<readonly FrozenRecordRun[], AnalysisSelectionError | RecordReaderReadError> {\n return Effect.gen(function* () {\n const runs: FrozenRecordRun[] = [];\n for (const runId of runIds) {\n const read = yield* port.run(reader, runId);\n if (read.state === \"missing\") {\n return yield* Effect.fail(runNotFound(runId));\n }\n if (read.state === \"core-invalid\") {\n return yield* Effect.fail(runInvalid(runId, read.issues));\n }\n runs.push(read.value);\n }\n return Object.freeze(runs);\n });\n}\ninterface ProjectCurrentMatch {\n readonly run: FrozenRecordRun;\n readonly slotId: SlotId;\n readonly attempt: RecordAttemptRef;\n readonly relation: \"origin\" | \"reference\";\n}\ninterface ProjectCurrentMatches {\n readonly byRun: Map<RunId, {\n run: FrozenRecordRun;\n slots: ProjectCurrentMatch[];\n }>;\n slotCount: number;\n}\ninterface ProjectCurrentExperimentIndex {\n readonly attempts: number;\n readonly evals: ReadonlyMap<string, ProjectCurrentEvalInput>;\n}\nfunction selectProjectCurrentFromPort(reader: object, port: FrozenRecordReaderPort, selection: NormalizedProjectCurrentSelection): Effect.Effect<{\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}, AnalysisSelectionError | RecordReaderReadError> {\n const targets = new Map<string, ProjectCurrentExperimentIndex>(selection.target.experiments.map((experiment) => [\n experiment.id,\n Object.freeze({\n attempts: experiment.attempts,\n evals: new Map(experiment.evals.map((evaluation) => [evaluation.id, evaluation] as const)),\n }),\n ]));\n return Stream.runFoldEffect(port.candidates(reader), { byRun: new Map(), slotCount: 0 } satisfies ProjectCurrentMatches, (matches, candidate) => collectProjectCurrentCandidate(reader, port, targets, matches, candidate)).pipe(Effect.flatMap((matches) => materializeProjectCurrentMatches(matches)));\n}\nfunction collectProjectCurrentCandidate(reader: object, port: FrozenRecordReaderPort, targets: ReadonlyMap<string, ProjectCurrentExperimentIndex>, matches: ProjectCurrentMatches, candidate: RecordCoreRead<FrozenRecordRun>): Effect.Effect<ProjectCurrentMatches, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.gen(function* () {\n // Project-current is a conservative filter. A candidate whose Core or\n // identity facts cannot be proved contributes nothing, but does not hide\n // a different Run whose durable identities do match.\n if (candidate.state !== \"available\")\n return matches;\n const attachment = yield* port.readRunAttachment(reader, candidate.value, evaluationsAttachmentFamily);\n if (attachment.state !== \"available\")\n return matches;\n const experimentId = attachment.value.payload.experimentId;\n const target = targets.get(experimentId);\n if (target === undefined)\n return matches;\n const expectedSlots = new Set(candidate.value.expectedSlots);\n if (expectedSlots.size !== candidate.value.expectedSlots.length)\n return matches;\n const matchedSlots: ProjectCurrentMatch[] = [];\n for (const evaluation of attachment.value.payload.evaluations) {\n const evalTarget = target.evals.get(evaluation.evalId);\n if (evalTarget === undefined\n || evalTarget.evaluationKind !== evaluation.evaluationKind)\n continue;\n for (const slot of evaluation.slots) {\n if (slot.attempt >= target.attempts\n || !expectedSlots.has(slot.slotId))\n continue;\n const member = yield* port.member(reader, candidate.value, slot.slotId);\n if (member.state !== \"available\"\n || member.value.slotId !== slot.slotId)\n continue;\n const attempt = yield* port.attempt(reader, member.value.attempt);\n if (attempt.state !== \"available\"\n || attempt.value.originRunId !== member.value.attempt.originRunId\n || attempt.value.attemptId !== member.value.attempt.attemptId)\n continue;\n const eligibility = yield* port.readAttemptAttachment(reader, attempt.value, eligibilityAttachmentFamilyV1);\n if (eligibility.state !== \"available\")\n continue;\n const facts = eligibility.value.payload;\n if (facts.inputIdentity.domain !== CURRENT_INPUT_IDENTITY_DOMAIN\n || facts.inputIdentity.value !== evalTarget.fingerprint\n || facts.configIdentity.domain !== CURRENT_CONFIG_IDENTITY_DOMAIN\n || facts.configIdentity.value !== evalTarget.resultConfigHash)\n continue;\n matchedSlots.push(Object.freeze({\n run: candidate.value,\n slotId: slot.slotId,\n attempt: copyAttemptRef(member.value.attempt),\n relation: attempt.value.originRunId === candidate.value.runId\n ? \"origin\"\n : \"reference\",\n }));\n }\n }\n if (matchedSlots.length === 0)\n return matches;\n const previous = matches.byRun.get(candidate.value.runId);\n if (previous === undefined && matches.byRun.size >= MAX_SELECTED_RUNS) {\n return yield* Effect.fail(selectionLimit(\"selected-runs\", matches.byRun.size + 1));\n }\n const nextSlotCount = matches.slotCount\n - (previous?.slots.length ?? 0)\n + matchedSlots.length;\n if (nextSlotCount > MAX_SLOTS) {\n return yield* Effect.fail(selectionLimit(\"slots\", nextSlotCount));\n }\n matches.byRun.set(candidate.value.runId, {\n run: candidate.value,\n slots: matchedSlots,\n });\n matches.slotCount = nextSlotCount;\n return matches;\n });\n}\nfunction materializeProjectCurrentMatches(matches: ProjectCurrentMatches): Effect.Effect<{\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}, AnalysisLimitExceededError> {\n const runs: AnalysisRun[] = [];\n const slots: AnalysisSlot[] = [];\n for (const [runId, bucket] of [...matches.byRun].sort(([left], [right]) => compareCanonicalIdentity(left, right))) {\n const runSlots = [...bucket.slots].sort((left, right) => compareCanonicalIdentity(left.slotId, right.slotId));\n runs.push(Object.freeze({\n runId,\n startedAt: bucket.run.startedAt,\n completedAt: bucket.run.completedAt,\n expectedSlots: Object.freeze(runSlots.map((entry) => entry.slotId)),\n }));\n for (const entry of runSlots) {\n slots.push(Object.freeze({\n runId,\n slotId: entry.slotId,\n state: \"included\",\n relation: entry.relation,\n attempt: entry.attempt,\n }));\n }\n }\n return Effect.succeed(Object.freeze({\n runs: Object.freeze(runs),\n slots: Object.freeze(slots),\n }));\n}\nfunction materializeAnalysisSample(reader: object, port: FrozenRecordReaderPort, selection: AnalysisSelectionSummary, selectedRuns: readonly FrozenRecordRun[]): Effect.Effect<AnalysisSample, AnalysisSelectionError | RecordReaderReadError> {\n return Effect.gen(function* () {\n const runs = [...selectedRuns].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId));\n if (runs.length > MAX_SELECTED_RUNS) {\n return yield* Effect.fail(selectionLimit(\"selected-runs\", runs.length));\n }\n const analysisRuns: AnalysisRun[] = [];\n const slots: AnalysisSlot[] = [];\n let slotCount = 0;\n for (const run of runs) {\n const expectedSlots = sortedUnique(run.expectedSlots);\n if (expectedSlots.length !== run.expectedSlots.length) {\n return yield* Effect.fail(runInvalid(run.runId, singleRecordIssue(\"record-expected-slot-duplicate\", [\"runs\", run.runId])));\n }\n if (slotCount > MAX_SLOTS - expectedSlots.length) {\n return yield* Effect.fail(selectionLimit(\"slots\", slotCount + expectedSlots.length));\n }\n slotCount += expectedSlots.length;\n analysisRuns.push(Object.freeze({\n runId: run.runId,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze(expectedSlots),\n }));\n for (const slotId of expectedSlots) {\n slots.push(yield* materializeAnalysisSlot(reader, port, run, slotId));\n }\n }\n return makeAnalysisSample(selection, analysisRuns, slots);\n });\n}\nfunction materializeAnalysisSlot(reader: object, port: FrozenRecordReaderPort, run: FrozenRecordRun, slotId: SlotId): Effect.Effect<AnalysisBaseSlot, RecordReaderReadError> {\n return Effect.gen(function* () {\n const member = yield* port.member(reader, run, slotId);\n if (member.state === \"missing\") {\n return Object.freeze({ runId: run.runId, slotId, state: \"not-recorded\" });\n }\n if (member.state === \"core-invalid\") {\n return coreInvalidSlot(run.runId, slotId, member.issues);\n }\n if (member.value.slotId !== slotId) {\n return coreInvalidSlot(run.runId, slotId, singleRecordIssue(\"record-member-slot-unexpected\", [\"members\", slotId]));\n }\n const attempt = yield* port.attempt(reader, member.value.attempt);\n if (attempt.state === \"missing\") {\n return coreInvalidSlot(run.runId, slotId, singleRecordIssue(\"record-attempt-reference-missing\", [\"members\", slotId, \"attempt\"]));\n }\n if (attempt.state === \"core-invalid\") {\n return coreInvalidSlot(run.runId, slotId, attempt.issues);\n }\n if (attempt.value.originRunId !== member.value.attempt.originRunId\n || attempt.value.attemptId !== member.value.attempt.attemptId) {\n return coreInvalidSlot(run.runId, slotId, singleRecordIssue(\"record-attempt-owner-invalid\", [\"members\", slotId, \"attempt\"]));\n }\n return Object.freeze({\n runId: run.runId,\n slotId,\n state: \"included\",\n relation: attempt.value.originRunId === run.runId ? \"origin\" : \"reference\",\n attempt: copyAttemptRef(member.value.attempt),\n });\n });\n}\nfunction normalizeSelectionRequest(input: unknown): Either.Either<NormalizedSelection, AnalysisSelectionError> {\n if (!isExactObject(input, [\"policy\", \"input\"]) || !hasOwnProperty(input, \"policy\") || !hasOwnProperty(input, \"input\")) {\n return Either.left(selectionInvalid(\"request\", \"must contain exactly policy and input\"));\n }\n const policy = valueAt(input, \"policy\");\n if (policy === \"explicit-runs\") {\n const runIds = normalizeExplicitRunIds(valueAt(input, \"input\"));\n return Either.isLeft(runIds)\n ? Either.left(runIds.left)\n : Either.right(Object.freeze({ policy, runIds: runIds.right }));\n }\n if (policy === \"project-current\") {\n const normalized = normalizeProjectCurrentInput(valueAt(input, \"input\"));\n return Either.isLeft(normalized)\n ? Either.left(normalized.left)\n : Either.right(Object.freeze({\n policy,\n target: normalized.right.target,\n }));\n }\n return Either.left(selectionInvalid(\"request.policy\", \"must be explicit-runs or project-current\"));\n}\nfunction normalizeExplicitRunIds(input: unknown): Either.Either<readonly RunId[], AnalysisSelectionError> {\n if (!isExactObject(input, [\"runIds\"]) || !hasOwnProperty(input, \"runIds\")) {\n return Either.left(selectionInvalid(\"input\", \"must contain exactly runIds\"));\n }\n const encodedRunIds = valueAt(input, \"runIds\");\n if (!Array.isArray(encodedRunIds) || encodedRunIds.length === 0) {\n return Either.left(selectionInvalid(\"input.runIds\", \"must be a non-empty array\"));\n }\n const runIds: RunId[] = [];\n for (let index = 0; index < encodedRunIds.length; index += 1) {\n const runId = decodeRunId(encodedRunIds[index], [\"input\", \"runIds\", String(index)]);\n if (Either.isLeft(runId)) {\n return Either.left(selectionInvalid(`input.runIds.${index}`, runId.left.reason));\n }\n runIds.push(runId.right);\n }\n const normalized = sortedUnique(runIds);\n return normalized.length > MAX_SELECTED_RUNS\n ? Either.left(selectionLimit(\"selected-runs\", normalized.length))\n : Either.right(Object.freeze(normalized));\n}\nfunction normalizeProjectCurrentInput(input: unknown): Either.Either<{\n readonly target: ProjectCurrentAnalysisInput[\"target\"];\n}, AnalysisSelectionError> {\n if (!isExactObject(input, [\"target\"]) || !hasOwnProperty(input, \"target\")) {\n return Either.left(selectionInvalid(\"input\", \"must contain exactly target\"));\n }\n const rawTarget = valueAt(input, \"target\");\n if (typeof rawTarget !== \"object\" || rawTarget === null) {\n return Either.left(selectionInvalid(\"input.target\", \"must be a project target object\"));\n }\n const encodedExperiments = Reflect.get(rawTarget, \"experiments\");\n if (!Array.isArray(encodedExperiments) || encodedExperiments.length === 0) {\n return Either.left(selectionInvalid(\"input.target.experiments\", \"must be a non-empty array\"));\n }\n const experiments: ProjectCurrentExperimentInput[] = [];\n const seenExperiments = new Set<string>();\n for (let experimentIndex = 0; experimentIndex < encodedExperiments.length; experimentIndex += 1) {\n const rawExperiment = encodedExperiments[experimentIndex];\n if (typeof rawExperiment !== \"object\" || rawExperiment === null) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}`, \"must be an object\"));\n }\n const id = Reflect.get(rawExperiment, \"id\");\n const attempts = Reflect.get(rawExperiment, \"attempts\");\n const rawEvals = Reflect.get(rawExperiment, \"evals\");\n const decodedId = decodeExperimentId(id, [\"input\", \"target\", \"experiments\", String(experimentIndex), \"id\"]);\n if (Either.isLeft(decodedId)) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.id`, decodedId.left.reason));\n }\n if (seenExperiments.has(decodedId.right)) {\n return Either.left(selectionInvalid(\"input.target.experiments\", \"must contain unique ExperimentIds\"));\n }\n if (!Number.isSafeInteger(attempts) || (attempts as number) < 1) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.attempts`, \"must be a positive integer\"));\n }\n if (!Array.isArray(rawEvals) || rawEvals.length === 0) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals`, \"must be a non-empty array\"));\n }\n const evals: ProjectCurrentEvalInput[] = [];\n const seenEvals = new Set<string>();\n for (let evalIndex = 0; evalIndex < rawEvals.length; evalIndex += 1) {\n const rawEval = rawEvals[evalIndex];\n if (typeof rawEval !== \"object\" || rawEval === null) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals.${evalIndex}`, \"must be an object\"));\n }\n const evalId = Reflect.get(rawEval, \"id\");\n const resultConfigHash = Reflect.get(rawEval, \"resultConfigHash\");\n const fingerprint = Reflect.get(rawEval, \"fingerprint\");\n const evaluationKind = Reflect.get(rawEval, \"evaluationKind\");\n if (typeof evalId !== \"string\" || evalId.length === 0 || evalId.includes(\"\\u0000\") || seenEvals.has(evalId)) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals.${evalIndex}.id`, \"must be a unique non-empty EvalId\"));\n }\n if (typeof resultConfigHash !== \"string\" || resultConfigHash.length === 0) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals.${evalIndex}.resultConfigHash`, \"must be non-empty\"));\n }\n if (typeof fingerprint !== \"string\" || fingerprint.length === 0) {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals.${evalIndex}.fingerprint`, \"must be non-empty\"));\n }\n if (evaluationKind !== \"pass\" && evaluationKind !== \"score\") {\n return Either.left(selectionInvalid(`input.target.experiments.${experimentIndex}.evals.${evalIndex}.evaluationKind`, \"must be pass or score\"));\n }\n seenEvals.add(evalId);\n evals.push(Object.freeze({ id: evalId, resultConfigHash, fingerprint, evaluationKind }));\n }\n seenExperiments.add(decodedId.right);\n experiments.push(Object.freeze({\n id: decodedId.right,\n attempts: attempts as number,\n evals: Object.freeze(evals.sort((left, right) => left.id.localeCompare(right.id))),\n }));\n }\n const target = Object.freeze({\n experiments: Object.freeze(experiments.sort((left, right) => left.id.localeCompare(right.id))),\n });\n return Either.right(Object.freeze({ target }));\n}\nfunction runNotFound(runId: RunId): AnalysisRunNotFoundError {\n return Object.freeze({ code: \"sample-run-not-found\", runId });\n}\nfunction runInvalid(runId: RunId, issues: NonEmptyRecordIssues): AnalysisRunInvalidError {\n return Object.freeze({ code: \"sample-run-invalid\", runId, issues: copyIssues(issues) });\n}\nfunction selectionLimit(limit: AnalysisLimitExceededError[\"limit\"], observedAtLeast: number): AnalysisLimitExceededError {\n const maximum = limit === \"selected-runs\" ? MAX_SELECTED_RUNS : MAX_SLOTS;\n return Object.freeze({\n code: \"sample-limit-exceeded\",\n limit,\n maximum,\n observedAtLeast,\n });\n}\nfunction coreInvalidSlot(runId: RunId, slotId: SlotId, issues: NonEmptyRecordIssues): CoreInvalidAnalysisSlot {\n return Object.freeze({\n runId,\n slotId,\n state: \"core-invalid\",\n issues: copyIssues(issues),\n });\n}\nfunction singleRecordIssue(code: RecordIssue[\"code\"], path: readonly string[]): NonEmptyRecordIssues {\n return Object.freeze([recordIssue(code, path)]);\n}\nfunction decodeSelectionSummary(input: unknown, path: readonly string[]): Either.Either<AnalysisSelectionSummary, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"policy\", \"runIds\", \"experimentIds\", \"selectedRunIds\"])) {\n return Either.left(codecError(path, \"contains unsupported fields\"));\n }\n const policy = valueAt(input, \"policy\");\n if (policy === \"explicit-runs\") {\n if (!isExactObject(input, [\"policy\", \"runIds\"])) {\n return Either.left(codecError(path, \"explicit selection must contain exactly policy and runIds\"));\n }\n const runIds = decodeIdentityArray(valueAt(input, \"runIds\"), [...path, \"runIds\"], true, decodeRunId);\n if (Either.isLeft(runIds))\n return Either.left(runIds.left);\n const selection: AnalysisSelectionSummary = {\n policy: \"explicit-runs\",\n runIds: runIds.right,\n };\n return Either.right(Object.freeze(selection));\n }\n if (policy === \"project-current\") {\n if (!isExactObject(input, [\"policy\", \"experimentIds\", \"selectedRunIds\"])) {\n return Either.left(codecError(path, \"project-current selection must contain policy, experimentIds, and selectedRunIds\"));\n }\n const encodedExperimentIds = valueAt(input, \"experimentIds\");\n let experimentIds: readonly ExperimentId[] | \"all\";\n if (encodedExperimentIds === \"all\") {\n experimentIds = \"all\";\n }\n else {\n const decodedExperimentIds = decodeIdentityArray(encodedExperimentIds, [...path, \"experimentIds\"], true, decodeExperimentId);\n if (Either.isLeft(decodedExperimentIds)) {\n return Either.left(decodedExperimentIds.left);\n }\n experimentIds = decodedExperimentIds.right;\n }\n const selectedRunIds = decodeIdentityArray(valueAt(input, \"selectedRunIds\"), [...path, \"selectedRunIds\"], false, decodeRunId);\n if (Either.isLeft(selectedRunIds))\n return Either.left(selectedRunIds.left);\n const selection: AnalysisSelectionSummary = {\n policy: \"project-current\",\n experimentIds,\n selectedRunIds: selectedRunIds.right,\n };\n return Either.right(Object.freeze(selection));\n }\n return Either.left(codecError([...path, \"policy\"], \"must be explicit-runs or project-current\"));\n}\nfunction decodeAnalysisRun(input: unknown, path: readonly string[]): Either.Either<AnalysisRun, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"runId\", \"startedAt\", \"completedAt\", \"expectedSlots\"])) {\n return Either.left(codecError(path, \"must contain exactly runId, startedAt, completedAt, and expectedSlots\"));\n }\n const runId = decodeRunId(valueAt(input, \"runId\"), [...path, \"runId\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n const startedAt = decodeUtcMillis(valueAt(input, \"startedAt\"), [...path, \"startedAt\"]);\n if (Either.isLeft(startedAt))\n return Either.left(startedAt.left);\n const completedAt = decodeUtcMillis(valueAt(input, \"completedAt\"), [...path, \"completedAt\"]);\n if (Either.isLeft(completedAt) || completedAt.right < startedAt.right) {\n return Either.left(codecError([...path, \"completedAt\"], \"must be a UTC millisecond no earlier than startedAt\"));\n }\n const expectedSlots = decodeIdentityArray(valueAt(input, \"expectedSlots\"), [...path, \"expectedSlots\"], false, decodeSlotId);\n if (Either.isLeft(expectedSlots))\n return Either.left(expectedSlots.left);\n const run: AnalysisRun = {\n runId: runId.right,\n startedAt: startedAt.right,\n completedAt: completedAt.right,\n expectedSlots: expectedSlots.right,\n };\n return Either.right(Object.freeze(run));\n}\nfunction decodeAnalysisSlot(input: unknown, path: readonly string[]): Either.Either<AnalysisSlot, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\", \"relation\", \"attempt\", \"issues\", \"base\"])) {\n return Either.left(codecError(path, \"contains unsupported fields\"));\n }\n const state = valueAt(input, \"state\");\n if (state === \"excluded\") {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\", \"base\"])) {\n return Either.left(codecError(path, \"excluded slot must contain runId, slotId, state, and base\"));\n }\n const runId = decodeRunId(valueAt(input, \"runId\"), [...path, \"runId\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n const slotId = decodeSlotId(valueAt(input, \"slotId\"), [...path, \"slotId\"]);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n const base = decodeBaseSlot(valueAt(input, \"base\"), [...path, \"base\"]);\n if (Either.isLeft(base))\n return Either.left(base.left);\n if (base.right.runId !== runId.right || base.right.slotId !== slotId.right) {\n return Either.left(codecError([...path, \"base\"], \"must keep the same runId and slotId\"));\n }\n const slot: ExcludedAnalysisSlot = {\n runId: runId.right,\n slotId: slotId.right,\n state: \"excluded\",\n base: base.right,\n };\n return Either.right(Object.freeze(slot));\n }\n return decodeBaseSlot(input, path);\n}\nfunction decodeBaseSlot(input: unknown, path: readonly string[]): Either.Either<AnalysisBaseSlot, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\", \"relation\", \"attempt\", \"issues\"])) {\n return Either.left(codecError(path, \"contains unsupported fields\"));\n }\n const state = valueAt(input, \"state\");\n if (state === \"included\") {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\", \"relation\", \"attempt\"])) {\n return Either.left(codecError(path, \"included slot must contain runId, slotId, state, relation, and attempt\"));\n }\n const runId = decodeRunId(valueAt(input, \"runId\"), [...path, \"runId\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n const slotId = decodeSlotId(valueAt(input, \"slotId\"), [...path, \"slotId\"]);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n const relation = valueAt(input, \"relation\");\n if (relation !== \"origin\" && relation !== \"reference\") {\n return Either.left(codecError([...path, \"relation\"], \"must be origin or reference\"));\n }\n const attempt = decodeAttemptRef(valueAt(input, \"attempt\"), [...path, \"attempt\"]);\n if (Either.isLeft(attempt))\n return Either.left(attempt.left);\n const slot: IncludedAnalysisSlot = {\n runId: runId.right,\n slotId: slotId.right,\n state: \"included\",\n relation,\n attempt: attempt.right,\n };\n return Either.right(Object.freeze(slot));\n }\n if (state === \"not-recorded\") {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\"])) {\n return Either.left(codecError(path, \"not-recorded slot must contain runId, slotId, and state\"));\n }\n const runId = decodeRunId(valueAt(input, \"runId\"), [...path, \"runId\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n const slotId = decodeSlotId(valueAt(input, \"slotId\"), [...path, \"slotId\"]);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n const slot: NotRecordedAnalysisSlot = {\n runId: runId.right,\n slotId: slotId.right,\n state: \"not-recorded\",\n };\n return Either.right(Object.freeze(slot));\n }\n if (state === \"core-invalid\") {\n if (!isExactObject(input, [\"runId\", \"slotId\", \"state\", \"issues\"])) {\n return Either.left(codecError(path, \"core-invalid slot must contain runId, slotId, state, and issues\"));\n }\n const runId = decodeRunId(valueAt(input, \"runId\"), [...path, \"runId\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n const slotId = decodeSlotId(valueAt(input, \"slotId\"), [...path, \"slotId\"]);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n const issues = decodeIssues(valueAt(input, \"issues\"), [...path, \"issues\"]);\n if (Either.isLeft(issues))\n return Either.left(issues.left);\n const slot: CoreInvalidAnalysisSlot = {\n runId: runId.right,\n slotId: slotId.right,\n state: \"core-invalid\",\n issues: issues.right,\n };\n return Either.right(Object.freeze(slot));\n }\n return Either.left(codecError([...path, \"state\"], \"must be included, not-recorded, or core-invalid\"));\n}\nfunction decodeAttemptRef(input: unknown, path: readonly string[]): Either.Either<RecordAttemptRef, AnalysisSampleCodecError> {\n if (!isExactObject(input, [\"originRunId\", \"attemptId\"])) {\n return Either.left(codecError(path, \"must contain exactly originRunId and attemptId\"));\n }\n const originRunId = decodeRunId(valueAt(input, \"originRunId\"), [...path, \"originRunId\"]);\n if (Either.isLeft(originRunId))\n return Either.left(originRunId.left);\n const attemptId = decodeAttemptId(valueAt(input, \"attemptId\"), [...path, \"attemptId\"]);\n if (Either.isLeft(attemptId))\n return Either.left(attemptId.left);\n const ref: RecordAttemptRef = {\n originRunId: originRunId.right,\n attemptId: attemptId.right,\n };\n return Either.right(Object.freeze(ref));\n}\nfunction decodeIssues(input: unknown, path: readonly string[]): Either.Either<NonEmptyRecordIssues, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(NonEmptyRecordIssuesSchema, RecordExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be a non-empty Record issue array\"))\n : Either.right(copyIssues(decoded.right));\n}\ntype IdentityDecoder<Identity extends string> = (input: unknown, path: readonly string[]) => Either.Either<Identity, AnalysisSampleCodecError>;\nfunction decodeIdentityArray<Identity extends string>(input: unknown, path: readonly string[], requireNonEmpty: boolean, decodeIdentity: IdentityDecoder<Identity>): Either.Either<readonly Identity[], AnalysisSampleCodecError> {\n if (!Array.isArray(input))\n return Either.left(codecError(path, \"must be an array\"));\n if (requireNonEmpty && input.length === 0)\n return Either.left(codecError(path, \"must not be empty\"));\n const values: Identity[] = [];\n let previous: Identity | undefined;\n for (let index = 0; index < input.length; index += 1) {\n const identity = decodeIdentity(input[index], [...path, String(index)]);\n if (Either.isLeft(identity))\n return Either.left(identity.left);\n if (previous !== undefined && compareCanonicalIdentity(previous, identity.right) >= 0) {\n return Either.left(codecError(path, \"must be strictly sorted and unique\"));\n }\n previous = identity.right;\n values.push(identity.right);\n }\n return Either.right(Object.freeze(values));\n}\nfunction decodeRunId(input: unknown, path: readonly string[]): Either.Either<RunId, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(RunIdSchema, RecordExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be a portable RunId\"))\n : Either.right(decoded.right);\n}\nfunction decodeSlotId(input: unknown, path: readonly string[]): Either.Either<SlotId, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(SlotIdSchema, RecordExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be a portable SlotId\"))\n : Either.right(decoded.right);\n}\nfunction decodeAttemptId(input: unknown, path: readonly string[]): Either.Either<AttemptId, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(AttemptIdSchema, RecordExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be a portable AttemptId\"))\n : Either.right(decoded.right);\n}\nfunction decodeUtcMillis(input: unknown, path: readonly string[]): Either.Either<UtcMillis, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(UtcMillisSchema, RecordExactParseOptions)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be a UTC millisecond\"))\n : Either.right(decoded.right);\n}\nfunction decodeExperimentId(input: unknown, path: readonly string[]): Either.Either<ExperimentId, AnalysisSampleCodecError> {\n const decoded = Schema.decodeUnknownEither(ExperimentIdSchema)(input);\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"must be an Experiment identity\"))\n : Either.right(decoded.right);\n}\nfunction validateSampleIntegrity(sample: AnalysisSample): AnalysisSampleCodecError | undefined {\n const expectedSlotsByRun = new Map<RunId, ReadonlySet<SlotId>>();\n let previousRunId: RunId | undefined;\n let expectedSlotCount = 0;\n for (const run of sample.runs) {\n if (previousRunId !== undefined && compareCanonicalIdentity(previousRunId, run.runId) >= 0) {\n return codecError([\"runs\"], \"must be strictly sorted and unique by runId\");\n }\n previousRunId = run.runId;\n const slots = new Set<SlotId>();\n for (const slotId of run.expectedSlots)\n slots.add(slotId);\n expectedSlotsByRun.set(run.runId, slots);\n if (expectedSlotCount > MAX_SLOTS - run.expectedSlots.length) {\n return codecError([\"runs\"], \"expected slot count exceeds the slots limit\");\n }\n expectedSlotCount += run.expectedSlots.length;\n }\n if (sample.slots.length !== expectedSlotCount) {\n return codecError([\"slots\"], \"must contain one entry for every expected slot\");\n }\n const seenSlotsByRun = new Map<RunId, Set<SlotId>>();\n let previousSlot: AnalysisSlot | undefined;\n let denominator = 0;\n for (const slot of sample.slots) {\n if (previousSlot !== undefined &&\n compareSlotIdentity(previousSlot, slot) >= 0) {\n return codecError([\"slots\"], \"must be strictly sorted and unique by runId and slotId\");\n }\n previousSlot = slot;\n const expectedSlots = expectedSlotsByRun.get(slot.runId);\n if (expectedSlots === undefined || !expectedSlots.has(slot.slotId)) {\n return codecError([\"slots\"], \"must reference an expected slot of a selected run\");\n }\n let seenSlots = seenSlotsByRun.get(slot.runId);\n if (seenSlots === undefined) {\n seenSlots = new Set<SlotId>();\n seenSlotsByRun.set(slot.runId, seenSlots);\n }\n seenSlots.add(slot.slotId);\n if (slot.state !== \"excluded\")\n denominator += 1;\n }\n if (denominator !== sample.denominator) {\n return codecError([\"denominator\"], \"must equal the number of non-excluded slots\");\n }\n const runIds = sample.runs.map((run) => run.runId);\n if (sample.selection.policy === \"explicit-runs\") {\n if (!sameIdentitySequence(sample.selection.runIds, runIds)) {\n return codecError([\"selection\", \"runIds\"], \"must equal selected runs in canonical order\");\n }\n }\n else if (!sameIdentitySequence(sample.selection.selectedRunIds, runIds)) {\n return codecError([\"selection\", \"selectedRunIds\"], \"must equal selected runs in canonical order\");\n }\n return undefined;\n}\nfunction normalizeSelector(selector: AnalysisSampleSelector): Either.Either<NormalizedSelector, AnalysisSelectionError> {\n if (!isExactObject(selector, [\"runIds\", \"slotIds\"])) {\n return Either.left(selectionInvalid(\"selector\", \"may contain only runIds and slotIds\"));\n }\n if (hasOwnProperty(selector, \"runIds\") && selector.runIds === undefined) {\n return Either.left(selectionInvalid(\"selector.runIds\", \"must be omitted or an array\"));\n }\n if (hasOwnProperty(selector, \"slotIds\") && selector.slotIds === undefined) {\n return Either.left(selectionInvalid(\"selector.slotIds\", \"must be omitted or an array\"));\n }\n if (selector.runIds !== undefined && !Array.isArray(selector.runIds)) {\n return Either.left(selectionInvalid(\"selector.runIds\", \"must be an array\"));\n }\n if (selector.slotIds !== undefined && !Array.isArray(selector.slotIds)) {\n return Either.left(selectionInvalid(\"selector.slotIds\", \"must be an array\"));\n }\n let runIds: ReadonlySet<RunId> | undefined;\n if (selector.runIds !== undefined) {\n const decodedRunIds = selectorIdentitySet(selector.runIds, \"selector.runIds\");\n if (Either.isLeft(decodedRunIds))\n return Either.left(decodedRunIds.left);\n runIds = decodedRunIds.right;\n }\n let slotIds: ReadonlySet<SlotId> | undefined;\n if (selector.slotIds !== undefined) {\n const decodedSlotIds = selectorIdentitySet(selector.slotIds, \"selector.slotIds\");\n if (Either.isLeft(decodedSlotIds))\n return Either.left(decodedSlotIds.left);\n slotIds = decodedSlotIds.right;\n }\n const normalized: NormalizedSelector = {\n runIds,\n slotIds,\n };\n return Either.right(Object.freeze(normalized));\n}\nfunction selectorIdentitySet<Identity extends string>(values: readonly Identity[], field: string): Either.Either<ReadonlySet<Identity>, AnalysisSelectionError> {\n const selected = new Set<Identity>();\n for (const value of values) {\n if (!isPortableSegment(value)) {\n return Either.left(selectionInvalid(field, \"must contain portable Record identities\"));\n }\n selected.add(value);\n }\n return Either.right(selected);\n}\nfunction makeHandle(reader: RecordReader<RecordReaderReadError>, port: FrozenRecordReaderPort, sample: AnalysisSample): AnalysisSampleHandle {\n const handle: AnalysisSampleHandle = {\n sample,\n [analysisSampleHandleTypeId](boundSample: AnalysisSample): AnalysisSample {\n return boundSample;\n },\n };\n const frozenHandle = Object.freeze(handle);\n const binding: AnalysisHandleBinding = {\n reader,\n port,\n sample,\n };\n handleBindings.set(frozenHandle, Object.freeze(binding));\n return frozenHandle;\n}\nfunction makeAnalysisSample(selection: AnalysisSelectionSummary, runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): AnalysisSample {\n const copiedRuns: readonly AnalysisRun[] = Object.freeze(runs.map(copyAnalysisRun));\n const copiedSlots: readonly AnalysisSlot[] = Object.freeze(slots.map(copyAnalysisSlot));\n let denominator = 0;\n for (const slot of copiedSlots) {\n if (slot.state !== \"excluded\")\n denominator += 1;\n }\n const sample: AnalysisSample = {\n selection: copySelectionSummary(selection),\n runs: copiedRuns,\n slots: copiedSlots,\n denominator,\n };\n return Object.freeze(sample);\n}\nfunction copySelectionSummary(selection: AnalysisSelectionSummary): AnalysisSelectionSummary {\n if (selection.policy === \"explicit-runs\") {\n const summary: AnalysisSelectionSummary = {\n policy: \"explicit-runs\",\n runIds: Object.freeze(sortedUnique(selection.runIds)),\n };\n return Object.freeze(summary);\n }\n const experimentIds = selection.experimentIds === \"all\"\n ? \"all\"\n : Object.freeze(sortedUnique(selection.experimentIds));\n const summary: AnalysisSelectionSummary = {\n policy: \"project-current\",\n experimentIds,\n selectedRunIds: Object.freeze(sortedUnique(selection.selectedRunIds)),\n };\n return Object.freeze(summary);\n}\nfunction copyAnalysisRun(run: AnalysisRun): AnalysisRun {\n const copy: AnalysisRun = {\n runId: run.runId,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze(sortedUnique(run.expectedSlots)),\n };\n return Object.freeze(copy);\n}\nfunction copyAnalysisSlot(slot: AnalysisSlot): AnalysisSlot {\n if (slot.state === \"excluded\") {\n const copy: ExcludedAnalysisSlot = {\n runId: slot.runId,\n slotId: slot.slotId,\n state: \"excluded\",\n base: copyBaseSlot(slot.base),\n };\n return Object.freeze(copy);\n }\n return copyBaseSlot(slot);\n}\nfunction copyBaseSlot(slot: AnalysisBaseSlot): AnalysisBaseSlot {\n if (slot.state === \"included\") {\n const copy: IncludedAnalysisSlot = {\n runId: slot.runId,\n slotId: slot.slotId,\n state: \"included\",\n relation: slot.relation,\n attempt: copyAttemptRef(slot.attempt),\n };\n return Object.freeze(copy);\n }\n if (slot.state === \"not-recorded\") {\n const copy: NotRecordedAnalysisSlot = {\n runId: slot.runId,\n slotId: slot.slotId,\n state: \"not-recorded\",\n };\n return Object.freeze(copy);\n }\n const copy: CoreInvalidAnalysisSlot = {\n runId: slot.runId,\n slotId: slot.slotId,\n state: \"core-invalid\",\n issues: copyIssues(slot.issues),\n };\n return Object.freeze(copy);\n}\nfunction copyAttemptRef(ref: RecordAttemptRef): RecordAttemptRef {\n const copy: RecordAttemptRef = {\n originRunId: ref.originRunId,\n attemptId: ref.attemptId,\n };\n return Object.freeze(copy);\n}\nfunction copyIssues(issues: NonEmptyRecordIssues): NonEmptyRecordIssues {\n const [first, ...rest] = issues;\n const copied: [\n RecordIssue,\n ...RecordIssue[]\n ] = [copyIssue(first), ...rest.map(copyIssue)];\n return Object.freeze(copied);\n}\nfunction copyIssue(issue: RecordIssue): RecordIssue {\n const copy: RecordIssue = {\n code: issue.code,\n path: Object.freeze([...issue.path]),\n };\n return Object.freeze(copy);\n}\nfunction matchesSelector(slot: AnalysisBaseSlot, selector: NormalizedSelector): boolean {\n const runMatches = selector.runIds === undefined || selector.runIds.has(slot.runId);\n const slotMatches = selector.slotIds === undefined || selector.slotIds.has(slot.slotId);\n return runMatches && slotMatches;\n}\nfunction excludedSlot(base: AnalysisBaseSlot): ExcludedAnalysisSlot {\n const excluded: ExcludedAnalysisSlot = {\n runId: base.runId,\n slotId: base.slotId,\n state: \"excluded\",\n base: copyBaseSlot(base),\n };\n return Object.freeze(excluded);\n}\nfunction compareSlotIdentity(left: AnalysisSlot, right: AnalysisSlot): number {\n const runComparison = compareCanonicalIdentity(left.runId, right.runId);\n return runComparison === 0\n ? compareCanonicalIdentity(left.slotId, right.slotId)\n : runComparison;\n}\nfunction sameIdentitySequence<Identity extends string>(left: readonly Identity[], right: readonly Identity[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\nfunction sortedUnique<Identity extends string>(values: readonly Identity[]): Identity[] {\n const valuesByIdentity = new Set<Identity>(values);\n const sorted = [...valuesByIdentity];\n sorted.sort(compareCanonicalIdentity);\n return sorted;\n}\nfunction isNonNegativeInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value >= 0;\n}\nfunction isExactObject(value: unknown, allowed: readonly string[]): value is object {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== Object.prototype && prototype !== null)\n return false;\n for (const key of Reflect.ownKeys(value)) {\n if (typeof key !== \"string\" || !allowed.includes(key))\n return false;\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (descriptor === undefined || !(\"value\" in descriptor))\n return false;\n }\n return true;\n}\nfunction valueAt(value: object, key: string): unknown {\n return Reflect.get(value, key);\n}\nfunction hasOwnProperty(value: object, property: string): boolean {\n return Object.prototype.hasOwnProperty.call(value, property);\n}\nfunction selectionInvalid(field: string, reason: string): AnalysisSelectionInvalidError {\n const error: AnalysisSelectionInvalidError = {\n code: \"sample-selection-invalid\",\n field,\n reason,\n };\n return Object.freeze(error);\n}\nfunction codecError(path: readonly string[], reason: string): AnalysisSampleCodecError {\n const error: AnalysisSampleCodecError = {\n code: \"analysis-sample-invalid\",\n path: Object.freeze([...path]),\n reason,\n };\n return Object.freeze(error);\n}\nfunction recordHandleInvalid(): RecordHandleInvalid {\n return new RecordHandleInvalid({ code: \"record-handle-invalid\" });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"analysis.js","sourceRoot":"","sources":["analysis.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect, Either, Schema } from \"effect\";\nimport { encodeAttemptLocator, parseAttemptLocator } from \"../attempt-locator.ts\";\nimport { EvalIdSchema, ExecutionIdentityDigestSchema, ExperimentIdSchema, RunIdSchema, SlotIdSchema, UtcMillisSchema, } from \"../record/codec/identifiers.ts\";\nimport type { RecordSlotIdentity } from \"../record/model/core.ts\";\nimport { compareCanonicalIdentity } from \"../record/model/identifiers.ts\";\nimport { canonicalizeRunContext, type RunContext, type RunExecutionContext, type RunContextJsonObject, type RunContextJsonValue, } from \"../record/model/run-context.ts\";\nimport type { RecordReaderReadError } from \"../record/reader/errors.ts\";\nimport type { ReadableRun, RecordReadSession, RecordSelection, SelectedAttemptRef, SelectedRunRef, } from \"../record/host/types.ts\";\nimport type { ActiveAnalysisSlot, AnalysisIssue, AnalysisRun, AnalysisRunContext, AnalysisRunExecution, AnalysisSlotOccurrenceIdentity, SampleIdentity, AnalysisSelectionProblem, AnalysisSelectionRequest, AnalysisSelectionSummary, AnalysisSlot, AnalysisRequestError, CoreInvalidAnalysisSlot, ExcludedAnalysisSlot, IncludedAnalysisSlot, JsonValue, NotRecordedAnalysisSlot, SampleCoverage, SampleSelector, SampleSnapshot, SampleSnapshotCodecError, } from \"../analysis/contracts.ts\";\nimport type { EvalId, ExecutionIdentityDigest, ExperimentId, RunId, SlotId, UtcMillis, } from \"../record/model/identifiers.ts\";\nconst MAX_SELECTED_RUNS = 4096;\nconst MAX_SLOTS = 250000;\n/** Private bridge retained in Sample's WeakMap, never in a closed value. */\nexport interface SampleMaterialization {\n readonly snapshot: SampleSnapshot;\n readonly attemptsBySlot: ReadonlyMap<string, SelectedAttemptRef>;\n /** Private Core identity used to validate a later lazy Attempt read. */\n readonly slotIdentitiesBySlot: ReadonlyMap<string, RecordSlotIdentity>;\n}\n/**\n * Reads only the selected Core needed to freeze the Sample denominator. Fixed\n * family payloads, blobs, and physical paths are intentionally not touched.\n */\nexport function materializeSampleSnapshot(input: {\n readonly reader: RecordReadSession;\n readonly selection: RecordSelection;\n readonly selectionRequest: AnalysisSelectionRequest;\n}): Effect.Effect<SampleMaterialization, RecordReaderReadError> {\n return Effect.gen(function* () {\n const selection = selectionSummary(input.selectionRequest, input.selection);\n const selected = [...input.selection.runRefs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId));\n if (selected.length > MAX_SELECTED_RUNS) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum selected Run count\"));\n }\n const expectedByRun = expectedSlotsByRun(input.selection);\n const factsByRun = runFactsByRun(input.selection);\n const runs: AnalysisRun[] = [];\n const slots: AnalysisSlot[] = [];\n const attemptsBySlot = new Map<string, SelectedAttemptRef>();\n const slotIdentitiesBySlot = new Map<string, RecordSlotIdentity>();\n for (const ref of selected) {\n const facts = factsByRun.get(ref);\n if (facts === undefined) {\n return yield* Effect.die(new Error(\"Record selection omitted closed facts for a selected Run\"));\n }\n const expected = expectedSlotsForRun(ref, facts, expectedByRun.get(ref));\n if (expected.length > MAX_SLOTS - slots.length) {\n return yield* Effect.die(new Error(\"Sample selection exceeds the maximum Slot count\"));\n }\n const read = yield* input.reader.readRun(ref);\n if (read.state !== \"available\") {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run Core is unavailable\"));\n }\n continue;\n }\n const run = read.value;\n if (run.document.experimentId !== facts.experimentId) {\n runs.push(closeRunFacts(facts));\n for (const expectedSlot of expected) {\n slotIdentitiesBySlot.set(slotKey(ref.runId, expectedSlot.slot.slotId), expectedSlot.slot);\n slots.push(coreInvalidSlot(ref.runId, expectedSlot.experimentId, expectedSlot.slot, null, \"the selected Run experimentId does not match its closed selection facts\"));\n }\n continue;\n }\n runs.push(closeRun(run, expected.map((entry) => entry.slot)));\n const members = membersBySlot(run);\n for (const expectedSlot of expected) {\n const slot = expectedSlot.slot;\n slotIdentitiesBySlot.set(slotKey(ref.runId, slot.slotId), slot);\n const materialized = materializeSlot({\n selectedRun: ref,\n experimentId: expectedSlot.experimentId,\n slot,\n members,\n });\n slots.push(materialized.slot);\n if (materialized.attempt !== undefined) {\n attemptsBySlot.set(slotKey(materialized.slot.runId, materialized.slot.slotId), materialized.attempt);\n }\n }\n }\n const canonicalRuns = Object.freeze([...runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const canonicalSlots = Object.freeze([...slots].sort(compareSlots));\n const snapshot = makeSnapshot({ selection, runs: canonicalRuns, slots: canonicalSlots });\n return Object.freeze({\n snapshot,\n attemptsBySlot,\n slotIdentitiesBySlot,\n });\n });\n}\n/** Synchronous, monotonic narrowing over an already-frozen snapshot. */\nexport function narrowSampleSnapshot(snapshot: SampleSnapshot, selector: SampleSelector): SampleSnapshot | AnalysisRequestError {\n const runIds = normalizedSelectorIds(selector.runIds);\n const slotIds = normalizedSelectorIds(selector.slotIds);\n if (runIds === undefined && slotIds === undefined) {\n return requestError(\"narrowSample needs at least one runIds or slotIds selector\");\n }\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n const runMatches = runIds === undefined || runIds.has(slot.runId);\n const slotMatches = slotIds === undefined || slotIds.has(slot.slotId);\n if (runMatches && slotMatches)\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/**\n * `project-current` identity narrowing. Empty matching ids exclude every\n * active Slot; unmatched members become `excluded` with `identity-mismatch`.\n */\nexport function narrowSampleSnapshotByCurrentIdentity(snapshot: SampleSnapshot, matchingOccurrences: readonly AnalysisSlotOccurrenceIdentity[]): SampleSnapshot {\n const keep = new Set(matchingOccurrences.map((occurrence) => slotKey(occurrence.runId, occurrence.slotId)));\n const slots = snapshot.slots.map((slot): AnalysisSlot => {\n if (slot.state === \"excluded\")\n return slot;\n if (keep.has(slotKey(slot.runId, slot.slotId)))\n return slot;\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"excluded\" as const,\n base: slot,\n reason: \"identity-mismatch\" as const,\n }) satisfies ExcludedAnalysisSlot;\n });\n return makeSnapshot({\n selection: snapshot.selection,\n runs: snapshot.runs,\n slots: Object.freeze(slots),\n });\n}\n/** The only portable Sample encoding; it has no selected Record references. */\nexport function encodeSampleSnapshot(snapshot: SampleSnapshot): JsonValue {\n return snapshotJson(decodeSampleSnapshot(snapshot));\n}\n/** Exact decode, canonical ordering, coverage validation, and deep freeze. */\nexport function decodeSampleSnapshot(value: unknown): SampleSnapshot {\n const decoded = decodeSampleSnapshotEither(value);\n if (Either.isLeft(decoded))\n throw codecException(decoded.left);\n return decoded.right;\n}\n/** @internal Typed codec branch for host diagnostics. */\nexport function decodeSampleSnapshotEither(value: unknown): Either.Either<SampleSnapshot, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"version\", \"identity\", \"selection\", \"runs\", \"slots\", \"coverage\"])) {\n return Either.left(codecError([], \"must contain exactly version, identity, selection, runs, slots, and coverage\"));\n }\n if (valueAt(value, \"version\") !== 1)\n return Either.left(codecError([\"version\"], \"must be 1\"));\n const selection = decodeSelection(valueAt(value, \"selection\"), [\"selection\"]);\n if (Either.isLeft(selection))\n return Either.left(selection.left);\n const runs = decodeRuns(valueAt(value, \"runs\"), [\"runs\"]);\n if (Either.isLeft(runs))\n return Either.left(runs.left);\n const slots = decodeSlots(valueAt(value, \"slots\"), [\"slots\"]);\n if (Either.isLeft(slots))\n return Either.left(slots.left);\n const alignment = validateSlotRunAlignment(runs.right, slots.right);\n if (alignment !== undefined)\n return Either.left(alignment);\n const snapshot = makeSnapshot({ selection: selection.right, runs: runs.right, slots: slots.right });\n if (!sameIdentity(valueAt(value, \"identity\"), snapshot.identity)) {\n return Either.left(codecError([\"identity\"], \"does not match the canonical frozen selection\"));\n }\n if (!sameCoverage(valueAt(value, \"coverage\"), snapshot.coverage)) {\n return Either.left(codecError([\"coverage\"], \"does not satisfy the canonical coverage equations\"));\n }\n return Either.right(snapshot);\n}\nfunction expectedSlotsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]> {\n const result = new Map<SelectedRunRef, readonly RecordSelection[\"expectedSlots\"][number][]>();\n for (const entry of selection.expectedSlots) {\n const slots = result.get(entry.run);\n if (slots === undefined)\n result.set(entry.run, [entry]);\n else\n result.set(entry.run, [...slots, entry]);\n }\n for (const [ref, slots] of result) {\n result.set(ref, Object.freeze([...slots].sort((left, right) => compareCanonicalIdentity(left.slot.slotId, right.slot.slotId))));\n }\n return result;\n}\nfunction runFactsByRun(selection: RecordSelection): ReadonlyMap<SelectedRunRef, RecordSelection[\"runFacts\"][number]> {\n return new Map(selection.runFacts.map((facts) => [facts.run, facts] as const));\n}\nfunction expectedSlotsForRun(ref: SelectedRunRef, facts: RecordSelection[\"runFacts\"][number], fromSelection: readonly RecordSelection[\"expectedSlots\"][number][] | undefined): readonly RecordSelection[\"expectedSlots\"][number][] {\n if (fromSelection !== undefined)\n return fromSelection;\n return Object.freeze(facts.expectedSlots.map((slot) => Object.freeze({\n run: ref,\n experimentId: facts.experimentId,\n slot,\n })));\n}\nfunction selectionSummary(request: AnalysisSelectionRequest, selection: RecordSelection): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(selection.runRefs.map((ref) => ref.runId));\n const problems = normalizedSelectionProblems([\n ...selection.problems,\n ...selection.warnings.map((warning): AnalysisSelectionProblem => Object.freeze({\n code: \"incomplete-run\" as const,\n runId: warning.runId,\n })),\n ]);\n if (request.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(request.runIds),\n selectedRunIds,\n problems,\n });\n }\n const requestedExperimentIds = request.experimentIds === undefined\n ? uniqueSorted(request.currentSlots.map((slot) => slot.experimentId))\n : uniqueSorted(request.experimentIds);\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: requestedExperimentIds.length === 0 ? \"all\" : requestedExperimentIds,\n selectedRunIds,\n problems,\n });\n}\nfunction normalizedSelectionProblems(values: readonly AnalysisSelectionProblem[]): readonly AnalysisSelectionProblem[] {\n const byKey = new Map<string, AnalysisSelectionProblem>();\n for (const problem of values) {\n byKey.set(`${problem.code}\\u0000${problem.runId}`, Object.freeze({ ...problem }));\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, problem]) => problem));\n}\nfunction closeRun(run: ReadableRun, expectedSlots: readonly RecordSlotIdentity[]): AnalysisRun {\n return Object.freeze({\n runId: run.document.runId,\n experimentId: run.document.experimentId,\n context: closeRunContext(run.document.context),\n startedAt: run.document.startedAt,\n completedAt: run.document.completedAt,\n expectedSlots: Object.freeze(expectedSlots.map((slot) => slot.slotId)),\n });\n}\nfunction closeRunFacts(facts: RecordSelection[\"runFacts\"][number]): AnalysisRun {\n return Object.freeze({\n runId: facts.run.runId,\n experimentId: facts.experimentId,\n context: null,\n startedAt: facts.startedAt,\n completedAt: facts.completedAt,\n expectedSlots: Object.freeze(facts.expectedSlots.map((slot) => slot.slotId)),\n });\n}\n/**\n * Context is Core, but Sample owns an independent value-only closure rather\n * than retaining a reference to a Record read result. Canonical key ordering\n * keeps the Snapshot identity stable before it reaches JSON encoding.\n */\nfunction closeRunContext(context: RunContext): AnalysisRunContext {\n return Object.freeze({\n execution: closeAnalysisRunExecution(context.execution),\n labels: closeStringRecord(context.labels),\n });\n}\n/**\n * Internal closure shared by selected-Run snapshot construction and the\n * origin-Attempt projection. It copies only durable JSON facts; neither path,\n * reader, nor mutable Record object escapes into Sample.\n */\nexport function closeAnalysisRunExecution(execution: RunExecutionContext): AnalysisRunExecution {\n return Object.freeze({\n agentId: execution.agentId,\n model: execution.model,\n reasoningEffort: execution.reasoningEffort,\n flags: closeJsonObject(execution.flags),\n });\n}\nfunction closeStringRecord(value: Readonly<Record<string, string>>): Readonly<Record<string, string>> {\n const result: Record<string, string> = Object.create(null) as Record<string, string>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: value[key],\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonObject(value: RunContextJsonObject): Readonly<Record<string, JsonValue>> {\n const result: Record<string, JsonValue> = Object.create(null) as Record<string, JsonValue>;\n for (const key of Object.keys(value).sort(compareCanonicalIdentity)) {\n Object.defineProperty(result, key, {\n value: closeJsonValue(value[key]!),\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n return Object.freeze(result);\n}\nfunction closeJsonValue(value: RunContextJsonValue): JsonValue {\n if (value === null || typeof value === \"boolean\" || typeof value === \"number\" || typeof value === \"string\") {\n return value;\n }\n if (Array.isArray(value))\n return Object.freeze(value.map(closeJsonValue));\n if (isRunContextJsonObject(value))\n return closeJsonObject(value);\n throw new TypeError(\"RunContext JSON value must be an object after scalar and array cases\");\n}\nfunction isRunContextJsonObject(value: RunContextJsonValue): value is RunContextJsonObject {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction membersBySlot(run: ReadableRun): ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\"> {\n const result = new Map<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">();\n for (const member of run.members) {\n if (result.has(member.document.slotId))\n result.set(member.document.slotId, \"duplicate\");\n else\n result.set(member.document.slotId, member);\n }\n return result;\n}\nfunction materializeSlot(input: {\n readonly selectedRun: SelectedRunRef;\n /** Derived once from the exact Run Core, never copied into Record Slot. */\n readonly experimentId: ExperimentId;\n readonly slot: RecordSlotIdentity;\n readonly members: ReadonlyMap<SlotId, ReadableRun[\"members\"][number] | \"duplicate\">;\n}): {\n readonly slot: AnalysisSlot;\n readonly attempt?: SelectedAttemptRef;\n} {\n const member = input.members.get(input.slot.slotId);\n if (member === undefined) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: null,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member === \"duplicate\" || member.document.slotId !== input.slot.slotId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, null, \"the Run has an invalid Member mapping\"),\n });\n }\n if (member.document.attempt === null) {\n return Object.freeze({\n slot: Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"not-recorded\" as const,\n action: member.document.action,\n attempt: null,\n }) satisfies NotRecordedAnalysisSlot,\n });\n }\n if (member.attempt === null ||\n member.document.attempt.originRunId !== member.attempt.originRunId ||\n member.document.attempt.attemptId !== member.attempt.attemptId) {\n return Object.freeze({\n slot: coreInvalidSlot(input.selectedRun.runId, input.experimentId, input.slot, member.document.action, \"the selected Member did not receive the exact Attempt capability\"),\n });\n }\n const slot: IncludedAnalysisSlot = Object.freeze({\n runId: input.selectedRun.runId,\n slotId: input.slot.slotId,\n experimentId: input.experimentId,\n evalId: input.slot.evalId,\n attemptOrdinal: input.slot.attemptOrdinal,\n executionIdentityDigest: input.slot.executionIdentityDigest,\n state: \"included\" as const,\n action: member.document.action,\n relation: member.attempt.originRunId === input.selectedRun.runId ? \"origin\" as const : \"reference\" as const,\n attempt: Object.freeze({\n kind: \"attempt\" as const,\n locator: encodeAttemptLocator(member.attempt.attemptId),\n originRunId: member.attempt.originRunId,\n }),\n });\n return Object.freeze({ slot, attempt: member.attempt });\n}\nfunction coreInvalidSlot(runId: RunId, experimentId: ExperimentId, slot: RecordSlotIdentity, action: CoreInvalidAnalysisSlot[\"action\"], message: string): CoreInvalidAnalysisSlot {\n return Object.freeze({\n runId,\n slotId: slot.slotId,\n experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: \"core-invalid\" as const,\n action,\n attempt: null,\n issues: Object.freeze([analysisIssue(\"input-invalid\", message)]),\n });\n}\nfunction makeSnapshot(input: {\n readonly selection: AnalysisSelectionSummary;\n readonly runs: readonly AnalysisRun[];\n readonly slots: readonly AnalysisSlot[];\n}): SampleSnapshot {\n const runs = Object.freeze([...input.runs].sort((left, right) => compareCanonicalIdentity(left.runId, right.runId)));\n const slots = Object.freeze([...input.slots].sort(compareSlots));\n const canonicalSelection = selectionForSlots(input.selection, slots);\n const coverage = coverageFor(slots);\n return Object.freeze({\n version: 1 as const,\n identity: sampleIdentity(canonicalSelection, runs, slots),\n selection: canonicalSelection,\n runs,\n slots,\n coverage,\n });\n}\n/** Every derived Sample retains its source policy and refreshes its active result. */\nfunction selectionForSlots(selection: AnalysisSelectionSummary, slots: readonly AnalysisSlot[]): AnalysisSelectionSummary {\n const selectedRunIds = uniqueSorted(slots.flatMap((slot) => slot.state === \"excluded\" ? [] : [slot.runId]));\n const problems = normalizedSelectionProblems(selection.problems);\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(selection.runIds),\n selectedRunIds,\n problems,\n });\n }\n return Object.freeze({\n policy: \"project-current\" as const,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : uniqueSorted(selection.experimentIds),\n selectedRunIds,\n problems,\n });\n}\nfunction coverageFor(slots: readonly AnalysisSlot[]): SampleCoverage {\n let selected = 0;\n let included = 0;\n let notRecorded = 0;\n let coreInvalid = 0;\n let excluded = 0;\n for (const slot of slots) {\n if (slot.state === \"excluded\") {\n excluded += 1;\n continue;\n }\n selected += 1;\n if (slot.state === \"included\")\n included += 1;\n else if (slot.state === \"not-recorded\")\n notRecorded += 1;\n else\n coreInvalid += 1;\n }\n return Object.freeze({\n frameTotal: slots.length,\n selected,\n included,\n notRecorded,\n coreInvalid,\n excluded,\n });\n}\nfunction sampleIdentity(selection: AnalysisSelectionSummary, runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleIdentity {\n return Object.freeze({\n kind: \"analysis-sample\" as const,\n id: canonicalIdentity({ selection, runs, slots }),\n });\n}\nfunction compareSlots(left: AnalysisSlot, right: AnalysisSlot): number {\n const run = compareCanonicalIdentity(left.runId, right.runId);\n return run === 0 ? compareCanonicalIdentity(left.slotId, right.slotId) : run;\n}\nfunction slotKey(runId: RunId, slotId: SlotId): string {\n return `${runId}\\u0000${slotId}`;\n}\nfunction normalizedSelectorIds(values: readonly string[] | undefined): ReadonlySet<string> | undefined {\n if (values === undefined)\n return undefined;\n return new Set(values);\n}\nfunction requestError(reason: string): AnalysisRequestError {\n return Object.freeze({ code: \"analysis-request-invalid\" as const, reason });\n}\nfunction analysisIssue(code: AnalysisIssue[\"code\"], message: string): AnalysisIssue {\n return Object.freeze({ code, message, refs: Object.freeze([]) });\n}\nfunction snapshotJson(snapshot: SampleSnapshot): JsonValue {\n return Object.freeze({\n version: snapshot.version,\n identity: Object.freeze({ kind: snapshot.identity.kind, id: snapshot.identity.id }),\n selection: selectionJson(snapshot.selection),\n runs: Object.freeze(snapshot.runs.map((run) => Object.freeze({\n runId: run.runId,\n experimentId: run.experimentId,\n context: run.context === null ? null : Object.freeze({\n execution: Object.freeze({\n agentId: run.context.execution.agentId,\n model: run.context.execution.model,\n reasoningEffort: run.context.execution.reasoningEffort,\n flags: closeJsonObject(run.context.execution.flags),\n }),\n labels: closeStringRecord(run.context.labels),\n }),\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n expectedSlots: Object.freeze([...run.expectedSlots]),\n }))),\n slots: Object.freeze(snapshot.slots.map(slotJson)),\n coverage: Object.freeze({ ...snapshot.coverage }),\n });\n}\nfunction selectionJson(selection: AnalysisSelectionSummary): JsonValue {\n const problems = Object.freeze(selection.problems.map((problem) => Object.freeze({ ...problem })));\n if (selection.policy === \"explicit-runs\") {\n return Object.freeze({\n policy: selection.policy,\n runIds: Object.freeze([...selection.runIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n }\n return Object.freeze({\n policy: selection.policy,\n experimentIds: selection.experimentIds === \"all\"\n ? \"all\"\n : Object.freeze([...selection.experimentIds]),\n selectedRunIds: Object.freeze([...selection.selectedRunIds]),\n problems,\n });\n}\nfunction slotJson(slot: AnalysisSlot): JsonValue {\n if (slot.state === \"excluded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n base: slotJson(slot.base),\n ...(slot.reason === undefined ? {} : { reason: slot.reason }),\n });\n }\n if (slot.state === \"included\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n relation: slot.relation,\n attempt: Object.freeze({ ...slot.attempt }),\n });\n }\n if (slot.state === \"not-recorded\") {\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n });\n }\n return Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n state: slot.state,\n action: slot.action,\n attempt: null,\n issues: Object.freeze(slot.issues.map(issueJson)),\n });\n}\nfunction issueJson(issue: AnalysisIssue): JsonValue {\n return Object.freeze({\n code: issue.code,\n message: issue.message,\n refs: Object.freeze(issue.refs.map((ref) => Object.freeze({\n identity: Object.freeze({ kind: ref.identity.kind, locator: ref.identity.locator }),\n }))),\n });\n}\nfunction decodeSelection(value: unknown, path: readonly string[]): Either.Either<AnalysisSelectionSummary, SampleSnapshotCodecError> {\n if (!isPlainObject(value))\n return Either.left(codecError(path, \"must be an object\"));\n const policy = valueAt(value, \"policy\");\n if (policy === \"explicit-runs\") {\n if (!isExactObject(value, [\"policy\", \"runIds\", \"selectedRunIds\", \"problems\"])) {\n return Either.left(codecError(path, \"explicit-runs must contain exactly policy, runIds, selectedRunIds, and problems\"));\n }\n const runIds = decodeArray(valueAt(value, \"runIds\"), [...path, \"runIds\"], decodeRunId);\n const selectedRunIds = decodeArray(valueAt(value, \"selectedRunIds\"), [...path, \"selectedRunIds\"], decodeRunId);\n const problems = decodeSelectionProblems(valueAt(value, \"problems\"), [...path, \"problems\"]);\n if (Either.isLeft(runIds))\n return Either.left(runIds.left);\n if (Either.isLeft(selectedRunIds))\n return Either.left(selectedRunIds.left);\n if (Either.isLeft(problems))\n return Either.left(problems.left);\n return Either.right(Object.freeze({\n policy: \"explicit-runs\" as const,\n runIds: uniqueSorted(runIds.right),\n selectedRunIds: uniqueSorted(selectedRunIds.right),\n problems: normalizedSelectionProblems(problems.right),\n }));\n }\n if (policy === \"project-current\") {\n if (!isExactObject(value, [\"policy\", \"experimentIds\", \"selectedRunIds\", \"problems\"])) {\n return Either.left(codecError(path, \"project-current must contain exactly policy, experimentIds, selectedRunIds, and problems\"));\n }\n const experimentIdsValue = valueAt(value, \"experimentIds\");\n let experimentIds: \"all\" | readonly ExperimentId[];\n if (experimentIdsValue === \"all\") {\n experimentIds = \"all\";\n }\n else {\n const decodedExperimentIds = decodeArray(experimentIdsValue, [...path, \"experimentIds\"], decodeExperimentId);\n if (Either.isLeft(decodedExperimentIds))\n return Either.left(decodedExperimentIds.left);\n experimentIds = uniqueSorted(decodedExperimentIds.right);\n }\n const selectedRunIds = decodeArray(valueAt(value, \"selectedRunIds\"), [...path, \"selectedRunIds\"], decodeRunId);\n const problems = decodeSelectionProblems(valueAt(value, \"problems\"), [...path, \"problems\"]);\n if (Either.isLeft(selectedRunIds))\n return Either.left(selectedRunIds.left);\n if (Either.isLeft(problems))\n return Either.left(problems.left);\n return Either.right(Object.freeze({\n policy: \"project-current\" as const,\n experimentIds,\n selectedRunIds: uniqueSorted(selectedRunIds.right),\n problems: normalizedSelectionProblems(problems.right),\n }));\n }\n return Either.left(codecError([...path, \"policy\"], \"must be explicit-runs or project-current\"));\n}\nfunction decodeSelectionProblems(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisSelectionProblem[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const problems: AnalysisSelectionProblem[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeSelectionProblem(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n problems.push(decoded.right);\n }\n return Either.right(Object.freeze(problems));\n}\nfunction decodeSelectionProblem(value: unknown, path: readonly string[]): Either.Either<AnalysisSelectionProblem, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"code\", \"runId\"]))\n return Either.left(codecError(path, \"must contain exactly code and runId\"));\n const code = valueAt(value, \"code\");\n if (code !== \"incomplete-run\" && code !== \"record-core-invalid\" && code !== \"selection-run-missing\" && code !== \"selection-run-unreadable\") {\n return Either.left(codecError([...path, \"code\"], \"is not a known selection problem\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n return Either.isLeft(runId) ? Either.left(runId.left) : Either.right(Object.freeze({ code, runId: runId.right }));\n}\nfunction decodeRuns(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisRun[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n if (value.length > MAX_SELECTED_RUNS)\n return Either.left(codecError(path, \"exceeds the selected-runs limit\"));\n const runs: AnalysisRun[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeRun(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n runs.push(decoded.right);\n }\n return Either.right(Object.freeze(uniqueSortedBy(runs, (run) => run.runId)));\n}\nfunction decodeRun(value: unknown, path: readonly string[]): Either.Either<AnalysisRun, SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"runId\", \"experimentId\", \"context\", \"startedAt\", \"completedAt\", \"expectedSlots\"])) {\n return Either.left(codecError(path, \"contains unsupported fields\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const startedAt = decodeUtcMillis(valueAt(value, \"startedAt\"), [...path, \"startedAt\"]);\n const completedAt = decodeUtcMillis(valueAt(value, \"completedAt\"), [...path, \"completedAt\"]);\n const slots = decodeArray(valueAt(value, \"expectedSlots\"), [...path, \"expectedSlots\"], decodeSlotId);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n const context = decodeRunContext(valueAt(value, \"context\"), experimentId.right, [...path, \"context\"]);\n if (Either.isLeft(context))\n return Either.left(context.left);\n if (Either.isLeft(startedAt))\n return Either.left(startedAt.left);\n if (Either.isLeft(completedAt))\n return Either.left(completedAt.left);\n if (Either.isLeft(slots))\n return Either.left(slots.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n experimentId: experimentId.right,\n context: context.right,\n startedAt: startedAt.right,\n completedAt: completedAt.right,\n expectedSlots: Object.freeze(uniqueSorted(slots.right)),\n }));\n}\nfunction decodeRunContext(value: unknown, experimentId: ExperimentId, path: readonly string[]): Either.Either<AnalysisRunContext | null, SampleSnapshotCodecError> {\n if (value === null)\n return Either.right(null);\n if (!isExactObject(value, [\"execution\", \"labels\"])) {\n return Either.left(codecError(path, \"must contain exactly execution and labels\"));\n }\n const decoded = canonicalizeRunContext({\n experimentId,\n execution: valueAt(value, \"execution\"),\n labels: valueAt(value, \"labels\"),\n });\n return Either.isLeft(decoded)\n ? Either.left(codecError(path, \"is not a valid closed Run context\"))\n : Either.right(closeRunContext(decoded.right));\n}\nfunction decodeSlots(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisSlot[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n if (value.length > MAX_SLOTS)\n return Either.left(codecError(path, \"exceeds the Slot limit\"));\n const slots: AnalysisSlot[] = [];\n const identities = new Set<string>();\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decodeSlot(value[index], [...path, String(index)], false);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n const key = slotKey(decoded.right.runId, decoded.right.slotId);\n if (identities.has(key))\n return Either.left(codecError([...path, String(index)], \"duplicates a Run/Slot identity\"));\n identities.add(key);\n slots.push(decoded.right);\n }\n return Either.right(Object.freeze(slots.sort(compareSlots)));\n}\n/** A Snapshot Slot is a derived occurrence of exactly one closed AnalysisRun. */\nfunction validateSlotRunAlignment(runs: readonly AnalysisRun[], slots: readonly AnalysisSlot[]): SampleSnapshotCodecError | undefined {\n const runsById = new Map(runs.map((run) => [run.runId, run] as const));\n for (let index = 0; index < slots.length; index += 1) {\n const slot = slots[index]!;\n const run = runsById.get(slot.runId);\n if (run === undefined) {\n return codecError([\"slots\", String(index), \"runId\"], \"does not identify a selected AnalysisRun\");\n }\n if (run.experimentId !== slot.experimentId) {\n return codecError([\"slots\", String(index), \"experimentId\"], \"does not match the associated AnalysisRun\");\n }\n if (!run.expectedSlots.includes(slot.slotId)) {\n return codecError([\"slots\", String(index), \"slotId\"], \"does not belong to the associated AnalysisRun\");\n }\n }\n return undefined;\n}\nfunction decodeSlot(value: unknown, path: readonly string[], nested: boolean): Either.Either<AnalysisSlot, SampleSnapshotCodecError> {\n if (!isPlainObject(value))\n return Either.left(codecError(path, \"must be an object\"));\n const state = valueAt(value, \"state\");\n if (state === \"excluded\") {\n const hasReason = Object.prototype.hasOwnProperty.call(value, \"reason\");\n const expectedKeys = hasReason\n ? [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"base\", \"reason\"]\n : [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"base\"];\n if (nested || !isExactObject(value, expectedKeys)) {\n return Either.left(codecError(path, \"excluded Slots must contain exactly runId, slotId, state, base, and optional reason\"));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const slotId = decodeSlotId(valueAt(value, \"slotId\"), [...path, \"slotId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const evalId = decodeEvalId(valueAt(value, \"evalId\"), [...path, \"evalId\"]);\n const attemptOrdinal = decodeAttemptOrdinal(valueAt(value, \"attemptOrdinal\"), [...path, \"attemptOrdinal\"]);\n const executionIdentityDigest = decodeExecutionIdentityDigest(valueAt(value, \"executionIdentityDigest\"), [...path, \"executionIdentityDigest\"]);\n const base = decodeSlot(valueAt(value, \"base\"), [...path, \"base\"], true);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n if (Either.isLeft(evalId))\n return Either.left(evalId.left);\n if (Either.isLeft(attemptOrdinal))\n return Either.left(attemptOrdinal.left);\n if (Either.isLeft(executionIdentityDigest))\n return Either.left(executionIdentityDigest.left);\n if (Either.isLeft(base))\n return Either.left(base.left);\n if (base.right.state === \"excluded\"\n || base.right.runId !== runId.right\n || base.right.slotId !== slotId.right\n || base.right.experimentId !== experimentId.right\n || base.right.evalId !== evalId.right\n || base.right.attemptOrdinal !== attemptOrdinal.right\n || base.right.executionIdentityDigest !== executionIdentityDigest.right) {\n return Either.left(codecError(path, \"excluded base must be a matching active Slot\"));\n }\n if (hasReason && valueAt(value, \"reason\") !== \"identity-mismatch\") {\n return Either.left(codecError([...path, \"reason\"], \"must be identity-mismatch\"));\n }\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n base: base.right,\n ...(hasReason ? { reason: \"identity-mismatch\" as const } : {}),\n }));\n }\n const runId = decodeRunId(valueAt(value, \"runId\"), [...path, \"runId\"]);\n const slotId = decodeSlotId(valueAt(value, \"slotId\"), [...path, \"slotId\"]);\n const experimentId = decodeExperimentId(valueAt(value, \"experimentId\"), [...path, \"experimentId\"]);\n const evalId = decodeEvalId(valueAt(value, \"evalId\"), [...path, \"evalId\"]);\n const attemptOrdinal = decodeAttemptOrdinal(valueAt(value, \"attemptOrdinal\"), [...path, \"attemptOrdinal\"]);\n const executionIdentityDigest = decodeExecutionIdentityDigest(valueAt(value, \"executionIdentityDigest\"), [...path, \"executionIdentityDigest\"]);\n if (Either.isLeft(runId))\n return Either.left(runId.left);\n if (Either.isLeft(slotId))\n return Either.left(slotId.left);\n if (Either.isLeft(experimentId))\n return Either.left(experimentId.left);\n if (Either.isLeft(evalId))\n return Either.left(evalId.left);\n if (Either.isLeft(attemptOrdinal))\n return Either.left(attemptOrdinal.left);\n if (Either.isLeft(executionIdentityDigest))\n return Either.left(executionIdentityDigest.left);\n if (state === \"included\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"relation\", \"attempt\"])) {\n return Either.left(codecError(path, \"included Slots contain unsupported fields\"));\n }\n const action = valueAt(value, \"action\");\n const relation = valueAt(value, \"relation\");\n const attempt = decodeAttemptIdentity(valueAt(value, \"attempt\"), [...path, \"attempt\"]);\n if ((action !== \"executed\" && action !== \"carried\" && action !== \"accepted\") || (relation !== \"origin\" && relation !== \"reference\")) {\n return Either.left(codecError(path, \"included Slot has an invalid Member action or relation\"));\n }\n if (Either.isLeft(attempt))\n return Either.left(attempt.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n relation,\n attempt: attempt.right,\n }));\n }\n if (state === \"not-recorded\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"attempt\"]) || valueAt(value, \"attempt\") !== null) {\n return Either.left(codecError(path, \"not-recorded Slots must retain a null Attempt\"));\n }\n const action = valueAt(value, \"action\");\n if (action !== null && action !== \"not-dispatched\" && action !== \"interrupted\") {\n return Either.left(codecError([...path, \"action\"], \"is not a null Member action\"));\n }\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n attempt: null,\n }));\n }\n if (state === \"core-invalid\") {\n if (!isExactObject(value, [\"runId\", \"slotId\", \"experimentId\", \"evalId\", \"attemptOrdinal\", \"executionIdentityDigest\", \"state\", \"action\", \"attempt\", \"issues\"]) || valueAt(value, \"attempt\") !== null) {\n return Either.left(codecError(path, \"core-invalid Slots must contain null Attempt and issues\"));\n }\n const action = valueAt(value, \"action\");\n if (action !== null && action !== \"executed\" && action !== \"carried\" && action !== \"accepted\" && action !== \"not-dispatched\" && action !== \"interrupted\") {\n return Either.left(codecError([...path, \"action\"], \"is not a Member action\"));\n }\n const issues = decodeIssues(valueAt(value, \"issues\"), [...path, \"issues\"]);\n if (Either.isLeft(issues))\n return Either.left(issues.left);\n return Either.right(Object.freeze({\n runId: runId.right,\n slotId: slotId.right,\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attemptOrdinal.right,\n executionIdentityDigest: executionIdentityDigest.right,\n state,\n action,\n attempt: null,\n issues: issues.right,\n }));\n }\n return Either.left(codecError([...path, \"state\"], \"must be included, not-recorded, core-invalid, or excluded\"));\n}\nfunction decodeAttemptIdentity(value: unknown, path: readonly string[]): Either.Either<IncludedAnalysisSlot[\"attempt\"], SampleSnapshotCodecError> {\n if (!isExactObject(value, [\"kind\", \"locator\", \"originRunId\"]) || valueAt(value, \"kind\") !== \"attempt\") {\n return Either.left(codecError(path, \"must contain an Attempt locator identity\"));\n }\n const locator = valueAt(value, \"locator\");\n const originRunId = decodeRunId(valueAt(value, \"originRunId\"), [...path, \"originRunId\"]);\n if (typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Either.left(codecError([...path, \"locator\"], \"is not a canonical Attempt locator\"));\n }\n return Either.isLeft(originRunId)\n ? Either.left(originRunId.left)\n : Either.right(Object.freeze({ kind: \"attempt\" as const, locator: locator as IncludedAnalysisSlot[\"attempt\"][\"locator\"], originRunId: originRunId.right }));\n}\nfunction decodeIssues(value: unknown, path: readonly string[]): Either.Either<readonly AnalysisIssue[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const issues: AnalysisIssue[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const entry = value[index];\n if (!isExactObject(entry, [\"code\", \"message\", \"refs\"]))\n return Either.left(codecError([...path, String(index)], \"has unsupported fields\"));\n const code = valueAt(entry, \"code\");\n const message = valueAt(entry, \"message\");\n const refs = valueAt(entry, \"refs\");\n if ((code !== \"missing\" && code !== \"unsupported\" && code !== \"producer-incompatible\" && code !== \"input-invalid\" && code !== \"reduction-failed\" && code !== \"relation-unmatched\") || typeof message !== \"string\" || !Array.isArray(refs)) {\n return Either.left(codecError([...path, String(index)], \"is not a closed Analysis issue\"));\n }\n const decodedRefs = [] as AnalysisIssue[\"refs\"][number][];\n for (let refIndex = 0; refIndex < refs.length; refIndex += 1) {\n const ref = refs[refIndex];\n if (!isExactObject(ref, [\"identity\"]) || !isExactObject(valueAt(ref, \"identity\"), [\"kind\", \"locator\"])) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"is not a closed evidence reference\"));\n }\n const identity = valueAt(ref, \"identity\");\n if (!isExactObject(identity, [\"kind\", \"locator\"])) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"is not a closed evidence reference\"));\n }\n const locator = valueAt(identity, \"locator\");\n if (valueAt(identity, \"kind\") !== \"attempt\" || typeof locator !== \"string\" || !parseAttemptLocator(locator).valid) {\n return Either.left(codecError([...path, String(index), \"refs\", String(refIndex)], \"has an invalid evidence locator\"));\n }\n decodedRefs.push(Object.freeze({ identity: Object.freeze({ kind: \"attempt\" as const, locator: locator as AnalysisIssue[\"refs\"][number][\"identity\"][\"locator\"] }) }));\n }\n issues.push(Object.freeze({ code, message, refs: Object.freeze(decodedRefs) }));\n }\n return Either.right(Object.freeze(issues));\n}\nfunction decodeArray<Value>(value: unknown, path: readonly string[], decode: (value: unknown, path: readonly string[]) => Either.Either<Value, SampleSnapshotCodecError>): Either.Either<readonly Value[], SampleSnapshotCodecError> {\n if (!Array.isArray(value))\n return Either.left(codecError(path, \"must be an array\"));\n const values: Value[] = [];\n for (let index = 0; index < value.length; index += 1) {\n const decoded = decode(value[index], [...path, String(index)]);\n if (Either.isLeft(decoded))\n return Either.left(decoded.left);\n values.push(decoded.right);\n }\n return Either.right(Object.freeze(values));\n}\nfunction decodeRunId(value: unknown, path: readonly string[]): Either.Either<RunId, SampleSnapshotCodecError> {\n return decodeBrand(RunIdSchema, value, path, \"a RunId\");\n}\nfunction decodeSlotId(value: unknown, path: readonly string[]): Either.Either<SlotId, SampleSnapshotCodecError> {\n return decodeBrand(SlotIdSchema, value, path, \"a SlotId\");\n}\nfunction decodeEvalId(value: unknown, path: readonly string[]): Either.Either<EvalId, SampleSnapshotCodecError> {\n return decodeBrand(EvalIdSchema, value, path, \"an EvalId\");\n}\nfunction decodeAttemptOrdinal(value: unknown, path: readonly string[]): Either.Either<number, SampleSnapshotCodecError> {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value >= 0\n ? Either.right(value)\n : Either.left(codecError(path, \"must be a zero-based non-negative safe attempt ordinal\"));\n}\nfunction decodeExecutionIdentityDigest(value: unknown, path: readonly string[]): Either.Either<ExecutionIdentityDigest, SampleSnapshotCodecError> {\n return decodeBrand(ExecutionIdentityDigestSchema, value, path, \"an execution identity digest\");\n}\nfunction decodeExperimentId(value: unknown, path: readonly string[]): Either.Either<ExperimentId, SampleSnapshotCodecError> {\n return decodeBrand(ExperimentIdSchema, value, path, \"an ExperimentId\");\n}\nfunction decodeUtcMillis(value: unknown, path: readonly string[]): Either.Either<UtcMillis, SampleSnapshotCodecError> {\n return decodeBrand(UtcMillisSchema, value, path, \"a UTC millisecond value\");\n}\nfunction decodeBrand<Value>(schema: Schema.Schema<Value, any>, value: unknown, path: readonly string[], label: string): Either.Either<Value, SampleSnapshotCodecError> {\n const decoded = Schema.decodeUnknownEither(schema)(value);\n return Either.isLeft(decoded) ? Either.left(codecError(path, `must be ${label}`)) : Either.right(decoded.right);\n}\nfunction uniqueSorted<Value extends string>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...new Set<Value>(values)].sort(compareCanonicalIdentity));\n}\nfunction uniqueSortedBy<Value>(values: readonly Value[], key: (value: Value) => string): readonly Value[] {\n const byKey = new Map<string, Value>();\n for (const value of values) {\n const identity = key(value);\n if (byKey.has(identity))\n throw new Error(\"SampleSnapshot contains duplicate identities\");\n byKey.set(identity, value);\n }\n return Object.freeze([...byKey.entries()]\n .sort(([left], [right]) => compareCanonicalIdentity(left, right))\n .map(([, value]) => value));\n}\nfunction sameIdentity(value: unknown, expected: SampleIdentity): boolean {\n return isExactObject(value, [\"kind\", \"id\"])\n && valueAt(value, \"kind\") === expected.kind\n && valueAt(value, \"id\") === expected.id;\n}\nfunction sameCoverage(value: unknown, expected: SampleCoverage): boolean {\n return isExactObject(value, [\"frameTotal\", \"selected\", \"included\", \"notRecorded\", \"coreInvalid\", \"excluded\"])\n && valueAt(value, \"frameTotal\") === expected.frameTotal\n && valueAt(value, \"selected\") === expected.selected\n && valueAt(value, \"included\") === expected.included\n && valueAt(value, \"notRecorded\") === expected.notRecorded\n && valueAt(value, \"coreInvalid\") === expected.coreInvalid\n && valueAt(value, \"excluded\") === expected.excluded;\n}\nfunction codecException(error: SampleSnapshotCodecError): Error {\n const exception = new Error(error.reason);\n Object.assign(exception, error);\n return exception;\n}\nfunction codecError(path: readonly string[], reason: string): SampleSnapshotCodecError {\n return Object.freeze({ code: \"sample-snapshot-invalid\" as const, path: Object.freeze([...path]), reason });\n}\n/** Complete normalized selection data is collision-safe identity material. */\nfunction canonicalIdentity(value: unknown): string {\n const encoded = JSON.stringify(value);\n if (encoded === undefined)\n throw new Error(\"Sample identity input must be JSON-serializable\");\n return `sample-v1:${encoded}`;\n}\nfunction isPlainObject(value: unknown): value is object {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return false;\n const prototype = Object.getPrototypeOf(value);\n return prototype === Object.prototype || prototype === null;\n}\nfunction isExactObject(value: unknown, keys: readonly string[]): value is object {\n if (!isPlainObject(value))\n return false;\n const actual = Reflect.ownKeys(value);\n return actual.length === keys.length && actual.every((key) => typeof key === \"string\" && keys.includes(key));\n}\nfunction valueAt(value: object, key: string): unknown {\n return Reflect.get(value, key);\n}\n"]}
|