niceeval 0.15.1-canary.76 → 0.16.1
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 +45 -40
- package/dist/adapter-execution-trace.cjs.map +1 -1
- package/dist/adapter-execution-trace.d.cts +26 -0
- package/dist/adapter-execution-trace.d.mts +26 -0
- package/dist/adapter-execution-trace.d.ts +26 -0
- package/dist/adapter-usage.cjs.map +1 -1
- package/dist/adapter-usage.d.cts +9 -0
- package/dist/adapter-usage.d.mts +9 -0
- package/dist/adapter-usage.d.ts +9 -0
- package/dist/adapter.cjs +19 -4
- package/dist/adapter.cjs.map +1 -1
- package/dist/adapter.d.cts +37 -12
- package/dist/adapter.d.mts +37 -12
- package/dist/adapter.d.ts +37 -12
- package/dist/agents/ai-sdk.cjs +3 -0
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/bub.cjs +3 -0
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/claude-code-native.cjs +28 -2
- package/dist/agents/claude-code-native.cjs.map +1 -1
- package/dist/agents/claude-code.cjs +3 -0
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex.cjs +3 -0
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.cjs +9 -10
- package/dist/agents/coding-cli-versions.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.d.cts +1 -1
- package/dist/agents/coding-cli-versions.d.mts +1 -1
- package/dist/agents/coding-cli-versions.d.ts +1 -1
- package/dist/agents/deepseek-harness.cjs +3 -0
- package/dist/agents/deepseek-harness.cjs.map +1 -1
- package/dist/agents/hermes.cjs +3 -0
- package/dist/agents/hermes.cjs.map +1 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +3 -2
- package/dist/agents/index.d.mts +3 -2
- package/dist/agents/index.d.ts +3 -2
- package/dist/agents/omp.cjs +3 -0
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/openai-compat.cjs +6 -0
- package/dist/agents/openai-compat.cjs.map +1 -1
- package/dist/agents/openclaw.cjs +3 -0
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/opencode.cjs +3 -0
- package/dist/agents/opencode.cjs.map +1 -1
- package/dist/agents/sdk-streams.cjs +9 -0
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/ui-message-stream.cjs +3 -0
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +27 -5
- package/dist/assertions/api.d.mts +27 -5
- package/dist/assertions/api.d.ts +27 -5
- package/dist/assertions/collection.cjs +6 -0
- package/dist/assertions/collection.cjs.map +1 -1
- package/dist/assertions/collection.d.cts +4 -2
- package/dist/assertions/collection.d.mts +4 -2
- package/dist/assertions/collection.d.ts +4 -2
- package/dist/assertions/collection.js +12 -8
- package/dist/assertions/context-match.cjs +70 -0
- package/dist/assertions/context-match.cjs.map +1 -0
- package/dist/assertions/context-match.d.cts +107 -0
- package/dist/assertions/context-match.d.mts +107 -0
- package/dist/assertions/context-match.d.ts +107 -0
- package/dist/assertions/context-match.js +12 -0
- package/dist/assertions/context-match.js.map +1 -0
- package/dist/assertions/full-content.cjs +109 -0
- package/dist/assertions/full-content.cjs.map +1 -0
- package/dist/assertions/full-content.d.cts +6 -0
- package/dist/assertions/full-content.d.mts +6 -0
- package/dist/assertions/full-content.d.ts +6 -0
- package/dist/assertions/full-content.js +12 -0
- package/dist/assertions/full-content.js.map +1 -0
- package/dist/assertions/judge-presets.cjs +2 -34
- package/dist/assertions/judge-presets.cjs.map +1 -1
- package/dist/assertions/judge-presets.d.cts +6 -9
- package/dist/assertions/judge-presets.d.mts +6 -9
- package/dist/assertions/judge-presets.d.ts +6 -9
- package/dist/assertions/judge-presets.js +8 -8
- package/dist/assertions/judge.cjs +107 -29
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/judge.d.cts +2 -0
- package/dist/assertions/judge.d.mts +2 -0
- package/dist/assertions/judge.d.ts +2 -0
- package/dist/assertions/match.cjs +244 -5
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +43 -3
- package/dist/assertions/match.d.mts +43 -3
- package/dist/assertions/match.d.ts +43 -3
- package/dist/assertions/match.js +88 -78
- package/dist/assertions/material.cjs +520 -0
- package/dist/assertions/material.cjs.map +1 -0
- package/dist/assertions/material.d.cts +56 -0
- package/dist/assertions/material.d.mts +56 -0
- package/dist/assertions/material.d.ts +56 -0
- package/dist/assertions/material.js +20 -0
- package/dist/assertions/material.js.map +1 -0
- package/dist/assertions/record/attachment.cjs +5 -2
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/codec.cjs +2 -1
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +6 -1
- package/dist/assertions/record/model.d.mts +6 -1
- package/dist/assertions/record/model.d.ts +6 -1
- package/dist/assertions/runtime.cjs +207 -14
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/assertions/runtime.d.cts +9 -0
- package/dist/assertions/runtime.d.mts +9 -0
- package/dist/assertions/runtime.d.ts +9 -0
- package/dist/assertions/runtime.js +14 -8
- package/dist/assertions/score-match-audit.cjs +18 -8
- package/dist/assertions/score-match-audit.cjs.map +1 -1
- package/dist/assertions/score-match-gateway.cjs +83 -25
- package/dist/assertions/score-match-gateway.cjs.map +1 -1
- package/dist/assertions/score-match-gateway.d.cts +2 -0
- package/dist/assertions/score-match-gateway.d.mts +2 -0
- package/dist/assertions/score-match-gateway.d.ts +2 -0
- package/dist/assertions/value-composition.test-d.cjs +77 -0
- package/dist/assertions/value-composition.test-d.cjs.map +1 -0
- package/dist/assertions/value-composition.test-d.d.cts +1 -0
- package/dist/assertions/value-composition.test-d.d.mts +1 -0
- package/dist/assertions/value-composition.test-d.d.ts +1 -0
- package/dist/assertions/value-composition.test-d.js +4 -0
- package/dist/assertions/value-composition.test-d.js.map +1 -0
- package/dist/context/assert-first.cjs +207 -213
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +49 -23
- package/dist/context/assert-first.d.mts +49 -23
- package/dist/context/assert-first.d.ts +49 -23
- package/dist/context/session.cjs +111 -9
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +18 -0
- package/dist/context/session.d.mts +18 -0
- package/dist/context/session.d.ts +18 -0
- package/dist/define.cjs +17 -1
- package/dist/define.cjs.map +1 -1
- package/dist/eval/cli/contribution.cjs +2 -0
- package/dist/eval/cli/contribution.cjs.map +1 -1
- package/dist/eval/host/index.cjs +2 -0
- package/dist/eval/host/index.cjs.map +1 -1
- package/dist/eval/record/evaluation.cjs +3 -0
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +15 -15
- package/dist/eval/record/membership-provenance.d.mts +15 -15
- package/dist/eval/record/membership-provenance.d.ts +15 -15
- package/dist/eval/record/score.cjs +7 -0
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.cjs +3 -0
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/verdict.cjs +7 -0
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/expect/index.cjs +8 -2
- package/dist/expect/index.cjs.map +1 -1
- package/dist/expect/index.d.cts +9 -4
- package/dist/expect/index.d.mts +9 -4
- package/dist/expect/index.d.ts +9 -4
- package/dist/expect/index.js +72 -62
- package/dist/expect/index.mjs +72 -62
- package/dist/experiment/host/cli/contribution.cjs +37 -23
- package/dist/experiment/host/cli/contribution.cjs.map +1 -1
- package/dist/experiment/host/cli/contribution.d.cts +9 -1
- package/dist/experiment/host/cli/contribution.d.mts +9 -1
- package/dist/experiment/host/cli/contribution.d.ts +9 -1
- package/dist/experiment/host/current.cjs +74 -0
- package/dist/experiment/host/current.cjs.map +1 -0
- package/dist/experiment/host/current.d.cts +33 -0
- package/dist/experiment/host/current.d.mts +33 -0
- package/dist/experiment/host/current.d.ts +33 -0
- package/dist/experiment/host/current.js +10 -0
- package/dist/experiment/host/current.js.map +1 -0
- package/dist/experiment/host/index.cjs +17 -174
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +8 -54
- package/dist/experiment/host/index.d.mts +8 -54
- package/dist/experiment/host/index.d.ts +8 -54
- package/dist/experiment/host/operations.cjs +33 -10
- package/dist/experiment/host/operations.cjs.map +1 -1
- package/dist/experiment/host/operations.d.cts +29 -1
- package/dist/experiment/host/operations.d.mts +29 -1
- package/dist/experiment/host/operations.d.ts +29 -1
- package/dist/experiment/host/operations.js +6 -4
- package/dist/experiment/host/requirements.cjs +3 -0
- package/dist/experiment/host/requirements.cjs.map +1 -0
- package/dist/experiment/host/requirements.d.cts +3 -0
- package/dist/experiment/host/requirements.d.mts +3 -0
- package/dist/experiment/host/requirements.d.ts +3 -0
- package/dist/experiment/host/requirements.js +4 -0
- package/dist/experiment/host/requirements.js.map +1 -0
- package/dist/experiment/host/runtime.cjs +179 -0
- package/dist/experiment/host/runtime.cjs.map +1 -0
- package/dist/experiment/host/runtime.d.cts +79 -0
- package/dist/experiment/host/runtime.d.mts +79 -0
- package/dist/experiment/host/runtime.d.ts +79 -0
- package/dist/experiment/host/runtime.js +6 -0
- package/dist/experiment/host/runtime.js.map +1 -0
- package/dist/experiment/host/types.cjs.map +1 -1
- package/dist/experiment/host/types.d.cts +17 -16
- package/dist/experiment/host/types.d.mts +17 -16
- package/dist/experiment/host/types.d.ts +17 -16
- package/dist/fresh-import.cjs +2 -1
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -6
- package/dist/index.d.mts +12 -6
- package/dist/index.d.ts +12 -6
- package/dist/index.js +32 -30
- package/dist/index.mjs +32 -30
- package/dist/inspection/artifacts.cjs +83 -54
- package/dist/inspection/artifacts.cjs.map +1 -1
- package/dist/inspection/artifacts.d.cts +8 -0
- package/dist/inspection/artifacts.d.mts +8 -0
- package/dist/inspection/artifacts.d.ts +8 -0
- package/dist/inspection/artifacts.js +2 -0
- package/dist/inspection/assertions.cjs +4 -1
- package/dist/inspection/assertions.cjs.map +1 -1
- package/dist/inspection/cli/contribution.cjs +27 -4
- package/dist/inspection/cli/contribution.cjs.map +1 -1
- package/dist/inspection/cli/contribution.d.cts +2 -1
- package/dist/inspection/cli/contribution.d.mts +2 -1
- package/dist/inspection/cli/contribution.d.ts +2 -1
- package/dist/inspection/execution-traces.cjs +114 -8
- package/dist/inspection/execution-traces.cjs.map +1 -1
- package/dist/inspection/execution-traces.d.cts +38 -0
- package/dist/inspection/execution-traces.d.mts +38 -0
- package/dist/inspection/execution-traces.d.ts +38 -0
- package/dist/inspection/facts.cjs +12 -0
- package/dist/inspection/facts.cjs.map +1 -1
- package/dist/inspection/limits.cjs +5 -1
- package/dist/inspection/limits.cjs.map +1 -1
- package/dist/inspection/limits.d.cts +4 -0
- package/dist/inspection/limits.d.mts +4 -0
- package/dist/inspection/limits.d.ts +4 -0
- package/dist/inspection/limits.js +6 -2
- package/dist/inspection/overview.cjs +74 -33
- package/dist/inspection/overview.cjs.map +1 -1
- package/dist/inspection/overview.d.cts +19 -1
- package/dist/inspection/overview.d.mts +19 -1
- package/dist/inspection/overview.d.ts +19 -1
- package/dist/inspection/overview.js +4 -2
- package/dist/inspection/project-input.cjs +9 -0
- package/dist/inspection/project-input.cjs.map +1 -0
- package/dist/inspection/project-input.d.cts +20 -0
- package/dist/inspection/project-input.d.mts +20 -0
- package/dist/inspection/project-input.d.ts +20 -0
- package/dist/inspection/project-input.js +8 -0
- package/dist/inspection/project-input.js.map +1 -0
- package/dist/inspection/project-result.cjs +60 -0
- package/dist/inspection/project-result.cjs.map +1 -0
- package/dist/inspection/project-result.d.cts +1264 -0
- package/dist/inspection/project-result.d.mts +1264 -0
- package/dist/inspection/project-result.d.ts +1264 -0
- package/dist/inspection/project-result.js +10 -0
- package/dist/inspection/project-result.js.map +1 -0
- package/dist/inspection/project-source.cjs +109 -0
- package/dist/inspection/project-source.cjs.map +1 -0
- package/dist/inspection/project-source.d.cts +10 -0
- package/dist/inspection/project-source.d.mts +10 -0
- package/dist/inspection/project-source.d.ts +10 -0
- package/dist/inspection/project-source.js +6 -0
- package/dist/inspection/project-source.js.map +1 -0
- package/dist/inspection/project.cjs +100 -0
- package/dist/inspection/project.cjs.map +1 -0
- package/dist/inspection/project.d.cts +3 -0
- package/dist/inspection/project.d.mts +3 -0
- package/dist/inspection/project.d.ts +3 -0
- package/dist/inspection/project.js +6 -0
- package/dist/inspection/project.js.map +1 -0
- package/dist/inspection/protocol.cjs +19 -9
- package/dist/inspection/protocol.cjs.map +1 -1
- package/dist/inspection/protocol.d.cts +5506 -38189
- package/dist/inspection/protocol.d.mts +5506 -38189
- package/dist/inspection/protocol.d.ts +5506 -38189
- package/dist/inspection/public.mjs +896 -84
- package/dist/inspection/query.cjs +2 -0
- package/dist/inspection/query.cjs.map +1 -1
- package/dist/inspection/results.cjs +234 -29
- package/dist/inspection/results.cjs.map +1 -1
- package/dist/inspection/results.d.cts +870 -13
- package/dist/inspection/results.d.mts +870 -13
- package/dist/inspection/results.d.ts +870 -13
- package/dist/inspection/results.js +36 -34
- package/dist/inspection/select.cjs +126 -14
- package/dist/inspection/select.cjs.map +1 -1
- package/dist/inspection/select.d.cts +1 -1
- package/dist/inspection/select.d.mts +1 -1
- package/dist/inspection/select.d.ts +1 -1
- package/dist/inspection/source.cjs +4 -0
- package/dist/inspection/source.cjs.map +1 -1
- package/dist/inspection/sources.cjs +5 -0
- package/dist/inspection/sources.cjs.map +1 -1
- package/dist/inspection/trace.cjs +82 -84
- package/dist/inspection/trace.cjs.map +1 -1
- package/dist/inspection/trace.d.cts +7 -2
- package/dist/inspection/trace.d.mts +7 -2
- package/dist/inspection/trace.d.ts +7 -2
- package/dist/model-slots.cjs +35 -0
- package/dist/model-slots.cjs.map +1 -0
- package/dist/model-slots.d.cts +19 -0
- package/dist/model-slots.d.mts +19 -0
- package/dist/model-slots.d.ts +19 -0
- package/dist/model-slots.js +8 -0
- package/dist/model-slots.js.map +1 -0
- package/dist/o11y/adapter-call-price.cjs +4 -0
- package/dist/o11y/adapter-call-price.cjs.map +1 -1
- package/dist/o11y/adapter-call-price.d.cts +24 -0
- package/dist/o11y/adapter-call-price.d.mts +24 -0
- package/dist/o11y/adapter-call-price.d.ts +24 -0
- package/dist/o11y/adapter-call-price.js +6 -2
- package/dist/o11y/adapter-usage-projection.cjs +158 -0
- package/dist/o11y/adapter-usage-projection.cjs.map +1 -0
- package/dist/o11y/adapter-usage-projection.d.cts +141 -0
- package/dist/o11y/adapter-usage-projection.d.mts +141 -0
- package/dist/o11y/adapter-usage-projection.d.ts +141 -0
- package/dist/o11y/adapter-usage-projection.js +20 -0
- package/dist/o11y/adapter-usage-projection.js.map +1 -0
- package/dist/o11y/eval-usage.cjs +149 -0
- package/dist/o11y/eval-usage.cjs.map +1 -0
- package/dist/o11y/eval-usage.d.cts +46 -0
- package/dist/o11y/eval-usage.d.mts +46 -0
- package/dist/o11y/eval-usage.d.ts +46 -0
- package/dist/o11y/eval-usage.js +8 -0
- package/dist/o11y/eval-usage.js.map +1 -0
- package/dist/o11y/judge-call-price.cjs +62 -0
- package/dist/o11y/judge-call-price.cjs.map +1 -0
- package/dist/o11y/judge-call-price.d.cts +3 -0
- package/dist/o11y/judge-call-price.d.mts +3 -0
- package/dist/o11y/judge-call-price.d.ts +3 -0
- package/dist/o11y/judge-call-price.js +6 -0
- package/dist/o11y/judge-call-price.js.map +1 -0
- package/dist/o11y/judge-usage-projection.cjs +134 -0
- package/dist/o11y/judge-usage-projection.cjs.map +1 -0
- package/dist/o11y/judge-usage-projection.d.cts +18 -0
- package/dist/o11y/judge-usage-projection.d.mts +18 -0
- package/dist/o11y/judge-usage-projection.d.ts +18 -0
- package/dist/o11y/judge-usage-projection.js +20 -0
- package/dist/o11y/judge-usage-projection.js.map +1 -0
- package/dist/o11y/judge-usage-receipt.cjs +135 -0
- package/dist/o11y/judge-usage-receipt.cjs.map +1 -0
- package/dist/o11y/judge-usage-receipt.d.cts +5 -0
- package/dist/o11y/judge-usage-receipt.d.mts +5 -0
- package/dist/o11y/judge-usage-receipt.d.ts +5 -0
- package/dist/o11y/judge-usage-receipt.js +6 -0
- package/dist/o11y/judge-usage-receipt.js.map +1 -0
- package/dist/o11y/judge-usage.cjs +171 -0
- package/dist/o11y/judge-usage.cjs.map +1 -0
- package/dist/o11y/judge-usage.d.cts +35 -0
- package/dist/o11y/judge-usage.d.mts +35 -0
- package/dist/o11y/judge-usage.d.ts +35 -0
- package/dist/o11y/judge-usage.js +6 -0
- package/dist/o11y/judge-usage.js.map +1 -0
- package/dist/plugin/contracts.cjs +2 -0
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/link.cjs +7 -0
- package/dist/plugin/link.cjs.map +1 -1
- package/dist/record/attachment/protocol.cjs +8 -6
- package/dist/record/attachment/protocol.cjs.map +1 -1
- package/dist/record/attachment/protocol.d.cts +10 -0
- package/dist/record/attachment/protocol.d.mts +10 -0
- package/dist/record/attachment/protocol.d.ts +10 -0
- package/dist/record/attachment/protocol.js +38 -36
- package/dist/record/codec/seal-manifest.d.cts +3 -3
- package/dist/record/codec/seal-manifest.d.mts +3 -3
- package/dist/record/codec/seal-manifest.d.ts +3 -3
- package/dist/record/family/adapter-usage/definition.d.cts +1 -0
- package/dist/record/family/adapter-usage/definition.d.mts +1 -0
- package/dist/record/family/adapter-usage/definition.d.ts +1 -0
- package/dist/record/family/adapter-usage/persistence.cjs +1 -1
- package/dist/record/family/adapter-usage/persistence.cjs.map +1 -1
- package/dist/record/family/adapter-usage/persistence.d.cts +2 -1
- package/dist/record/family/adapter-usage/persistence.d.mts +2 -1
- package/dist/record/family/adapter-usage/persistence.d.ts +2 -1
- package/dist/record/family/adapter-usage/schema.cjs +21 -2
- package/dist/record/family/adapter-usage/schema.cjs.map +1 -1
- package/dist/record/family/adapter-usage/schema.d.cts +85 -0
- package/dist/record/family/adapter-usage/schema.d.mts +85 -0
- package/dist/record/family/adapter-usage/schema.d.ts +85 -0
- package/dist/record/family/adapter-usage/schema.js +18 -12
- package/dist/record/family/catalog.cjs +31 -27
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +94 -3
- package/dist/record/family/catalog.d.mts +94 -3
- package/dist/record/family/catalog.d.ts +94 -3
- package/dist/record/family/current.cjs +45 -42
- package/dist/record/family/current.cjs.map +1 -1
- package/dist/record/family/current.d.cts +240 -1
- package/dist/record/family/current.d.mts +240 -1
- package/dist/record/family/current.d.ts +240 -1
- package/dist/record/family/execution-traces/definition.d.cts +26 -0
- package/dist/record/family/execution-traces/definition.d.mts +26 -0
- package/dist/record/family/execution-traces/definition.d.ts +26 -0
- package/dist/record/family/execution-traces/definition.js +20 -14
- package/dist/record/family/execution-traces/schema.cjs +57 -1
- package/dist/record/family/execution-traces/schema.cjs.map +1 -1
- package/dist/record/family/execution-traces/schema.d.cts +114 -0
- package/dist/record/family/execution-traces/schema.d.mts +114 -0
- package/dist/record/family/execution-traces/schema.d.ts +114 -0
- package/dist/record/family/execution-traces/schema.js +18 -12
- package/dist/record/family/judge-usage/definition.cjs +12 -0
- package/dist/record/family/judge-usage/definition.cjs.map +1 -0
- package/dist/record/family/judge-usage/definition.d.cts +91 -0
- package/dist/record/family/judge-usage/definition.d.mts +91 -0
- package/dist/record/family/judge-usage/definition.d.ts +91 -0
- package/dist/record/family/judge-usage/definition.js +6 -0
- package/dist/record/family/judge-usage/definition.js.map +1 -0
- package/dist/record/family/judge-usage/persistence.cjs +10 -0
- package/dist/record/family/judge-usage/persistence.cjs.map +1 -0
- package/dist/record/family/judge-usage/persistence.d.cts +91 -0
- package/dist/record/family/judge-usage/persistence.d.mts +91 -0
- package/dist/record/family/judge-usage/persistence.d.ts +91 -0
- package/dist/record/family/judge-usage/persistence.js +6 -0
- package/dist/record/family/judge-usage/persistence.js.map +1 -0
- package/dist/record/family/judge-usage/schema.cjs +307 -0
- package/dist/record/family/judge-usage/schema.cjs.map +1 -0
- package/dist/record/family/judge-usage/schema.d.cts +351 -0
- package/dist/record/family/judge-usage/schema.d.mts +351 -0
- package/dist/record/family/judge-usage/schema.d.ts +351 -0
- package/dist/record/family/judge-usage/schema.js +18 -0
- package/dist/record/family/judge-usage/schema.js.map +1 -0
- package/dist/record/host/sqlite-host.cjs +55 -9
- package/dist/record/host/sqlite-host.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +7 -0
- package/dist/record/host/types.d.mts +7 -0
- package/dist/record/host/types.d.ts +7 -0
- package/dist/record/model/run-context.cjs +7 -1
- package/dist/record/model/run-context.cjs.map +1 -1
- package/dist/record/model/run-context.d.cts +4 -0
- package/dist/record/model/run-context.d.mts +4 -0
- package/dist/record/model/run-context.d.ts +4 -0
- package/dist/record/model/seal-manifest.d.cts +1 -1
- package/dist/record/model/seal-manifest.d.mts +1 -1
- package/dist/record/model/seal-manifest.d.ts +1 -1
- package/dist/record/sqlite/client.cjs +18 -5
- package/dist/record/sqlite/client.cjs.map +1 -1
- package/dist/record/sqlite/client.d.cts +1 -1
- package/dist/record/sqlite/client.d.mts +1 -1
- package/dist/record/sqlite/client.d.ts +1 -1
- package/dist/record/sqlite/project-state-database.cjs +29 -8
- package/dist/record/sqlite/project-state-database.cjs.map +1 -1
- package/dist/run/host/runtime.cjs +4 -0
- package/dist/run/host/runtime.cjs.map +1 -1
- package/dist/run/storage/sqlite.cjs +20 -0
- package/dist/run/storage/sqlite.cjs.map +1 -1
- package/dist/runner/adapter-execution-trace.cjs +125 -2
- package/dist/runner/adapter-execution-trace.cjs.map +1 -1
- package/dist/runner/adapter-execution-trace.d.cts +1 -1
- package/dist/runner/adapter-execution-trace.d.mts +1 -1
- package/dist/runner/adapter-execution-trace.d.ts +1 -1
- package/dist/runner/adapter-usage.cjs +55 -7
- package/dist/runner/adapter-usage.cjs.map +1 -1
- package/dist/runner/adapter-usage.d.cts +9 -2
- package/dist/runner/adapter-usage.d.mts +9 -2
- package/dist/runner/adapter-usage.d.ts +9 -2
- package/dist/runner/adoption.cjs +9 -0
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-cancellation.cjs +12 -0
- package/dist/runner/attempt-cancellation.cjs.map +1 -0
- package/dist/runner/attempt-cancellation.d.cts +6 -0
- package/dist/runner/attempt-cancellation.d.mts +6 -0
- package/dist/runner/attempt-cancellation.d.ts +6 -0
- package/dist/runner/attempt-cancellation.js +6 -0
- package/dist/runner/attempt-cancellation.js.map +1 -0
- package/dist/runner/attempt-resources.cjs +10 -4
- package/dist/runner/attempt-resources.cjs.map +1 -1
- package/dist/runner/attempt-resources.d.cts +2 -1
- package/dist/runner/attempt-resources.d.mts +2 -1
- package/dist/runner/attempt-resources.d.ts +2 -1
- package/dist/runner/attempt.cjs +1177 -1139
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/config-identity.cjs +20 -1
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +5 -0
- package/dist/runner/config-identity.d.mts +5 -0
- package/dist/runner/config-identity.d.ts +5 -0
- package/dist/runner/discover.cjs +14 -0
- package/dist/runner/discover.cjs.map +1 -1
- package/dist/runner/discover.d.cts +3 -0
- package/dist/runner/discover.d.mts +3 -0
- package/dist/runner/discover.d.ts +3 -0
- package/dist/runner/feedback/human.cjs +9 -4
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/fingerprint.cjs +1 -0
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/judge-usage.cjs +18 -0
- package/dist/runner/judge-usage.cjs.map +1 -0
- package/dist/runner/judge-usage.d.cts +5 -0
- package/dist/runner/judge-usage.d.mts +5 -0
- package/dist/runner/judge-usage.d.ts +5 -0
- package/dist/runner/judge-usage.js +8 -0
- package/dist/runner/judge-usage.js.map +1 -0
- package/dist/runner/project-target.cjs.map +1 -1
- package/dist/runner/project-target.d.cts +2 -0
- package/dist/runner/project-target.d.mts +2 -0
- package/dist/runner/project-target.d.ts +2 -0
- package/dist/runner/record/planning.cjs +1 -0
- package/dist/runner/record/planning.cjs.map +1 -1
- package/dist/runner/record.cjs +4 -0
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.cjs +2 -0
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reuse-diagnostics.cjs +9 -10
- package/dist/runner/reuse-diagnostics.cjs.map +1 -1
- package/dist/runner/reuse-diagnostics.d.cts +5 -6
- package/dist/runner/reuse-diagnostics.d.mts +5 -6
- package/dist/runner/reuse-diagnostics.d.ts +5 -6
- package/dist/runner/reuse-diagnostics.js +4 -4
- package/dist/runner/reuse-plan.cjs +100 -48
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +60 -3
- package/dist/runner/reuse-plan.d.mts +60 -3
- package/dist/runner/reuse-plan.d.ts +60 -3
- package/dist/runner/reuse-plan.js +14 -10
- package/dist/runner/run.cjs +8 -6
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/session.cjs +1 -1
- package/dist/runner/session.cjs.map +1 -1
- package/dist/runner/session.d.cts +1 -1
- package/dist/runner/session.d.mts +1 -1
- package/dist/runner/session.d.ts +1 -1
- package/dist/runner/source-producer.cjs +3 -1
- package/dist/runner/source-producer.cjs.map +1 -1
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +26 -5
- package/dist/runner/types.d.mts +26 -5
- package/dist/runner/types.d.ts +26 -5
- package/dist/sandbox/action.cjs +3 -0
- package/dist/sandbox/action.cjs.map +1 -1
- package/dist/sandbox/commands.cjs +3 -0
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/compose.cjs +6 -0
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/docker-profile/registry.cjs +7 -0
- package/dist/sandbox/docker-profile/registry.cjs.map +1 -1
- package/dist/sandbox/docker-profile/runtime.cjs +3 -0
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.cjs +7 -0
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/incus.cjs +7 -0
- package/dist/sandbox/incus.cjs.map +1 -1
- package/dist/sandbox/layer.cjs +12 -0
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/shared/adapter-cleanup.cjs +18 -0
- package/dist/shared/adapter-cleanup.cjs.map +1 -0
- package/dist/shared/adapter-cleanup.d.cts +4 -0
- package/dist/shared/adapter-cleanup.d.mts +4 -0
- package/dist/shared/adapter-cleanup.d.ts +4 -0
- package/dist/shared/adapter-cleanup.js +10 -0
- package/dist/shared/adapter-cleanup.js.map +1 -0
- package/dist/shared/attempt-lifecycle.cjs +3 -0
- package/dist/shared/attempt-lifecycle.cjs.map +1 -0
- package/dist/shared/attempt-lifecycle.d.cts +13 -0
- package/dist/shared/attempt-lifecycle.d.mts +13 -0
- package/dist/shared/attempt-lifecycle.d.ts +13 -0
- package/dist/shared/attempt-lifecycle.js +4 -0
- package/dist/shared/attempt-lifecycle.js.map +1 -0
- package/dist/show/contribution.cjs +52 -14
- package/dist/show/contribution.cjs.map +1 -1
- package/dist/show/contribution.d.cts +23 -1
- package/dist/show/contribution.d.mts +23 -1
- package/dist/show/contribution.d.ts +23 -1
- package/dist/show/model.cjs +8 -1
- package/dist/show/model.cjs.map +1 -1
- package/dist/show/model.d.cts +10 -1
- package/dist/show/model.d.mts +10 -1
- package/dist/show/model.d.ts +10 -1
- package/dist/show/render.cjs +287 -49
- package/dist/show/render.cjs.map +1 -1
- package/dist/show/render.d.cts +3 -0
- package/dist/show/render.d.mts +3 -0
- package/dist/show/render.d.ts +3 -0
- package/dist/sources/projector.cjs +3 -0
- package/dist/sources/projector.cjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/view/app-dist/.vite/manifest.json +2 -2
- package/dist/view/app-dist/assets/index-CmVoXbwG.js +63 -0
- package/dist/view/app-dist/assets/{quality-cost-scatter-CFB3wnkN.js → quality-cost-scatter-BuLISaH4.js} +1 -1
- package/dist/view/app-dist/index.html +1 -1
- package/dist/view/cli/contribution.cjs +54 -21
- package/dist/view/cli/contribution.cjs.map +1 -1
- package/dist/view/cli/contribution.d.cts +2 -1
- package/dist/view/cli/contribution.d.mts +2 -1
- package/dist/view/cli/contribution.d.ts +2 -1
- package/dist/view/function-runtime.mjs +13231 -11647
- package/dist/view/http-protocol.cjs +3 -0
- package/dist/view/http-protocol.cjs.map +1 -1
- package/dist/view/http-protocol.d.cts +8 -0
- package/dist/view/http-protocol.d.mts +8 -0
- package/dist/view/http-protocol.d.ts +8 -0
- package/dist/view/inspection-host.cjs +17 -1
- package/dist/view/inspection-host.cjs.map +1 -1
- package/dist/view/render.cjs +1 -0
- package/dist/view/render.cjs.map +1 -1
- package/dist/view/render.d.cts +2 -1
- package/dist/view/render.d.mts +2 -1
- package/dist/view/render.d.ts +2 -1
- package/dist/view/revision.cjs.map +1 -1
- package/dist/view/revision.d.cts +12 -0
- package/dist/view/revision.d.mts +12 -0
- package/dist/view/revision.d.ts +12 -0
- package/dist/view/server.cjs +10 -9
- package/dist/view/server.cjs.map +1 -1
- package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
- package/docs-site/zh/explanation/adapter.mdx +2 -2
- package/docs-site/zh/explanation/assert.mdx +60 -24
- package/docs-site/zh/explanation/drive.mdx +1 -1
- package/docs-site/zh/explanation/evals.mdx +31 -29
- package/docs-site/zh/explanation/experiment.mdx +15 -15
- package/docs-site/zh/explanation/judge.mdx +23 -15
- package/docs-site/zh/explanation/overview.mdx +44 -21
- package/docs-site/zh/explanation/record.mdx +28 -13
- package/docs-site/zh/explanation/results-flow.mdx +37 -0
- package/docs-site/zh/explanation/runner.mdx +27 -6
- package/docs-site/zh/index.mdx +22 -115
- package/docs-site/zh/introduction.mdx +89 -61
- package/docs-site/zh/reference/cli.mdx +50 -26
- package/docs-site/zh/reference/define-agent.mdx +37 -5
- package/docs-site/zh/reference/define-eval.mdx +130 -29
- package/docs-site/zh/reference/define-experiment.mdx +251 -0
- package/docs-site/zh/reference/events.mdx +34 -30
- package/docs-site/zh/reference/expect.mdx +77 -2
- package/docs-site/zh/reference/official-adapters.mdx +2 -2
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +43 -24
- package/docs-site/zh/troubleshooting/debugging.mdx +65 -42
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +35 -28
- package/docs-site/zh/tutorials/accept-results.mdx +34 -24
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +74 -43
- package/docs-site/zh/tutorials/agent-onboarding.mdx +27 -20
- package/docs-site/zh/tutorials/authoring.mdx +138 -121
- package/docs-site/zh/tutorials/ci-integration.mdx +46 -22
- package/docs-site/zh/tutorials/compare-runs.mdx +40 -13
- package/docs-site/zh/tutorials/concurrency.mdx +66 -62
- package/docs-site/zh/tutorials/configuration.mdx +17 -17
- package/docs-site/zh/tutorials/connect-otel.mdx +48 -37
- package/docs-site/zh/tutorials/connect-your-agent.mdx +80 -173
- package/docs-site/zh/tutorials/control-run-cost.mdx +63 -12
- package/docs-site/zh/tutorials/criteria-files.mdx +28 -21
- package/docs-site/zh/tutorials/custom-application.mdx +75 -55
- package/docs-site/zh/tutorials/dataset-fanout.mdx +32 -22
- package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +38 -31
- package/docs-site/zh/tutorials/docker-in-docker.mdx +83 -89
- package/docs-site/zh/tutorials/eval-groups.mdx +70 -89
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +12 -5
- package/docs-site/zh/tutorials/experiment-services.mdx +243 -0
- package/docs-site/zh/tutorials/fixtures.mdx +42 -26
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +41 -19
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +21 -16
- package/docs-site/zh/tutorials/niceeval-taste-application.mdx +394 -0
- package/docs-site/zh/tutorials/niceeval-taste.mdx +190 -0
- package/docs-site/zh/tutorials/nixos-managed-dind.mdx +51 -39
- package/docs-site/zh/tutorials/plugins.mdx +55 -31
- package/docs-site/zh/tutorials/prebuilt-sandbox.mdx +204 -0
- package/docs-site/zh/tutorials/quickstart.mdx +91 -47
- package/docs-site/zh/tutorials/reporters.mdx +45 -30
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +39 -40
- package/docs-site/zh/tutorials/sandbox-agent.mdx +65 -40
- package/docs-site/zh/tutorials/sandbox-providers.mdx +104 -282
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +65 -97
- package/docs-site/zh/tutorials/select-and-preview.mdx +25 -20
- package/docs-site/zh/tutorials/verify-judge.mdx +49 -26
- package/docs-site/zh/tutorials/viewing-results.mdx +130 -80
- package/docs-site/zh/tutorials/write-experiment.mdx +116 -298
- package/docs-site/zh/tutorials/write-send.mdx +53 -52
- package/node_modules/undici/docs/docs/api/Agent.md +8 -8
- package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +9 -6
- package/node_modules/undici/docs/docs/api/Errors.md +25 -0
- package/node_modules/undici/docs/docs/api/Interceptors.md +4 -3
- package/node_modules/undici/docs/docs/api/Pool.md +5 -6
- package/node_modules/undici/lib/api/readable.js +1 -2
- package/node_modules/undici/lib/core/request.js +23 -2
- package/node_modules/undici/lib/core/util.js +0 -39
- package/node_modules/undici/lib/dispatcher/client-h1.js +11 -4
- package/node_modules/undici/lib/dispatcher/client-h2.js +52 -8
- package/node_modules/undici/lib/dispatcher/client.js +1 -1
- package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -2
- package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +21 -6
- package/node_modules/undici/lib/dispatcher/pool-base.js +63 -2
- package/node_modules/undici/lib/dispatcher/pool.js +90 -7
- package/node_modules/undici/lib/dispatcher/proxy-agent.js +16 -3
- package/node_modules/undici/lib/handler/deduplication-handler.js +24 -11
- package/node_modules/undici/lib/handler/redirect-handler.js +5 -0
- package/node_modules/undici/lib/handler/retry-handler.js +72 -13
- package/node_modules/undici/lib/interceptor/cache.js +4 -1
- package/node_modules/undici/lib/interceptor/decompress.js +236 -69
- package/node_modules/undici/lib/web/cache/cache.js +17 -8
- package/node_modules/undici/lib/web/cache/cachestorage.js +11 -5
- package/node_modules/undici/lib/web/cookies/index.js +19 -7
- package/node_modules/undici/lib/web/cookies/util.js +3 -1
- package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -1
- package/node_modules/undici/lib/web/fetch/body.js +22 -15
- package/node_modules/undici/lib/web/fetch/data-url.js +6 -6
- package/node_modules/undici/lib/web/fetch/formdata.js +30 -36
- package/node_modules/undici/lib/web/fetch/headers.js +34 -31
- package/node_modules/undici/lib/web/fetch/index.js +38 -14
- package/node_modules/undici/lib/web/fetch/request.js +74 -79
- package/node_modules/undici/lib/web/fetch/response.js +43 -44
- package/node_modules/undici/lib/web/fetch/util.js +7 -7
- package/node_modules/undici/lib/web/infra/index.js +16 -1
- package/node_modules/undici/lib/web/webidl/index.js +2 -14
- package/node_modules/undici/lib/web/websocket/events.js +43 -26
- package/node_modules/undici/lib/web/websocket/receiver.js +5 -0
- package/node_modules/undici/lib/web/websocket/stream/websocketerror.js +13 -10
- package/node_modules/undici/lib/web/websocket/websocket.js +44 -41
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/diagnostics-channel.d.ts +2 -1
- package/node_modules/undici/types/interceptors.d.ts +1 -1
- package/node_modules/undici/types/webidl.d.ts +13 -7
- package/package.json +4 -4
- package/dist/view/app-dist/assets/index-DFzw1L97.js +0 -63
- package/docs-site/zh/tutorials/experiments.mdx +0 -101
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"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","sourcesContent":["import { Data, Result, Schema } from \"effect\";\nimport { projectAttemptArtifact } from \"./artifacts.ts\";\nimport { projectArtifactsListing } from \"./artifact-list.ts\";\nimport { encodeAttemptLocator } from \"../attempt-locator.ts\";\nimport { foldRecordedAttemptVerdict, type VerdictState, } from \"../eval/record/verdict.ts\";\nimport type { AssertionCoverage, AssertionLimitation, } from \"../assertions/record/model.ts\";\nimport { NiceEvalCurrentRecordAttachments, NiceEvalRecordAttachments, } from \"../record/family/current.ts\";\nimport type { SealedRunCutoff, SealedRunSummary, SealedRunSummaryPage, } from \"../record/sqlite/index.ts\";\nimport { decodeBase64UrlUtf8, encodeBase64UrlUtf8, utf8ByteLength } from \"./bytes.ts\";\nimport { INSPECTION_BEHAVIOR_VERSION, QUERY_PROTOCOL, closeInspectionJson, isInspectionCodecError, type InspectionDocument, type InspectionJson, type InspectionOperation, type InspectionOperationId, type InspectionSourceProvenance, } from \"./codec.ts\";\nimport { INSPECTION_RESULT_BYTE_LIMIT } from \"./limits.ts\";\nimport { projectAttemptAssertionDetail, projectAttemptAssertionImage } from \"./assertions.ts\";\nimport { attemptAttachment, loadInspectionRunResource, loadInspectionRuns, loadSelectedInspectionRuns, readInspectionAssertions, resolveInspectionAttempt, resolveInspectionMemberAttempt, runAttachment, type DecodedInspectionAttachment, type LoadedInspectionRun, type LoadedInspectionRunResource, type ResolvedInspectionAttempt, } from \"./facts.ts\";\nimport { selectInspectionOverview } from \"./overview.ts\";\nimport type { InspectionFactSource } from \"./source.ts\";\nimport { projectAttemptSources } from \"./sources.ts\";\nimport { projectAttemptDiff } from \"./diff.ts\";\nimport { combineInspectionUsageTotals, projectAttemptTiming, readInspectionAgentTurns, projectAttemptTrace, projectAttemptTraceDetail, projectAttemptUsage, unavailableInspectionUsageTotals, type AttemptTraceAttachments, } from \"./trace.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptSourcesDocument, InspectionAttemptTimingResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunOverviewResultSchema, InspectionRunValueSchema, InspectionRunSummaryResultSchema, InspectionSourcesResultSchema, type InspectionAttemptDiffDocument, type InspectionAttemptDocument, type InspectionAttemptResult, type InspectionAttemptTimingDocument, type InspectionAttemptTraceDetailDocument, type InspectionAttemptTraceDocument, type InspectionAttemptUsageDocument, type InspectionExperimentDocument, type InspectionOverviewDocument, type InspectionResultMetadata, type InspectionRunDocument, type InspectionRunOverviewDocument, type InspectionRunOverviewResult, type InspectionRunValue, type InspectionRunSummaryDocument, type InspectionRunSummaryResult, } from \"./results.ts\";\nimport { decodeInspectionDocument, inspectionProtocolRegistry, narrowInspectionSuccess, type InspectionOperationDocument, type InspectionOperationFor, type InspectionSuccessDocument, type InspectionSuccessDocumentFor, } from \"./protocol.ts\";\nimport { RecordIntegrityFailure } from \"../record/reader/errors.ts\";\nimport { InspectionExecutionTraceError, projectExecutionTraceDetail, projectExecutionTraceOutline, } from \"./execution-traces.ts\";\n/** Typed browser-neutral failure from one fixed Inspection operation. */\nexport class InspectionOperationError extends Data.TaggedError(\"InspectionOperationError\")<{\n readonly code: \"inspection-request-invalid\" | \"inspection-selection-missing\" | \"inspection-record-integrity-failure\" | \"inspection-operation-failed\" | \"inspection-result-invalid\" | \"evidence-budget-exceeded\" | \"restart-required\";\n readonly operation: InspectionOperationId;\n readonly reason: string;\n readonly identity?: {\n readonly runId: string;\n };\n readonly cause?: unknown;\n}> {\n}\nconst RUN_LIST_PAGE_SIZE = 100;\nconst ATTACHMENT_COLLECTION_PAGE_SIZE = 64;\nconst ATTACHMENT_CONTENT_METADATA_LIMIT = 64;\nconst RUN_SELECTION_LIMIT = 64;\n/** Pure fixed-operation selector shared by Node CLI and browser View adapters. */\nexport function selectInspectionOperation<Kind extends InspectionOperationId>(facts: InspectionFactSource, operation: InspectionOperationFor<Kind>): InspectionSuccessDocumentFor<Kind>;\nexport function selectInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionSuccessDocument {\n return evaluateInspectionSuccess(operation.kind, () => selectOperation(facts, operation));\n}\n/** Internal CLI explanation over the same selected facts and cutoff. */\nexport function explainInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionDocument {\n return evaluateInspectionOperation(operation.kind, () => {\n if (operation.kind === \"runs.list\") {\n return runsListExplanation(facts, operation);\n }\n if (operation.kind === \"run.get\" || operation.kind === \"run.overview\") {\n const run = requireRunResource(facts, operation.kind, operation.runId);\n const supporting = supportingRunFacts(facts, run);\n return Object.freeze({\n ...runResourceBaseDocument(facts, operation.kind, run, supporting),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n }\n const loaded = loadForOperation(facts, operation);\n return Object.freeze({\n ...baseDocument(facts, operation.kind, loaded.selected, loaded.requestedRunIds, loaded.missingRunIds, []),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n });\n}\nfunction selectOperation(source: InspectionFactSource, operation: InspectionOperation): unknown {\n switch (operation.kind) {\n case \"overview.get\": {\n const requested = operation.runIds ?? [];\n const selection = requested.length === 0\n ? { selected: loadInspectionRuns(source), missing: [] as readonly string[] }\n : selectRuns(loadRuns(source, requested), requested);\n const supporting = loadReferencedOrigins(source, selection.selected);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selection.selected, requested, selection.missing, locators(supporting)),\n overview: decodeRequiredResult(operation.kind, InspectionOverviewResultSchema, selectInspectionOverview(selection.selected, supporting)),\n });\n }\n case \"experiment.get\": {\n const selected = loadInspectionRuns(source);\n const overview = selectInspectionOverview(selected);\n const experiment = overview.experiments.find(({ experimentId }) => experimentId === operation.experimentId);\n if (experiment === undefined) {\n throw selectionMissing(operation.kind, `Experiment ${operation.experimentId} was not found`);\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selected, [], [], locators(selected)),\n experiment: decodeRequiredResult(operation.kind, InspectionExperimentResultSchema, Object.freeze({\n experiment,\n cells: Object.freeze(overview.cells.filter(({ experimentId }) => experimentId === operation.experimentId)),\n })),\n });\n }\n case \"runs.list\": return runsListDocument(source, operation);\n case \"run.get\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const supporting = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, supporting),\n run: decodeRequiredResult(operation.kind, InspectionRunResultSchema, Object.freeze({\n value: inspectionRunValue(run),\n members: run.published?.members ?? Object.freeze([]),\n attempts: run.published?.attempts ?? Object.freeze([]),\n })),\n });\n }\n case \"run.summary\": {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n const run = requireOne(operation.kind, selected.selected, operation.runId);\n const all = loadSummaryFacts(source, run);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, all, [operation.runId], selected.missing, locators(all)),\n summary: decodeRequiredResult(operation.kind, InspectionRunSummaryResultSchema, runSummary(all, run)),\n });\n }\n case \"run.overview\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const all = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, all),\n runOverview: decodeRequiredResult(operation.kind, InspectionRunOverviewResultSchema, runOverview(all, run)),\n });\n }\n case \"attempt.get\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n attempt: decodeRequiredResult(operation.kind, InspectionAttemptResultSchema, attemptDetail(resolved)),\n });\n }\n case \"attempt.assertion.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const assertions = readInspectionAssertions(resolved);\n const assertion = projectAttemptAssertionDetail(source, assertions, readInspectionAgentTurns(traceAttachments(resolved).agentTurns), operation.entryId);\n if (assertion === undefined) {\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n }\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n assertion: boundedJson(assertion),\n });\n }\n case \"attempt.assertion.image\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const image = projectAttemptAssertionImage(source, readInspectionAssertions(resolved), operation.entryId, operation.imageId, operation.offset ?? 0, operation.limit ?? 256 * 1024);\n if (image === undefined)\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n return Object.freeze({ ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]), image });\n }\n case \"attempt.trace\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n trace: decodeRequiredResult(operation.kind, InspectionTraceResultSchema, projectAttemptTrace(resolved.origin.source, traceAttachments(resolved), projectExecutionTraceOutline(source, resolved, {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n }), {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n })),\n });\n }\n case \"attempt.trace.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n let detail = operation.selector.kind === \"execution-event\" || operation.selector.kind === \"execution-evidence\"\n ? projectExecutionTraceDetail(resolved, operation.selector)\n : projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), operation.selector);\n if (detail === undefined && operation.selector.kind === \"execution-event\") {\n type ItemSelector = Extract<Parameters<typeof projectAttemptTraceDetail>[2], {\n readonly kind: \"item\";\n }>;\n detail = projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), { kind: \"item\", itemId: operation.selector.eventId as ItemSelector[\"itemId\"] });\n }\n if (detail === undefined) {\n throw selectionMissing(operation.kind, \"Trace detail identity was not found\");\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n detail: decodeRequiredResult(operation.kind, InspectionTraceDetailResultSchema, detail),\n });\n }\n case \"attempt.timing\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n timing: decodeRequiredResult(operation.kind, InspectionAttemptTimingResultSchema, projectAttemptTiming(traceAttachments(resolved))),\n });\n }\n case \"attempt.usage\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n usage: decodeRequiredResult(operation.kind, InspectionAttemptUsageResultSchema, projectAttemptUsage(traceAttachments(resolved))),\n });\n }\n case \"attempt.diff\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n diff: decodeRequiredResult(operation.kind, InspectionAttemptDiffResultSchema, projectAttemptDiff(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family))),\n });\n }\n case \"attempt.sources\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n sources: decodeRequiredResult(operation.kind, InspectionSourcesResultSchema, projectAttemptSources(resolved.origin.source, runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), readInspectionAssertions(resolved))),\n });\n }\n case \"attempt.artifact\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const projected = projectAttemptArtifact(resolved, {\n artifactId: operation.artifactId,\n ...(operation.offset === undefined ? {} : { offset: operation.offset }),\n ...(operation.limit === undefined ? {} : { limit: operation.limit }),\n });\n if (Result.isFailure(projected))\n throw new InspectionOperationError({\n code: projected.failure.code, operation: operation.kind, reason: projected.failure.reason,\n });\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n artifact: boundedJson(projected.success),\n });\n }\n case \"attempt.artifacts\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const attachment = attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family);\n const projected = attachment === undefined ? undefined : projectArtifactsListing(attachment);\n if (projected !== undefined && Result.isFailure(projected))\n throw new InspectionOperationError({\n code: \"inspection-record-integrity-failure\", operation: operation.kind,\n reason: projected.failure.reason, identity: { runId: resolved.attempt.originRunId },\n });\n const value = projected?.success;\n const offset = operation.offset ?? 0;\n const limit = operation.limit ?? 128;\n const total = value?.artifacts.length ?? 0;\n if (!Number.isSafeInteger(offset) || offset < 0 || offset > total ||\n !Number.isSafeInteger(limit) || limit < 1 || limit > 128)\n throw new InspectionOperationError({\n code: \"inspection-request-invalid\", operation: operation.kind,\n reason: \"Artifact listing requires an offset within the collection and a limit from 1 to 128.\",\n });\n const metadata = baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]);\n if (attachment === undefined || value === undefined)\n return Object.freeze({\n ...metadata, artifacts: Object.freeze({ state: \"not-recorded\" as const }),\n });\n let items = value.artifacts.slice(offset, offset + limit);\n const page = () => Object.freeze({\n state: \"available\" as const,\n value: Object.freeze({ collection: value.collection, artifacts: items }),\n collection: Object.freeze({\n state: offset + items.length < total ? \"bounded-page\" as const : \"complete-page\" as const,\n items,\n hasMore: offset + items.length < total,\n nextOffset: offset + items.length < total ? offset + items.length : null,\n total,\n }),\n contents: attachment.physical.contents\n .slice(0, ATTACHMENT_CONTENT_METADATA_LIMIT)\n .map(({ logicalHandle, byteLength, digest }) => Object.freeze({ logicalHandle, byteLength, digest })),\n contentsTruncated: attachment.physical.contents.length > ATTACHMENT_CONTENT_METADATA_LIMIT,\n });\n let artifacts = page();\n // Both public arrays share the page; long labels also consume the fixed JSON budget twice.\n while (items.length > 0 && (utf8ByteLength(JSON.stringify(items)) > 128 * 1024 ||\n utf8ByteLength(JSON.stringify(artifacts)) > INSPECTION_RESULT_BYTE_LIMIT)) {\n items = items.slice(0, -1);\n artifacts = page();\n }\n if (items.length === 0 && offset < total)\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\", operation: operation.kind,\n reason: \"Artifact metadata cannot fit in the Inspection result byte limit.\",\n });\n return Object.freeze({ ...metadata, artifacts: boundedJson(artifacts) });\n }\n case \"runs.compare\": {\n const selected = loadRuns(source, [...operation.leftRunIds, ...operation.rightRunIds]);\n return comparisonDocument(source, loadReferencedOrigins(source, selected), operation);\n }\n }\n}\nfunction runsListExplanation(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runsListDocument(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n runs: closeJson(page.items),\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runSummaryPage(source: InspectionFactSource, continuation: string | undefined) {\n const binding = continuation === undefined ? undefined : decodeContinuation(continuation);\n let page: SealedRunSummaryPage;\n try {\n page = source.readSealedRunSummaryPage(binding?.afterRunId ?? \"\", RUN_LIST_PAGE_SIZE, binding?.cutoffIdentity);\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n return Object.freeze({\n cutoff: page.cutoff,\n items: page.summaries,\n truncated: page.nextAfterRunId !== null,\n continuation: page.nextAfterRunId === null\n ? undefined\n : encodeContinuation(page.nextAfterRunId, page.cutoff.identity),\n });\n}\nfunction runsListBase(source: InspectionFactSource, cutoff: SealedRunCutoff, selected: readonly SealedRunSummary[], truncated: boolean) {\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation: \"runs.list\" as const,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([]),\n selectedRunIds: Object.freeze(selected.map(({ runId }) => runId)),\n missingRunIds: Object.freeze([]),\n returnedRunCount: selected.length,\n totalRunCount: cutoff.runCount,\n truncated,\n }),\n issues: Object.freeze([]),\n evidence: Object.freeze({ refs: Object.freeze([]) }),\n });\n}\nfunction encodeContinuation(afterRunId: string, cutoffIdentity: string): string {\n return encodeBase64UrlUtf8(JSON.stringify([\n \"runs.list\",\n cutoffIdentity,\n afterRunId,\n ]));\n}\nfunction decodeContinuation(token: string): {\n readonly cutoffIdentity: string;\n readonly afterRunId: string;\n} {\n try {\n const decoded = JSON.parse(decodeBase64UrlUtf8(token)) as unknown;\n if (!Array.isArray(decoded) || decoded.length !== 3 || decoded[0] !== \"runs.list\" ||\n typeof decoded[1] !== \"string\" || typeof decoded[2] !== \"string\") {\n throw new Error(\"continuation binding changed\");\n }\n return Object.freeze({ cutoffIdentity: decoded[1], afterRunId: decoded[2] });\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n}\nfunction loadForOperation(source: InspectionFactSource, operation: InspectionOperation): {\n readonly selected: readonly LoadedInspectionRun[];\n readonly requestedRunIds: readonly string[];\n readonly missingRunIds: readonly string[];\n} {\n if (operation.kind === \"overview.get\") {\n const requested = operation.runIds ?? [];\n if (requested.length === 0)\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n const selection = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selection.selected),\n requestedRunIds: requested,\n missingRunIds: selection.missing,\n };\n }\n if (operation.kind === \"experiment.get\") {\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n }\n if (operation.kind === \"runs.list\")\n return { selected: [], requestedRunIds: [], missingRunIds: [] };\n if (operation.kind === \"runs.compare\") {\n const requested = Object.freeze([...operation.leftRunIds, ...operation.rightRunIds]);\n const selected = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selected.selected),\n requestedRunIds: requested,\n missingRunIds: selected.missing,\n };\n }\n if (\"runId\" in operation) {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n requireOne(operation.kind, selected.selected, operation.runId);\n return {\n selected: operation.kind === \"run.summary\" || operation.kind === \"run.overview\"\n ? loadSummaryFacts(source, selected.selected[0]!)\n : selected.selected,\n requestedRunIds: [operation.runId],\n missingRunIds: selected.missing,\n };\n }\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return {\n selected: attemptRuns(resolved),\n requestedRunIds: Object.freeze([]),\n missingRunIds: Object.freeze([]),\n };\n}\nfunction loadRuns(source: InspectionFactSource, runIds: readonly string[]): readonly LoadedInspectionRun[] {\n const uniqueRunIds = [...new Set(runIds)];\n if (uniqueRunIds.length > RUN_SELECTION_LIMIT) {\n throw new Error(`Inspection selection exceeds the fixed ${RUN_SELECTION_LIMIT}-Run limit`);\n }\n return loadSelectedInspectionRuns(source, uniqueRunIds);\n}\nfunction requireRunResource(source: InspectionFactSource, operation: InspectionOperationId, runId: string): LoadedInspectionRunResource {\n const run = loadInspectionRunResource(source, runId);\n if (run === undefined)\n throw selectionMissing(operation, `Run ${runId} was not found`);\n return run;\n}\nfunction inspectionRunValue(run: LoadedInspectionRunResource): InspectionRunValue {\n const { resource, published } = run;\n return decodeRequiredResult(\"run.get\", InspectionRunValueSchema, Object.freeze({\n runId: resource.runId,\n experimentId: resource.experimentId,\n state: resource.state,\n ...(resource.published > 0 && published !== undefined\n ? { context: published.run.context }\n : {}),\n startedAt: Date.parse(resource.startedAt),\n ...(resource.completedAt === undefined\n ? {}\n : { completedAt: Date.parse(resource.completedAt) }),\n expectedSlots: published?.run.expectedSlots ?? resource.slots.map((slot) => Object.freeze({\n slotId: slot.slotId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n })),\n }));\n}\nfunction supportingRunFacts(source: InspectionFactSource, run: LoadedInspectionRunResource): readonly LoadedInspectionRun[] {\n return run.published === undefined ? Object.freeze([]) : loadSummaryFacts(source, run.published);\n}\nfunction runResourceMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]): InspectionResultMetadata<Kind> {\n const metadata = resultMetadata(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...metadata,\n selection: Object.freeze({\n ...metadata.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction runResourceBaseDocument(source: InspectionFactSource, operation: InspectionOperationId, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]) {\n const document = baseDocument(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...document,\n selection: Object.freeze({\n ...document.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction loadReferencedOrigins(source: InspectionFactSource, targets: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n const targetIds = new Set(targets.map(({ run }) => run.runId));\n const originIds = [...new Set(targets.flatMap(({ members }) => members.flatMap(({ attempt }) => attempt === null || targetIds.has(attempt.originRunId) ? [] : [attempt.originRunId])))];\n return uniqueRuns([...targets, ...loadRuns(source, originIds)]);\n}\nfunction loadSummaryFacts(source: InspectionFactSource, target: LoadedInspectionRun): readonly LoadedInspectionRun[] {\n return loadReferencedOrigins(source, [target]);\n}\nfunction parseJson(bytes: Uint8Array): unknown {\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes)) as unknown;\n}\nfunction selectRuns(all: readonly LoadedInspectionRun[], runIds: readonly string[]) {\n const byId = new Map<string, LoadedInspectionRun>(all.map((run) => [run.run.runId, run]));\n const requested = [...new Set(runIds)];\n return Object.freeze({\n selected: Object.freeze(requested.flatMap((runId) => {\n const run = byId.get(runId);\n return run === undefined ? [] : [run];\n })),\n missing: Object.freeze(requested.filter((runId) => !byId.has(runId))),\n });\n}\nfunction requireOne(operation: InspectionOperationId, selected: readonly LoadedInspectionRun[], runId: string): LoadedInspectionRun {\n const run = selected[0];\n if (run === undefined) {\n throw selectionMissing(operation, `Run ${runId} was not found`);\n }\n return run;\n}\nfunction requireAttemptFromSource(source: InspectionFactSource, operation: InspectionOperationId, locator: string): ResolvedInspectionAttempt {\n const resolved = resolveInspectionAttempt(source, locator);\n if (resolved === undefined) {\n throw selectionMissing(operation, `Attempt ${locator} was not found or is ambiguous`);\n }\n return resolved;\n}\nfunction attemptRuns(resolved: ResolvedInspectionAttempt): readonly LoadedInspectionRun[] {\n return uniqueRuns([resolved.origin, ...resolved.targets.map(({ run }) => run)]);\n}\nfunction traceAttachments(resolved: ResolvedInspectionAttempt): AttemptTraceAttachments {\n return Object.freeze({\n adapterUsage: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family),\n agentTurns: attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family),\n turnContexts: attemptAttachment(resolved, NiceEvalRecordAttachments.turnContexts.family),\n sandboxCommands: attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family),\n runnerActivities: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family),\n runnerDiagnostics: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family),\n });\n}\nfunction attachmentValue(resolved: ResolvedInspectionAttempt, family: string): InspectionJson {\n const attachment = attemptAttachment(resolved, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(resolved.origin.source, attachment),\n });\n}\nfunction runAttachmentValue(run: LoadedInspectionRun, family: string): InspectionJson {\n const attachment = runAttachment(run, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(run.source, attachment),\n });\n}\nfunction attachmentCollectionPage(source: InspectionFactSource, attachment: DecodedInspectionAttachment): InspectionJson {\n const page = source.readCollectionPage(attachment.physical.attachmentId, -1, ATTACHMENT_COLLECTION_PAGE_SIZE);\n return closeJson(Object.freeze({\n state: page.nextOrdinal === null ? \"complete-page\" : \"bounded-page\",\n items: Object.freeze(page.items.map((item) => closeJson(parseJson(item.canonicalBytes)))),\n hasMore: page.nextOrdinal !== null,\n }));\n}\n/**\n * Query keeps one leading and one decisive matcher representative. The full\n * durable artifact remains available in the Record, while attempt.get stays a\n * bounded AI-facing overview instead of duplicating attempt.trace-sized data.\n */\nfunction compactAssertionInspection(value: InspectionJson): InspectionJson {\n if (Array.isArray(value))\n return Object.freeze(value.map(compactAssertionInspection));\n if (typeof value !== \"object\" || value === null)\n return value;\n const output: Record<string, InspectionJson> = {};\n for (const [key, entry] of Object.entries(value)) {\n if ((key === \"retainedRows\" || key === \"representatives\") && Array.isArray(entry) && entry.length > 2) {\n output[key] = Object.freeze([\n compactAssertionInspection(entry[0]!),\n compactAssertionInspection(entry[entry.length - 1]!),\n ]);\n }\n else {\n output[key] = compactAssertionInspection(entry);\n }\n }\n return Object.freeze(output);\n}\nfunction attemptDetail(resolved: ResolvedInspectionAttempt): InspectionAttemptResult {\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n core: resolved.attempt,\n locator: resolved.locator,\n originRun: resolved.origin.run,\n targets: resolved.targets.map(({ run, member }) => Object.freeze({ runId: run.run.runId, member })),\n evidence: assertions.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n entryCount: assertions.value.entries.length,\n sourceSiteCount: assertions.value.sourceSites.length,\n })\n : Object.freeze({\n state: assertions.state,\n entryCount: 0 as const,\n }),\n assertions: assertionIndex(assertions),\n sections: attemptSections(resolved),\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n evidenceCoverage: attemptEvidenceCoverage(resolved),\n limitations: attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []),\n });\n}\nfunction assertionIndex(assertions: ReturnType<typeof readInspectionAssertions>): InspectionAttemptResult[\"assertions\"] {\n if (assertions.state !== \"available\") {\n return Object.freeze({\n state: assertions.state === \"not-recorded\" ? \"not-recorded\" : \"invalid\",\n entries: Object.freeze([]),\n });\n }\n return Object.freeze({\n state: \"available\",\n entries: Object.freeze(assertions.value.entries.map((entry) => Object.freeze({\n entryId: entry.entryId,\n display: Object.freeze({\n ...(entry.display.label === undefined ? {} : { label: entry.display.label }),\n ...(entry.display.key === undefined ? {} : { key: entry.display.key }),\n groupPath: Object.freeze([...entry.display.groupPath]),\n }),\n }))),\n });\n}\ntype AttemptSectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nfunction attemptSections(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"sections\"] {\n const assertions = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.assertions.family), NiceEvalCurrentRecordAttachments.assertions.revision);\n const conversation = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family), NiceEvalCurrentRecordAttachments.agentTurns.revision);\n const executionTraces = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.executionTraces.family), NiceEvalCurrentRecordAttachments.executionTraces.revision);\n const commands = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family), NiceEvalCurrentRecordAttachments.sandboxCommands.revision);\n const timing = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family), NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision);\n const diagnostics = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family), NiceEvalCurrentRecordAttachments.runnerDiagnostics.attempt.revision);\n const sources = attachmentSectionState(runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), NiceEvalCurrentRecordAttachments.sources.revision);\n const diff = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family), NiceEvalCurrentRecordAttachments.fileChanges.revision);\n const artifacts = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family), NiceEvalCurrentRecordAttachments.artifacts.attempt.revision);\n return Object.freeze({\n assertions: Object.freeze({ state: assertions }),\n trace: Object.freeze({ state: combineSectionStates([executionTraces, conversation, commands, timing, diagnostics]) }),\n sources: Object.freeze({ state: sources }),\n diff: Object.freeze({ state: diff }),\n artifacts: Object.freeze({ state: artifacts }),\n timing: Object.freeze({ state: timing }),\n usage: Object.freeze({ state: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family) === undefined\n ? conversation\n : attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family), NiceEvalCurrentRecordAttachments.adapterUsage.revision) }),\n conversation: Object.freeze({ state: conversation }),\n commands: Object.freeze({ state: commands }),\n diagnostics: Object.freeze({ state: diagnostics }),\n });\n}\nfunction attachmentSectionState(attachment: DecodedInspectionAttachment | undefined, currentRevision: number): AttemptSectionState {\n if (attachment === undefined)\n return \"not-recorded\";\n if (attachment.physical.familyRevision !== currentRevision)\n return \"unavailable\";\n return containsState(attachment.value, \"partial\") ? \"partial\" : \"available\";\n}\nfunction combineSectionStates(states: readonly AttemptSectionState[]): AttemptSectionState {\n if (states.some((state) => state === \"partial\"))\n return \"partial\";\n if (states.some((state) => state === \"available\"))\n return \"available\";\n if (states.some((state) => state === \"unavailable\"))\n return \"unavailable\";\n return \"not-recorded\";\n}\nfunction containsState(value: InspectionJson, expected: string): boolean {\n if (Array.isArray(value))\n return value.some((entry) => containsState(entry, expected));\n if (typeof value !== \"object\" || value === null)\n return false;\n const record = value as Readonly<Record<string, InspectionJson>>;\n return record.state === expected || Object.values(record).some((entry) => containsState(entry, expected));\n}\nfunction runSummary(all: readonly LoadedInspectionRun[], selected: LoadedInspectionRun): InspectionRunSummaryResult {\n const slots = selected.run.expectedSlots.map((slot) => {\n const member = selected.members.find((candidate) => candidate.slotId === slot.slotId);\n if (member === undefined || member.attempt === null) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member?.action ?? \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, member);\n if (resolved === undefined) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member.action, locator: resolved.locator,\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n });\n });\n return Object.freeze({\n runs: Object.freeze([selected.run]),\n denominator: Object.freeze({ expected: slots.length, observed: slots.filter(({ locator }) => locator !== null).length }),\n members: Object.freeze(slots),\n });\n}\nfunction runOverview(all: readonly LoadedInspectionRun[], selectedResource: LoadedInspectionRunResource): InspectionRunOverviewResult {\n type Member = InspectionRunOverviewResult[\"members\"][number];\n type Usage = ReturnType<typeof projectAttemptUsage>;\n const selected = selectedResource.published;\n const value = inspectionRunValue(selectedResource);\n const unavailableUsage = (): Member[\"usage\"] => Object.freeze({\n state: \"unavailable\",\n summary: null,\n totals: unavailableInspectionUsageTotals(),\n limitations: Object.freeze([]),\n limitationsTruncated: false,\n omittedLimitationCount: 0,\n });\n const unavailableCoverage = (): Member[\"coverage\"] => Object.freeze({\n state: \"unavailable\",\n facts: Object.freeze([]),\n limitations: Object.freeze([]),\n });\n const projected = value.expectedSlots.map((slot): {\n readonly member: Member;\n readonly usage?: Usage;\n } => {\n const targetMember = selected?.members.find((candidate) => candidate.slotId === slot.slotId);\n if (targetMember === undefined) {\n if (value.state !== \"active\") {\n throw new Error(`Terminal Run ${value.runId} has no binding or absence for Slot ${slot.slotId}`);\n }\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: \"pending\" as const,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: \"pending\",\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (targetMember.attempt === null) {\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: targetMember.action,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (selected === undefined) {\n throw new Error(`Run ${value.runId} has a Member without a published Core`);\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, targetMember);\n if (resolved === undefined) {\n const limitation = Object.freeze({\n kind: \"attempt-unresolved\" as const,\n originRunId: targetMember.attempt.originRunId,\n attemptId: targetMember.attempt.attemptId,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n const assertions = readInspectionAssertions(resolved);\n const coverageFacts = attemptEvidenceCoverage(resolved);\n const coverageLimitations = attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []);\n const coverageState: Member[\"coverage\"][\"state\"] = assertions.state === \"available\"\n ? coverageLimitations.length === 0 && coverageFacts.every(({ status }) => status === \"complete\")\n ? \"complete\"\n : \"partial\"\n : coverageFacts.length > 0\n ? \"partial\"\n : assertions.state === \"not-recorded\"\n ? \"not-recorded\"\n : \"invalid\";\n const usage = projectAttemptUsage(traceAttachments(resolved));\n const memberLimitations: Member[\"limitations\"] = Object.freeze([\n ...coverageLimitations.map((detail) => Object.freeze({ kind: \"coverage\" as const, detail })),\n ...usage.limitations.map((detail) => Object.freeze({ kind: \"usage\" as const, detail })),\n ]);\n return Object.freeze({\n usage,\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: resolved.locator,\n relation: resolved.attempt.originRunId === value.runId ? \"origin\" : \"reference\",\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n coverage: Object.freeze({\n state: coverageState,\n facts: coverageFacts,\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: usage.state,\n summary: usage.state === \"complete\" || usage.state === \"partial\"\n ? Object.freeze({\n turnCount: usage.turns.length + usage.omittedTurnCount,\n observationCount: usage.observations.length + usage.omittedObservationCount,\n })\n : null,\n totals: usage.totals,\n limitations: usage.limitations,\n limitationsTruncated: usage.limitationsTruncated,\n omittedLimitationCount: usage.omittedLimitationCount,\n }),\n limitations: memberLimitations,\n }),\n });\n });\n const members = Object.freeze(projected.map(({ member }) => member));\n const locatedLimitations = Object.freeze(members.flatMap((member) => member.limitations.map((limitation) => Object.freeze({\n slotId: member.slot.slotId,\n locator: member.locator,\n limitation,\n }))));\n const usageResults = projected.flatMap(({ usage }) => usage === undefined ? [] : [usage]);\n const observed = members.filter(({ locator }) => locator !== null).length;\n const incompleteUsage = observed !== members.length ||\n usageResults.some(({ state }) => state !== \"complete\");\n const coverageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"usage\"));\n const usageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"coverage\"));\n return Object.freeze({\n identity: Object.freeze({\n runId: value.runId,\n experimentId: value.experimentId,\n adapter: value.context?.execution.adapter ?? null,\n }),\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n denominator: Object.freeze({ expected: members.length, observed }),\n members,\n coverage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ coverage }) => coverage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n completeMemberCount: members.filter(({ coverage }) => coverage.state === \"complete\").length,\n factCount: members.reduce((total, { coverage }) => total + coverage.facts.length, 0),\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ usage }) => usage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n recordedAttemptCount: usageResults.filter(({ state }) => state === \"complete\" || state === \"partial\").length,\n totals: combineInspectionUsageTotals(usageResults, incompleteUsage),\n limitations: usageLimitations,\n }),\n limitations: locatedLimitations,\n });\n}\nfunction aggregateRunOverviewState(states: readonly InspectionRunOverviewResult[\"coverage\"][\"state\"][]): InspectionRunOverviewResult[\"coverage\"][\"state\"] {\n if (states.length === 0 || states.every((state) => state === \"complete\"))\n return \"complete\";\n if (states.every((state) => state === \"unavailable\"))\n return \"unavailable\";\n if (states.every((state) => state === \"not-recorded\"))\n return \"not-recorded\";\n if (states.every((state) => state === \"invalid\"))\n return \"invalid\";\n return \"partial\";\n}\nfunction attemptVerdict(resolved: ResolvedInspectionAttempt, assertions = readInspectionAssertions(resolved)): VerdictState | null {\n if (assertions.state === \"available\") {\n return foldRecordedAttemptVerdict({\n outcome: resolved.attempt.outcome,\n assertions: assertions.value,\n });\n }\n if (assertions.state !== \"failed\" || assertions.attachment === undefined) {\n return null;\n }\n if (resolved.attempt.outcome === \"errored\" || resolved.attempt.outcome === \"interrupted\")\n return \"errored\";\n if (containsRequiredAssertionError(assertions.attachment.value))\n return \"errored\";\n return containsFailedDecision(assertions.attachment.value) ? \"failed\" : null;\n}\nfunction assertionScore(entries: readonly {\n readonly contribution: {\n readonly state: string;\n readonly points?: number;\n readonly earned?: number;\n };\n}[]): InspectionAttemptResult[\"score\"] {\n let possible = 0;\n let earned = 0;\n let scored = 0;\n let unavailable = 0;\n for (const { contribution } of entries) {\n if (contribution.state === \"earned\" && typeof contribution.points === \"number\" && typeof contribution.earned === \"number\") {\n possible += contribution.points;\n earned += contribution.earned;\n scored += 1;\n }\n else if (contribution.state === \"unavailable\" && typeof contribution.points === \"number\") {\n possible += contribution.points;\n unavailable += 1;\n }\n }\n return scored === 0 && unavailable === 0\n ? Object.freeze({ state: \"not-scored\" as const })\n : unavailable > 0\n ? Object.freeze({ state: \"unavailable\" as const, earned, possible, unavailable })\n : Object.freeze({ state: \"complete\" as const, earned, possible });\n}\nfunction attemptEvidenceCoverage(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"evidenceCoverage\"] {\n const entries = new Map<string, InspectionAttemptResult[\"evidenceCoverage\"][number]>();\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n const coverage = record.evidenceCoverage;\n if (typeof coverage === \"object\" && coverage !== null && !Array.isArray(coverage)) {\n for (const [channel, raw] of Object.entries(coverage)) {\n if (!isAttemptCoverageChannel(channel))\n continue;\n const detail = typeof raw === \"object\" && raw !== null && !Array.isArray(raw)\n ? raw as Readonly<Record<string, InspectionJson>>\n : undefined;\n const status = typeof raw === \"string\"\n ? raw\n : typeof detail?.status === \"string\"\n ? detail.status\n : typeof detail?.state === \"string\"\n ? detail.state\n : undefined;\n if (status === undefined)\n continue;\n if (status !== \"complete\" && status !== \"partial\" && status !== \"unavailable\")\n continue;\n const reason = typeof detail?.reason === \"string\" ? detail.reason : undefined;\n const item = Object.freeze({\n channel,\n status,\n ...(reason === undefined ? {} : { reason }),\n });\n entries.set(`${channel}\\u0000${status}\\u0000${reason ?? \"\"}`, item);\n }\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind !== \"attempt\" || attachment.physical.ownerAttemptId !== resolved.attempt.attemptId)\n continue;\n visit(attachment.value);\n }\n return Object.freeze([...entries.values()]);\n}\nfunction attemptLimitations(resolved: ResolvedInspectionAttempt, entries: readonly {\n readonly materials: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n };\n}[]): InspectionAttemptResult[\"limitations\"] {\n const limitations: InspectionAttemptResult[\"limitations\"][number][] = [];\n for (const entry of entries) {\n const coverage = entry.materials.coverage;\n switch (coverage.state) {\n case \"complete\": break;\n case \"partial\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"unavailable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"not-applicable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n }\n }\n const coverage = attemptEvidenceCoverage(resolved);\n if (Array.isArray(coverage)) {\n for (const entry of coverage) {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry) || entry.status === \"complete\")\n continue;\n limitations.push(entry);\n }\n }\n return Object.freeze(limitations);\n}\nfunction isAttemptCoverageChannel(value: string): value is InspectionAttemptResult[\"evidenceCoverage\"][number][\"channel\"] {\n return value === \"events\" || value === \"actions\" || value === \"messages\" ||\n value === \"usage\" || value === \"status\" || value === \"data\";\n}\nfunction containsFailedDecision(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const decision = (entry as Readonly<Record<string, InspectionJson>>).decision;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision))\n return false;\n const record = decision as Readonly<Record<string, InspectionJson>>;\n return record.result === \"mismatched\" && record.gate === \"failed\";\n }) ?? false;\n}\nfunction containsRequiredAssertionError(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const record = entry as Readonly<Record<string, InspectionJson>>;\n const decision = record.decision;\n const policy = record.policy;\n const requirement = typeof policy === \"object\" && policy !== null && !Array.isArray(policy)\n ? (policy as Readonly<Record<string, InspectionJson>>).requirement\n : undefined;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision) ||\n typeof requirement !== \"object\" || requirement === null || Array.isArray(requirement))\n return false;\n const decisionRecord = decision as Readonly<Record<string, InspectionJson>>;\n const requirementRecord = requirement as Readonly<Record<string, InspectionJson>>;\n return (decisionRecord.result === \"unavailable\" || decisionRecord.result === \"errored\") &&\n decisionRecord.gate === \"unavailable\" &&\n requirementRecord.state === \"available\" && requirementRecord.value === \"required\";\n }) ?? false;\n}\nfunction assertionWireEntries(value: InspectionJson): readonly InspectionJson[] | undefined {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return undefined;\n const entries = (value as Readonly<Record<string, InspectionJson>>)[\"entries-data\"];\n return Array.isArray(entries) ? entries : undefined;\n}\nfunction attemptUsage(resolved: ResolvedInspectionAttempt) {\n let inputTokens = 0;\n let outputTokens = 0;\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n if (record.kind === \"token-bucket\" && typeof record.tokens === \"number\") {\n if (record.bucket === \"input\")\n inputTokens += record.tokens;\n if (record.bucket === \"output\")\n outputTokens += record.tokens;\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind === \"attempt\" && attachment.physical.ownerAttemptId === resolved.attempt.attemptId)\n visit(attachment.value);\n }\n return Object.freeze({ inputTokens, outputTokens });\n}\nfunction comparisonDocument(source: InspectionFactSource, all: readonly LoadedInspectionRun[], operation: Extract<InspectionOperation, {\n readonly kind: \"runs.compare\";\n}>): unknown {\n const left = selectRuns(all, operation.leftRunIds);\n const right = selectRuns(all, operation.rightRunIds);\n const leftMembers = comparisonMembers(all, left.selected);\n const rightMembers = comparisonMembers(all, right.selected);\n const leftKeys = leftMembers.map(({ key }) => key).sort();\n const rightKeys = rightMembers.map(({ key }) => key).sort();\n const exact = arraysEqual(leftKeys, rightKeys);\n const rightByKey = new Map(rightMembers.map((member) => [member.key, member] as const));\n const pairs = leftMembers.flatMap((member) => {\n const paired = rightByKey.get(member.key);\n return paired === undefined ? [] : [Object.freeze({ key: member.key, left: member, right: paired })];\n });\n const issues: InspectionJson[] = [\n ...left.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"left\", runId })),\n ...right.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"right\", runId })),\n ...(operation.mode === \"exact\" && !exact ? [closeJson({ code: \"comparison-member-set-mismatch\" })] : []),\n ];\n return Object.freeze({\n ...baseDocument(source, operation.kind, [...left.selected, ...right.selected], [...operation.leftRunIds, ...operation.rightRunIds], [...left.missing, ...right.missing], [\n ...leftMembers.map(({ locator }) => locator), ...rightMembers.map(({ locator }) => locator),\n ], issues),\n comparison: boundedJson(Object.freeze({\n mode: operation.mode,\n left: Object.freeze({ runs: left.selected.map(({ run }) => run), members: leftMembers }),\n right: Object.freeze({ runs: right.selected.map(({ run }) => run), members: rightMembers }),\n exactMemberSet: exact,\n pairs: operation.mode === \"side-by-side\" ? Object.freeze([]) : Object.freeze(pairs),\n })),\n });\n}\nfunction comparisonMembers(all: readonly LoadedInspectionRun[], runs: readonly LoadedInspectionRun[]) {\n return runs.flatMap((run) => run.members.flatMap((member) => {\n if (member.attempt === null)\n return [];\n const slot = run.run.expectedSlots.find(({ slotId }) => slotId === member.slotId);\n const resolved = resolveInspectionMemberAttempt(all, run, member);\n if (slot === undefined || resolved === undefined)\n return [];\n return [Object.freeze({\n key: `${run.run.experimentId}\\u0000${slot.evalId}\\u0000${slot.attemptOrdinal}`,\n runId: run.run.runId, slotId: slot.slotId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,\n locator: resolved.locator,\n })];\n }));\n}\nfunction baseDocument(source: InspectionFactSource, operation: InspectionOperationId, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[], issues: readonly InspectionJson[] = []) {\n const selected = uniqueRuns(selectedInput);\n const seals = selected.map(({ run, physical }) => Object.freeze({ runId: run.runId, logicalSealIdentity: physical.logicalSealIdentity }));\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(seals),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze(issues),\n evidence: Object.freeze({ refs: Object.freeze([...new Set(evidence)].sort()) }),\n });\n}\nfunction resultMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[]): InspectionResultMetadata<Kind> {\n const selected = uniqueRuns(selectedInput);\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\" as const,\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(selected.map(({ run, physical }) => Object.freeze({\n runId: run.runId,\n logicalSealIdentity: physical.logicalSealIdentity,\n }))),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze([] as const),\n evidence: Object.freeze({\n refs: Object.freeze([...new Set(evidence)].sort()),\n }),\n });\n}\nfunction decodeRequiredResult<S extends Schema.ConstraintDecoder<unknown>>(operation: InspectionOperationId, schema: S, input: unknown): S[\"Type\"] {\n const decoded = Schema.decodeUnknownResult(schema, {\n onExcessProperty: \"error\",\n })(input);\n if (Result.isFailure(decoded)) {\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\",\n operation,\n reason: String(decoded.failure),\n });\n }\n return decoded.success;\n}\nfunction locators(runs: readonly LoadedInspectionRun[]): readonly string[] {\n return Object.freeze(runs.flatMap(({ attempts }) => attempts.map(({ attemptId }) => encodeAttemptLocator(attemptId))));\n}\nfunction uniqueRuns(runs: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n return Object.freeze([...new Map(runs.map((run) => [run.run.runId, run] as const)).values()]);\n}\nfunction closeJson(value: unknown): InspectionJson {\n const closed = closeInspectionJson(value);\n if (isInspectionCodecError(closed))\n throw closed;\n return closed as InspectionJson;\n}\nfunction boundedJson(value: unknown): InspectionJson {\n const closed = closeJson(value);\n const byteLength = utf8ByteLength(JSON.stringify(closed));\n if (byteLength <= INSPECTION_RESULT_BYTE_LIMIT)\n return closed;\n return closeJson(Object.freeze({\n state: \"omitted\",\n reason: \"inspection-result-byte-limit\",\n byteLimit: INSPECTION_RESULT_BYTE_LIMIT,\n }));\n}\nfunction arraysEqual(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((entry, index) => entry === right[index]);\n}\nfunction sourceProvenance(source: InspectionFactSource, cutoff: SealedRunCutoff): InspectionSourceProvenance {\n return Object.freeze({\n kind: source.kind,\n sealedCutoffIdentity: cutoff.identity,\n });\n}\nfunction evaluateInspectionOperation(operation: InspectionOperationId, evaluate: () => unknown): InspectionOperationDocument {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const value = decoded.value;\n if (value.outcome === \"discovery\" || value.outcome === \"failure\" || value.operation !== operation) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: \"expected matching operation document\" });\n }\n return value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction evaluateInspectionSuccess<Kind extends InspectionOperationId>(operation: Kind, evaluate: () => unknown): InspectionSuccessDocumentFor<Kind> {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const narrowed = narrowInspectionSuccess(decoded.value, operation);\n if (!narrowed.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: narrowed.reason });\n }\n return narrowed.value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction executionTraceFailure(operation: InspectionOperationId, cause: InspectionExecutionTraceError): InspectionOperationError {\n return new InspectionOperationError({\n code: cause.code,\n operation,\n reason: cause.message,\n cause,\n });\n}\nfunction isInspectionResultError(value: unknown): value is {\n readonly code: \"inspection-result-invalid\";\n readonly reason: string;\n} {\n return typeof value === \"object\" && value !== null &&\n Reflect.get(value, \"code\") === \"inspection-result-invalid\" &&\n typeof Reflect.get(value, \"reason\") === \"string\";\n}\nfunction selectionMissing(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction operationFailure(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-operation-failed\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction integrityFailure(operation: InspectionOperationId, cause: RecordIntegrityFailure): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-record-integrity-failure\",\n operation,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["select.ts"],"names":[],"mappings":"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","sourcesContent":["// @concord-file ne-eval-inspection-selector\n// @concord-implements docs/feature/inspection/README.md\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\n// @concord-implements docs/feature/inspection/use-case/inspection-compare-quality-cost.md\n// @concord-implements docs/feature/insight/README.md\nimport { Data, Result, Schema } from \"effect\";\nimport { projectAttemptArtifact } from \"./artifacts.ts\";\nimport { projectInput, type FrozenProjectInput } from \"./project-input.ts\";\nimport { selectInspectionProject } from \"./project.ts\";\nimport { InspectionProjectResultSchema } from \"./project-result.ts\";\nimport { projectArtifactsListing } from \"./artifact-list.ts\";\nimport { combineTotalUsageCosts, summarizeJudgeUsage, takeJudgeUsagePreview } from \"../o11y/judge-usage-projection.ts\";\nimport { encodeAttemptLocator } from \"../attempt-locator.ts\";\nimport { foldRecordedAttemptVerdict, type VerdictState, } from \"../eval/record/verdict.ts\";\nimport type { AssertionCoverage, AssertionLimitation, } from \"../assertions/record/model.ts\";\nimport { NiceEvalCurrentRecordAttachments, NiceEvalRecordAttachments, } from \"../record/family/current.ts\";\nimport type { SealedRunCutoff, SealedRunSummary, SealedRunSummaryPage, } from \"../record/sqlite/index.ts\";\nimport { decodeBase64UrlUtf8, encodeBase64UrlUtf8, utf8ByteLength } from \"./bytes.ts\";\nimport { INSPECTION_BEHAVIOR_VERSION, QUERY_PROTOCOL, closeInspectionJson, isInspectionCodecError, type InspectionDocument, type InspectionJson, type InspectionOperation, type InspectionOperationId, type InspectionSourceProvenance, } from \"./codec.ts\";\nimport { INSPECTION_RESULT_BYTE_LIMIT, INSPECTION_EXPERIMENT_RESULT_BYTE_LIMIT, INSPECTION_ASSERTION_DETAIL_BYTE_LIMIT } from \"./limits.ts\";\nimport { projectAttemptAssertionDetail, projectAttemptAssertionImage } from \"./assertions.ts\";\nimport { attemptAttachment, loadInspectionRunResource, loadInspectionRuns, loadSelectedInspectionRuns, readInspectionAssertions, resolveInspectionAttempt, resolveInspectionMemberAttempt, runAttachment, type DecodedInspectionAttachment, type LoadedInspectionRun, type LoadedInspectionRunResource, type ResolvedInspectionAttempt, } from \"./facts.ts\";\nimport { selectInspectionOverview } from \"./overview.ts\";\nimport type { InspectionFactSource } from \"./source.ts\";\nimport { projectAttemptSources } from \"./sources.ts\";\nimport { projectAttemptDiff } from \"./diff.ts\";\nimport { combineInspectionUsageTotals, projectAttemptTiming, readInspectionAgentTurns, projectAttemptTrace, projectAttemptTraceDetail, projectAttemptUsage, unavailableInspectionUsageTotals, type AttemptTraceAttachments, } from \"./trace.ts\";\nimport { InspectionAttemptDiffResultSchema, InspectionAttemptResultSchema, InspectionAttemptSourcesDocument, InspectionAttemptTimingResultSchema, InspectionTraceDetailResultSchema, InspectionTraceResultSchema, InspectionAttemptUsageResultSchema, InspectionExperimentResultSchema, InspectionOverviewResultSchema, InspectionRunResultSchema, InspectionRunOverviewResultSchema, InspectionRunValueSchema, InspectionRunSummaryResultSchema, InspectionSourcesResultSchema, type InspectionAttemptDiffDocument, type InspectionAttemptDocument, type InspectionAttemptResult, type InspectionAttemptTimingDocument, type InspectionAttemptTraceDetailDocument, type InspectionAttemptTraceDocument, type InspectionAttemptUsageDocument, type InspectionExperimentDocument, type InspectionOverviewDocument, type InspectionResultMetadata, type InspectionRunDocument, type InspectionRunOverviewDocument, type InspectionRunOverviewResult, type InspectionRunValue, type InspectionRunSummaryDocument, type InspectionRunSummaryResult, } from \"./results.ts\";\nimport { decodeInspectionDocument, inspectionProtocolRegistry, narrowInspectionSuccess, type InspectionOperationDocument, type InspectionOperationFor, type InspectionSuccessDocument, type InspectionSuccessDocumentFor, } from \"./protocol.ts\";\nimport { RecordIntegrityFailure } from \"../record/reader/errors.ts\";\nimport { InspectionExecutionTraceError, projectExecutionTraceDetail, projectExecutionTraceOutline, } from \"./execution-traces.ts\";\n/** Typed browser-neutral failure from one fixed Inspection operation. */\nexport class InspectionOperationError extends Data.TaggedError(\"InspectionOperationError\")<{\n readonly code: \"inspection-request-invalid\" | \"inspection-selection-missing\" | \"inspection-record-integrity-failure\" | \"inspection-operation-failed\" | \"inspection-result-invalid\" | \"evidence-budget-exceeded\" | \"restart-required\" | \"current-target-unavailable\";\n readonly operation: InspectionOperationId;\n readonly reason: string;\n readonly identity?: {\n readonly runId: string;\n };\n readonly cause?: unknown;\n}> {\n}\nconst RUN_LIST_PAGE_SIZE = 100;\nconst ATTACHMENT_COLLECTION_PAGE_SIZE = 64;\nconst ATTACHMENT_CONTENT_METADATA_LIMIT = 64;\nconst RUN_SELECTION_LIMIT = 64;\n/** Pure fixed-operation selector shared by Node CLI and browser View adapters. */\nexport function selectInspectionOperation<Kind extends InspectionOperationId>(facts: InspectionFactSource, operation: InspectionOperationFor<Kind>): InspectionSuccessDocumentFor<Kind>;\n// @concord-code ne-eval-inspection-select-operation\n// @concord-implements docs/feature/inspection/README.md\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\n// @concord-implements docs/feature/inspection/use-case/inspection-compare-quality-cost.md\nexport function selectInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionSuccessDocument {\n return evaluateInspectionSuccess(operation.kind, () => selectOperation(facts, operation));\n}\n/** Internal CLI explanation over the same selected facts and cutoff. */\n// @concord-code ne-eval-inspection-explain-operation\n// @concord-implements docs/feature/inspection/README.md\n// @concord-implements docs/feature/inspection/use-case/inspection-check-completeness.md\nexport function explainInspectionOperation(facts: InspectionFactSource, operation: InspectionOperation): InspectionDocument {\n return evaluateInspectionOperation(operation.kind, () => {\n if (operation.kind === \"runs.list\") {\n return runsListExplanation(facts, operation);\n }\n if (operation.kind === \"run.get\" || operation.kind === \"run.overview\") {\n const run = requireRunResource(facts, operation.kind, operation.runId);\n const supporting = supportingRunFacts(facts, run);\n return Object.freeze({\n ...runResourceBaseDocument(facts, operation.kind, run, supporting),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n }\n const loaded = loadForOperation(facts, operation);\n return Object.freeze({\n ...baseDocument(facts, operation.kind, loaded.selected, loaded.requestedRunIds, loaded.missingRunIds, []),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n });\n });\n}\nfunction selectOperation(source: InspectionFactSource, operation: InspectionOperation): unknown {\n switch (operation.kind) {\n case \"project.get\": {\n const input = requireCurrentProject(source, operation.experimentIds);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, input.runs, [], [], locators(input.runs)),\n project: decodeRequiredResult(operation.kind, InspectionProjectResultSchema, selectInspectionProject(input, operation.experimentIds)),\n });\n }\n case \"overview.get\": {\n const requested = operation.runIds ?? [];\n const selection = requested.length === 0\n ? { selected: loadInspectionRuns(source), missing: [] as readonly string[] }\n : selectRuns(loadRuns(source, requested), requested);\n const supporting = loadReferencedOrigins(source, selection.selected);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, selection.selected, requested, selection.missing, locators(supporting)),\n overview: decodeRequiredResult(operation.kind, InspectionOverviewResultSchema, selectInspectionOverview(selection.selected, supporting)),\n });\n }\n case \"experiment.get\": {\n const selected = loadInspectionRuns(source);\n const overview = selectInspectionOverview(selected);\n const experiment = overview.experiments.find(({ experimentId }) => experimentId === operation.experimentId);\n if (experiment === undefined) {\n throw selectionMissing(operation.kind, `Experiment ${operation.experimentId} was not found`);\n }\n const experimentCells = Object.freeze(overview.cells.filter(({ experimentId }) => experimentId === operation.experimentId));\n const usageAttempts = new Map<string, ResolvedInspectionAttempt>();\n let unresolvedAttemptCount = 0;\n let selectedSlotCount = 0;\n let resolvedSlotCount = 0;\n for (const cell of experimentCells) {\n for (const member of cell.members) {\n selectedSlotCount++;\n if (member.publication.state !== \"published\") {\n unresolvedAttemptCount++;\n continue;\n }\n const identity = member.publication;\n const origin = selected.find(({ run }) => run.runId === identity.originRunId);\n const attempt = origin?.attempts.find((candidate) => candidate.attemptId === identity.attemptId &&\n candidate.originRunId === identity.originRunId);\n if (origin === undefined || attempt === undefined) {\n unresolvedAttemptCount++;\n continue;\n }\n const resolved: ResolvedInspectionAttempt = Object.freeze({ origin, attempt,\n locator: encodeAttemptLocator(attempt.attemptId), targets: Object.freeze([]) });\n resolvedSlotCount++;\n usageAttempts.set(`${resolved.attempt.originRunId}\\u0000${resolved.attempt.attemptId}`, resolved);\n }\n }\n const orderedUsageAttempts = [...usageAttempts.values()].sort((left, right) => left.attempt.originRunId.localeCompare(right.attempt.originRunId) || left.locator.localeCompare(right.locator));\n const metadata = resultMetadata(source, operation.kind, selected, [], [], locators(selected));\n const allAttempts = Object.freeze(orderedUsageAttempts.map((resolved) => {\n const { state, configuredModels, modelGroups, judgeUsage, totalCosts, totals } = projectAttemptUsage(traceAttachments(resolved));\n return Object.freeze({\n locator: resolved.locator,\n originRunId: resolved.attempt.originRunId,\n usage: Object.freeze({ state, configuredModels, modelGroups, judgeUsage: summarizeJudgeUsage(judgeUsage), totalCosts, totals }),\n });\n }));\n const costSummary = Object.freeze({\n scope: \"latest-recorded-slots\" as const,\n totalCosts: combineTotalUsageCosts(allAttempts.map(({ usage }) => usage.totalCosts), unresolvedAttemptCount > 0),\n coverage: Object.freeze({ selectedSlotCount, resolvedSlotCount,\n originAttemptCount: allAttempts.length,\n completeAttemptCount: allAttempts.filter(({ usage }) => usage.totalCosts.state === \"complete\").length,\n partialAttemptCount: allAttempts.filter(({ usage }) => usage.totalCosts.state === \"partial\").length,\n unavailableAttemptCount: allAttempts.filter(({ usage }) => usage.totalCosts.state === \"unavailable\").length,\n unresolvedSlotCount: unresolvedAttemptCount }),\n });\n let attempts = Object.freeze(allAttempts.slice(0, 64));\n const experimentResult = () => Object.freeze({\n experiment, cells: experimentCells, costSummary,\n modelUsage: Object.freeze({\n attempts, totalAttemptCount: orderedUsageAttempts.length,\n omittedAttemptCount: orderedUsageAttempts.length - attempts.length,\n unresolvedAttemptCount,\n }),\n });\n while (utf8ByteLength(JSON.stringify({ ...metadata, experiment: experimentResult() })) > INSPECTION_EXPERIMENT_RESULT_BYTE_LIMIT &&\n attempts.length > 0) {\n attempts = Object.freeze(attempts.slice(0, -1));\n }\n return requireInspectionResultBudget(operation.kind, Object.freeze({\n ...metadata,\n experiment: decodeRequiredResult(operation.kind, InspectionExperimentResultSchema, experimentResult()),\n }));\n }\n case \"runs.list\": return runsListDocument(source, operation);\n case \"run.get\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const supporting = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, supporting),\n run: decodeRequiredResult(operation.kind, InspectionRunResultSchema, Object.freeze({\n value: inspectionRunValue(run),\n members: run.published?.members ?? Object.freeze([]),\n attempts: run.published?.attempts ?? Object.freeze([]),\n })),\n });\n }\n case \"run.summary\": {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n const run = requireOne(operation.kind, selected.selected, operation.runId);\n const all = loadSummaryFacts(source, run);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, all, [operation.runId], selected.missing, locators(all)),\n summary: decodeRequiredResult(operation.kind, InspectionRunSummaryResultSchema, runSummary(all, run)),\n });\n }\n case \"run.overview\": {\n const run = requireRunResource(source, operation.kind, operation.runId);\n const all = supportingRunFacts(source, run);\n return Object.freeze({\n ...runResourceMetadata(source, operation.kind, run, all),\n runOverview: decodeRequiredResult(operation.kind, InspectionRunOverviewResultSchema, runOverview(all, run)),\n });\n }\n case \"attempt.get\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n attempt: decodeRequiredResult(operation.kind, InspectionAttemptResultSchema, attemptDetail(resolved)),\n });\n }\n case \"attempt.assertion.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const assertions = readInspectionAssertions(resolved);\n const assertion = projectAttemptAssertionDetail(source, assertions, readInspectionAgentTurns(traceAttachments(resolved).agentTurns), operation.entryId);\n if (assertion === undefined) {\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n }\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n assertion: boundedJson(assertion, INSPECTION_ASSERTION_DETAIL_BYTE_LIMIT),\n });\n }\n case \"attempt.assertion.image\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const image = projectAttemptAssertionImage(source, readInspectionAssertions(resolved), operation.entryId, operation.imageId, operation.offset ?? 0, operation.limit ?? 256 * 1024);\n if (image === undefined)\n throw selectionMissing(operation.kind, `Assertion ${operation.entryId} was not found`);\n return Object.freeze({ ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]), image });\n }\n case \"attempt.trace\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n trace: decodeRequiredResult(operation.kind, InspectionTraceResultSchema, projectAttemptTrace(resolved.origin.source, traceAttachments(resolved), projectExecutionTraceOutline(source, resolved, {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.eventType === undefined ? {} : { eventType: operation.eventType }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n }), {\n ...(operation.traceId === undefined ? {} : { traceId: operation.traceId }),\n ...(operation.sourceId === undefined ? {} : { sourceId: operation.sourceId }),\n ...(operation.actorId === undefined ? {} : { actorId: operation.actorId }),\n ...(operation.eventType === undefined ? {} : { eventType: operation.eventType }),\n ...(operation.continuation === undefined ? {} : { continuation: operation.continuation }),\n })),\n });\n }\n case \"attempt.trace.detail\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n let detail = operation.selector.kind === \"execution-event\" || operation.selector.kind === \"execution-evidence\"\n ? projectExecutionTraceDetail(resolved, operation.selector)\n : projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), operation.selector);\n if (detail === undefined && operation.selector.kind === \"execution-event\") {\n type ItemSelector = Extract<Parameters<typeof projectAttemptTraceDetail>[2], {\n readonly kind: \"item\";\n }>;\n detail = projectAttemptTraceDetail(resolved.origin.source, traceAttachments(resolved), { kind: \"item\", itemId: operation.selector.eventId as ItemSelector[\"itemId\"] });\n }\n if (detail === undefined) {\n throw selectionMissing(operation.kind, \"Trace detail identity was not found\");\n }\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n detail: decodeRequiredResult(operation.kind, InspectionTraceDetailResultSchema, detail),\n });\n }\n case \"attempt.timing\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n timing: decodeRequiredResult(operation.kind, InspectionAttemptTimingResultSchema, projectAttemptTiming(traceAttachments(resolved))),\n });\n }\n case \"attempt.usage\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const metadata = resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]);\n let usage = projectAttemptUsage(traceAttachments(resolved));\n while (utf8ByteLength(JSON.stringify({ ...metadata, usage })) > INSPECTION_RESULT_BYTE_LIMIT &&\n (usage.judgeUsage.state === \"complete\" || usage.judgeUsage.state === \"partial\") && usage.judgeUsage.calls.length > 0) {\n usage = Object.freeze({ ...usage,\n judgeUsage: takeJudgeUsagePreview(usage.judgeUsage, usage.judgeUsage.calls.length - 1) });\n }\n return requireInspectionResultBudget(operation.kind, Object.freeze({\n ...metadata,\n usage: decodeRequiredResult(operation.kind, InspectionAttemptUsageResultSchema, usage),\n }));\n }\n case \"attempt.diff\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n diff: decodeRequiredResult(operation.kind, InspectionAttemptDiffResultSchema, projectAttemptDiff(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family))),\n });\n }\n case \"attempt.sources\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return Object.freeze({\n ...resultMetadata(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n sources: decodeRequiredResult(operation.kind, InspectionSourcesResultSchema, projectAttemptSources(resolved.origin.source, runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), readInspectionAssertions(resolved))),\n });\n }\n case \"attempt.artifact\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const projected = projectAttemptArtifact(resolved, {\n artifactId: operation.artifactId,\n ...(operation.offset === undefined ? {} : { offset: operation.offset }),\n ...(operation.limit === undefined ? {} : { limit: operation.limit }),\n });\n if (Result.isFailure(projected))\n throw new InspectionOperationError({\n code: projected.failure.code, operation: operation.kind, reason: projected.failure.reason,\n });\n return Object.freeze({\n ...baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]),\n artifact: boundedJson(projected.success),\n });\n }\n case \"attempt.artifacts\": {\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n const attachment = attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family);\n const projected = attachment === undefined ? undefined : projectArtifactsListing(attachment);\n if (projected !== undefined && Result.isFailure(projected))\n throw new InspectionOperationError({\n code: \"inspection-record-integrity-failure\", operation: operation.kind,\n reason: projected.failure.reason, identity: { runId: resolved.attempt.originRunId },\n });\n const value = projected?.success;\n const offset = operation.offset ?? 0;\n const limit = operation.limit ?? 128;\n const total = value?.artifacts.length ?? 0;\n if (!Number.isSafeInteger(offset) || offset < 0 || offset > total ||\n !Number.isSafeInteger(limit) || limit < 1 || limit > 128)\n throw new InspectionOperationError({\n code: \"inspection-request-invalid\", operation: operation.kind,\n reason: \"Artifact listing requires an offset within the collection and a limit from 1 to 128.\",\n });\n const metadata = baseDocument(source, operation.kind, attemptRuns(resolved), [], [], [operation.locator]);\n if (attachment === undefined || value === undefined)\n return Object.freeze({\n ...metadata, artifacts: Object.freeze({ state: \"not-recorded\" as const }),\n });\n let items = value.artifacts.slice(offset, offset + limit);\n const page = () => Object.freeze({\n state: \"available\" as const,\n value: Object.freeze({ collection: value.collection, artifacts: items }),\n collection: Object.freeze({\n state: offset + items.length < total ? \"bounded-page\" as const : \"complete-page\" as const,\n items,\n hasMore: offset + items.length < total,\n nextOffset: offset + items.length < total ? offset + items.length : null,\n total,\n }),\n contents: attachment.physical.contents\n .slice(0, ATTACHMENT_CONTENT_METADATA_LIMIT)\n .map(({ logicalHandle, byteLength, digest }) => Object.freeze({ logicalHandle, byteLength, digest })),\n contentsTruncated: attachment.physical.contents.length > ATTACHMENT_CONTENT_METADATA_LIMIT,\n });\n let artifacts = page();\n // Both public arrays share the page; long labels also consume the fixed JSON budget twice.\n while (items.length > 0 && (utf8ByteLength(JSON.stringify(items)) > 128 * 1024 ||\n utf8ByteLength(JSON.stringify(artifacts)) > INSPECTION_RESULT_BYTE_LIMIT)) {\n items = items.slice(0, -1);\n artifacts = page();\n }\n if (items.length === 0 && offset < total)\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\", operation: operation.kind,\n reason: \"Artifact metadata cannot fit in the Inspection result byte limit.\",\n });\n return Object.freeze({ ...metadata, artifacts: boundedJson(artifacts) });\n }\n case \"runs.compare\": {\n const selected = loadRuns(source, [...operation.leftRunIds, ...operation.rightRunIds]);\n return comparisonDocument(source, loadReferencedOrigins(source, selected), operation);\n }\n }\n}\nfunction runsListExplanation(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n outcome: \"explanation\" as const,\n factKinds: inspectionProtocolRegistry[operation.kind].factKinds,\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runsListDocument(source: InspectionFactSource, operation: Extract<InspectionOperation, {\n readonly kind: \"runs.list\";\n}>): unknown {\n const page = runSummaryPage(source, operation.continuation);\n return Object.freeze({\n ...runsListBase(source, page.cutoff, page.items, page.truncated),\n runs: closeJson(page.items),\n ...(page.continuation === undefined ? {} : { continuation: page.continuation }),\n });\n}\nfunction runSummaryPage(source: InspectionFactSource, continuation: string | undefined) {\n const binding = continuation === undefined ? undefined : decodeContinuation(continuation);\n let page: SealedRunSummaryPage;\n try {\n page = source.readSealedRunSummaryPage(binding?.afterRunId ?? \"\", RUN_LIST_PAGE_SIZE, binding?.cutoffIdentity);\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n return Object.freeze({\n cutoff: page.cutoff,\n items: page.summaries,\n truncated: page.nextAfterRunId !== null,\n continuation: page.nextAfterRunId === null\n ? undefined\n : encodeContinuation(page.nextAfterRunId, page.cutoff.identity),\n });\n}\nfunction runsListBase(source: InspectionFactSource, cutoff: SealedRunCutoff, selected: readonly SealedRunSummary[], truncated: boolean) {\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation: \"runs.list\" as const,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([]),\n selectedRunIds: Object.freeze(selected.map(({ runId }) => runId)),\n missingRunIds: Object.freeze([]),\n returnedRunCount: selected.length,\n totalRunCount: cutoff.runCount,\n truncated,\n }),\n issues: Object.freeze([]),\n evidence: Object.freeze({ refs: Object.freeze([]) }),\n });\n}\nfunction encodeContinuation(afterRunId: string, cutoffIdentity: string): string {\n return encodeBase64UrlUtf8(JSON.stringify([\n \"runs.list\",\n cutoffIdentity,\n afterRunId,\n ]));\n}\nfunction decodeContinuation(token: string): {\n readonly cutoffIdentity: string;\n readonly afterRunId: string;\n} {\n try {\n const decoded = JSON.parse(decodeBase64UrlUtf8(token)) as unknown;\n if (!Array.isArray(decoded) || decoded.length !== 3 || decoded[0] !== \"runs.list\" ||\n typeof decoded[1] !== \"string\" || typeof decoded[2] !== \"string\") {\n throw new Error(\"continuation binding changed\");\n }\n return Object.freeze({ cutoffIdentity: decoded[1], afterRunId: decoded[2] });\n }\n catch (cause) {\n throw operationFailure(\"runs.list\", \"Continuation is invalid or its sealed cutoff changed; restart runs.list\", cause);\n }\n}\nfunction loadForOperation(source: InspectionFactSource, operation: InspectionOperation): {\n readonly selected: readonly LoadedInspectionRun[];\n readonly requestedRunIds: readonly string[];\n readonly missingRunIds: readonly string[];\n} {\n if (operation.kind === \"project.get\")\n return { selected: requireCurrentProject(source, operation.experimentIds).runs, requestedRunIds: [], missingRunIds: [] };\n if (operation.kind === \"overview.get\") {\n const requested = operation.runIds ?? [];\n if (requested.length === 0)\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n const selection = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selection.selected),\n requestedRunIds: requested,\n missingRunIds: selection.missing,\n };\n }\n if (operation.kind === \"experiment.get\") {\n return { selected: loadInspectionRuns(source), requestedRunIds: [], missingRunIds: [] };\n }\n if (operation.kind === \"runs.list\")\n return { selected: [], requestedRunIds: [], missingRunIds: [] };\n if (operation.kind === \"runs.compare\") {\n const requested = Object.freeze([...operation.leftRunIds, ...operation.rightRunIds]);\n const selected = selectRuns(loadRuns(source, requested), requested);\n return {\n selected: loadReferencedOrigins(source, selected.selected),\n requestedRunIds: requested,\n missingRunIds: selected.missing,\n };\n }\n if (\"runId\" in operation) {\n const selected = selectRuns(loadRuns(source, [operation.runId]), [operation.runId]);\n requireOne(operation.kind, selected.selected, operation.runId);\n return {\n selected: operation.kind === \"run.summary\" || operation.kind === \"run.overview\"\n ? loadSummaryFacts(source, selected.selected[0]!)\n : selected.selected,\n requestedRunIds: [operation.runId],\n missingRunIds: selected.missing,\n };\n }\n const resolved = requireAttemptFromSource(source, operation.kind, operation.locator);\n return {\n selected: attemptRuns(resolved),\n requestedRunIds: Object.freeze([]),\n missingRunIds: Object.freeze([]),\n };\n}\nfunction requireCurrentProject(source: InspectionFactSource, experimentIds?: readonly string[]): FrozenProjectInput {\n const input = projectInput(source);\n if (source.kind !== \"project-record\" || input === undefined || input.cutoffIdentity !== source.cutoff().identity)\n throw new InspectionOperationError({\n code: \"current-target-unavailable\", operation: \"project.get\",\n reason: \"Current project declarations are unavailable. Use overview.get or an exact run.get to read recorded results.\",\n });\n for (const id of experimentIds ?? [])\n if (!input.target.experiments.some((experiment) => experiment.experimentId === id))\n throw selectionMissing(\"project.get\", `Current Experiment ${JSON.stringify(id)} was not found.`);\n return input;\n}\nfunction loadRuns(source: InspectionFactSource, runIds: readonly string[]): readonly LoadedInspectionRun[] {\n const uniqueRunIds = [...new Set(runIds)];\n if (uniqueRunIds.length > RUN_SELECTION_LIMIT) {\n throw new Error(`Inspection selection exceeds the fixed ${RUN_SELECTION_LIMIT}-Run limit`);\n }\n return loadSelectedInspectionRuns(source, uniqueRunIds);\n}\nfunction requireRunResource(source: InspectionFactSource, operation: InspectionOperationId, runId: string): LoadedInspectionRunResource {\n const run = loadInspectionRunResource(source, runId);\n if (run === undefined)\n throw selectionMissing(operation, `Run ${runId} was not found`);\n return run;\n}\nfunction inspectionRunValue(run: LoadedInspectionRunResource): InspectionRunValue {\n const { resource, published } = run;\n return decodeRequiredResult(\"run.get\", InspectionRunValueSchema, Object.freeze({\n runId: resource.runId,\n experimentId: resource.experimentId,\n state: resource.state,\n ...(resource.published > 0 && published !== undefined\n ? { context: published.run.context }\n : {}),\n startedAt: Date.parse(resource.startedAt),\n ...(resource.completedAt === undefined\n ? {}\n : { completedAt: Date.parse(resource.completedAt) }),\n expectedSlots: published?.run.expectedSlots ?? resource.slots.map((slot) => Object.freeze({\n slotId: slot.slotId,\n evalId: slot.evalId,\n attemptOrdinal: slot.attemptOrdinal,\n executionIdentityDigest: slot.executionIdentityDigest,\n })),\n }));\n}\nfunction supportingRunFacts(source: InspectionFactSource, run: LoadedInspectionRunResource): readonly LoadedInspectionRun[] {\n return run.published === undefined ? Object.freeze([]) : loadSummaryFacts(source, run.published);\n}\nfunction runResourceMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]): InspectionResultMetadata<Kind> {\n const metadata = resultMetadata(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...metadata,\n selection: Object.freeze({\n ...metadata.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction runResourceBaseDocument(source: InspectionFactSource, operation: InspectionOperationId, run: LoadedInspectionRunResource, supporting: readonly LoadedInspectionRun[]) {\n const document = baseDocument(source, operation, supporting, [run.resource.runId], [], locators(supporting));\n return Object.freeze({\n ...document,\n selection: Object.freeze({\n ...document.selection,\n selectedRunIds: Object.freeze([run.resource.runId]),\n }),\n });\n}\nfunction loadReferencedOrigins(source: InspectionFactSource, targets: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n const targetIds = new Set(targets.map(({ run }) => run.runId));\n const originIds = [...new Set(targets.flatMap(({ members }) => members.flatMap(({ attempt }) => attempt === null || targetIds.has(attempt.originRunId) ? [] : [attempt.originRunId])))];\n return uniqueRuns([...targets, ...loadRuns(source, originIds)]);\n}\nfunction loadSummaryFacts(source: InspectionFactSource, target: LoadedInspectionRun): readonly LoadedInspectionRun[] {\n return loadReferencedOrigins(source, [target]);\n}\nfunction parseJson(bytes: Uint8Array): unknown {\n return JSON.parse(new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes)) as unknown;\n}\nfunction selectRuns(all: readonly LoadedInspectionRun[], runIds: readonly string[]) {\n const byId = new Map<string, LoadedInspectionRun>(all.map((run) => [run.run.runId, run]));\n const requested = [...new Set(runIds)];\n return Object.freeze({\n selected: Object.freeze(requested.flatMap((runId) => {\n const run = byId.get(runId);\n return run === undefined ? [] : [run];\n })),\n missing: Object.freeze(requested.filter((runId) => !byId.has(runId))),\n });\n}\nfunction requireOne(operation: InspectionOperationId, selected: readonly LoadedInspectionRun[], runId: string): LoadedInspectionRun {\n const run = selected[0];\n if (run === undefined) {\n throw selectionMissing(operation, `Run ${runId} was not found`);\n }\n return run;\n}\nfunction requireAttemptFromSource(source: InspectionFactSource, operation: InspectionOperationId, locator: string): ResolvedInspectionAttempt {\n const resolved = resolveInspectionAttempt(source, locator);\n if (resolved === undefined) {\n throw selectionMissing(operation, `Attempt ${locator} was not found or is ambiguous`);\n }\n return resolved;\n}\nfunction attemptRuns(resolved: ResolvedInspectionAttempt): readonly LoadedInspectionRun[] {\n return uniqueRuns([resolved.origin, ...resolved.targets.map(({ run }) => run)]);\n}\nfunction traceAttachments(resolved: ResolvedInspectionAttempt): AttemptTraceAttachments {\n return Object.freeze({\n models: resolved.origin.run.context.execution.models,\n adapterUsage: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family),\n judgeUsage: attemptAttachment(resolved, NiceEvalRecordAttachments.judgeUsage.family),\n agentTurns: attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family),\n turnContexts: attemptAttachment(resolved, NiceEvalRecordAttachments.turnContexts.family),\n sandboxCommands: attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family),\n runnerActivities: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family),\n runnerDiagnostics: attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family),\n });\n}\nfunction attachmentValue(resolved: ResolvedInspectionAttempt, family: string): InspectionJson {\n const attachment = attemptAttachment(resolved, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(resolved.origin.source, attachment),\n });\n}\nfunction runAttachmentValue(run: LoadedInspectionRun, family: string): InspectionJson {\n const attachment = runAttachment(run, family);\n return attachment === undefined\n ? Object.freeze({ state: \"not-recorded\" })\n : Object.freeze({\n state: \"available\",\n value: attachment.value,\n collection: attachmentCollectionPage(run.source, attachment),\n });\n}\nfunction attachmentCollectionPage(source: InspectionFactSource, attachment: DecodedInspectionAttachment): InspectionJson {\n const page = source.readCollectionPage(attachment.physical.attachmentId, -1, ATTACHMENT_COLLECTION_PAGE_SIZE);\n return closeJson(Object.freeze({\n state: page.nextOrdinal === null ? \"complete-page\" : \"bounded-page\",\n items: Object.freeze(page.items.map((item) => closeJson(parseJson(item.canonicalBytes)))),\n hasMore: page.nextOrdinal !== null,\n }));\n}\n/**\n * Query keeps one leading and one decisive matcher representative. The full\n * durable artifact remains available in the Record, while attempt.get stays a\n * bounded AI-facing overview instead of duplicating attempt.trace-sized data.\n */\nfunction compactAssertionInspection(value: InspectionJson): InspectionJson {\n if (Array.isArray(value))\n return Object.freeze(value.map(compactAssertionInspection));\n if (typeof value !== \"object\" || value === null)\n return value;\n const output: Record<string, InspectionJson> = {};\n for (const [key, entry] of Object.entries(value)) {\n if ((key === \"retainedRows\" || key === \"representatives\") && Array.isArray(entry) && entry.length > 2) {\n output[key] = Object.freeze([\n compactAssertionInspection(entry[0]!),\n compactAssertionInspection(entry[entry.length - 1]!),\n ]);\n }\n else {\n output[key] = compactAssertionInspection(entry);\n }\n }\n return Object.freeze(output);\n}\nfunction attemptDetail(resolved: ResolvedInspectionAttempt): InspectionAttemptResult {\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n core: resolved.attempt,\n locator: resolved.locator,\n originRun: resolved.origin.run,\n targets: resolved.targets.map(({ run, member }) => Object.freeze({ runId: run.run.runId, member })),\n evidence: assertions.state === \"available\"\n ? Object.freeze({\n state: \"available\" as const,\n entryCount: assertions.value.entries.length,\n sourceSiteCount: assertions.value.sourceSites.length,\n })\n : Object.freeze({\n state: assertions.state,\n entryCount: 0 as const,\n }),\n assertions: assertionIndex(assertions),\n sections: attemptSections(resolved),\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n evidenceCoverage: attemptEvidenceCoverage(resolved),\n limitations: attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []),\n });\n}\nfunction assertionIndex(assertions: ReturnType<typeof readInspectionAssertions>): InspectionAttemptResult[\"assertions\"] {\n if (assertions.state !== \"available\") {\n return Object.freeze({\n state: assertions.state === \"not-recorded\" ? \"not-recorded\" : \"invalid\",\n entries: Object.freeze([]),\n });\n }\n return Object.freeze({\n state: \"available\",\n entries: Object.freeze(assertions.value.entries.map((entry) => Object.freeze({\n entryId: entry.entryId,\n display: Object.freeze({\n ...(entry.display.label === undefined ? {} : { label: entry.display.label }),\n ...(entry.display.key === undefined ? {} : { key: entry.display.key }),\n groupPath: Object.freeze([...entry.display.groupPath]),\n }),\n }))),\n });\n}\ntype AttemptSectionState = \"available\" | \"not-recorded\" | \"partial\" | \"unavailable\";\nfunction attemptSections(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"sections\"] {\n const assertions = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.assertions.family), NiceEvalCurrentRecordAttachments.assertions.revision);\n const conversation = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.agentTurns.family), NiceEvalCurrentRecordAttachments.agentTurns.revision);\n const executionTraces = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.executionTraces.family), NiceEvalCurrentRecordAttachments.executionTraces.revision);\n const commands = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.sandboxCommands.family), NiceEvalCurrentRecordAttachments.sandboxCommands.revision);\n const timing = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerActivities.attempt.family), NiceEvalCurrentRecordAttachments.runnerActivities.attempt.revision);\n const diagnostics = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.runnerDiagnostics.attempt.family), NiceEvalCurrentRecordAttachments.runnerDiagnostics.attempt.revision);\n const sources = attachmentSectionState(runAttachment(resolved.origin, NiceEvalRecordAttachments.sources.family), NiceEvalCurrentRecordAttachments.sources.revision);\n const diff = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.fileChanges.family), NiceEvalCurrentRecordAttachments.fileChanges.revision);\n const artifacts = attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.artifacts.attempt.family), NiceEvalCurrentRecordAttachments.artifacts.attempt.revision);\n return Object.freeze({\n assertions: Object.freeze({ state: assertions }),\n trace: Object.freeze({ state: combineSectionStates([executionTraces, conversation, commands, timing, diagnostics]) }),\n sources: Object.freeze({ state: sources }),\n diff: Object.freeze({ state: diff }),\n artifacts: Object.freeze({ state: artifacts }),\n timing: Object.freeze({ state: timing }),\n usage: Object.freeze({ state: attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family) === undefined\n ? conversation\n : attachmentSectionState(attemptAttachment(resolved, NiceEvalRecordAttachments.adapterUsage.family), NiceEvalCurrentRecordAttachments.adapterUsage.revision) }),\n conversation: Object.freeze({ state: conversation }),\n commands: Object.freeze({ state: commands }),\n diagnostics: Object.freeze({ state: diagnostics }),\n });\n}\nfunction attachmentSectionState(attachment: DecodedInspectionAttachment | undefined, currentRevision: number): AttemptSectionState {\n if (attachment === undefined)\n return \"not-recorded\";\n if (attachment.physical.familyRevision !== currentRevision)\n return \"unavailable\";\n return containsState(attachment.value, \"partial\") ? \"partial\" : \"available\";\n}\nfunction combineSectionStates(states: readonly AttemptSectionState[]): AttemptSectionState {\n if (states.some((state) => state === \"partial\"))\n return \"partial\";\n if (states.some((state) => state === \"available\"))\n return \"available\";\n if (states.some((state) => state === \"unavailable\"))\n return \"unavailable\";\n return \"not-recorded\";\n}\nfunction containsState(value: InspectionJson, expected: string): boolean {\n if (Array.isArray(value))\n return value.some((entry) => containsState(entry, expected));\n if (typeof value !== \"object\" || value === null)\n return false;\n const record = value as Readonly<Record<string, InspectionJson>>;\n return record.state === expected || Object.values(record).some((entry) => containsState(entry, expected));\n}\nfunction runSummary(all: readonly LoadedInspectionRun[], selected: LoadedInspectionRun): InspectionRunSummaryResult {\n const slots = selected.run.expectedSlots.map((slot) => {\n const member = selected.members.find((candidate) => candidate.slotId === slot.slotId);\n if (member === undefined || member.attempt === null) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member?.action ?? \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, member);\n if (resolved === undefined) {\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: \"missing\", locator: null,\n outcome: null, verdict: null,\n });\n }\n const assertions = readInspectionAssertions(resolved);\n return Object.freeze({\n runId: selected.run.runId, ...slot, state: member.action, locator: resolved.locator,\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n });\n });\n return Object.freeze({\n runs: Object.freeze([selected.run]),\n denominator: Object.freeze({ expected: slots.length, observed: slots.filter(({ locator }) => locator !== null).length }),\n members: Object.freeze(slots),\n });\n}\nfunction runOverview(all: readonly LoadedInspectionRun[], selectedResource: LoadedInspectionRunResource): InspectionRunOverviewResult {\n type Member = InspectionRunOverviewResult[\"members\"][number];\n type Usage = ReturnType<typeof projectAttemptUsage>;\n const selected = selectedResource.published;\n const value = inspectionRunValue(selectedResource);\n const unavailableUsage = (): Member[\"usage\"] => Object.freeze({\n state: \"unavailable\",\n summary: null,\n totals: unavailableInspectionUsageTotals(),\n limitations: Object.freeze([]),\n limitationsTruncated: false,\n omittedLimitationCount: 0,\n });\n const unavailableCoverage = (): Member[\"coverage\"] => Object.freeze({\n state: \"unavailable\",\n facts: Object.freeze([]),\n limitations: Object.freeze([]),\n });\n const projected = value.expectedSlots.map((slot): {\n readonly member: Member;\n readonly usage?: Usage;\n } => {\n const targetMember = selected?.members.find((candidate) => candidate.slotId === slot.slotId);\n if (targetMember === undefined) {\n if (value.state !== \"active\") {\n throw new Error(`Terminal Run ${value.runId} has no binding or absence for Slot ${slot.slotId}`);\n }\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: \"pending\" as const,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: \"pending\",\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (targetMember.attempt === null) {\n const limitation = Object.freeze({\n kind: \"member-not-observed\" as const,\n state: targetMember.action,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n if (selected === undefined) {\n throw new Error(`Run ${value.runId} has a Member without a published Core`);\n }\n const resolved = resolveInspectionMemberAttempt(all, selected, targetMember);\n if (resolved === undefined) {\n const limitation = Object.freeze({\n kind: \"attempt-unresolved\" as const,\n originRunId: targetMember.attempt.originRunId,\n attemptId: targetMember.attempt.attemptId,\n });\n return Object.freeze({\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: null,\n relation: null,\n outcome: null,\n verdict: null,\n score: null,\n coverage: unavailableCoverage(),\n usage: unavailableUsage(),\n limitations: Object.freeze([limitation]),\n }),\n });\n }\n const assertions = readInspectionAssertions(resolved);\n const coverageFacts = attemptEvidenceCoverage(resolved);\n const coverageLimitations = attemptLimitations(resolved, assertions.state === \"available\" ? assertions.value.entries : []);\n const coverageState: Member[\"coverage\"][\"state\"] = assertions.state === \"available\"\n ? coverageLimitations.length === 0 && coverageFacts.every(({ status }) => status === \"complete\")\n ? \"complete\"\n : \"partial\"\n : coverageFacts.length > 0\n ? \"partial\"\n : assertions.state === \"not-recorded\"\n ? \"not-recorded\"\n : \"invalid\";\n const usage = projectAttemptUsage(traceAttachments(resolved));\n const memberLimitations: Member[\"limitations\"] = Object.freeze([\n ...coverageLimitations.map((detail) => Object.freeze({ kind: \"coverage\" as const, detail })),\n ...usage.limitations.map((detail) => Object.freeze({ kind: \"usage\" as const, detail })),\n ]);\n return Object.freeze({\n usage,\n member: Object.freeze({\n slot,\n state: targetMember.action,\n locator: resolved.locator,\n relation: resolved.attempt.originRunId === value.runId ? \"origin\" : \"reference\",\n outcome: resolved.attempt.outcome,\n verdict: attemptVerdict(resolved, assertions),\n score: assertionScore(assertions.state === \"available\" ? assertions.value.entries : []),\n coverage: Object.freeze({\n state: coverageState,\n facts: coverageFacts,\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: usage.state,\n summary: usage.state === \"complete\" || usage.state === \"partial\"\n ? Object.freeze({\n turnCount: usage.turns.length + usage.omittedTurnCount,\n observationCount: usage.observations.length + usage.omittedObservationCount,\n })\n : null,\n totals: usage.totals,\n limitations: usage.limitations,\n limitationsTruncated: usage.limitationsTruncated,\n omittedLimitationCount: usage.omittedLimitationCount,\n }),\n limitations: memberLimitations,\n }),\n });\n });\n const members = Object.freeze(projected.map(({ member }) => member));\n const locatedLimitations = Object.freeze(members.flatMap((member) => member.limitations.map((limitation) => Object.freeze({\n slotId: member.slot.slotId,\n locator: member.locator,\n limitation,\n }))));\n const usageResults = projected.flatMap(({ usage }) => usage === undefined ? [] : [usage]);\n const observed = members.filter(({ locator }) => locator !== null).length;\n const incompleteUsage = observed !== members.length ||\n usageResults.some(({ state }) => state !== \"complete\");\n const coverageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"usage\"));\n const usageLimitations = Object.freeze(locatedLimitations.filter(({ limitation }) => limitation.kind !== \"coverage\"));\n return Object.freeze({\n identity: Object.freeze({\n runId: value.runId,\n experimentId: value.experimentId,\n adapter: value.context?.execution.adapter ?? null,\n }),\n state: value.state,\n startedAt: value.startedAt,\n ...(value.completedAt === undefined ? {} : { completedAt: value.completedAt }),\n denominator: Object.freeze({ expected: members.length, observed }),\n members,\n coverage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ coverage }) => coverage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n completeMemberCount: members.filter(({ coverage }) => coverage.state === \"complete\").length,\n factCount: members.reduce((total, { coverage }) => total + coverage.facts.length, 0),\n limitations: coverageLimitations,\n }),\n usage: Object.freeze({\n state: aggregateRunOverviewState(members.map(({ usage }) => usage.state)),\n expectedMemberCount: members.length,\n observedMemberCount: observed,\n recordedAttemptCount: usageResults.filter(({ state }) => state === \"complete\" || state === \"partial\").length,\n totals: combineInspectionUsageTotals(usageResults, incompleteUsage),\n limitations: usageLimitations,\n }),\n limitations: locatedLimitations,\n });\n}\nfunction aggregateRunOverviewState(states: readonly InspectionRunOverviewResult[\"coverage\"][\"state\"][]): InspectionRunOverviewResult[\"coverage\"][\"state\"] {\n if (states.length === 0 || states.every((state) => state === \"complete\"))\n return \"complete\";\n if (states.every((state) => state === \"unavailable\"))\n return \"unavailable\";\n if (states.every((state) => state === \"not-recorded\"))\n return \"not-recorded\";\n if (states.every((state) => state === \"invalid\"))\n return \"invalid\";\n return \"partial\";\n}\nfunction attemptVerdict(resolved: ResolvedInspectionAttempt, assertions = readInspectionAssertions(resolved)): VerdictState | null {\n if (assertions.state === \"available\") {\n return foldRecordedAttemptVerdict({\n outcome: resolved.attempt.outcome,\n assertions: assertions.value,\n });\n }\n if (assertions.state !== \"failed\" || assertions.attachment === undefined) {\n return null;\n }\n if (resolved.attempt.outcome === \"errored\" || resolved.attempt.outcome === \"interrupted\")\n return \"errored\";\n if (containsRequiredAssertionError(assertions.attachment.value))\n return \"errored\";\n return containsFailedDecision(assertions.attachment.value) ? \"failed\" : null;\n}\nfunction assertionScore(entries: readonly {\n readonly contribution: {\n readonly state: string;\n readonly points?: number;\n readonly earned?: number;\n };\n}[]): InspectionAttemptResult[\"score\"] {\n let possible = 0;\n let earned = 0;\n let scored = 0;\n let unavailable = 0;\n for (const { contribution } of entries) {\n if (contribution.state === \"earned\" && typeof contribution.points === \"number\" && typeof contribution.earned === \"number\") {\n possible += contribution.points;\n earned += contribution.earned;\n scored += 1;\n }\n else if (contribution.state === \"unavailable\" && typeof contribution.points === \"number\") {\n possible += contribution.points;\n unavailable += 1;\n }\n }\n return scored === 0 && unavailable === 0\n ? Object.freeze({ state: \"not-scored\" as const })\n : unavailable > 0\n ? Object.freeze({ state: \"unavailable\" as const, earned, possible, unavailable })\n : Object.freeze({ state: \"complete\" as const, earned, possible });\n}\nfunction attemptEvidenceCoverage(resolved: ResolvedInspectionAttempt): InspectionAttemptResult[\"evidenceCoverage\"] {\n const entries = new Map<string, InspectionAttemptResult[\"evidenceCoverage\"][number]>();\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n const coverage = record.evidenceCoverage;\n if (typeof coverage === \"object\" && coverage !== null && !Array.isArray(coverage)) {\n for (const [channel, raw] of Object.entries(coverage)) {\n if (!isAttemptCoverageChannel(channel))\n continue;\n const detail = typeof raw === \"object\" && raw !== null && !Array.isArray(raw)\n ? raw as Readonly<Record<string, InspectionJson>>\n : undefined;\n const status = typeof raw === \"string\"\n ? raw\n : typeof detail?.status === \"string\"\n ? detail.status\n : typeof detail?.state === \"string\"\n ? detail.state\n : undefined;\n if (status === undefined)\n continue;\n if (status !== \"complete\" && status !== \"partial\" && status !== \"unavailable\")\n continue;\n const reason = typeof detail?.reason === \"string\" ? detail.reason : undefined;\n const item = Object.freeze({\n channel,\n status,\n ...(reason === undefined ? {} : { reason }),\n });\n entries.set(`${channel}\\u0000${status}\\u0000${reason ?? \"\"}`, item);\n }\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind !== \"attempt\" || attachment.physical.ownerAttemptId !== resolved.attempt.attemptId)\n continue;\n visit(attachment.value);\n }\n return Object.freeze([...entries.values()]);\n}\nfunction attemptLimitations(resolved: ResolvedInspectionAttempt, entries: readonly {\n readonly materials: {\n readonly coverage: AssertionCoverage;\n readonly limitations: readonly AssertionLimitation[];\n };\n}[]): InspectionAttemptResult[\"limitations\"] {\n const limitations: InspectionAttemptResult[\"limitations\"][number][] = [];\n for (const entry of entries) {\n const coverage = entry.materials.coverage;\n switch (coverage.state) {\n case \"complete\": break;\n case \"partial\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"unavailable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n case \"not-applicable\":\n limitations.push(Object.freeze({\n owner: \"assertion-material\",\n state: coverage.state,\n reason: coverage.reason,\n limitations: entry.materials.limitations,\n }));\n break;\n }\n }\n const coverage = attemptEvidenceCoverage(resolved);\n if (Array.isArray(coverage)) {\n for (const entry of coverage) {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry) || entry.status === \"complete\")\n continue;\n limitations.push(entry);\n }\n }\n return Object.freeze(limitations);\n}\nfunction isAttemptCoverageChannel(value: string): value is InspectionAttemptResult[\"evidenceCoverage\"][number][\"channel\"] {\n return value === \"events\" || value === \"actions\" || value === \"messages\" ||\n value === \"usage\" || value === \"status\" || value === \"data\";\n}\nfunction containsFailedDecision(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const decision = (entry as Readonly<Record<string, InspectionJson>>).decision;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision))\n return false;\n const record = decision as Readonly<Record<string, InspectionJson>>;\n return record.result === \"mismatched\" && record.gate === \"failed\";\n }) ?? false;\n}\nfunction containsRequiredAssertionError(value: InspectionJson): boolean {\n const entries = assertionWireEntries(value);\n return entries?.some((entry) => {\n if (typeof entry !== \"object\" || entry === null || Array.isArray(entry))\n return false;\n const record = entry as Readonly<Record<string, InspectionJson>>;\n const decision = record.decision;\n const policy = record.policy;\n const requirement = typeof policy === \"object\" && policy !== null && !Array.isArray(policy)\n ? (policy as Readonly<Record<string, InspectionJson>>).requirement\n : undefined;\n if (typeof decision !== \"object\" || decision === null || Array.isArray(decision) ||\n typeof requirement !== \"object\" || requirement === null || Array.isArray(requirement))\n return false;\n const decisionRecord = decision as Readonly<Record<string, InspectionJson>>;\n const requirementRecord = requirement as Readonly<Record<string, InspectionJson>>;\n return (decisionRecord.result === \"unavailable\" || decisionRecord.result === \"errored\") &&\n decisionRecord.gate === \"unavailable\" &&\n requirementRecord.state === \"available\" && requirementRecord.value === \"required\";\n }) ?? false;\n}\nfunction assertionWireEntries(value: InspectionJson): readonly InspectionJson[] | undefined {\n if (typeof value !== \"object\" || value === null || Array.isArray(value))\n return undefined;\n const entries = (value as Readonly<Record<string, InspectionJson>>)[\"entries-data\"];\n return Array.isArray(entries) ? entries : undefined;\n}\nfunction attemptUsage(resolved: ResolvedInspectionAttempt) {\n let inputTokens = 0;\n let outputTokens = 0;\n const visit = (value: InspectionJson): void => {\n if (Array.isArray(value)) {\n value.forEach(visit);\n return;\n }\n if (typeof value !== \"object\" || value === null)\n return;\n const record = value as Readonly<Record<string, InspectionJson>>;\n if (record.kind === \"token-bucket\" && typeof record.tokens === \"number\") {\n if (record.bucket === \"input\")\n inputTokens += record.tokens;\n if (record.bucket === \"output\")\n outputTokens += record.tokens;\n }\n Object.values(record).forEach(visit);\n };\n for (const attachment of resolved.origin.attachments) {\n if (attachment.physical.ownerKind === \"attempt\" && attachment.physical.ownerAttemptId === resolved.attempt.attemptId)\n visit(attachment.value);\n }\n return Object.freeze({ inputTokens, outputTokens });\n}\nfunction comparisonDocument(source: InspectionFactSource, all: readonly LoadedInspectionRun[], operation: Extract<InspectionOperation, {\n readonly kind: \"runs.compare\";\n}>): unknown {\n const left = selectRuns(all, operation.leftRunIds);\n const right = selectRuns(all, operation.rightRunIds);\n const leftMembers = comparisonMembers(all, left.selected);\n const rightMembers = comparisonMembers(all, right.selected);\n const leftKeys = leftMembers.map(({ key }) => key).sort();\n const rightKeys = rightMembers.map(({ key }) => key).sort();\n const exact = arraysEqual(leftKeys, rightKeys);\n const rightByKey = new Map(rightMembers.map((member) => [member.key, member] as const));\n const pairs = leftMembers.flatMap((member) => {\n const paired = rightByKey.get(member.key);\n return paired === undefined ? [] : [Object.freeze({ key: member.key, left: member, right: paired })];\n });\n const issues: InspectionJson[] = [\n ...left.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"left\", runId })),\n ...right.missing.map((runId) => closeJson({ code: \"selection-run-missing\", side: \"right\", runId })),\n ...(operation.mode === \"exact\" && !exact ? [closeJson({ code: \"comparison-member-set-mismatch\" })] : []),\n ];\n return Object.freeze({\n ...baseDocument(source, operation.kind, [...left.selected, ...right.selected], [...operation.leftRunIds, ...operation.rightRunIds], [...left.missing, ...right.missing], [\n ...leftMembers.map(({ locator }) => locator), ...rightMembers.map(({ locator }) => locator),\n ], issues),\n comparison: boundedJson(Object.freeze({\n mode: operation.mode,\n left: Object.freeze({ runs: left.selected.map(({ run }) => run), members: leftMembers }),\n right: Object.freeze({ runs: right.selected.map(({ run }) => run), members: rightMembers }),\n exactMemberSet: exact,\n pairs: operation.mode === \"side-by-side\" ? Object.freeze([]) : Object.freeze(pairs),\n })),\n });\n}\nfunction comparisonMembers(all: readonly LoadedInspectionRun[], runs: readonly LoadedInspectionRun[]) {\n return runs.flatMap((run) => run.members.flatMap((member) => {\n if (member.attempt === null)\n return [];\n const slot = run.run.expectedSlots.find(({ slotId }) => slotId === member.slotId);\n const resolved = resolveInspectionMemberAttempt(all, run, member);\n if (slot === undefined || resolved === undefined)\n return [];\n return [Object.freeze({\n key: `${run.run.experimentId}\\u0000${slot.evalId}\\u0000${slot.attemptOrdinal}`,\n runId: run.run.runId, slotId: slot.slotId, evalId: slot.evalId, attemptOrdinal: slot.attemptOrdinal,\n locator: resolved.locator,\n })];\n }));\n}\nfunction baseDocument(source: InspectionFactSource, operation: InspectionOperationId, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[], issues: readonly InspectionJson[] = []) {\n const selected = uniqueRuns(selectedInput);\n const seals = selected.map(({ run, physical }) => Object.freeze({ runId: run.runId, logicalSealIdentity: physical.logicalSealIdentity }));\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\",\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(seals),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze(issues),\n evidence: Object.freeze({ refs: Object.freeze([...new Set(evidence)].sort()) }),\n });\n}\nfunction resultMetadata<Kind extends InspectionOperationId>(source: InspectionFactSource, operation: Kind, selectedInput: readonly LoadedInspectionRun[], requestedRunIds: readonly string[], missingRunIds: readonly string[], evidence: readonly string[]): InspectionResultMetadata<Kind> {\n const selected = uniqueRuns(selectedInput);\n const cutoff = source.cutoff();\n return Object.freeze({\n protocol: QUERY_PROTOCOL,\n behaviorVersion: INSPECTION_BEHAVIOR_VERSION,\n outcome: \"success\" as const,\n operation,\n source: sourceProvenance(source, cutoff),\n sealedCutoff: Object.freeze({\n kind: \"inspection-sealed-cutoff\" as const,\n identity: cutoff.identity,\n runCount: cutoff.runCount,\n runs: Object.freeze(selected.map(({ run, physical }) => Object.freeze({\n runId: run.runId,\n logicalSealIdentity: physical.logicalSealIdentity,\n }))),\n }),\n selection: Object.freeze({\n requestedRunIds: Object.freeze([...requestedRunIds]),\n selectedRunIds: Object.freeze(selected.map(({ run }) => run.runId)),\n missingRunIds: Object.freeze([...missingRunIds]),\n }),\n issues: Object.freeze([] as const),\n evidence: Object.freeze({\n refs: Object.freeze([...new Set(evidence)].sort()),\n }),\n });\n}\nfunction decodeRequiredResult<S extends Schema.ConstraintDecoder<unknown>>(operation: InspectionOperationId, schema: S, input: unknown): S[\"Type\"] {\n const decoded = Schema.decodeUnknownResult(schema, {\n onExcessProperty: \"error\",\n })(input);\n if (Result.isFailure(decoded)) {\n throw new InspectionOperationError({\n code: \"inspection-result-invalid\",\n operation,\n reason: String(decoded.failure),\n });\n }\n return decoded.success;\n}\nfunction requireInspectionResultBudget<Value>(operation: InspectionOperationId, value: Value): Value {\n const byteLimit = operation === \"experiment.get\" ? INSPECTION_EXPERIMENT_RESULT_BYTE_LIMIT : INSPECTION_RESULT_BYTE_LIMIT;\n if (utf8ByteLength(JSON.stringify(value)) > byteLimit) {\n throw new InspectionOperationError({ code: \"evidence-budget-exceeded\", operation,\n reason: \"Inspection result cannot fit in the result byte limit.\" });\n }\n return value;\n}\nfunction locators(runs: readonly LoadedInspectionRun[]): readonly string[] {\n return Object.freeze(runs.flatMap(({ attempts }) => attempts.map(({ attemptId }) => encodeAttemptLocator(attemptId))));\n}\nfunction uniqueRuns(runs: readonly LoadedInspectionRun[]): readonly LoadedInspectionRun[] {\n return Object.freeze([...new Map(runs.map((run) => [run.run.runId, run] as const)).values()]);\n}\nfunction closeJson(value: unknown): InspectionJson {\n const closed = closeInspectionJson(value);\n if (isInspectionCodecError(closed))\n throw closed;\n return closed as InspectionJson;\n}\nfunction boundedJson(value: unknown, byteLimit = INSPECTION_RESULT_BYTE_LIMIT): InspectionJson {\n const closed = closeJson(value);\n const byteLength = utf8ByteLength(JSON.stringify(closed));\n if (byteLength <= byteLimit)\n return closed;\n return closeJson(Object.freeze({\n state: \"omitted\",\n reason: \"inspection-result-byte-limit\",\n byteLimit,\n }));\n}\nfunction arraysEqual(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((entry, index) => entry === right[index]);\n}\nfunction sourceProvenance(source: InspectionFactSource, cutoff: SealedRunCutoff): InspectionSourceProvenance {\n return Object.freeze({\n kind: source.kind,\n sealedCutoffIdentity: cutoff.identity,\n });\n}\nfunction evaluateInspectionOperation(operation: InspectionOperationId, evaluate: () => unknown): InspectionOperationDocument {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const value = decoded.value;\n if (value.outcome === \"discovery\" || value.outcome === \"failure\" || value.operation !== operation) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: \"expected matching operation document\" });\n }\n return value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction evaluateInspectionSuccess<Kind extends InspectionOperationId>(operation: Kind, evaluate: () => unknown): InspectionSuccessDocumentFor<Kind> {\n try {\n const decoded = decodeInspectionDocument(evaluate());\n if (!decoded.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: decoded.reason });\n }\n const narrowed = narrowInspectionSuccess(decoded.value, operation);\n if (!narrowed.success) {\n throw new InspectionOperationError({ code: \"inspection-result-invalid\", operation, reason: narrowed.reason });\n }\n return narrowed.value;\n }\n catch (cause) {\n if (cause instanceof InspectionOperationError)\n throw cause;\n if (cause instanceof InspectionExecutionTraceError)\n throw executionTraceFailure(operation, cause);\n if (cause instanceof RecordIntegrityFailure)\n throw integrityFailure(operation, cause);\n if (isInspectionResultError(cause))\n throw cause;\n throw operationFailure(operation, \"Inspection operation failed\", cause);\n }\n}\nfunction executionTraceFailure(operation: InspectionOperationId, cause: InspectionExecutionTraceError): InspectionOperationError {\n return new InspectionOperationError({\n code: cause.code,\n operation,\n reason: cause.message,\n cause,\n });\n}\nfunction isInspectionResultError(value: unknown): value is {\n readonly code: \"inspection-result-invalid\";\n readonly reason: string;\n} {\n return typeof value === \"object\" && value !== null &&\n Reflect.get(value, \"code\") === \"inspection-result-invalid\" &&\n typeof Reflect.get(value, \"reason\") === \"string\";\n}\nfunction selectionMissing(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-selection-missing\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction operationFailure(operation: InspectionOperationId, reason: string, cause?: unknown): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-operation-failed\",\n operation,\n reason,\n ...(cause === undefined ? {} : { cause }),\n });\n}\nfunction integrityFailure(operation: InspectionOperationId, cause: RecordIntegrityFailure): InspectionOperationError {\n return new InspectionOperationError({\n code: \"inspection-record-integrity-failure\",\n operation,\n reason: \"The selected sealed Run does not form a closed Record publication.\",\n identity: Object.freeze({ runId: cause.runId }),\n });\n}\n"]}
|