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":"reuse-diagnostics.js","sourceRoot":"","sources":["reuse-diagnostics.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"reuse-diagnostics.js","sourceRoot":"","sources":["reuse-diagnostics.ts"],"names":[],"mappings":"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","sourcesContent":["// 复用失败的收尾诊断(契约见 docs/feature/sandbox/reuse.md「复用失败的可观察性」)。\n//\n// 有意持久状态是合法的实验输入;失败序列本身不能证明污染或根因。\n// Run 收尾按 Sandbox 实例与承接序号聚合:首承接正常、而同一实例序号 ≥ 2 的 Attempt 集中失败或\n// 集中 errored 在同一生命周期阶段时,追加一条运行级 diagnostic 点名实例、序号区间与阶段。\n// 只指路,不改判定 —— 这里既不读也不写任何 verdict。\nimport type { EvalResult, LifecyclePhase } from \"./types.ts\";\n/** 同一阶段上至少这么多条后承接失败才算「集中」;低于它是零散失败,不发诊断(不误报)。 */\nconst CLUSTER_MIN = 2;\nexport interface ReuseFailureClusterNotice {\n /** 承接这些 Attempt 的实验;裸 run(无 experimentId)用 undefined。 */\n experimentId?: string;\n /** 本次 Run 内的 Sandbox 编号。 */\n reuseSandbox: number;\n /** 集中失败所在的生命周期阶段。 */\n phase: LifecyclePhase;\n /** 集中失败的承接序号区间(闭区间)与条数。 */\n fromOrdinal: number;\n toOrdinal: number;\n count: number;\n}\nfunction failing(result: EvalResult): boolean {\n return result.verdict === \"failed\" || result.verdict === \"errored\";\n}\n/** 失败落在哪个阶段:errored 读 `error.phase`;断言失败没有 error,归 `eval.run`(判定发生地)。 */\nfunction phaseOf(result: EvalResult): LifecyclePhase {\n return (result.error?.origin.scope === \"attempt\" ? result.error.origin.phase : undefined) ?? \"eval.run\";\n}\n/**\n * 按实例 × 承接序号聚合复用后的失败。只看声明了复用且带完整调度事实的结果;\n * 首承接缺失或本身失败时没有成功基准,不报告后续失败聚集。\n */\nexport function detectReuseFailureClusters(results: readonly EvalResult[]): ReuseFailureClusterNotice[] {\n const byInstance = new Map<string, {\n experimentId?: string;\n reuseSandbox: number;\n attempts: EvalResult[];\n }>();\n for (const result of results) {\n const sandbox = result.sandbox;\n if (!sandbox?.reused || sandbox.reuseSandbox === undefined || sandbox.reuseOrdinal === undefined)\n continue;\n const key = `${result.experimentId ?? \"\"}#${sandbox.reuseSandbox}`;\n let group = byInstance.get(key);\n if (!group) {\n group = { ...(result.experimentId !== undefined ? { experimentId: result.experimentId } : {}), reuseSandbox: sandbox.reuseSandbox, attempts: [] };\n byInstance.set(key, group);\n }\n group.attempts.push(result);\n }\n const notices: ReuseFailureClusterNotice[] = [];\n for (const group of byInstance.values()) {\n const first = group.attempts.find((r) => r.sandbox!.reuseOrdinal === 1);\n // 首承接缺失或失败时,没有成功基准可供比较。\n if (!first || failing(first))\n continue;\n const laterFailures = group.attempts.filter((r) => r.sandbox!.reuseOrdinal! >= 2 && failing(r));\n const byPhase = new Map<LifecyclePhase, number[]>();\n for (const attempt of laterFailures) {\n const phase = phaseOf(attempt);\n const ordinals = byPhase.get(phase) ?? [];\n ordinals.push(attempt.sandbox!.reuseOrdinal!);\n byPhase.set(phase, ordinals);\n }\n for (const [phase, ordinals] of byPhase) {\n if (ordinals.length < CLUSTER_MIN)\n continue;\n const sorted = [...ordinals].sort((a, b) => a - b);\n notices.push({\n ...(group.experimentId !== undefined ? { experimentId: group.experimentId } : {}),\n reuseSandbox: group.reuseSandbox,\n phase,\n fromOrdinal: sorted[0]!,\n toOrdinal: sorted[sorted.length - 1]!,\n count: sorted.length,\n });\n }\n }\n return notices;\n}\n/** 诊断正文:点名实例、序号区间与阶段,并说清它只是线索。 */\nexport function reuseFailureClusterMessage(notice: ReuseFailureClusterNotice): string {\n const where = notice.experimentId !== undefined ? ` in experiment \"${notice.experimentId}\"` : \"\";\n return (` · [sandbox] reused sandbox #${notice.reuseSandbox}${where} handled its first attempt cleanly, but ` +\n `${notice.count} later attempts (handoff ${notice.fromOrdinal}-${notice.toOrdinal}) all stopped in ${notice.phase}. ` +\n \"This failure pattern does not establish a cause. Intentional persistent memory and checkpoints are supported; \" +\n \"check expected state, unexpected leftovers, and repeatable setup against the experiment's design. No verdict is changed.\");\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EvalResult, LifecyclePhase } from "./types.cjs";
|
|
2
|
-
export interface
|
|
2
|
+
export interface ReuseFailureClusterNotice {
|
|
3
3
|
/** 承接这些 Attempt 的实验;裸 run(无 experimentId)用 undefined。 */
|
|
4
4
|
experimentId?: string;
|
|
5
5
|
/** 本次 Run 内的 Sandbox 编号。 */
|
|
@@ -12,10 +12,9 @@ export interface ReuseContaminationNotice {
|
|
|
12
12
|
count: number;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* 按实例 ×
|
|
16
|
-
*
|
|
17
|
-
* 无关,报出来就是误报。
|
|
15
|
+
* 按实例 × 承接序号聚合复用后的失败。只看声明了复用且带完整调度事实的结果;
|
|
16
|
+
* 首承接缺失或本身失败时没有成功基准,不报告后续失败聚集。
|
|
18
17
|
*/
|
|
19
|
-
export declare function
|
|
18
|
+
export declare function detectReuseFailureClusters(results: readonly EvalResult[]): ReuseFailureClusterNotice[];
|
|
20
19
|
/** 诊断正文:点名实例、序号区间与阶段,并说清它只是线索。 */
|
|
21
|
-
export declare function
|
|
20
|
+
export declare function reuseFailureClusterMessage(notice: ReuseFailureClusterNotice): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EvalResult, LifecyclePhase } from "./types.mjs";
|
|
2
|
-
export interface
|
|
2
|
+
export interface ReuseFailureClusterNotice {
|
|
3
3
|
/** 承接这些 Attempt 的实验;裸 run(无 experimentId)用 undefined。 */
|
|
4
4
|
experimentId?: string;
|
|
5
5
|
/** 本次 Run 内的 Sandbox 编号。 */
|
|
@@ -12,10 +12,9 @@ export interface ReuseContaminationNotice {
|
|
|
12
12
|
count: number;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* 按实例 ×
|
|
16
|
-
*
|
|
17
|
-
* 无关,报出来就是误报。
|
|
15
|
+
* 按实例 × 承接序号聚合复用后的失败。只看声明了复用且带完整调度事实的结果;
|
|
16
|
+
* 首承接缺失或本身失败时没有成功基准,不报告后续失败聚集。
|
|
18
17
|
*/
|
|
19
|
-
export declare function
|
|
18
|
+
export declare function detectReuseFailureClusters(results: readonly EvalResult[]): ReuseFailureClusterNotice[];
|
|
20
19
|
/** 诊断正文:点名实例、序号区间与阶段,并说清它只是线索。 */
|
|
21
|
-
export declare function
|
|
20
|
+
export declare function reuseFailureClusterMessage(notice: ReuseFailureClusterNotice): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EvalResult, LifecyclePhase } from "./types.js";
|
|
2
|
-
export interface
|
|
2
|
+
export interface ReuseFailureClusterNotice {
|
|
3
3
|
/** 承接这些 Attempt 的实验;裸 run(无 experimentId)用 undefined。 */
|
|
4
4
|
experimentId?: string;
|
|
5
5
|
/** 本次 Run 内的 Sandbox 编号。 */
|
|
@@ -12,10 +12,9 @@ export interface ReuseContaminationNotice {
|
|
|
12
12
|
count: number;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
|
-
* 按实例 ×
|
|
16
|
-
*
|
|
17
|
-
* 无关,报出来就是误报。
|
|
15
|
+
* 按实例 × 承接序号聚合复用后的失败。只看声明了复用且带完整调度事实的结果;
|
|
16
|
+
* 首承接缺失或本身失败时没有成功基准,不报告后续失败聚集。
|
|
18
17
|
*/
|
|
19
|
-
export declare function
|
|
18
|
+
export declare function detectReuseFailureClusters(results: readonly EvalResult[]): ReuseFailureClusterNotice[];
|
|
20
19
|
/** 诊断正文:点名实例、序号区间与阶段,并说清它只是线索。 */
|
|
21
|
-
export declare function
|
|
20
|
+
export declare function reuseFailureClusterMessage(notice: ReuseFailureClusterNotice): string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
2
|
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
3
|
const __niceevalCanonical = __niceevalRequire("./reuse-diagnostics.cjs");
|
|
4
|
-
const __niceevalExport0 = __niceevalCanonical["
|
|
5
|
-
export { __niceevalExport0 as
|
|
6
|
-
const __niceevalExport1 = __niceevalCanonical["
|
|
7
|
-
export { __niceevalExport1 as
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["detectReuseFailureClusters"];
|
|
5
|
+
export { __niceevalExport0 as detectReuseFailureClusters };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["reuseFailureClusterMessage"];
|
|
7
|
+
export { __niceevalExport1 as reuseFailureClusterMessage };
|
|
8
8
|
//# sourceMappingURL=reuse-diagnostics.js.map
|
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProjectTargetReusePlanner = exports.EXECUTION_COMPARISON_SOURCE_STATES = exports.EXECUTION_COMPARISON_PROJECTION_STATE = exports.projectTargetPolicyIdentity = exports.PROJECT_TARGET_RECORD_IDENTITY_MAXIMUM_LENGTH = exports.PROJECT_TARGET_INVOCATION_ID_MAXIMUM_LENGTH = exports.PROJECT_TARGET_POLICY_VERSION = exports.PROJECT_TARGET_POLICY_NAME = void 0;
|
|
4
|
+
exports.mergeCurrentAssessmentRuns = mergeCurrentAssessmentRuns;
|
|
4
5
|
exports.recordedAttemptVerdict = recordedAttemptVerdict;
|
|
5
6
|
exports.validateProjectTargetReusePlanInput = validateProjectTargetReusePlanInput;
|
|
6
7
|
exports.planProjectTargetReuse = planProjectTargetReuse;
|
|
7
8
|
exports.planProjectTargetReuseWithoutSources = planProjectTargetReuseWithoutSources;
|
|
9
|
+
exports.assessCurrentTargetSlot = assessCurrentTargetSlot;
|
|
10
|
+
// @concord-file ne-runner-reuse-plan
|
|
11
|
+
// @concord-implements docs/feature/experiments/cache.md
|
|
12
|
+
// @concord-implements docs/feature/experiments/use-case/cache-explicit-rerun.md
|
|
13
|
+
// @concord-implements docs/feature/experiments/use-case/rerun-all.md
|
|
8
14
|
const effect_1 = require("effect");
|
|
15
|
+
const errors_ts_1 = require("../record/reader/errors.cjs");
|
|
16
|
+
const identifiers_ts_1 = require("../record/codec/identifiers.cjs");
|
|
17
|
+
const core_ts_1 = require("../record/codec/core.cjs");
|
|
9
18
|
const score_ts_1 = require("../eval/record/score.cjs");
|
|
10
19
|
const rename_identity_ts_1 = require("./rename-identity.cjs");
|
|
11
20
|
const catalog_ts_1 = require("../record/family/catalog.cjs");
|
|
12
21
|
const eligibility_ts_1 = require("../eval/record/eligibility.cjs");
|
|
13
22
|
const membership_provenance_ts_1 = require("../eval/record/membership-provenance.cjs");
|
|
14
23
|
const verdict_ts_1 = require("../eval/record/verdict.cjs");
|
|
15
|
-
const
|
|
24
|
+
const identifiers_ts_2 = require("../record/model/identifiers.cjs");
|
|
16
25
|
exports.PROJECT_TARGET_POLICY_NAME = "project-target";
|
|
17
|
-
exports.PROJECT_TARGET_POLICY_VERSION =
|
|
26
|
+
exports.PROJECT_TARGET_POLICY_VERSION = 2;
|
|
18
27
|
exports.PROJECT_TARGET_INVOCATION_ID_MAXIMUM_LENGTH = 255;
|
|
19
28
|
exports.PROJECT_TARGET_RECORD_IDENTITY_MAXIMUM_LENGTH = 4096;
|
|
20
29
|
exports.projectTargetPolicyIdentity = Object.freeze({
|
|
@@ -33,6 +42,25 @@ exports.EXECUTION_COMPARISON_SOURCE_STATES = [
|
|
|
33
42
|
...membership_provenance_ts_1.COMPARISON_SOURCE_STATES,
|
|
34
43
|
exports.EXECUTION_COMPARISON_PROJECTION_STATE.migrationRequired,
|
|
35
44
|
];
|
|
45
|
+
/** Both consumers retain every expected lifecycle position at one cutoff. */
|
|
46
|
+
function mergeCurrentAssessmentRuns(runs, resources) {
|
|
47
|
+
return effect_1.Effect.map(effect_1.Effect.forEach(resources, (resource) => {
|
|
48
|
+
const published = runs.find((run) => run.document.runId === resource.runId);
|
|
49
|
+
const lifecycle = Object.freeze({ state: resource.state, slots: resource.slots });
|
|
50
|
+
if (published !== undefined)
|
|
51
|
+
return effect_1.Effect.succeed(Object.freeze({ ...published, createdRevision: resource.createdRevision, lifecycle }));
|
|
52
|
+
return effect_1.Schema.decodeUnknownEffect(effect_1.Schema.Struct({
|
|
53
|
+
runId: identifiers_ts_1.RunIdSchema, experimentId: identifiers_ts_1.ExperimentIdSchema, startedAt: identifiers_ts_1.UtcMillisSchema,
|
|
54
|
+
expectedSlots: effect_1.Schema.Array(core_ts_1.RecordSlotIdentitySchema),
|
|
55
|
+
}))({
|
|
56
|
+
runId: resource.runId, experimentId: resource.experimentId, startedAt: Date.parse(resource.startedAt),
|
|
57
|
+
expectedSlots: resource.slots.map(({ publication: _publication, ...slot }) => slot),
|
|
58
|
+
}).pipe(effect_1.Effect.map((document) => Object.freeze({ createdRevision: resource.createdRevision, lifecycle, document, members: Object.freeze([]) })), effect_1.Effect.mapError(() => new errors_ts_1.RecordIntegrityFailure({ code: "record-integrity-failure", runId: resource.runId, reason: "core-invalid" })));
|
|
59
|
+
}, { concurrency: 1 }), (lifecycle) => Object.freeze([
|
|
60
|
+
...lifecycle,
|
|
61
|
+
...runs.filter((run) => !resources.some((resource) => resource.runId === run.document.runId)),
|
|
62
|
+
]));
|
|
63
|
+
}
|
|
36
64
|
/**
|
|
37
65
|
* Fold the terminal Verdict from the source Attempt's immutable Core outcome
|
|
38
66
|
* and its fixed Assertions facts. This is a projection, not a second durable
|
|
@@ -104,6 +132,8 @@ function validateProjectTargetReusePlanInput(input) {
|
|
|
104
132
|
* Plans only from Record Host selection references. It neither reconstructs
|
|
105
133
|
* attempt handles from strings nor reads private Record paths.
|
|
106
134
|
*/
|
|
135
|
+
// @concord-code ne-runner-plan-reuse
|
|
136
|
+
// @concord-implements docs/feature/experiments/cache.md
|
|
107
137
|
function planProjectTargetReuse(input) {
|
|
108
138
|
return effect_1.Effect.suspend(() => {
|
|
109
139
|
const invalid = validateProjectTargetReusePlanInput(input);
|
|
@@ -112,15 +142,25 @@ function planProjectTargetReuse(input) {
|
|
|
112
142
|
return effect_1.Effect.gen(function* () {
|
|
113
143
|
const selection = yield* input.reader.selectRuns({ includePublishedActive: true });
|
|
114
144
|
const readable = yield* effect_1.Effect.forEach(selection.runRefs, (ref) => input.reader.readRun(ref), { concurrency: 1 });
|
|
115
|
-
const
|
|
145
|
+
const publishedRuns = [];
|
|
116
146
|
const coreIssues = [];
|
|
117
147
|
for (const read of readable) {
|
|
118
148
|
if (read.state === "available")
|
|
119
|
-
|
|
149
|
+
publishedRuns.push(read.value);
|
|
120
150
|
else if (read.state === "core-invalid")
|
|
121
151
|
coreIssues.push(...read.issues);
|
|
122
152
|
}
|
|
123
|
-
const
|
|
153
|
+
const resources = [];
|
|
154
|
+
let afterRunId = "";
|
|
155
|
+
for (;;) {
|
|
156
|
+
const page = yield* input.reader.listRunResources({ afterRunId, pageSize: 100 });
|
|
157
|
+
resources.push(...page.runs);
|
|
158
|
+
if (page.nextAfterRunId === null)
|
|
159
|
+
break;
|
|
160
|
+
afterRunId = page.nextAfterRunId;
|
|
161
|
+
}
|
|
162
|
+
const runs = yield* mergeCurrentAssessmentRuns(publishedRuns, resources);
|
|
163
|
+
const byRunId = new Map(publishedRuns.map((run) => [run.document.runId, run]));
|
|
124
164
|
const slots = [];
|
|
125
165
|
for (const target of flattenTargetSlots(input.target)) {
|
|
126
166
|
slots.push(yield* planTargetSlot({
|
|
@@ -170,6 +210,22 @@ function planProjectTargetReuseWithoutSources(input) {
|
|
|
170
210
|
}
|
|
171
211
|
exports.ProjectTargetReusePlanner = Object.freeze({ plan: planProjectTargetReuse });
|
|
172
212
|
function planTargetSlot(input) {
|
|
213
|
+
return assessCurrentTargetSlot({
|
|
214
|
+
...input,
|
|
215
|
+
readAttempt: (ref) => input.reader.readAttempt(ref).pipe(effect_1.Effect.map((read) => read.state !== "available" ? read : {
|
|
216
|
+
state: "available",
|
|
217
|
+
value: { ...read.value, publicationAvailable: read.value.ref.publicationIdentity !== undefined },
|
|
218
|
+
})),
|
|
219
|
+
readAssertions: (attempt) => input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.assertions),
|
|
220
|
+
readActivities: (attempt) => input.reader.read(attempt.owner, catalog_ts_1.NiceEvalRecordAttachments.runnerActivities.attempt),
|
|
221
|
+
sourceFor: (attempt, sourceBarrier) => {
|
|
222
|
+
if (!hasPublicationIdentity(attempt))
|
|
223
|
+
throw new Error("Expected a published Attempt");
|
|
224
|
+
return candidateFor({ target: input.target, sourceBarrier, attempt, byRunId: input.byRunId }).source;
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
function assessCurrentTargetSlot(input) {
|
|
173
229
|
return effect_1.Effect.gen(function* () {
|
|
174
230
|
if (input.target.reuseEligibility !== undefined) {
|
|
175
231
|
return gapSlot(input.target, {
|
|
@@ -213,15 +269,18 @@ function planTargetSlot(input) {
|
|
|
213
269
|
}
|
|
214
270
|
const member = sourceRun.members.find((candidate) => candidate.document.slotId === expected.slotId);
|
|
215
271
|
if (member === undefined || member.attempt === null) {
|
|
272
|
+
const publication = sourceRun.lifecycle?.slots.find((slot) => slot.slotId === expected.slotId)?.publication;
|
|
216
273
|
return gapSlot(input.target, {
|
|
217
274
|
reason: "source-member-missing",
|
|
218
275
|
scope: "slot",
|
|
219
276
|
issues: [],
|
|
220
277
|
sourceBarrier,
|
|
221
|
-
comparisons:
|
|
278
|
+
comparisons: publication?.state === "pending" || publication?.state === "absent"
|
|
279
|
+
? [comparison("core", "attempt-outcome", "unavailable", "not-comparable", publication.state === "pending" ? "pending" : publication.reason)]
|
|
280
|
+
: [],
|
|
222
281
|
});
|
|
223
282
|
}
|
|
224
|
-
const readAttempt = yield* input.
|
|
283
|
+
const readAttempt = yield* input.readAttempt(member.attempt);
|
|
225
284
|
if (readAttempt.state !== "available") {
|
|
226
285
|
return gapSlot(input.target, {
|
|
227
286
|
reason: "source-core-invalid",
|
|
@@ -231,7 +290,7 @@ function planTargetSlot(input) {
|
|
|
231
290
|
comparisons: [],
|
|
232
291
|
});
|
|
233
292
|
}
|
|
234
|
-
if (!
|
|
293
|
+
if (!readAttempt.value.publicationAvailable) {
|
|
235
294
|
return gapSlot(input.target, {
|
|
236
295
|
reason: "source-publication-unavailable",
|
|
237
296
|
scope: "slot",
|
|
@@ -240,13 +299,10 @@ function planTargetSlot(input) {
|
|
|
240
299
|
comparisons: [],
|
|
241
300
|
});
|
|
242
301
|
}
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
byRunId: input.byRunId,
|
|
248
|
-
});
|
|
249
|
-
if (candidateResolution === undefined) {
|
|
302
|
+
const document = readAttempt.value.document;
|
|
303
|
+
const originRun = input.byRunId.get(document.originRunId);
|
|
304
|
+
const originExpected = originRun?.document.expectedSlots.find((slot) => slot.slotId === document.slotId);
|
|
305
|
+
if (originExpected === undefined || document.evalId !== originExpected.evalId || document.executionIdentityDigest !== originExpected.executionIdentityDigest) {
|
|
250
306
|
return gapSlot(input.target, {
|
|
251
307
|
reason: "source-core-invalid",
|
|
252
308
|
scope: "slot",
|
|
@@ -255,20 +311,21 @@ function planTargetSlot(input) {
|
|
|
255
311
|
comparisons: [],
|
|
256
312
|
});
|
|
257
313
|
}
|
|
258
|
-
const candidate =
|
|
259
|
-
const ordinaryIdentity = reusableSlotIdentityMatches({ target: input.target, sourceExpected: expected, originExpected
|
|
314
|
+
const candidate = input.sourceFor(readAttempt.value, sourceBarrier);
|
|
315
|
+
const ordinaryIdentity = reusableSlotIdentityMatches({ target: input.target, sourceExpected: expected, originExpected });
|
|
260
316
|
if (!ordinaryIdentity) {
|
|
261
317
|
const originRun = input.byRunId.get(candidate.origin.runId);
|
|
262
318
|
const pureRename = targetMatchesLogicalIdentity(input.target, expected) &&
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
(0, rename_identity_ts_1.executionDigestForExperiment)(input.target, originRun.document.experimentId) ===
|
|
319
|
+
originExpected.evalId === input.target.evalId &&
|
|
320
|
+
originExpected.attemptOrdinal === input.target.attempt &&
|
|
321
|
+
(0, rename_identity_ts_1.executionDigestForExperiment)(input.target, originRun.document.experimentId) === originExpected.executionIdentityDigest;
|
|
266
322
|
if (!pureRename)
|
|
267
323
|
return gapSlot(input.target, {
|
|
268
324
|
reason: "identity-mismatch", scope: "slot", issues: [], sourceBarrier, candidate,
|
|
269
325
|
comparisons: [identityMismatchComparison()],
|
|
270
326
|
});
|
|
271
|
-
if (
|
|
327
|
+
if (sourceRun.document.context === undefined || originRun.document.context === undefined ||
|
|
328
|
+
!(0, rename_identity_ts_1.hasProvenNoExperimentHooks)(sourceRun.document.context) ||
|
|
272
329
|
!(0, rename_identity_ts_1.hasProvenNoExperimentHooks)(originRun.document.context))
|
|
273
330
|
return gapSlot(input.target, {
|
|
274
331
|
reason: "adoption-unproven", scope: "slot", issues: [], sourceBarrier, candidate, comparisons: [],
|
|
@@ -289,7 +346,7 @@ function planTargetSlot(input) {
|
|
|
289
346
|
reason: "adoption-unproven", scope: "slot", issues: [], sourceBarrier, candidate, comparisons: [],
|
|
290
347
|
});
|
|
291
348
|
}
|
|
292
|
-
const assertions = yield* input.
|
|
349
|
+
const assertions = yield* input.readAssertions(readAttempt.value);
|
|
293
350
|
if (assertions.state !== "available") {
|
|
294
351
|
const problem = attachmentProblem(assertions);
|
|
295
352
|
return gapSlot(input.target, {
|
|
@@ -318,6 +375,14 @@ function planTargetSlot(input) {
|
|
|
318
375
|
],
|
|
319
376
|
});
|
|
320
377
|
}
|
|
378
|
+
if (input.target.evaluationKind === "score") {
|
|
379
|
+
const score = (0, score_ts_1.foldRecordedAttemptScore)({ outcome: readAttempt.value.document.outcome, assertions: assertions.value });
|
|
380
|
+
if (effect_1.Result.isFailure(score) || score.success.state !== "complete")
|
|
381
|
+
return gapSlot(input.target, {
|
|
382
|
+
reason: "score-incomplete", scope: "slot", issues: [], sourceBarrier, candidate,
|
|
383
|
+
comparisons: [comparison("niceeval.assertions", "assertion-verdict", "available", "ineligible", "score-incomplete")],
|
|
384
|
+
});
|
|
385
|
+
}
|
|
321
386
|
if (verdict !== "passed" && verdict !== "failed") {
|
|
322
387
|
return gapSlot(input.target, {
|
|
323
388
|
reason: "verdict-ineligible",
|
|
@@ -328,15 +393,7 @@ function planTargetSlot(input) {
|
|
|
328
393
|
comparisons: [verdictComparison(verdict, "ineligible")],
|
|
329
394
|
});
|
|
330
395
|
}
|
|
331
|
-
|
|
332
|
-
const score = (0, score_ts_1.foldRecordedAttemptScore)({ outcome: readAttempt.value.document.outcome, assertions: assertions.value });
|
|
333
|
-
if (effect_1.Result.isFailure(score) || score.success.state !== "complete")
|
|
334
|
-
return gapSlot(input.target, {
|
|
335
|
-
reason: "verdict-ineligible", scope: "slot", issues: [], sourceBarrier, candidate,
|
|
336
|
-
comparisons: [verdictComparison(verdict, "ineligible")],
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
const activities = yield* input.reader.read(readAttempt.value.owner, catalog_ts_1.NiceEvalRecordAttachments.runnerActivities.attempt);
|
|
396
|
+
const activities = yield* input.readActivities(readAttempt.value);
|
|
340
397
|
if (activities.state !== "available") {
|
|
341
398
|
const problem = attachmentProblem(activities);
|
|
342
399
|
return gapSlot(input.target, {
|
|
@@ -410,20 +467,15 @@ function planTargetSlot(input) {
|
|
|
410
467
|
}
|
|
411
468
|
function latestSourceRun(runs, target) {
|
|
412
469
|
const candidates = runs.filter((run) => run.document.experimentId === target.experimentId
|
|
413
|
-
|
|
470
|
+
// Execution refreshes may see their own already-created pending Run.
|
|
471
|
+
// Logical current targets have no Run identity and keep every barrier.
|
|
472
|
+
&& (!("runId" in target) || run.document.runId !== target.runId)
|
|
473
|
+
&& run.document.expectedSlots.some((slot) => slot.evalId === target.evalId && slot.attemptOrdinal === target.attempt));
|
|
414
474
|
return candidates.sort((left, right) => {
|
|
415
|
-
const a = left.createdRevision, b = right.createdRevision;
|
|
416
|
-
|
|
417
|
-
return a - b || (0, identifiers_ts_1.compareCanonicalIdentity)(left.document.runId, right.document.runId);
|
|
418
|
-
return compareReadableRuns(left, right);
|
|
475
|
+
const a = left.createdRevision ?? 0, b = right.createdRevision ?? 0;
|
|
476
|
+
return a - b || (0, identifiers_ts_2.compareCanonicalIdentity)(left.document.runId, right.document.runId);
|
|
419
477
|
}).at(-1);
|
|
420
478
|
}
|
|
421
|
-
function compareReadableRuns(left, right) {
|
|
422
|
-
if (left.document.startedAt !== right.document.startedAt) {
|
|
423
|
-
return left.document.startedAt < right.document.startedAt ? -1 : 1;
|
|
424
|
-
}
|
|
425
|
-
return (0, identifiers_ts_1.compareCanonicalIdentity)(left.document.runId, right.document.runId);
|
|
426
|
-
}
|
|
427
479
|
function hasPublicationIdentity(attempt) {
|
|
428
480
|
return attempt.ref.publicationIdentity !== undefined;
|
|
429
481
|
}
|
|
@@ -463,7 +515,7 @@ function targetMatchesLogicalIdentity(target, slot) {
|
|
|
463
515
|
&& target.executionIdentityDigest === slot.executionIdentityDigest;
|
|
464
516
|
}
|
|
465
517
|
function targetMatchesSlotIdentity(target, slot) {
|
|
466
|
-
return target.slotId === slot.slotId
|
|
518
|
+
return (!("slotId" in target) || target.slotId === slot.slotId)
|
|
467
519
|
&& target.evalId === slot.evalId
|
|
468
520
|
&& target.attempt === slot.attemptOrdinal
|
|
469
521
|
&& target.executionIdentityDigest === slot.executionIdentityDigest;
|
|
@@ -573,11 +625,11 @@ function isTargetRun(value) {
|
|
|
573
625
|
return false;
|
|
574
626
|
const run = value;
|
|
575
627
|
return (typeof run.runId === "string"
|
|
576
|
-
&& (0,
|
|
628
|
+
&& (0, identifiers_ts_2.isPortableSegment)(run.runId)
|
|
577
629
|
&& typeof run.experimentId === "string"
|
|
578
630
|
&& isBoundedRecordIdentity(run.experimentId)
|
|
579
631
|
&& typeof run.startedAt === "number"
|
|
580
|
-
&& (0,
|
|
632
|
+
&& (0, identifiers_ts_2.isUtcMillis)(run.startedAt)
|
|
581
633
|
&& Array.isArray(run.slots));
|
|
582
634
|
}
|
|
583
635
|
function isTargetSlot(value) {
|
|
@@ -585,9 +637,9 @@ function isTargetSlot(value) {
|
|
|
585
637
|
return false;
|
|
586
638
|
const slot = value;
|
|
587
639
|
return (typeof slot.runId === "string"
|
|
588
|
-
&& (0,
|
|
640
|
+
&& (0, identifiers_ts_2.isPortableSegment)(slot.runId)
|
|
589
641
|
&& typeof slot.slotId === "string"
|
|
590
|
-
&& (0,
|
|
642
|
+
&& (0, identifiers_ts_2.isPortableSegment)(slot.slotId)
|
|
591
643
|
&& typeof slot.experimentId === "string"
|
|
592
644
|
&& isBoundedRecordIdentity(slot.experimentId)
|
|
593
645
|
&& typeof slot.evalId === "string"
|
|
@@ -599,7 +651,7 @@ function isTargetSlot(value) {
|
|
|
599
651
|
&& (slot.reuseEligibility === undefined
|
|
600
652
|
|| slot.reuseEligibility === "adapter-behavior-revision-required")
|
|
601
653
|
&& typeof slot.executionIdentityDigest === "string"
|
|
602
|
-
&& (0,
|
|
654
|
+
&& (0, identifiers_ts_2.isSha256Digest)(slot.executionIdentityDigest)
|
|
603
655
|
&& isExecutionIdentity(slot.inputIdentity)
|
|
604
656
|
&& isExecutionIdentity(slot.configIdentity)
|
|
605
657
|
&& (slot.timeout === undefined || isExecutionDurationLimit(slot.timeout)));
|