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,8 +1,35 @@
|
|
|
1
|
+
import type { ExperimentHostRequirements } from "./requirements.mjs";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
3
|
import { ProjectStateDatabase } from "../../record/sqlite/project-state-database.mjs";
|
|
4
|
+
import { type AgentRun, type DiscoveredEval, type DiscoveredExperiment } from "../../runner/types.mjs";
|
|
3
5
|
import { ExperimentHostError } from "./types.mjs";
|
|
4
|
-
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptRunPlan, ExperimentHostAcceptRunRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult,
|
|
6
|
+
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptRunPlan, ExperimentHostAcceptRunRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRunOverrides, ExperimentHostSelectionInput, ExperimentHostSelectionProblem } from "./types.mjs";
|
|
7
|
+
interface ClosedSelection {
|
|
8
|
+
readonly evals: readonly DiscoveredEval[];
|
|
9
|
+
readonly experimentIds: readonly string[];
|
|
10
|
+
readonly selections: readonly {
|
|
11
|
+
readonly experiment: DiscoveredExperiment;
|
|
12
|
+
readonly selectedEvalIds: readonly string[];
|
|
13
|
+
readonly selectorEvalIds: readonly string[];
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
type PreparedRuns = {
|
|
17
|
+
readonly status: "problem";
|
|
18
|
+
readonly selected: ClosedSelection;
|
|
19
|
+
readonly problem: ExperimentHostSelectionProblem;
|
|
20
|
+
} | {
|
|
21
|
+
readonly status: "ready";
|
|
22
|
+
readonly selected: ClosedSelection;
|
|
23
|
+
readonly runs: readonly AgentRun[];
|
|
24
|
+
};
|
|
5
25
|
export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
|
|
26
|
+
export declare function prepareRuns(input: ExperimentHostSelectionInput & {
|
|
27
|
+
readonly config: ExperimentHostInvocationPlanRequest["config"];
|
|
28
|
+
readonly overrides?: ExperimentHostRunOverrides;
|
|
29
|
+
}, options?: {
|
|
30
|
+
readonly allowEmptySelection?: boolean;
|
|
31
|
+
readonly freshImport?: boolean;
|
|
32
|
+
}): Effect.Effect<PreparedRuns, unknown>;
|
|
6
33
|
export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
|
|
7
34
|
/** Session data is intentionally presented as a closed, transient document. */
|
|
8
35
|
export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ProjectStateDatabase>;
|
|
@@ -14,3 +41,4 @@ export declare function applyRename(input: ExperimentHostRenameRequest): Effect.
|
|
|
14
41
|
export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
15
42
|
export declare function planRunAccept(input: ExperimentHostAcceptRunRequest): Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;
|
|
16
43
|
export declare function applyRunAccept(input: ExperimentHostAcceptRunRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
44
|
+
export {};
|
|
@@ -1,8 +1,35 @@
|
|
|
1
|
+
import type { ExperimentHostRequirements } from "./requirements.js";
|
|
1
2
|
import { Effect } from "effect";
|
|
2
3
|
import { ProjectStateDatabase } from "../../record/sqlite/project-state-database.js";
|
|
4
|
+
import { type AgentRun, type DiscoveredEval, type DiscoveredExperiment } from "../../runner/types.js";
|
|
3
5
|
import { ExperimentHostError } from "./types.js";
|
|
4
|
-
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptRunPlan, ExperimentHostAcceptRunRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult,
|
|
6
|
+
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptRunPlan, ExperimentHostAcceptRunRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRunOverrides, ExperimentHostSelectionInput, ExperimentHostSelectionProblem } from "./types.js";
|
|
7
|
+
interface ClosedSelection {
|
|
8
|
+
readonly evals: readonly DiscoveredEval[];
|
|
9
|
+
readonly experimentIds: readonly string[];
|
|
10
|
+
readonly selections: readonly {
|
|
11
|
+
readonly experiment: DiscoveredExperiment;
|
|
12
|
+
readonly selectedEvalIds: readonly string[];
|
|
13
|
+
readonly selectorEvalIds: readonly string[];
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
type PreparedRuns = {
|
|
17
|
+
readonly status: "problem";
|
|
18
|
+
readonly selected: ClosedSelection;
|
|
19
|
+
readonly problem: ExperimentHostSelectionProblem;
|
|
20
|
+
} | {
|
|
21
|
+
readonly status: "ready";
|
|
22
|
+
readonly selected: ClosedSelection;
|
|
23
|
+
readonly runs: readonly AgentRun[];
|
|
24
|
+
};
|
|
5
25
|
export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
|
|
26
|
+
export declare function prepareRuns(input: ExperimentHostSelectionInput & {
|
|
27
|
+
readonly config: ExperimentHostInvocationPlanRequest["config"];
|
|
28
|
+
readonly overrides?: ExperimentHostRunOverrides;
|
|
29
|
+
}, options?: {
|
|
30
|
+
readonly allowEmptySelection?: boolean;
|
|
31
|
+
readonly freshImport?: boolean;
|
|
32
|
+
}): Effect.Effect<PreparedRuns, unknown>;
|
|
6
33
|
export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
|
|
7
34
|
/** Session data is intentionally presented as a closed, transient document. */
|
|
8
35
|
export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError, ProjectStateDatabase>;
|
|
@@ -14,3 +41,4 @@ export declare function applyRename(input: ExperimentHostRenameRequest): Effect.
|
|
|
14
41
|
export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
15
42
|
export declare function planRunAccept(input: ExperimentHostAcceptRunRequest): Effect.Effect<ExperimentHostAcceptRunPlan, ExperimentHostError, ExperimentHostRequirements>;
|
|
16
43
|
export declare function applyRunAccept(input: ExperimentHostAcceptRunRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
44
|
+
export {};
|
|
@@ -19,8 +19,10 @@ const __niceevalExport7 = __niceevalCanonical["planRename"];
|
|
|
19
19
|
export { __niceevalExport7 as planRename };
|
|
20
20
|
const __niceevalExport8 = __niceevalCanonical["planRunAccept"];
|
|
21
21
|
export { __niceevalExport8 as planRunAccept };
|
|
22
|
-
const __niceevalExport9 = __niceevalCanonical["
|
|
23
|
-
export { __niceevalExport9 as
|
|
24
|
-
const __niceevalExport10 = __niceevalCanonical["
|
|
25
|
-
export { __niceevalExport10 as
|
|
22
|
+
const __niceevalExport9 = __niceevalCanonical["prepareRuns"];
|
|
23
|
+
export { __niceevalExport9 as prepareRuns };
|
|
24
|
+
const __niceevalExport10 = __niceevalCanonical["runInvocation"];
|
|
25
|
+
export { __niceevalExport10 as runInvocation };
|
|
26
|
+
const __niceevalExport11 = __niceevalCanonical["showInvocationStatus"];
|
|
27
|
+
export { __niceevalExport11 as showInvocationStatus };
|
|
26
28
|
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["requirements.ts"],"names":[],"mappings":"","sourcesContent":["import type { ProjectStateDatabase } from \"../../record/sqlite/project-state-database.ts\";\n/** Services supplied once by the outer Node/application composition edge. */\nexport type ExperimentHostRequirements = import(\"../../record/platform/services.ts\").RecordFileSystem | import(\"../../record/platform/services.ts\").RecordEntropy | import(\"../../coordination/record-leases.ts\").RecordCoordination | ProjectStateDatabase;\n"]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.cjs";
|
|
2
|
+
/** Services supplied once by the outer Node/application composition edge. */
|
|
3
|
+
export type ExperimentHostRequirements = import("../../record/platform/services.cjs").RecordFileSystem | import("../../record/platform/services.cjs").RecordEntropy | import("../../coordination/record-leases.cjs").RecordCoordination | ProjectStateDatabase;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.mjs";
|
|
2
|
+
/** Services supplied once by the outer Node/application composition edge. */
|
|
3
|
+
export type ExperimentHostRequirements = import("../../record/platform/services.mjs").RecordFileSystem | import("../../record/platform/services.mjs").RecordEntropy | import("../../coordination/record-leases.mjs").RecordCoordination | ProjectStateDatabase;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ProjectStateDatabase } from "../../record/sqlite/project-state-database.js";
|
|
2
|
+
/** Services supplied once by the outer Node/application composition edge. */
|
|
3
|
+
export type ExperimentHostRequirements = import("../../record/platform/services.js").RecordFileSystem | import("../../record/platform/services.js").RecordEntropy | import("../../coordination/record-leases.js").RecordCoordination | ProjectStateDatabase;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements.js","sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rawExperimentHost = void 0;
|
|
4
|
+
const effect_1 = require("effect");
|
|
5
|
+
const command_plan_ts_1 = require("../../runner/command-plan.cjs");
|
|
6
|
+
const discover_ts_1 = require("../../runner/discover.cjs");
|
|
7
|
+
const fingerprint_ts_1 = require("../../runner/fingerprint.cjs");
|
|
8
|
+
const eval_selection_ts_1 = require("../../runner/eval-selection.cjs");
|
|
9
|
+
const timeout_ts_1 = require("../../runner/timeout.cjs");
|
|
10
|
+
const types_ts_1 = require("../../runner/types.cjs");
|
|
11
|
+
const aggregate_ts_1 = require("../../shared/aggregate.cjs");
|
|
12
|
+
const operations_ts_1 = require("./operations.cjs");
|
|
13
|
+
const teardown_ts_1 = require("./teardown.cjs");
|
|
14
|
+
const types_ts_2 = require("./types.cjs");
|
|
15
|
+
/**
|
|
16
|
+
* Discovery and selection are owned here so consumers cannot invoke an
|
|
17
|
+
* Experiment's predicate a second time while reconstructing an AgentRun.
|
|
18
|
+
*/
|
|
19
|
+
function discoverSelection(input) {
|
|
20
|
+
return effect_1.Effect.gen(function* () {
|
|
21
|
+
const discoveredEvals = yield* (0, discover_ts_1.discoverEvals)(input.cwd);
|
|
22
|
+
const evals = input.tag === undefined
|
|
23
|
+
? discoveredEvals
|
|
24
|
+
: discoveredEvals.filter((evalDefinition) => evalDefinition.tags?.includes(input.tag));
|
|
25
|
+
const experiments = yield* (0, discover_ts_1.discoverExperiments)(input.cwd);
|
|
26
|
+
const experimentIds = Object.freeze(experiments.map((experiment) => experiment.id));
|
|
27
|
+
const selectedIds = input.selector === undefined
|
|
28
|
+
? undefined
|
|
29
|
+
: new Set((0, aggregate_ts_1.matchExperimentSelector)(experimentIds, input.selector));
|
|
30
|
+
const selections = experiments
|
|
31
|
+
.filter((experiment) => selectedIds === undefined || selectedIds.has(experiment.id))
|
|
32
|
+
.map((experiment) => {
|
|
33
|
+
const selected = (0, eval_selection_ts_1.resolveExperimentEvals)({
|
|
34
|
+
experimentId: experiment.id,
|
|
35
|
+
selector: experiment.evals,
|
|
36
|
+
cliPatterns: input.evalPatterns ?? [],
|
|
37
|
+
evals,
|
|
38
|
+
});
|
|
39
|
+
return Object.freeze({
|
|
40
|
+
experiment,
|
|
41
|
+
selectedEvalIds: Object.freeze([...selected.selectedEvalIds]),
|
|
42
|
+
selectorEvalIds: Object.freeze(selected.selectorEvals.map((evalDefinition) => evalDefinition.id)),
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
return Object.freeze({
|
|
46
|
+
evals: Object.freeze([...evals]),
|
|
47
|
+
experimentIds,
|
|
48
|
+
selections: Object.freeze(selections),
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function uniqueExactOrPrefix(candidates, selector, id) {
|
|
53
|
+
const exact = candidates.find((candidate) => id(candidate) === selector);
|
|
54
|
+
return exact === undefined
|
|
55
|
+
? candidates.filter((candidate) => id(candidate).startsWith(selector))
|
|
56
|
+
: [exact];
|
|
57
|
+
}
|
|
58
|
+
function debugAgentRun(experiment, evalId, config) {
|
|
59
|
+
return {
|
|
60
|
+
adapter: experiment.adapter,
|
|
61
|
+
...(experiment.agent === undefined ? {} : { agent: experiment.agent }),
|
|
62
|
+
...(experiment.models === undefined ? {} : { models: experiment.models }),
|
|
63
|
+
model: experiment.model,
|
|
64
|
+
reasoningEffort: experiment.reasoningEffort,
|
|
65
|
+
flags: experiment.flags ?? {},
|
|
66
|
+
plugins: experiment.plugins,
|
|
67
|
+
attempts: experiment.attempts ?? 1,
|
|
68
|
+
earlyExit: experiment.earlyExit ?? false,
|
|
69
|
+
sandboxSetupCache: (0, types_ts_1.resolveSandboxSetupCache)(undefined, experiment.sandboxCache, config.sandboxCache),
|
|
70
|
+
sandbox: experiment.sandbox,
|
|
71
|
+
sandboxReuse: experiment.sandboxReuse,
|
|
72
|
+
...(experiment.sharedState === undefined ? {} : { sharedState: experiment.sharedState }),
|
|
73
|
+
judgeRuntime: experiment.judgeRuntime,
|
|
74
|
+
...(0, timeout_ts_1.resolveRunTimeout)(undefined, experiment.timeoutMs),
|
|
75
|
+
budget: experiment.budget,
|
|
76
|
+
selectedEvalIds: [evalId],
|
|
77
|
+
experimentId: experiment.id,
|
|
78
|
+
experimentBaseDir: experiment.baseDir,
|
|
79
|
+
experimentSourcePath: experiment.sourcePath,
|
|
80
|
+
description: experiment.description,
|
|
81
|
+
labels: experiment.labels,
|
|
82
|
+
maxConcurrency: experiment.maxConcurrency,
|
|
83
|
+
setup: experiment.setup,
|
|
84
|
+
teardown: experiment.teardown,
|
|
85
|
+
classifyFailure: experiment.classifyFailure,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Closes selector resolution, physical planning, and command-plan projection
|
|
90
|
+
* inside the Experiment Host. It deliberately does not construct a Record
|
|
91
|
+
* root, enter a lease, read history, or invoke an author callback.
|
|
92
|
+
*/
|
|
93
|
+
function debug(input) {
|
|
94
|
+
return effect_1.Effect.gen(function* () {
|
|
95
|
+
const listed = yield* discoverSelection({ cwd: input.cwd });
|
|
96
|
+
const selectedExperiments = uniqueExactOrPrefix(listed.selections, input.experimentSelector, ({ experiment }) => experiment.id).slice().sort((left, right) => left.experiment.id.localeCompare(right.experiment.id));
|
|
97
|
+
if (selectedExperiments.length === 0) {
|
|
98
|
+
return Object.freeze({
|
|
99
|
+
status: "experiment-no-match",
|
|
100
|
+
selector: input.experimentSelector,
|
|
101
|
+
candidates: Object.freeze([...listed.experimentIds].sort()),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
if (selectedExperiments.length > 1) {
|
|
105
|
+
return Object.freeze({
|
|
106
|
+
status: "experiment-ambiguous",
|
|
107
|
+
selector: input.experimentSelector,
|
|
108
|
+
candidates: Object.freeze(selectedExperiments.map(({ experiment }) => experiment.id)),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
const selection = selectedExperiments[0];
|
|
112
|
+
const experiment = selection.experiment;
|
|
113
|
+
const selectorEvalIds = new Set(selection.selectorEvalIds);
|
|
114
|
+
const selectorEvals = listed.evals.filter((evalDef) => selectorEvalIds.has(evalDef.id));
|
|
115
|
+
const selectedEvals = (input.evalSelector === undefined
|
|
116
|
+
? selectorEvals
|
|
117
|
+
: uniqueExactOrPrefix(selectorEvals, input.evalSelector, (evalDef) => evalDef.id))
|
|
118
|
+
.slice().sort((left, right) => left.id.localeCompare(right.id));
|
|
119
|
+
if (selectedEvals.length === 0) {
|
|
120
|
+
return Object.freeze({
|
|
121
|
+
status: "eval-no-match",
|
|
122
|
+
selector: input.evalSelector ?? "",
|
|
123
|
+
experimentId: experiment.id,
|
|
124
|
+
candidates: Object.freeze(selectorEvals.map((evalDef) => evalDef.id).sort()),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (input.evalSelector !== undefined && selectedEvals.length > 1) {
|
|
128
|
+
return Object.freeze({
|
|
129
|
+
status: "eval-ambiguous",
|
|
130
|
+
selector: input.evalSelector,
|
|
131
|
+
experimentId: experiment.id,
|
|
132
|
+
candidates: Object.freeze(selectedEvals.map((evalDef) => evalDef.id)),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
const runs = selectedEvals.map((evalDef) => debugAgentRun(experiment, evalDef.id, input.config));
|
|
136
|
+
const target = yield* (0, fingerprint_ts_1.planProjectTarget)(listed.evals, runs, input.config.timeoutMs, { configJudge: input.config.judgeRuntime });
|
|
137
|
+
const commandPlan = (0, command_plan_ts_1.assembleCommandPlan)({
|
|
138
|
+
rows: selectedEvals.map((evalDef) => {
|
|
139
|
+
const run = runs.find((candidate) => candidate.selectedEvalIds.includes(evalDef.id));
|
|
140
|
+
return {
|
|
141
|
+
experimentId: experiment.id,
|
|
142
|
+
evalId: evalDef.id,
|
|
143
|
+
...(evalDef.evalGroup === undefined ? {} : { evalGroupId: evalDef.evalGroup.id }),
|
|
144
|
+
attempts: run.attempts,
|
|
145
|
+
dispatch: [{ attempts: Array.from({ length: run.attempts }, (_, attempt) => attempt) }],
|
|
146
|
+
};
|
|
147
|
+
}),
|
|
148
|
+
preparedPairsByKey: target.preparedPairsByKey,
|
|
149
|
+
});
|
|
150
|
+
return Object.freeze({
|
|
151
|
+
status: "planned",
|
|
152
|
+
experimentId: experiment.id,
|
|
153
|
+
...(selectedEvals.length === 1 ? { evalId: selectedEvals[0].id } : {}),
|
|
154
|
+
evalIds: Object.freeze(selectedEvals.map((evalDef) => evalDef.id)),
|
|
155
|
+
commandPlan,
|
|
156
|
+
setupPrefixPlan: (0, command_plan_ts_1.setupPrefixPlanOf)(commandPlan),
|
|
157
|
+
});
|
|
158
|
+
}).pipe(effect_1.Effect.mapError((cause) => new types_ts_2.ExperimentHostError({
|
|
159
|
+
operation: "debug",
|
|
160
|
+
code: typeof cause === "object" && cause !== null && typeof Reflect.get(cause, "code") === "string"
|
|
161
|
+
? String(Reflect.get(cause, "code"))
|
|
162
|
+
: "experiment-host-operation-failed",
|
|
163
|
+
message: cause instanceof Error ? cause.message : String(cause),
|
|
164
|
+
cause,
|
|
165
|
+
})));
|
|
166
|
+
}
|
|
167
|
+
/** Internal operations retain their service requirements for the CLI composition. */
|
|
168
|
+
exports.rawExperimentHost = Object.freeze({
|
|
169
|
+
catalog: operations_ts_1.catalog,
|
|
170
|
+
check: operations_ts_1.check,
|
|
171
|
+
invocation: Object.freeze({ plan: operations_ts_1.planInvocation, run: operations_ts_1.runInvocation }),
|
|
172
|
+
invocationStatus: Object.freeze({ list: operations_ts_1.listInvocationStatus, show: operations_ts_1.showInvocationStatus }),
|
|
173
|
+
rename: Object.freeze({ plan: operations_ts_1.planRename, apply: operations_ts_1.applyRename }),
|
|
174
|
+
teardown: Object.freeze({ inspect: teardown_ts_1.inspectTeardown, run: teardown_ts_1.runTeardown }),
|
|
175
|
+
debug,
|
|
176
|
+
accept: operations_ts_1.accept,
|
|
177
|
+
acceptRun: Object.freeze({ plan: operations_ts_1.planRunAccept, apply: operations_ts_1.applyRunAccept }),
|
|
178
|
+
});
|
|
179
|
+
//# sourceMappingURL=runtime.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport { assembleCommandPlan, setupPrefixPlanOf, type CommandPlan, type SetupPrefixPlan } from \"../../runner/command-plan.ts\";\nimport { discoverEvals, discoverExperiments } from \"../../runner/discover.ts\";\nimport { planProjectTarget } from \"../../runner/fingerprint.ts\";\nimport { resolveExperimentEvals } from \"../../runner/eval-selection.ts\";\nimport { resolveRunTimeout } from \"../../runner/timeout.ts\";\nimport type { AgentRun, Config, DiscoveredEval, DiscoveredExperiment, } from \"../../runner/types.ts\";\nimport { resolveSandboxSetupCache } from \"../../runner/types.ts\";\nimport { matchExperimentSelector } from \"../../shared/aggregate.ts\";\nimport { accept, applyRunAccept, applyRename, catalog, check, listInvocationStatus, planInvocation, planRename, planRunAccept, runInvocation, showInvocationStatus, } from \"./operations.ts\";\nimport { inspectTeardown, runTeardown } from \"./teardown.ts\";\nimport { ExperimentHostError } from \"./types.ts\";\n/** One discovered Experiment after its author selector and CLI prefixes close. */\ninterface ExperimentHostSelection {\n readonly experiment: DiscoveredExperiment;\n readonly selectedEvalIds: readonly string[];\n /** The Experiment-owned set before CLI eval-prefix narrowing. */\n readonly selectorEvalIds: readonly string[];\n}\n/** Discovery result used by both `exp list` and execution planning. */\ninterface ExperimentHostListResult {\n readonly evals: readonly DiscoveredEval[];\n readonly experimentIds: readonly string[];\n readonly selections: readonly ExperimentHostSelection[];\n}\n/**\n * Discovery and selection are owned here so consumers cannot invoke an\n * Experiment's predicate a second time while reconstructing an AgentRun.\n */\nfunction discoverSelection(input: {\n readonly cwd: string;\n /** Keep the CLI's public `--tag` selection inside the Experiment boundary. */\n readonly tag?: string;\n readonly selector?: string;\n readonly evalPatterns?: readonly string[];\n}): Effect.Effect<ExperimentHostListResult, unknown> {\n return Effect.gen(function* () {\n const discoveredEvals = yield* discoverEvals(input.cwd);\n const evals = input.tag === undefined\n ? discoveredEvals\n : discoveredEvals.filter((evalDefinition) => evalDefinition.tags?.includes(input.tag!));\n const experiments = yield* discoverExperiments(input.cwd);\n const experimentIds = Object.freeze(experiments.map((experiment) => experiment.id));\n const selectedIds = input.selector === undefined\n ? undefined\n : new Set(matchExperimentSelector(experimentIds, input.selector));\n const selections = experiments\n .filter((experiment) => selectedIds === undefined || selectedIds.has(experiment.id))\n .map((experiment): ExperimentHostSelection => {\n const selected = resolveExperimentEvals({\n experimentId: experiment.id,\n selector: experiment.evals,\n cliPatterns: input.evalPatterns ?? [],\n evals,\n });\n return Object.freeze({\n experiment,\n selectedEvalIds: Object.freeze([...selected.selectedEvalIds]),\n selectorEvalIds: Object.freeze(selected.selectorEvals.map((evalDefinition) => evalDefinition.id)),\n });\n });\n return Object.freeze({\n evals: Object.freeze([...evals]),\n experimentIds,\n selections: Object.freeze(selections),\n });\n });\n}\nexport interface ExperimentHostDebugPlanRequest {\n readonly cwd: string;\n readonly config: Config;\n readonly experimentSelector: string;\n readonly evalSelector?: string;\n}\n/** A fully closed, read-only lifecycle plan for exactly one Experiment × Eval pair. */\nexport interface ExperimentHostDebugPlan {\n readonly status: \"planned\";\n readonly experimentId: string;\n /** Retained for the existing single-pair response. */\n readonly evalId?: string;\n readonly evalIds: readonly string[];\n readonly commandPlan: CommandPlan;\n readonly setupPrefixPlan: SetupPrefixPlan;\n}\n/**\n * Selector outcomes are data, rather than CLI-owned selection logic or a\n * partially constructed plan. The caller can render them in its own surface.\n */\nexport type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {\n readonly status: \"experiment-no-match\";\n readonly selector: string;\n readonly candidates: readonly string[];\n} | {\n readonly status: \"experiment-ambiguous\";\n readonly selector: string;\n readonly candidates: readonly string[];\n} | {\n readonly status: \"eval-no-match\";\n readonly selector: string;\n readonly experimentId: string;\n readonly candidates: readonly string[];\n} | {\n readonly status: \"eval-ambiguous\";\n readonly selector: string;\n readonly experimentId: string;\n readonly candidates: readonly string[];\n};\nfunction uniqueExactOrPrefix<T>(candidates: readonly T[], selector: string, id: (candidate: T) => string): readonly T[] {\n const exact = candidates.find((candidate) => id(candidate) === selector);\n return exact === undefined\n ? candidates.filter((candidate) => id(candidate).startsWith(selector))\n : [exact];\n}\nfunction debugAgentRun(experiment: DiscoveredExperiment, evalId: string, config: Config): AgentRun {\n return {\n adapter: experiment.adapter,\n ...(experiment.agent === undefined ? {} : { agent: experiment.agent }),\n ...(experiment.models === undefined ? {} : { models: experiment.models }),\n model: experiment.model,\n reasoningEffort: experiment.reasoningEffort,\n flags: experiment.flags ?? {},\n plugins: experiment.plugins,\n attempts: experiment.attempts ?? 1,\n earlyExit: experiment.earlyExit ?? false,\n sandboxSetupCache: resolveSandboxSetupCache(undefined, experiment.sandboxCache, config.sandboxCache),\n sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n ...(experiment.sharedState === undefined ? {} : { sharedState: experiment.sharedState }),\n judgeRuntime: experiment.judgeRuntime,\n ...resolveRunTimeout(undefined, experiment.timeoutMs),\n budget: experiment.budget,\n selectedEvalIds: [evalId],\n experimentId: experiment.id,\n experimentBaseDir: experiment.baseDir,\n experimentSourcePath: experiment.sourcePath,\n description: experiment.description,\n labels: experiment.labels,\n maxConcurrency: experiment.maxConcurrency,\n setup: experiment.setup,\n teardown: experiment.teardown,\n classifyFailure: experiment.classifyFailure,\n };\n}\n/**\n * Closes selector resolution, physical planning, and command-plan projection\n * inside the Experiment Host. It deliberately does not construct a Record\n * root, enter a lease, read history, or invoke an author callback.\n */\nfunction debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError> {\n return Effect.gen(function* () {\n const listed = yield* discoverSelection({ cwd: input.cwd });\n const selectedExperiments = uniqueExactOrPrefix(listed.selections, input.experimentSelector, ({ experiment }) => experiment.id).slice().sort((left, right) => left.experiment.id.localeCompare(right.experiment.id));\n if (selectedExperiments.length === 0) {\n return Object.freeze({\n status: \"experiment-no-match\" as const,\n selector: input.experimentSelector,\n candidates: Object.freeze([...listed.experimentIds].sort()),\n });\n }\n if (selectedExperiments.length > 1) {\n return Object.freeze({\n status: \"experiment-ambiguous\" as const,\n selector: input.experimentSelector,\n candidates: Object.freeze(selectedExperiments.map(({ experiment }) => experiment.id)),\n });\n }\n const selection = selectedExperiments[0]!;\n const experiment = selection.experiment;\n const selectorEvalIds = new Set(selection.selectorEvalIds);\n const selectorEvals = listed.evals.filter((evalDef) => selectorEvalIds.has(evalDef.id));\n const selectedEvals = (input.evalSelector === undefined\n ? selectorEvals\n : uniqueExactOrPrefix(selectorEvals, input.evalSelector, (evalDef) => evalDef.id))\n .slice().sort((left, right) => left.id.localeCompare(right.id));\n if (selectedEvals.length === 0) {\n return Object.freeze({\n status: \"eval-no-match\" as const,\n selector: input.evalSelector ?? \"\",\n experimentId: experiment.id,\n candidates: Object.freeze(selectorEvals.map((evalDef) => evalDef.id).sort()),\n });\n }\n if (input.evalSelector !== undefined && selectedEvals.length > 1) {\n return Object.freeze({\n status: \"eval-ambiguous\" as const,\n selector: input.evalSelector,\n experimentId: experiment.id,\n candidates: Object.freeze(selectedEvals.map((evalDef) => evalDef.id)),\n });\n }\n const runs = selectedEvals.map((evalDef) => debugAgentRun(experiment, evalDef.id, input.config));\n const target = yield* planProjectTarget(listed.evals, runs, input.config.timeoutMs, { configJudge: input.config.judgeRuntime });\n const commandPlan = assembleCommandPlan({\n rows: selectedEvals.map((evalDef) => {\n const run = runs.find((candidate) => candidate.selectedEvalIds.includes(evalDef.id))!;\n return {\n experimentId: experiment.id,\n evalId: evalDef.id,\n ...(evalDef.evalGroup === undefined ? {} : { evalGroupId: evalDef.evalGroup.id }),\n attempts: run.attempts,\n dispatch: [{ attempts: Array.from({ length: run.attempts }, (_, attempt) => attempt) }],\n };\n }),\n preparedPairsByKey: target.preparedPairsByKey,\n });\n return Object.freeze({\n status: \"planned\" as const,\n experimentId: experiment.id,\n ...(selectedEvals.length === 1 ? { evalId: selectedEvals[0]!.id } : {}),\n evalIds: Object.freeze(selectedEvals.map((evalDef) => evalDef.id)),\n commandPlan,\n setupPrefixPlan: setupPrefixPlanOf(commandPlan),\n });\n }).pipe(Effect.mapError((cause) => new ExperimentHostError({\n operation: \"debug\",\n code: typeof cause === \"object\" && cause !== null && typeof Reflect.get(cause, \"code\") === \"string\"\n ? String(Reflect.get(cause, \"code\"))\n : \"experiment-host-operation-failed\",\n message: cause instanceof Error ? cause.message : String(cause),\n cause,\n })));\n}\n/** Internal operations retain their service requirements for the CLI composition. */\nexport const rawExperimentHost = Object.freeze({\n catalog,\n check,\n invocation: Object.freeze({ plan: planInvocation, run: runInvocation }),\n invocationStatus: Object.freeze({ list: listInvocationStatus, show: showInvocationStatus }),\n rename: Object.freeze({ plan: planRename, apply: applyRename }),\n teardown: Object.freeze({ inspect: inspectTeardown, run: runTeardown }),\n debug,\n accept,\n acceptRun: Object.freeze({ plan: planRunAccept, apply: applyRunAccept }),\n});\n"]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { type CommandPlan, type SetupPrefixPlan } from "../../runner/command-plan.cjs";
|
|
3
|
+
import type { Config } from "../../runner/types.cjs";
|
|
4
|
+
import { accept, applyRunAccept, applyRename, catalog, check, listInvocationStatus, planInvocation, planRename, planRunAccept, runInvocation, showInvocationStatus } from "./operations.cjs";
|
|
5
|
+
import { inspectTeardown, runTeardown } from "./teardown.cjs";
|
|
6
|
+
import { ExperimentHostError } from "./types.cjs";
|
|
7
|
+
export interface ExperimentHostDebugPlanRequest {
|
|
8
|
+
readonly cwd: string;
|
|
9
|
+
readonly config: Config;
|
|
10
|
+
readonly experimentSelector: string;
|
|
11
|
+
readonly evalSelector?: string;
|
|
12
|
+
}
|
|
13
|
+
/** A fully closed, read-only lifecycle plan for exactly one Experiment × Eval pair. */
|
|
14
|
+
export interface ExperimentHostDebugPlan {
|
|
15
|
+
readonly status: "planned";
|
|
16
|
+
readonly experimentId: string;
|
|
17
|
+
/** Retained for the existing single-pair response. */
|
|
18
|
+
readonly evalId?: string;
|
|
19
|
+
readonly evalIds: readonly string[];
|
|
20
|
+
readonly commandPlan: CommandPlan;
|
|
21
|
+
readonly setupPrefixPlan: SetupPrefixPlan;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Selector outcomes are data, rather than CLI-owned selection logic or a
|
|
25
|
+
* partially constructed plan. The caller can render them in its own surface.
|
|
26
|
+
*/
|
|
27
|
+
export type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {
|
|
28
|
+
readonly status: "experiment-no-match";
|
|
29
|
+
readonly selector: string;
|
|
30
|
+
readonly candidates: readonly string[];
|
|
31
|
+
} | {
|
|
32
|
+
readonly status: "experiment-ambiguous";
|
|
33
|
+
readonly selector: string;
|
|
34
|
+
readonly candidates: readonly string[];
|
|
35
|
+
} | {
|
|
36
|
+
readonly status: "eval-no-match";
|
|
37
|
+
readonly selector: string;
|
|
38
|
+
readonly experimentId: string;
|
|
39
|
+
readonly candidates: readonly string[];
|
|
40
|
+
} | {
|
|
41
|
+
readonly status: "eval-ambiguous";
|
|
42
|
+
readonly selector: string;
|
|
43
|
+
readonly experimentId: string;
|
|
44
|
+
readonly candidates: readonly string[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Closes selector resolution, physical planning, and command-plan projection
|
|
48
|
+
* inside the Experiment Host. It deliberately does not construct a Record
|
|
49
|
+
* root, enter a lease, read history, or invoke an author callback.
|
|
50
|
+
*/
|
|
51
|
+
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError>;
|
|
52
|
+
/** Internal operations retain their service requirements for the CLI composition. */
|
|
53
|
+
export declare const rawExperimentHost: Readonly<{
|
|
54
|
+
catalog: typeof catalog;
|
|
55
|
+
check: typeof check;
|
|
56
|
+
invocation: Readonly<{
|
|
57
|
+
plan: typeof planInvocation;
|
|
58
|
+
run: typeof runInvocation;
|
|
59
|
+
}>;
|
|
60
|
+
invocationStatus: Readonly<{
|
|
61
|
+
list: typeof listInvocationStatus;
|
|
62
|
+
show: typeof showInvocationStatus;
|
|
63
|
+
}>;
|
|
64
|
+
rename: Readonly<{
|
|
65
|
+
plan: typeof planRename;
|
|
66
|
+
apply: typeof applyRename;
|
|
67
|
+
}>;
|
|
68
|
+
teardown: Readonly<{
|
|
69
|
+
inspect: typeof inspectTeardown;
|
|
70
|
+
run: typeof runTeardown;
|
|
71
|
+
}>;
|
|
72
|
+
debug: typeof debug;
|
|
73
|
+
accept: typeof accept;
|
|
74
|
+
acceptRun: Readonly<{
|
|
75
|
+
plan: typeof planRunAccept;
|
|
76
|
+
apply: typeof applyRunAccept;
|
|
77
|
+
}>;
|
|
78
|
+
}>;
|
|
79
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { type CommandPlan, type SetupPrefixPlan } from "../../runner/command-plan.mjs";
|
|
3
|
+
import type { Config } from "../../runner/types.mjs";
|
|
4
|
+
import { accept, applyRunAccept, applyRename, catalog, check, listInvocationStatus, planInvocation, planRename, planRunAccept, runInvocation, showInvocationStatus } from "./operations.mjs";
|
|
5
|
+
import { inspectTeardown, runTeardown } from "./teardown.mjs";
|
|
6
|
+
import { ExperimentHostError } from "./types.mjs";
|
|
7
|
+
export interface ExperimentHostDebugPlanRequest {
|
|
8
|
+
readonly cwd: string;
|
|
9
|
+
readonly config: Config;
|
|
10
|
+
readonly experimentSelector: string;
|
|
11
|
+
readonly evalSelector?: string;
|
|
12
|
+
}
|
|
13
|
+
/** A fully closed, read-only lifecycle plan for exactly one Experiment × Eval pair. */
|
|
14
|
+
export interface ExperimentHostDebugPlan {
|
|
15
|
+
readonly status: "planned";
|
|
16
|
+
readonly experimentId: string;
|
|
17
|
+
/** Retained for the existing single-pair response. */
|
|
18
|
+
readonly evalId?: string;
|
|
19
|
+
readonly evalIds: readonly string[];
|
|
20
|
+
readonly commandPlan: CommandPlan;
|
|
21
|
+
readonly setupPrefixPlan: SetupPrefixPlan;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Selector outcomes are data, rather than CLI-owned selection logic or a
|
|
25
|
+
* partially constructed plan. The caller can render them in its own surface.
|
|
26
|
+
*/
|
|
27
|
+
export type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {
|
|
28
|
+
readonly status: "experiment-no-match";
|
|
29
|
+
readonly selector: string;
|
|
30
|
+
readonly candidates: readonly string[];
|
|
31
|
+
} | {
|
|
32
|
+
readonly status: "experiment-ambiguous";
|
|
33
|
+
readonly selector: string;
|
|
34
|
+
readonly candidates: readonly string[];
|
|
35
|
+
} | {
|
|
36
|
+
readonly status: "eval-no-match";
|
|
37
|
+
readonly selector: string;
|
|
38
|
+
readonly experimentId: string;
|
|
39
|
+
readonly candidates: readonly string[];
|
|
40
|
+
} | {
|
|
41
|
+
readonly status: "eval-ambiguous";
|
|
42
|
+
readonly selector: string;
|
|
43
|
+
readonly experimentId: string;
|
|
44
|
+
readonly candidates: readonly string[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Closes selector resolution, physical planning, and command-plan projection
|
|
48
|
+
* inside the Experiment Host. It deliberately does not construct a Record
|
|
49
|
+
* root, enter a lease, read history, or invoke an author callback.
|
|
50
|
+
*/
|
|
51
|
+
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError>;
|
|
52
|
+
/** Internal operations retain their service requirements for the CLI composition. */
|
|
53
|
+
export declare const rawExperimentHost: Readonly<{
|
|
54
|
+
catalog: typeof catalog;
|
|
55
|
+
check: typeof check;
|
|
56
|
+
invocation: Readonly<{
|
|
57
|
+
plan: typeof planInvocation;
|
|
58
|
+
run: typeof runInvocation;
|
|
59
|
+
}>;
|
|
60
|
+
invocationStatus: Readonly<{
|
|
61
|
+
list: typeof listInvocationStatus;
|
|
62
|
+
show: typeof showInvocationStatus;
|
|
63
|
+
}>;
|
|
64
|
+
rename: Readonly<{
|
|
65
|
+
plan: typeof planRename;
|
|
66
|
+
apply: typeof applyRename;
|
|
67
|
+
}>;
|
|
68
|
+
teardown: Readonly<{
|
|
69
|
+
inspect: typeof inspectTeardown;
|
|
70
|
+
run: typeof runTeardown;
|
|
71
|
+
}>;
|
|
72
|
+
debug: typeof debug;
|
|
73
|
+
accept: typeof accept;
|
|
74
|
+
acceptRun: Readonly<{
|
|
75
|
+
plan: typeof planRunAccept;
|
|
76
|
+
apply: typeof applyRunAccept;
|
|
77
|
+
}>;
|
|
78
|
+
}>;
|
|
79
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { type CommandPlan, type SetupPrefixPlan } from "../../runner/command-plan.js";
|
|
3
|
+
import type { Config } from "../../runner/types.js";
|
|
4
|
+
import { accept, applyRunAccept, applyRename, catalog, check, listInvocationStatus, planInvocation, planRename, planRunAccept, runInvocation, showInvocationStatus } from "./operations.js";
|
|
5
|
+
import { inspectTeardown, runTeardown } from "./teardown.js";
|
|
6
|
+
import { ExperimentHostError } from "./types.js";
|
|
7
|
+
export interface ExperimentHostDebugPlanRequest {
|
|
8
|
+
readonly cwd: string;
|
|
9
|
+
readonly config: Config;
|
|
10
|
+
readonly experimentSelector: string;
|
|
11
|
+
readonly evalSelector?: string;
|
|
12
|
+
}
|
|
13
|
+
/** A fully closed, read-only lifecycle plan for exactly one Experiment × Eval pair. */
|
|
14
|
+
export interface ExperimentHostDebugPlan {
|
|
15
|
+
readonly status: "planned";
|
|
16
|
+
readonly experimentId: string;
|
|
17
|
+
/** Retained for the existing single-pair response. */
|
|
18
|
+
readonly evalId?: string;
|
|
19
|
+
readonly evalIds: readonly string[];
|
|
20
|
+
readonly commandPlan: CommandPlan;
|
|
21
|
+
readonly setupPrefixPlan: SetupPrefixPlan;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Selector outcomes are data, rather than CLI-owned selection logic or a
|
|
25
|
+
* partially constructed plan. The caller can render them in its own surface.
|
|
26
|
+
*/
|
|
27
|
+
export type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {
|
|
28
|
+
readonly status: "experiment-no-match";
|
|
29
|
+
readonly selector: string;
|
|
30
|
+
readonly candidates: readonly string[];
|
|
31
|
+
} | {
|
|
32
|
+
readonly status: "experiment-ambiguous";
|
|
33
|
+
readonly selector: string;
|
|
34
|
+
readonly candidates: readonly string[];
|
|
35
|
+
} | {
|
|
36
|
+
readonly status: "eval-no-match";
|
|
37
|
+
readonly selector: string;
|
|
38
|
+
readonly experimentId: string;
|
|
39
|
+
readonly candidates: readonly string[];
|
|
40
|
+
} | {
|
|
41
|
+
readonly status: "eval-ambiguous";
|
|
42
|
+
readonly selector: string;
|
|
43
|
+
readonly experimentId: string;
|
|
44
|
+
readonly candidates: readonly string[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Closes selector resolution, physical planning, and command-plan projection
|
|
48
|
+
* inside the Experiment Host. It deliberately does not construct a Record
|
|
49
|
+
* root, enter a lease, read history, or invoke an author callback.
|
|
50
|
+
*/
|
|
51
|
+
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError>;
|
|
52
|
+
/** Internal operations retain their service requirements for the CLI composition. */
|
|
53
|
+
export declare const rawExperimentHost: Readonly<{
|
|
54
|
+
catalog: typeof catalog;
|
|
55
|
+
check: typeof check;
|
|
56
|
+
invocation: Readonly<{
|
|
57
|
+
plan: typeof planInvocation;
|
|
58
|
+
run: typeof runInvocation;
|
|
59
|
+
}>;
|
|
60
|
+
invocationStatus: Readonly<{
|
|
61
|
+
list: typeof listInvocationStatus;
|
|
62
|
+
show: typeof showInvocationStatus;
|
|
63
|
+
}>;
|
|
64
|
+
rename: Readonly<{
|
|
65
|
+
plan: typeof planRename;
|
|
66
|
+
apply: typeof applyRename;
|
|
67
|
+
}>;
|
|
68
|
+
teardown: Readonly<{
|
|
69
|
+
inspect: typeof inspectTeardown;
|
|
70
|
+
run: typeof runTeardown;
|
|
71
|
+
}>;
|
|
72
|
+
debug: typeof debug;
|
|
73
|
+
accept: typeof accept;
|
|
74
|
+
acceptRun: Readonly<{
|
|
75
|
+
plan: typeof planRunAccept;
|
|
76
|
+
apply: typeof applyRunAccept;
|
|
77
|
+
}>;
|
|
78
|
+
}>;
|
|
79
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./runtime.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["rawExperimentHost"];
|
|
5
|
+
export { __niceevalExport0 as rawExperimentHost };
|
|
6
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sources":[],"names":[],"mappings":""}
|