niceeval 0.13.3 → 0.13.4-canary.39
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 +5 -5
- package/dist/agents/index.cjs +2 -2
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/project.json +6 -0
- package/dist/agents/streaming.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +1 -1
- package/dist/agents/types.d.mts +1 -1
- package/dist/agents/types.d.ts +1 -1
- package/dist/analysis/bindings.d.cts +8 -8
- package/dist/analysis/bindings.d.mts +8 -8
- package/dist/analysis/bindings.d.ts +8 -8
- package/dist/analysis/contracts.cjs.map +1 -1
- package/dist/analysis/contracts.d.cts +8 -19
- package/dist/analysis/contracts.d.mts +8 -19
- package/dist/analysis/contracts.d.ts +8 -19
- package/dist/analysis/experiment-groups.cjs +7 -14
- package/dist/analysis/experiment-groups.cjs.map +1 -1
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +1 -1
- package/dist/analysis/index.d.mts +1 -1
- package/dist/analysis/index.d.ts +1 -1
- package/dist/cli/application.cjs +4 -13
- package/dist/cli/application.cjs.map +1 -1
- package/dist/cli/application.d.cts +62 -59
- package/dist/cli/application.d.mts +62 -59
- package/dist/cli/application.d.ts +62 -59
- package/dist/cli/application.js +6 -12
- package/dist/cli/bootstrap.cjs +28 -2
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/contribution.cjs +185 -0
- package/dist/cli/contribution.cjs.map +1 -0
- package/dist/cli/contribution.d.cts +55 -0
- package/dist/cli/contribution.d.mts +55 -0
- package/dist/cli/contribution.d.ts +55 -0
- package/dist/cli/contribution.js +20 -0
- package/dist/cli/contribution.js.map +1 -0
- package/dist/cli/node-application.cjs +119 -87
- package/dist/cli/node-application.cjs.map +1 -1
- package/dist/cli/node-application.d.cts +2 -8
- package/dist/cli/node-application.d.mts +2 -8
- package/dist/cli/node-application.d.ts +2 -8
- package/dist/cli/node-application.js +12 -22
- package/dist/cli/program.cjs +87 -2756
- package/dist/cli/program.cjs.map +1 -1
- package/dist/cli/program.d.cts +11 -332
- package/dist/cli/program.d.mts +11 -332
- package/dist/cli/program.d.ts +11 -332
- package/dist/cli/program.js +4 -28
- package/dist/cli.cjs +0 -3
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +0 -1
- package/dist/cli.d.mts +0 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +6 -14
- package/dist/define.cjs +1 -1
- package/dist/define.cjs.map +1 -1
- package/dist/docker/cache-administration.cjs +8 -0
- package/dist/docker/cache-administration.cjs.map +1 -0
- package/dist/docker/cache-administration.d.cts +33 -0
- package/dist/docker/cache-administration.d.mts +33 -0
- package/dist/docker/cache-administration.d.ts +33 -0
- package/dist/docker/cache-administration.js +6 -0
- package/dist/docker/cache-administration.js.map +1 -0
- package/dist/docker/cache-live.cjs +27 -0
- package/dist/docker/cache-live.cjs.map +1 -0
- package/dist/docker/cache-live.d.cts +3 -0
- package/dist/docker/cache-live.d.mts +3 -0
- package/dist/docker/cache-live.d.ts +3 -0
- package/dist/docker/cache-live.js +6 -0
- package/dist/docker/cache-live.js.map +1 -0
- package/dist/docker/cli/contribution.cjs +223 -0
- package/dist/docker/cli/contribution.cjs.map +1 -0
- package/dist/docker/cli/contribution.d.cts +48 -0
- package/dist/docker/cli/contribution.d.mts +48 -0
- package/dist/docker/cli/contribution.d.ts +48 -0
- package/dist/docker/cli/contribution.js +8 -0
- package/dist/docker/cli/contribution.js.map +1 -0
- package/dist/eval/cli/contribution.cjs +62 -0
- package/dist/eval/cli/contribution.cjs.map +1 -0
- package/dist/eval/cli/contribution.d.cts +21 -0
- package/dist/eval/cli/contribution.d.mts +21 -0
- package/dist/eval/cli/contribution.d.ts +21 -0
- package/dist/eval/cli/contribution.js +8 -0
- package/dist/eval/cli/contribution.js.map +1 -0
- package/dist/eval/host/index.cjs +23 -0
- package/dist/eval/host/index.cjs.map +1 -0
- package/dist/eval/host/index.d.cts +27 -0
- package/dist/eval/host/index.d.mts +27 -0
- package/dist/eval/host/index.d.ts +27 -0
- package/dist/eval/host/index.js +8 -0
- package/dist/eval/host/index.js.map +1 -0
- package/dist/eval/host/index.mjs +8 -0
- package/dist/eval/host/index.mjs.map +1 -0
- package/dist/experiment/host/cli/contribution.cjs +835 -0
- package/dist/experiment/host/cli/contribution.cjs.map +1 -0
- package/dist/experiment/host/cli/contribution.d.cts +329 -0
- package/dist/experiment/host/cli/contribution.d.mts +329 -0
- package/dist/experiment/host/cli/contribution.d.ts +329 -0
- package/dist/experiment/host/cli/contribution.js +22 -0
- package/dist/experiment/host/cli/contribution.js.map +1 -0
- package/dist/experiment/host/cli/index.cjs +9 -0
- package/dist/experiment/host/cli/index.cjs.map +1 -0
- package/dist/experiment/host/cli/index.d.cts +2 -0
- package/dist/experiment/host/cli/index.d.mts +2 -0
- package/dist/experiment/host/cli/index.d.ts +2 -0
- package/dist/experiment/host/cli/index.js +10 -0
- package/dist/experiment/host/cli/index.js.map +1 -0
- package/dist/experiment/host/cli/terminal.cjs +15 -0
- package/dist/experiment/host/cli/terminal.cjs.map +1 -0
- package/dist/experiment/host/cli/terminal.d.cts +14 -0
- package/dist/experiment/host/cli/terminal.d.mts +14 -0
- package/dist/experiment/host/cli/terminal.d.ts +14 -0
- package/dist/experiment/host/cli/terminal.js +8 -0
- package/dist/experiment/host/cli/terminal.js.map +1 -0
- package/dist/experiment/host/index.cjs +35 -58
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +5 -79
- package/dist/experiment/host/index.d.mts +5 -79
- package/dist/experiment/host/index.d.ts +5 -79
- package/dist/experiment/host/index.js +4 -2
- package/dist/experiment/host/index.mjs +4 -2
- package/dist/experiment/host/operations.cjs +678 -0
- package/dist/experiment/host/operations.cjs.map +1 -0
- package/dist/experiment/host/operations.d.cts +19 -0
- package/dist/experiment/host/operations.d.mts +19 -0
- package/dist/experiment/host/operations.d.ts +19 -0
- package/dist/experiment/host/operations.js +24 -0
- package/dist/experiment/host/operations.js.map +1 -0
- package/dist/experiment/host/presentation.cjs +81 -0
- package/dist/experiment/host/presentation.cjs.map +1 -0
- package/dist/experiment/host/presentation.d.cts +9 -0
- package/dist/experiment/host/presentation.d.mts +9 -0
- package/dist/experiment/host/presentation.d.ts +9 -0
- package/dist/experiment/host/presentation.js +8 -0
- package/dist/experiment/host/presentation.js.map +1 -0
- package/dist/experiment/host/teardown.cjs +394 -0
- package/dist/experiment/host/teardown.cjs.map +1 -0
- package/dist/experiment/host/teardown.d.cts +5 -0
- package/dist/experiment/host/teardown.d.mts +5 -0
- package/dist/experiment/host/teardown.d.ts +5 -0
- package/dist/experiment/host/teardown.js +8 -0
- package/dist/experiment/host/teardown.js.map +1 -0
- package/dist/experiment/host/types.cjs +9 -0
- package/dist/experiment/host/types.cjs.map +1 -0
- package/dist/experiment/host/types.d.cts +423 -0
- package/dist/experiment/host/types.d.mts +423 -0
- package/dist/experiment/host/types.d.ts +423 -0
- package/dist/experiment/host/types.js +6 -0
- package/dist/experiment/host/types.js.map +1 -0
- package/dist/i18n/en.cjs +8 -50
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +2 -6
- package/dist/i18n/en.d.mts +2 -6
- package/dist/i18n/en.d.ts +2 -6
- package/dist/o11y/project.json +6 -0
- package/dist/project/cli/contribution.cjs +66 -0
- package/dist/project/cli/contribution.cjs.map +1 -0
- package/dist/project/cli/contribution.d.cts +17 -0
- package/dist/project/cli/contribution.d.mts +17 -0
- package/dist/project/cli/contribution.d.ts +17 -0
- package/dist/project/cli/contribution.js +8 -0
- package/dist/project/cli/contribution.js.map +1 -0
- package/dist/project/cli/index.cjs +7 -0
- package/dist/project/cli/index.cjs.map +1 -0
- package/dist/project/cli/index.d.cts +1 -0
- package/dist/project/cli/index.d.mts +1 -0
- package/dist/project/cli/index.d.ts +1 -0
- package/dist/project/cli/index.js +8 -0
- package/dist/project/cli/index.js.map +1 -0
- package/dist/project/host/index.cjs +11 -0
- package/dist/project/host/index.cjs.map +1 -0
- package/dist/project/host/index.d.cts +4 -0
- package/dist/project/host/index.d.mts +4 -0
- package/dist/project/host/index.d.ts +4 -0
- package/dist/project/host/index.js +14 -0
- package/dist/project/host/index.js.map +1 -0
- package/dist/project/host/index.mjs +14 -0
- package/dist/project/host/index.mjs.map +1 -0
- package/dist/project/host.cjs +59 -0
- package/dist/project/host.cjs.map +1 -0
- package/dist/project/host.d.cts +17 -0
- package/dist/project/host.d.mts +17 -0
- package/dist/project/host.d.ts +17 -0
- package/dist/project/host.js +6 -0
- package/dist/project/host.js.map +1 -0
- package/dist/project/index.cjs +11 -0
- package/dist/project/index.cjs.map +1 -0
- package/dist/project/index.d.cts +4 -0
- package/dist/project/index.d.mts +4 -0
- package/dist/project/index.d.ts +4 -0
- package/dist/project/index.js +14 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/node.cjs +91 -0
- package/dist/project/node.cjs.map +1 -0
- package/dist/project/node.d.cts +6 -0
- package/dist/project/node.d.mts +6 -0
- package/dist/project/node.d.ts +6 -0
- package/dist/project/node.js +12 -0
- package/dist/project/node.js.map +1 -0
- package/dist/project/services.cjs +17 -0
- package/dist/project/services.cjs.map +1 -0
- package/dist/project/services.d.cts +47 -0
- package/dist/project/services.d.mts +47 -0
- package/dist/project/services.d.ts +47 -0
- package/dist/project/services.js +12 -0
- package/dist/project/services.js.map +1 -0
- package/dist/project/templates.cjs +28 -0
- package/dist/project/templates.cjs.map +1 -0
- package/dist/project/templates.d.cts +4 -0
- package/dist/project/templates.d.mts +4 -0
- package/dist/project/templates.d.ts +4 -0
- package/dist/project/templates.js +12 -0
- package/dist/project/templates.js.map +1 -0
- package/dist/project.json +6 -0
- package/dist/record/family/catalog.d.cts +10 -10
- package/dist/record/family/catalog.d.mts +10 -10
- package/dist/record/family/catalog.d.ts +10 -10
- package/dist/record/family/file-changes.d.cts +8 -8
- package/dist/record/family/file-changes.d.mts +8 -8
- package/dist/record/family/file-changes.d.ts +8 -8
- package/dist/record/host/cli/contribution.cjs +206 -0
- package/dist/record/host/cli/contribution.cjs.map +1 -0
- package/dist/record/host/cli/contribution.d.cts +32 -0
- package/dist/record/host/cli/contribution.d.mts +32 -0
- package/dist/record/host/cli/contribution.d.ts +32 -0
- package/dist/record/host/cli/contribution.js +10 -0
- package/dist/record/host/cli/contribution.js.map +1 -0
- package/dist/record/host/cli/index.cjs +8 -0
- package/dist/record/host/cli/index.cjs.map +1 -0
- package/dist/record/host/cli/index.d.cts +1 -0
- package/dist/record/host/cli/index.d.mts +1 -0
- package/dist/record/host/cli/index.d.ts +1 -0
- package/dist/record/host/cli/index.js +10 -0
- package/dist/record/host/cli/index.js.map +1 -0
- package/dist/record/host/cli/presentation.cjs +122 -0
- package/dist/record/host/cli/presentation.cjs.map +1 -0
- package/dist/record/host/cli/presentation.d.cts +7 -0
- package/dist/record/host/cli/presentation.d.mts +7 -0
- package/dist/record/host/cli/presentation.d.ts +7 -0
- package/dist/record/host/cli/presentation.js +12 -0
- package/dist/record/host/cli/presentation.js.map +1 -0
- package/dist/record/host/index.cjs.map +1 -1
- package/dist/record/host/index.d.cts +1 -1
- package/dist/record/host/index.d.mts +1 -1
- package/dist/record/host/index.d.ts +1 -1
- package/dist/record/host/runtime.cjs +184 -1
- package/dist/record/host/runtime.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +120 -0
- package/dist/record/host/types.d.mts +120 -0
- package/dist/record/host/types.d.ts +120 -0
- package/dist/record/project.json +6 -0
- package/dist/report/assets/styles.css +80 -0
- package/dist/report/cli/contribution.cjs +325 -0
- package/dist/report/cli/contribution.cjs.map +1 -0
- package/dist/report/cli/contribution.d.cts +143 -0
- package/dist/report/cli/contribution.d.mts +143 -0
- package/dist/report/cli/contribution.d.ts +143 -0
- package/dist/report/cli/contribution.js +12 -0
- package/dist/report/cli/contribution.js.map +1 -0
- package/dist/report/client-dist/app.js +9 -9
- package/dist/report/components/attempt-detail/content.cjs +1 -1
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +5 -0
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.d.cts +2 -0
- package/dist/report/components/entity-lists/compute.d.mts +2 -0
- package/dist/report/components/entity-lists/compute.d.ts +2 -0
- package/dist/report/components/entity-lists/content.cjs +35 -12
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +0 -3
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/summaries/index.cjs +2 -4
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/definition/cell.cjs +7 -2
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +2 -0
- package/dist/report/definition/cell.d.mts +2 -0
- package/dist/report/definition/cell.d.ts +2 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs +190 -4
- package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -1
- package/dist/report/definition/primitives/assertion-evidence.d.cts +4 -0
- package/dist/report/definition/primitives/assertion-evidence.d.mts +4 -0
- package/dist/report/definition/primitives/assertion-evidence.d.ts +4 -0
- package/dist/report/execution/machine.cjs +2 -3
- package/dist/report/execution/machine.cjs.map +1 -1
- package/dist/report/execution/machine.d.cts +11 -8
- package/dist/report/execution/machine.d.mts +11 -8
- package/dist/report/execution/machine.d.ts +11 -8
- package/dist/report/host/from-record.cjs +13 -8
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/index.cjs +5 -1
- package/dist/report/host/index.cjs.map +1 -1
- package/dist/report/host/index.d.cts +1 -0
- package/dist/report/host/index.d.mts +1 -0
- package/dist/report/host/index.d.ts +1 -0
- package/dist/report/host/index.js +8 -2
- package/dist/report/host/index.mjs +8 -2
- package/dist/report/host/machine.cjs +23 -22
- package/dist/report/host/machine.cjs.map +1 -1
- package/dist/report/host/machine.d.cts +1 -1
- package/dist/report/host/machine.d.mts +1 -1
- package/dist/report/host/machine.d.ts +1 -1
- package/dist/report/host/node/loader.cjs +4 -2
- package/dist/report/host/node/loader.cjs.map +1 -1
- package/dist/report/host/node/loader.d.cts +3 -1
- package/dist/report/host/node/loader.d.mts +3 -1
- package/dist/report/host/node/loader.d.ts +3 -1
- package/dist/report/host/node.cjs +44 -9
- package/dist/report/host/node.cjs.map +1 -1
- package/dist/report/host/node.d.cts +13 -3
- package/dist/report/host/node.d.mts +13 -3
- package/dist/report/host/node.d.ts +13 -3
- package/dist/report/host/node.js +44 -32
- package/dist/report/host/operations.cjs +14 -0
- package/dist/report/host/operations.cjs.map +1 -0
- package/dist/report/host/operations.d.cts +39 -0
- package/dist/report/host/operations.d.mts +39 -0
- package/dist/report/host/operations.d.ts +39 -0
- package/dist/report/host/operations.js +10 -0
- package/dist/report/host/operations.js.map +1 -0
- package/dist/report/model/chart/plot.cjs +1 -1
- package/dist/report/model/chart/plot.cjs.map +1 -1
- package/dist/report/model/locale.cjs +4 -0
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +3 -1
- package/dist/report/model/locale.d.mts +3 -1
- package/dist/report/model/locale.d.ts +3 -1
- package/dist/report/react/styles.css +80 -0
- package/dist/runner/build-preparation.cjs +5 -5
- package/dist/runner/build-preparation.cjs.map +1 -1
- package/dist/runner/build-preparation.d.cts +2 -3
- package/dist/runner/build-preparation.d.mts +2 -3
- package/dist/runner/build-preparation.d.ts +2 -3
- package/dist/runner/feedback/coordinator.cjs +18 -15
- package/dist/runner/feedback/coordinator.cjs.map +1 -1
- package/dist/runner/feedback/coordinator.d.cts +6 -0
- package/dist/runner/feedback/coordinator.d.mts +6 -0
- package/dist/runner/feedback/coordinator.d.ts +6 -0
- package/dist/runner/ledger.cjs +3 -13
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/ledger.d.cts +1 -3
- package/dist/runner/ledger.d.mts +1 -3
- package/dist/runner/ledger.d.ts +1 -3
- package/dist/runner/run.cjs +63 -18
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/session.cjs +10 -0
- package/dist/runner/session.cjs.map +1 -1
- package/dist/runner/session.d.cts +25 -0
- package/dist/runner/session.d.mts +25 -0
- package/dist/runner/session.d.ts +25 -0
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +1 -2
- package/dist/runner/types.d.mts +1 -2
- package/dist/runner/types.d.ts +1 -2
- package/dist/sandbox/build-coordinator.cjs +38 -19
- package/dist/sandbox/build-coordinator.cjs.map +1 -1
- package/dist/sandbox/build-coordinator.d.cts +47 -7
- package/dist/sandbox/build-coordinator.d.mts +47 -7
- package/dist/sandbox/build-coordinator.d.ts +47 -7
- package/dist/sandbox/build-coordinator.js +8 -4
- package/dist/sandbox/cli/contribution.cjs +128 -0
- package/dist/sandbox/cli/contribution.cjs.map +1 -0
- package/dist/sandbox/cli/contribution.d.cts +71 -0
- package/dist/sandbox/cli/contribution.d.mts +71 -0
- package/dist/sandbox/cli/contribution.d.ts +71 -0
- package/dist/sandbox/cli/contribution.js +8 -0
- package/dist/sandbox/cli/contribution.js.map +1 -0
- package/dist/sandbox/cli-commands.cjs +14 -21
- package/dist/sandbox/cli-commands.cjs.map +1 -1
- package/dist/sandbox/cli-commands.d.cts +12 -8
- package/dist/sandbox/cli-commands.d.mts +12 -8
- package/dist/sandbox/cli-commands.d.ts +12 -8
- package/dist/sandbox/compose.cjs +22 -2
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/compose.d.cts +1 -1
- package/dist/sandbox/compose.d.mts +1 -1
- package/dist/sandbox/compose.d.ts +1 -1
- package/dist/sandbox/docker-profile/cli.cjs +13 -9
- package/dist/sandbox/docker-profile/cli.cjs.map +1 -1
- package/dist/sandbox/docker-profile/cli.d.cts +2 -0
- package/dist/sandbox/docker-profile/cli.d.mts +2 -0
- package/dist/sandbox/docker-profile/cli.d.ts +2 -0
- package/dist/sandbox/docker-profile/runtime.cjs +68 -7
- package/dist/sandbox/docker-profile/runtime.cjs.map +1 -1
- package/dist/sandbox/docker-profile/runtime.d.cts +19 -1
- package/dist/sandbox/docker-profile/runtime.d.mts +19 -1
- package/dist/sandbox/docker-profile/runtime.d.ts +19 -1
- package/dist/sandbox/docker-profile/runtime.js +10 -8
- package/dist/sandbox/docker-profile/schema.cjs +68 -19
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +23 -9
- package/dist/sandbox/docker-profile/schema.d.mts +23 -9
- package/dist/sandbox/docker-profile/schema.d.ts +23 -9
- package/dist/sandbox/docker-task-build-cache.cjs +532 -0
- package/dist/sandbox/docker-task-build-cache.cjs.map +1 -0
- package/dist/sandbox/docker-task-build-cache.d.cts +68 -0
- package/dist/sandbox/docker-task-build-cache.d.mts +68 -0
- package/dist/sandbox/docker-task-build-cache.d.ts +68 -0
- package/dist/sandbox/docker-task-build-cache.js +20 -0
- package/dist/sandbox/docker-task-build-cache.js.map +1 -0
- package/dist/sandbox/docker.cjs +50 -0
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +15 -0
- package/dist/sandbox/docker.d.mts +15 -0
- package/dist/sandbox/docker.d.ts +15 -0
- package/dist/sandbox/dockerfile-build.cjs +55 -5
- package/dist/sandbox/dockerfile-build.cjs.map +1 -1
- package/dist/sandbox/dockerfile-build.d.cts +2 -2
- package/dist/sandbox/dockerfile-build.d.mts +2 -2
- package/dist/sandbox/dockerfile-build.d.ts +2 -2
- package/dist/sandbox/index.cjs +5 -3
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +4 -3
- package/dist/sandbox/index.d.mts +4 -3
- package/dist/sandbox/index.d.ts +4 -3
- package/dist/sandbox/index.js +16 -14
- package/dist/sandbox/index.mjs +16 -14
- package/dist/sandbox/keep.cjs +1 -3
- package/dist/sandbox/keep.cjs.map +1 -1
- package/dist/sandbox/layer.cjs +70 -79
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/sandbox/layer.d.cts +6 -12
- package/dist/sandbox/layer.d.mts +6 -12
- package/dist/sandbox/layer.d.ts +6 -12
- package/dist/sandbox/layer.js +16 -18
- package/dist/sandbox/ledger-paths.cjs +4 -18
- package/dist/sandbox/ledger-paths.cjs.map +1 -1
- package/dist/sandbox/ledger-paths.d.cts +3 -13
- package/dist/sandbox/ledger-paths.d.mts +3 -13
- package/dist/sandbox/ledger-paths.d.ts +3 -13
- package/dist/sandbox/ledger-paths.js +4 -8
- package/dist/sandbox/registry.cjs +1 -1
- package/dist/sandbox/registry.cjs.map +1 -1
- package/dist/sandbox/runtime.cjs +27 -37
- package/dist/sandbox/runtime.cjs.map +1 -1
- package/dist/sandbox/runtime.d.cts +1 -2
- package/dist/sandbox/runtime.d.mts +1 -2
- package/dist/sandbox/runtime.d.ts +1 -2
- package/dist/sandbox/runtime.js +6 -8
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +3 -3
- package/dist/sandbox/types.d.mts +3 -3
- package/dist/sandbox/types.d.ts +3 -3
- package/dist/sources/project.json +6 -0
- package/dist/vendor/remark/remark-gfm.cjs +72 -72
- package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
- package/dist/vendor/remark/remark-parse.cjs +54 -54
- package/dist/vendor/remark/remark-parse.cjs.map +1 -1
- package/dist/vendor/remark/remark.cjs +125 -125
- package/dist/vendor/remark/remark.cjs.map +2 -2
- package/docs-site/zh/README.md +1 -1
- package/docs-site/zh/explanation/assert.mdx +4 -0
- package/docs-site/zh/explanation/judge.mdx +40 -9
- package/docs-site/zh/reference/cli.mdx +67 -43
- package/docs-site/zh/reference/define-agent.mdx +2 -2
- package/docs-site/zh/reference/report-components.mdx +4 -3
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +6 -0
- package/docs-site/zh/troubleshooting/debugging.mdx +28 -1
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +4 -2
- package/docs-site/zh/tutorials/concurrency.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +175 -9
- package/docs-site/zh/tutorials/docker-in-docker.mdx +52 -7
- package/docs-site/zh/tutorials/eval-groups.mdx +1 -2
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +39 -6
- package/docs-site/zh/tutorials/nixos-managed-dind.mdx +14 -5
- package/docs-site/zh/tutorials/sandbox-providers.mdx +1 -28
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +1 -1
- package/docs-site/zh/tutorials/viewing-results.mdx +2 -0
- package/package.json +24 -19
- package/README.md +0 -176
- package/README.zh.md +0 -176
- package/dist/cli/record.cjs +0 -246
- package/dist/cli/record.cjs.map +0 -1
- package/dist/cli/record.d.cts +0 -40
- package/dist/cli/record.d.mts +0 -40
- package/dist/cli/record.d.ts +0 -40
- package/dist/cli/record.js +0 -10
- package/dist/cli/record.js.map +0 -1
- package/dist/sandbox/local.cjs +0 -361
- package/dist/sandbox/local.cjs.map +0 -1
- package/dist/sandbox/local.d.cts +0 -80
- package/dist/sandbox/local.d.mts +0 -80
- package/dist/sandbox/local.d.ts +0 -80
- package/dist/sandbox/local.js +0 -6
- package/dist/sandbox/local.js.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./index.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["ExperimentCliTerminal"];
|
|
5
|
+
export { __niceevalExport0 as ExperimentCliTerminal };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["NodeExperimentCliTerminalLive"];
|
|
7
|
+
export { __niceevalExport1 as NodeExperimentCliTerminalLive };
|
|
8
|
+
const __niceevalExport2 = __niceevalCanonical["experimentCliContributions"];
|
|
9
|
+
export { __niceevalExport2 as experimentCliContributions };
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeExperimentCliTerminalLive = exports.ExperimentCliTerminal = void 0;
|
|
4
|
+
const effect_1 = require("effect");
|
|
5
|
+
const io_ts_1 = require("../../../runner/feedback/io.cjs");
|
|
6
|
+
const input_guard_ts_1 = require("../../../runner/feedback/input-guard.cjs");
|
|
7
|
+
class ExperimentCliTerminal extends effect_1.Context.Tag("niceeval/experiment/cli/Terminal")() {
|
|
8
|
+
}
|
|
9
|
+
exports.ExperimentCliTerminal = ExperimentCliTerminal;
|
|
10
|
+
/** Node composition layer; constructing it does not read input or start timers. */
|
|
11
|
+
exports.NodeExperimentCliTerminalLive = effect_1.Layer.sync(ExperimentCliTerminal, () => Object.freeze({
|
|
12
|
+
feedback: (0, io_ts_1.createNodeFeedbackIO)(),
|
|
13
|
+
stdin: (0, input_guard_ts_1.createNodeInputGuardStdin)(),
|
|
14
|
+
}));
|
|
15
|
+
//# sourceMappingURL=terminal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["terminal.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,0DAAsE;AAEtE,4EAAoF;AAMpF,MAAa,qBAAsB,SAAQ,gBAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,EAAuD;CAChJ;AADD,sDACC;AACD,mFAAmF;AACtE,QAAA,6BAA6B,GAAG,cAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/F,QAAQ,EAAE,IAAA,4BAAoB,GAAE;IAChC,KAAK,EAAE,IAAA,0CAAyB,GAAE;CACrC,CAAC,CAAC,CAAC","sourcesContent":["import { Context, Layer } from \"effect\";\nimport type { FeedbackIO } from \"../../../runner/feedback/io.ts\";\nimport { createNodeFeedbackIO } from \"../../../runner/feedback/io.ts\";\nimport type { InputGuardStdin } from \"../../../runner/feedback/input-guard.ts\";\nimport { createNodeInputGuardStdin } from \"../../../runner/feedback/input-guard.ts\";\n/** Terminal resources used exclusively by the Experiment feedback surface. */\nexport interface ExperimentCliTerminalService {\n readonly feedback: FeedbackIO;\n readonly stdin: InputGuardStdin;\n}\nexport class ExperimentCliTerminal extends Context.Tag(\"niceeval/experiment/cli/Terminal\")<ExperimentCliTerminal, ExperimentCliTerminalService>() {\n}\n/** Node composition layer; constructing it does not read input or start timers. */\nexport const NodeExperimentCliTerminalLive = Layer.sync(ExperimentCliTerminal, () => Object.freeze({\n feedback: createNodeFeedbackIO(),\n stdin: createNodeInputGuardStdin(),\n}));\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Context, Layer } from "effect";
|
|
2
|
+
import type { FeedbackIO } from "../../../runner/feedback/io.cjs";
|
|
3
|
+
import type { InputGuardStdin } from "../../../runner/feedback/input-guard.cjs";
|
|
4
|
+
/** Terminal resources used exclusively by the Experiment feedback surface. */
|
|
5
|
+
export interface ExperimentCliTerminalService {
|
|
6
|
+
readonly feedback: FeedbackIO;
|
|
7
|
+
readonly stdin: InputGuardStdin;
|
|
8
|
+
}
|
|
9
|
+
declare const ExperimentCliTerminal_base: Context.TagClass<ExperimentCliTerminal, "niceeval/experiment/cli/Terminal", ExperimentCliTerminalService>;
|
|
10
|
+
export declare class ExperimentCliTerminal extends ExperimentCliTerminal_base {
|
|
11
|
+
}
|
|
12
|
+
/** Node composition layer; constructing it does not read input or start timers. */
|
|
13
|
+
export declare const NodeExperimentCliTerminalLive: Layer.Layer<ExperimentCliTerminal, never, never>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Context, Layer } from "effect";
|
|
2
|
+
import type { FeedbackIO } from "../../../runner/feedback/io.mjs";
|
|
3
|
+
import type { InputGuardStdin } from "../../../runner/feedback/input-guard.mjs";
|
|
4
|
+
/** Terminal resources used exclusively by the Experiment feedback surface. */
|
|
5
|
+
export interface ExperimentCliTerminalService {
|
|
6
|
+
readonly feedback: FeedbackIO;
|
|
7
|
+
readonly stdin: InputGuardStdin;
|
|
8
|
+
}
|
|
9
|
+
declare const ExperimentCliTerminal_base: Context.TagClass<ExperimentCliTerminal, "niceeval/experiment/cli/Terminal", ExperimentCliTerminalService>;
|
|
10
|
+
export declare class ExperimentCliTerminal extends ExperimentCliTerminal_base {
|
|
11
|
+
}
|
|
12
|
+
/** Node composition layer; constructing it does not read input or start timers. */
|
|
13
|
+
export declare const NodeExperimentCliTerminalLive: Layer.Layer<ExperimentCliTerminal, never, never>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Context, Layer } from "effect";
|
|
2
|
+
import type { FeedbackIO } from "../../../runner/feedback/io.js";
|
|
3
|
+
import type { InputGuardStdin } from "../../../runner/feedback/input-guard.js";
|
|
4
|
+
/** Terminal resources used exclusively by the Experiment feedback surface. */
|
|
5
|
+
export interface ExperimentCliTerminalService {
|
|
6
|
+
readonly feedback: FeedbackIO;
|
|
7
|
+
readonly stdin: InputGuardStdin;
|
|
8
|
+
}
|
|
9
|
+
declare const ExperimentCliTerminal_base: Context.TagClass<ExperimentCliTerminal, "niceeval/experiment/cli/Terminal", ExperimentCliTerminalService>;
|
|
10
|
+
export declare class ExperimentCliTerminal extends ExperimentCliTerminal_base {
|
|
11
|
+
}
|
|
12
|
+
/** Node composition layer; constructing it does not read input or start timers. */
|
|
13
|
+
export declare const NodeExperimentCliTerminalLive: Layer.Layer<ExperimentCliTerminal, never, never>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./terminal.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["ExperimentCliTerminal"];
|
|
5
|
+
export { __niceevalExport0 as ExperimentCliTerminal };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["NodeExperimentCliTerminalLive"];
|
|
7
|
+
export { __niceevalExport1 as NodeExperimentCliTerminalLive };
|
|
8
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sources":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.experimentHost = void 0;
|
|
4
18
|
const effect_1 = require("effect");
|
|
@@ -6,17 +20,17 @@ const command_plan_ts_1 = require("../../runner/command-plan.cjs");
|
|
|
6
20
|
const discover_ts_1 = require("../../runner/discover.cjs");
|
|
7
21
|
const fingerprint_ts_1 = require("../../runner/fingerprint.cjs");
|
|
8
22
|
const eval_selection_ts_1 = require("../../runner/eval-selection.cjs");
|
|
9
|
-
const record_ts_1 = require("../../runner/record.cjs");
|
|
10
|
-
const reuse_readback_ts_1 = require("../../runner/reuse-readback.cjs");
|
|
11
|
-
const accept_ts_1 = require("../../runner/accept.cjs");
|
|
12
|
-
const run_ts_1 = require("../../runner/run.cjs");
|
|
13
23
|
const timeout_ts_1 = require("../../runner/timeout.cjs");
|
|
14
24
|
const aggregate_ts_1 = require("../../shared/aggregate.cjs");
|
|
25
|
+
const operations_ts_1 = require("./operations.cjs");
|
|
26
|
+
const teardown_ts_1 = require("./teardown.cjs");
|
|
27
|
+
const types_ts_1 = require("./types.cjs");
|
|
28
|
+
__exportStar(require("./types.cjs"), exports);
|
|
15
29
|
/**
|
|
16
30
|
* Discovery and selection are owned here so consumers cannot invoke an
|
|
17
31
|
* Experiment's predicate a second time while reconstructing an AgentRun.
|
|
18
32
|
*/
|
|
19
|
-
function
|
|
33
|
+
function discoverSelection(input) {
|
|
20
34
|
return effect_1.Effect.gen(function* () {
|
|
21
35
|
const discoveredEvals = yield* (0, discover_ts_1.discoverEvals)(input.cwd);
|
|
22
36
|
const evals = input.tag === undefined
|
|
@@ -89,7 +103,7 @@ function debugAgentRun(experiment, evalId) {
|
|
|
89
103
|
*/
|
|
90
104
|
function debug(input) {
|
|
91
105
|
return effect_1.Effect.gen(function* () {
|
|
92
|
-
const listed = yield*
|
|
106
|
+
const listed = yield* discoverSelection({ cwd: input.cwd });
|
|
93
107
|
const selectedExperiments = uniqueExactOrPrefix(listed.selections, input.experimentSelector, ({ experiment }) => experiment.id).slice().sort((left, right) => left.experiment.id.localeCompare(right.experiment.id));
|
|
94
108
|
if (selectedExperiments.length === 0) {
|
|
95
109
|
return Object.freeze({
|
|
@@ -146,61 +160,24 @@ function debug(input) {
|
|
|
146
160
|
evalId: evalDef.id,
|
|
147
161
|
commandPlan,
|
|
148
162
|
});
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
function plan(input) {
|
|
157
|
-
return effect_1.Effect.gen(function* () {
|
|
158
|
-
const target = yield* (0, fingerprint_ts_1.planProjectTarget)(input.evals, input.agentRuns, input.config.timeoutMs, {
|
|
159
|
-
configJudge: input.config.judge,
|
|
160
|
-
...(input.keepSandbox === undefined ? {} : { keepSandbox: input.keepSandbox }),
|
|
161
|
-
});
|
|
162
|
-
const reuse = yield* (0, record_ts_1.prepareRunnerRecordReuse)({
|
|
163
|
-
evals: input.evals,
|
|
164
|
-
runs: input.agentRuns,
|
|
165
|
-
config: { timeoutMs: input.config.timeoutMs },
|
|
166
|
-
plannedFingerprints: target.plannedFingerprints,
|
|
167
|
-
plannedConfigHashes: target.plannedConfigHashes,
|
|
168
|
-
...(input.rerun === undefined ? {} : { rerun: input.rerun }),
|
|
169
|
-
...(input.keepSandbox === undefined ? {} : { keepSandbox: input.keepSandbox }),
|
|
170
|
-
});
|
|
171
|
-
const current = input.previewStartedAt === undefined
|
|
172
|
-
? undefined
|
|
173
|
-
: yield* (0, record_ts_1.withRunnerCurrentReusePreview)({
|
|
174
|
-
recordRoot: input.recordRoot,
|
|
175
|
-
startedAt: input.previewStartedAt,
|
|
176
|
-
evals: input.evals,
|
|
177
|
-
runs: input.agentRuns,
|
|
178
|
-
reuse,
|
|
179
|
-
use: ({ reusePlan, readReadbacks }) => readReadbacks().pipe(effect_1.Effect.map((readbacks) => Object.freeze({
|
|
180
|
-
slots: Object.freeze([...reusePlan.slots]),
|
|
181
|
-
readbacks: Object.freeze(readbacks.map(reuse_readback_ts_1.projectCurrentReuseReadback)),
|
|
182
|
-
}))),
|
|
183
|
-
});
|
|
184
|
-
return Object.freeze({
|
|
185
|
-
target,
|
|
186
|
-
...(current === undefined ? {} : { current }),
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
/** The existing Runner remains the one execution implementation. */
|
|
191
|
-
function run(input) {
|
|
192
|
-
return (0, run_ts_1.runEvals)(input);
|
|
193
|
-
}
|
|
194
|
-
/** The existing adoption flow remains the one acceptance implementation. */
|
|
195
|
-
function accept(input) {
|
|
196
|
-
return (0, accept_ts_1.acceptLocators)(input);
|
|
163
|
+
}).pipe(effect_1.Effect.mapError((cause) => new types_ts_1.ExperimentHostError({
|
|
164
|
+
operation: "debug",
|
|
165
|
+
code: typeof cause === "object" && cause !== null && typeof Reflect.get(cause, "code") === "string"
|
|
166
|
+
? String(Reflect.get(cause, "code"))
|
|
167
|
+
: "experiment-host-operation-failed",
|
|
168
|
+
message: cause instanceof Error ? cause.message : String(cause),
|
|
169
|
+
})));
|
|
197
170
|
}
|
|
198
171
|
/** The fixed public Host surface; discovery, Runner, and adoption internals stay private. */
|
|
199
172
|
exports.experimentHost = Object.freeze({
|
|
200
|
-
|
|
201
|
-
|
|
173
|
+
catalog: operations_ts_1.catalog,
|
|
174
|
+
check: operations_ts_1.check,
|
|
175
|
+
invocation: Object.freeze({ plan: operations_ts_1.planInvocation, run: operations_ts_1.runInvocation }),
|
|
176
|
+
resolveProjectCurrentTarget: operations_ts_1.resolveProjectCurrentTarget,
|
|
177
|
+
invocationStatus: Object.freeze({ list: operations_ts_1.listInvocationStatus, show: operations_ts_1.showInvocationStatus }),
|
|
178
|
+
rename: Object.freeze({ plan: operations_ts_1.planRename, apply: operations_ts_1.applyRename }),
|
|
179
|
+
teardown: Object.freeze({ inspect: teardown_ts_1.inspectTeardown, run: teardown_ts_1.runTeardown }),
|
|
202
180
|
debug,
|
|
203
|
-
|
|
204
|
-
accept,
|
|
181
|
+
accept: operations_ts_1.accept,
|
|
205
182
|
});
|
|
206
183
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport { assembleCommandPlan, type CommandPlan } 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 { prepareRunnerRecordReuse, withRunnerCurrentReusePreview, } from \"../../runner/record.ts\";\nimport { projectCurrentReuseReadback, } from \"../../runner/reuse-readback.ts\";\nimport { acceptLocators } from \"../../runner/accept.ts\";\nimport { runEvals } from \"../../runner/run.ts\";\nimport type { AcceptLocatorsOptions, } from \"../../runner/accept.ts\";\nimport type { ProjectTargetPlan } from \"../../runner/fingerprint.ts\";\nimport type { CurrentReuseReadbackSnapshot } from \"../../runner/reuse-readback.ts\";\nimport type { ExecutionReusePlanSlot } from \"../../runner/reuse-plan.ts\";\nimport { resolveRunTimeout } from \"../../runner/timeout.ts\";\nimport type { AgentRun, Config, DiscoveredEval, DiscoveredExperiment, RunOptions, } from \"../../runner/types.ts\";\nimport type { RecordRoot } from \"../../record/platform/root.ts\";\nimport { matchExperimentSelector } from \"../../shared/aggregate.ts\";\n/**\n * Public, supported high-level Host composition SDK for the NiceEval CLI,\n * replacement CLI/Web hosts, and deep application integrations. Eval authors\n * use `defineExperiment`; this entry deliberately exposes no Runner internals.\n */\n/** One discovered Experiment after its author selector and CLI prefixes close. */\nexport interface 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. */\nexport interface 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 list(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 readonly evalId: string;\n readonly commandPlan: CommandPlan;\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): AgentRun {\n return {\n agent: experiment.agent,\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 sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n ...(experiment.sharedState === undefined ? {} : { sharedState: experiment.sharedState }),\n judge: experiment.judge,\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, unknown> {\n return Effect.gen(function* () {\n const listed = yield* list({ 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 = 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 (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 evalDef = selectedEvals[0]!;\n const run = debugAgentRun(experiment, evalDef.id);\n const target = yield* planProjectTarget(listed.evals, [run], input.config.timeoutMs, { configJudge: input.config.judge });\n const commandPlan = assembleCommandPlan({\n rows: [{\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 preparedPairsByKey: target.preparedPairsByKey,\n });\n return Object.freeze({\n status: \"planned\" as const,\n experimentId: experiment.id,\n evalId: evalDef.id,\n commandPlan,\n });\n });\n}\nexport interface ExperimentHostPlanRequest {\n readonly evals: readonly DiscoveredEval[];\n readonly agentRuns: readonly AgentRun[];\n readonly config: Config;\n readonly recordRoot: RecordRoot;\n readonly rerun?: \"failed\" | \"all\";\n readonly keepSandbox?: \"failed\" | \"all\";\n /** Omit for a dispatch plan; include only for the read-only `exp --dry` path. */\n readonly previewStartedAt?: number;\n}\nexport interface ExperimentHostCurrentPlan {\n readonly slots: readonly ExecutionReusePlanSlot[];\n readonly readbacks: readonly CurrentReuseReadbackSnapshot[];\n}\nexport interface ExperimentHostPlan {\n readonly target: ProjectTargetPlan;\n readonly current?: ExperimentHostCurrentPlan;\n}\n/**\n * Reuses the production physical planner and frozen Record reuse planner.\n * It never creates a Run; current history is read only when a dry preview was\n * explicitly requested.\n */\nfunction plan(input: ExperimentHostPlanRequest) {\n return Effect.gen(function* () {\n const target = yield* planProjectTarget(input.evals, input.agentRuns, input.config.timeoutMs, {\n configJudge: input.config.judge,\n ...(input.keepSandbox === undefined ? {} : { keepSandbox: input.keepSandbox }),\n });\n const reuse = yield* prepareRunnerRecordReuse({\n evals: input.evals,\n runs: input.agentRuns,\n config: { timeoutMs: input.config.timeoutMs },\n plannedFingerprints: target.plannedFingerprints,\n plannedConfigHashes: target.plannedConfigHashes,\n ...(input.rerun === undefined ? {} : { rerun: input.rerun }),\n ...(input.keepSandbox === undefined ? {} : { keepSandbox: input.keepSandbox }),\n });\n const current = input.previewStartedAt === undefined\n ? undefined\n : yield* withRunnerCurrentReusePreview({\n recordRoot: input.recordRoot,\n startedAt: input.previewStartedAt,\n evals: input.evals,\n runs: input.agentRuns,\n reuse,\n use: ({ reusePlan, readReadbacks }) => readReadbacks().pipe(Effect.map((readbacks): ExperimentHostCurrentPlan => Object.freeze({\n slots: Object.freeze([...reusePlan.slots]),\n readbacks: Object.freeze(readbacks.map(projectCurrentReuseReadback)),\n }))),\n });\n return Object.freeze({\n target,\n ...(current === undefined ? {} : { current }),\n });\n });\n}\n/** The existing Runner remains the one execution implementation. */\nfunction run<AttachmentError, AttachmentRequirements>(input: RunOptions<AttachmentError, AttachmentRequirements>) {\n return runEvals(input);\n}\n/** The existing adoption flow remains the one acceptance implementation. */\nfunction accept(input: AcceptLocatorsOptions) {\n return acceptLocators(input);\n}\nexport interface ExperimentHostSDK {\n readonly list: typeof list;\n readonly plan: typeof plan;\n readonly debug: typeof debug;\n readonly run: typeof run;\n readonly accept: typeof accept;\n}\n/** The fixed public Host surface; discovery, Runner, and adoption internals stay private. */\nexport const experimentHost: ExperimentHostSDK = Object.freeze({\n list,\n plan,\n debug,\n run,\n accept,\n});\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import { Effect } from \"effect\";\nimport { assembleCommandPlan, type CommandPlan } 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 { matchExperimentSelector } from \"../../shared/aggregate.ts\";\nimport { accept, applyRename, catalog, check, listInvocationStatus, planInvocation, planRename, resolveProjectCurrentTarget, runInvocation, showInvocationStatus, } from \"./operations.ts\";\nimport { inspectTeardown, runTeardown } from \"./teardown.ts\";\nimport { ExperimentHostError, type ExperimentHostHighLevelSDK } from \"./types.ts\";\nexport * from \"./types.ts\";\n/**\n * Public, supported high-level Host composition SDK for the NiceEval CLI,\n * replacement CLI/Web hosts, and deep application integrations. Eval authors\n * use `defineExperiment`; this entry deliberately exposes no Runner internals.\n */\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 readonly evalId: string;\n readonly commandPlan: CommandPlan;\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): AgentRun {\n return {\n agent: experiment.agent,\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 sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n ...(experiment.sharedState === undefined ? {} : { sharedState: experiment.sharedState }),\n judge: experiment.judge,\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 = 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 (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 evalDef = selectedEvals[0]!;\n const run = debugAgentRun(experiment, evalDef.id);\n const target = yield* planProjectTarget(listed.evals, [run], input.config.timeoutMs, { configJudge: input.config.judge });\n const commandPlan = assembleCommandPlan({\n rows: [{\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 preparedPairsByKey: target.preparedPairsByKey,\n });\n return Object.freeze({\n status: \"planned\" as const,\n experimentId: experiment.id,\n evalId: evalDef.id,\n 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 })));\n}\nexport interface ExperimentHostSDK extends ExperimentHostHighLevelSDK {\n readonly debug: typeof debug;\n}\n/** The fixed public Host surface; discovery, Runner, and adoption internals stay private. */\nexport const experimentHost: ExperimentHostSDK = Object.freeze({\n catalog,\n check,\n invocation: Object.freeze({ plan: planInvocation, run: runInvocation }),\n resolveProjectCurrentTarget,\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});\n"]}
|
|
@@ -1,40 +1,8 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { type CommandPlan } from "../../runner/command-plan.cjs";
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
import type { ExecutionReusePlanSlot } from "../../runner/reuse-plan.cjs";
|
|
7
|
-
import type { AgentRun, Config, DiscoveredEval, DiscoveredExperiment, RunOptions } from "../../runner/types.cjs";
|
|
8
|
-
import type { RecordRoot } from "../../record/platform/root.cjs";
|
|
9
|
-
/**
|
|
10
|
-
* Public, supported high-level Host composition SDK for the NiceEval CLI,
|
|
11
|
-
* replacement CLI/Web hosts, and deep application integrations. Eval authors
|
|
12
|
-
* use `defineExperiment`; this entry deliberately exposes no Runner internals.
|
|
13
|
-
*/
|
|
14
|
-
/** One discovered Experiment after its author selector and CLI prefixes close. */
|
|
15
|
-
export interface ExperimentHostSelection {
|
|
16
|
-
readonly experiment: DiscoveredExperiment;
|
|
17
|
-
readonly selectedEvalIds: readonly string[];
|
|
18
|
-
/** The Experiment-owned set before CLI eval-prefix narrowing. */
|
|
19
|
-
readonly selectorEvalIds: readonly string[];
|
|
20
|
-
}
|
|
21
|
-
/** Discovery result used by both `exp list` and execution planning. */
|
|
22
|
-
export interface ExperimentHostListResult {
|
|
23
|
-
readonly evals: readonly DiscoveredEval[];
|
|
24
|
-
readonly experimentIds: readonly string[];
|
|
25
|
-
readonly selections: readonly ExperimentHostSelection[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Discovery and selection are owned here so consumers cannot invoke an
|
|
29
|
-
* Experiment's predicate a second time while reconstructing an AgentRun.
|
|
30
|
-
*/
|
|
31
|
-
declare function list(input: {
|
|
32
|
-
readonly cwd: string;
|
|
33
|
-
/** Keep the CLI's public `--tag` selection inside the Experiment boundary. */
|
|
34
|
-
readonly tag?: string;
|
|
35
|
-
readonly selector?: string;
|
|
36
|
-
readonly evalPatterns?: readonly string[];
|
|
37
|
-
}): Effect.Effect<ExperimentHostListResult, unknown>;
|
|
3
|
+
import type { Config } from "../../runner/types.cjs";
|
|
4
|
+
import { ExperimentHostError, type ExperimentHostHighLevelSDK } from "./types.cjs";
|
|
5
|
+
export * from "./types.cjs";
|
|
38
6
|
export interface ExperimentHostDebugPlanRequest {
|
|
39
7
|
readonly cwd: string;
|
|
40
8
|
readonly config: Config;
|
|
@@ -76,51 +44,9 @@ export type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {
|
|
|
76
44
|
* inside the Experiment Host. It deliberately does not construct a Record
|
|
77
45
|
* root, enter a lease, read history, or invoke an author callback.
|
|
78
46
|
*/
|
|
79
|
-
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult,
|
|
80
|
-
export interface
|
|
81
|
-
readonly evals: readonly DiscoveredEval[];
|
|
82
|
-
readonly agentRuns: readonly AgentRun[];
|
|
83
|
-
readonly config: Config;
|
|
84
|
-
readonly recordRoot: RecordRoot;
|
|
85
|
-
readonly rerun?: "failed" | "all";
|
|
86
|
-
readonly keepSandbox?: "failed" | "all";
|
|
87
|
-
/** Omit for a dispatch plan; include only for the read-only `exp --dry` path. */
|
|
88
|
-
readonly previewStartedAt?: number;
|
|
89
|
-
}
|
|
90
|
-
export interface ExperimentHostCurrentPlan {
|
|
91
|
-
readonly slots: readonly ExecutionReusePlanSlot[];
|
|
92
|
-
readonly readbacks: readonly CurrentReuseReadbackSnapshot[];
|
|
93
|
-
}
|
|
94
|
-
export interface ExperimentHostPlan {
|
|
95
|
-
readonly target: ProjectTargetPlan;
|
|
96
|
-
readonly current?: ExperimentHostCurrentPlan;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Reuses the production physical planner and frozen Record reuse planner.
|
|
100
|
-
* It never creates a Run; current history is read only when a dry preview was
|
|
101
|
-
* explicitly requested.
|
|
102
|
-
*/
|
|
103
|
-
declare function plan(input: ExperimentHostPlanRequest): Effect.Effect<Readonly<{
|
|
104
|
-
current?: ExperimentHostCurrentPlan | undefined;
|
|
105
|
-
target: ProjectTargetPlan;
|
|
106
|
-
}>, import("../../record/platform/errors.cjs").RecordResourceLimitInvalid | import("../../record/platform/errors.cjs").RecordRootInvalid | import("../../record/platform/errors.cjs").RecordPathInvalid | import("../../record/platform/errors.cjs").RecordPathTypeInvalid | import("../../record/platform/errors.cjs").RecordPathAlreadyExists | import("../../record/platform/errors.cjs").RecordResourceLimitExceeded | import("../../record/platform/errors.cjs").RecordIoError | import("../../record/platform/errors.cjs").RecordPermissionError | import("../../record/platform/errors.cjs").RecordMaintenanceBusy | import("../../coordination/record-leases.cjs").RecordCoordinationIdentityMismatch | import("../../record/attachment/errors.cjs").RecordAttachmentClosureInvalid | import("../../record/errors/record-errors.cjs").RecordCoreInvalid | import("../../record/errors/record-errors.cjs").RecordReferenceInvalid | import("../../record/reader/errors.cjs").RecordBootstrapInvalid | import("../../record/reader/errors.cjs").RecordMigrationRequired | import("../../record/reader/errors.cjs").RecordFormatUnsupported | import("../../record/reader/errors.cjs").RecordMigrationInterruptedState | import("../../record/reader/errors.cjs").RecordReaderClosed | import("../../record/reader/errors.cjs").RecordHandleInvalid | import("../../record/writer/errors.cjs").RecordWriterClosed | import("../../record/writer/errors.cjs").RecordWriteSessionInvalid | import("../../record/writer/errors.cjs").RecordRunAlreadyCreated | import("../../record/writer/errors.cjs").RecordDraftHandleInvalid | import("../../record/writer/errors.cjs").RecordDraftStateError | import("../../record/writer/errors.cjs").RecordAttachmentEncodeError | import("../../runner/reuse-plan.cjs").ProjectTargetReusePlanInvalid | import("../../runner/reuse-readback.cjs").CurrentReuseReadbackPlanInvalid | import("../../runner/sandbox-selection.cjs").SandboxRunPlanningError | import("../../runner/fingerprint.cjs").FingerprintPlanningFailure | import("../../runner/record.cjs").RunnerRecordTargetInputMissing | import("../../runner/record.cjs").RunnerRecordTargetIdentityInvalid | import("../../runner/record.cjs").RunnerRecordMembershipStateInvalid, import("effect/Scope").Scope | import("../../coordination/record-leases.cjs").RecordCoordination | import("../../record/platform/services.cjs").RecordFileSystem>;
|
|
107
|
-
/** The existing Runner remains the one execution implementation. */
|
|
108
|
-
declare function run<AttachmentError, AttachmentRequirements>(input: RunOptions<AttachmentError, AttachmentRequirements>): Effect.Effect<Readonly<{
|
|
109
|
-
invocationId: string;
|
|
110
|
-
runIds: readonly string[];
|
|
111
|
-
startedAt: string;
|
|
112
|
-
completedAt: string;
|
|
113
|
-
completion: "completed" | "interrupted";
|
|
114
|
-
}>, unknown, import("../../coordination/record-leases.cjs").RecordCoordination | import("../../record/platform/services.cjs").RecordFileSystem | import("../../record/platform/services.cjs").RecordEntropy>;
|
|
115
|
-
/** The existing adoption flow remains the one acceptance implementation. */
|
|
116
|
-
declare function accept(input: AcceptLocatorsOptions): Effect.Effect<readonly import("../../runner/accept.cjs").AcceptedAttempt[], import("../../record/platform/root.cjs").RecordRootConstructionError | import("../../record/attachment/errors.cjs").RecordAttachmentClosureInvalid | import("../../record/errors/record-errors.cjs").RecordCoreInvalid | import("../../record/errors/record-errors.cjs").RecordReferenceInvalid | import("../../record/reader/errors.cjs").RecordReaderClosed | import("../../record/reader/errors.cjs").RecordHandleInvalid | import("../../record/reader/errors.cjs").RecordReaderOpenError | import("../../record/writer/errors.cjs").RecordWriterClosed | import("../../record/writer/errors.cjs").RecordWriteSessionInvalid | import("../../record/writer/errors.cjs").RecordRunAlreadyCreated | import("../../record/writer/errors.cjs").RecordDraftHandleInvalid | import("../../record/writer/errors.cjs").RecordDraftStateError | import("../../record/writer/errors.cjs").RecordAttachmentEncodeError | import("../../runner/adoption.cjs").ExplicitAdoptionError, import("../../coordination/record-leases.cjs").RecordCoordination | import("../../record/platform/services.cjs").RecordFileSystem | import("../../record/platform/services.cjs").RecordEntropy>;
|
|
117
|
-
export interface ExperimentHostSDK {
|
|
118
|
-
readonly list: typeof list;
|
|
119
|
-
readonly plan: typeof plan;
|
|
47
|
+
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError>;
|
|
48
|
+
export interface ExperimentHostSDK extends ExperimentHostHighLevelSDK {
|
|
120
49
|
readonly debug: typeof debug;
|
|
121
|
-
readonly run: typeof run;
|
|
122
|
-
readonly accept: typeof accept;
|
|
123
50
|
}
|
|
124
51
|
/** The fixed public Host surface; discovery, Runner, and adoption internals stay private. */
|
|
125
52
|
export declare const experimentHost: ExperimentHostSDK;
|
|
126
|
-
export {};
|
|
@@ -1,40 +1,8 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { type CommandPlan } from "../../runner/command-plan.mjs";
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
import type { ExecutionReusePlanSlot } from "../../runner/reuse-plan.mjs";
|
|
7
|
-
import type { AgentRun, Config, DiscoveredEval, DiscoveredExperiment, RunOptions } from "../../runner/types.mjs";
|
|
8
|
-
import type { RecordRoot } from "../../record/platform/root.mjs";
|
|
9
|
-
/**
|
|
10
|
-
* Public, supported high-level Host composition SDK for the NiceEval CLI,
|
|
11
|
-
* replacement CLI/Web hosts, and deep application integrations. Eval authors
|
|
12
|
-
* use `defineExperiment`; this entry deliberately exposes no Runner internals.
|
|
13
|
-
*/
|
|
14
|
-
/** One discovered Experiment after its author selector and CLI prefixes close. */
|
|
15
|
-
export interface ExperimentHostSelection {
|
|
16
|
-
readonly experiment: DiscoveredExperiment;
|
|
17
|
-
readonly selectedEvalIds: readonly string[];
|
|
18
|
-
/** The Experiment-owned set before CLI eval-prefix narrowing. */
|
|
19
|
-
readonly selectorEvalIds: readonly string[];
|
|
20
|
-
}
|
|
21
|
-
/** Discovery result used by both `exp list` and execution planning. */
|
|
22
|
-
export interface ExperimentHostListResult {
|
|
23
|
-
readonly evals: readonly DiscoveredEval[];
|
|
24
|
-
readonly experimentIds: readonly string[];
|
|
25
|
-
readonly selections: readonly ExperimentHostSelection[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Discovery and selection are owned here so consumers cannot invoke an
|
|
29
|
-
* Experiment's predicate a second time while reconstructing an AgentRun.
|
|
30
|
-
*/
|
|
31
|
-
declare function list(input: {
|
|
32
|
-
readonly cwd: string;
|
|
33
|
-
/** Keep the CLI's public `--tag` selection inside the Experiment boundary. */
|
|
34
|
-
readonly tag?: string;
|
|
35
|
-
readonly selector?: string;
|
|
36
|
-
readonly evalPatterns?: readonly string[];
|
|
37
|
-
}): Effect.Effect<ExperimentHostListResult, unknown>;
|
|
3
|
+
import type { Config } from "../../runner/types.mjs";
|
|
4
|
+
import { ExperimentHostError, type ExperimentHostHighLevelSDK } from "./types.mjs";
|
|
5
|
+
export * from "./types.mjs";
|
|
38
6
|
export interface ExperimentHostDebugPlanRequest {
|
|
39
7
|
readonly cwd: string;
|
|
40
8
|
readonly config: Config;
|
|
@@ -76,51 +44,9 @@ export type ExperimentHostDebugPlanResult = ExperimentHostDebugPlan | {
|
|
|
76
44
|
* inside the Experiment Host. It deliberately does not construct a Record
|
|
77
45
|
* root, enter a lease, read history, or invoke an author callback.
|
|
78
46
|
*/
|
|
79
|
-
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult,
|
|
80
|
-
export interface
|
|
81
|
-
readonly evals: readonly DiscoveredEval[];
|
|
82
|
-
readonly agentRuns: readonly AgentRun[];
|
|
83
|
-
readonly config: Config;
|
|
84
|
-
readonly recordRoot: RecordRoot;
|
|
85
|
-
readonly rerun?: "failed" | "all";
|
|
86
|
-
readonly keepSandbox?: "failed" | "all";
|
|
87
|
-
/** Omit for a dispatch plan; include only for the read-only `exp --dry` path. */
|
|
88
|
-
readonly previewStartedAt?: number;
|
|
89
|
-
}
|
|
90
|
-
export interface ExperimentHostCurrentPlan {
|
|
91
|
-
readonly slots: readonly ExecutionReusePlanSlot[];
|
|
92
|
-
readonly readbacks: readonly CurrentReuseReadbackSnapshot[];
|
|
93
|
-
}
|
|
94
|
-
export interface ExperimentHostPlan {
|
|
95
|
-
readonly target: ProjectTargetPlan;
|
|
96
|
-
readonly current?: ExperimentHostCurrentPlan;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Reuses the production physical planner and frozen Record reuse planner.
|
|
100
|
-
* It never creates a Run; current history is read only when a dry preview was
|
|
101
|
-
* explicitly requested.
|
|
102
|
-
*/
|
|
103
|
-
declare function plan(input: ExperimentHostPlanRequest): Effect.Effect<Readonly<{
|
|
104
|
-
current?: ExperimentHostCurrentPlan | undefined;
|
|
105
|
-
target: ProjectTargetPlan;
|
|
106
|
-
}>, import("../../record/platform/errors.mjs").RecordResourceLimitInvalid | import("../../record/platform/errors.mjs").RecordRootInvalid | import("../../record/platform/errors.mjs").RecordPathInvalid | import("../../record/platform/errors.mjs").RecordPathTypeInvalid | import("../../record/platform/errors.mjs").RecordPathAlreadyExists | import("../../record/platform/errors.mjs").RecordResourceLimitExceeded | import("../../record/platform/errors.mjs").RecordIoError | import("../../record/platform/errors.mjs").RecordPermissionError | import("../../record/platform/errors.mjs").RecordMaintenanceBusy | import("../../coordination/record-leases.mjs").RecordCoordinationIdentityMismatch | import("../../record/attachment/errors.mjs").RecordAttachmentClosureInvalid | import("../../record/errors/record-errors.mjs").RecordCoreInvalid | import("../../record/errors/record-errors.mjs").RecordReferenceInvalid | import("../../record/reader/errors.mjs").RecordBootstrapInvalid | import("../../record/reader/errors.mjs").RecordMigrationRequired | import("../../record/reader/errors.mjs").RecordFormatUnsupported | import("../../record/reader/errors.mjs").RecordMigrationInterruptedState | import("../../record/reader/errors.mjs").RecordReaderClosed | import("../../record/reader/errors.mjs").RecordHandleInvalid | import("../../record/writer/errors.mjs").RecordWriterClosed | import("../../record/writer/errors.mjs").RecordWriteSessionInvalid | import("../../record/writer/errors.mjs").RecordRunAlreadyCreated | import("../../record/writer/errors.mjs").RecordDraftHandleInvalid | import("../../record/writer/errors.mjs").RecordDraftStateError | import("../../record/writer/errors.mjs").RecordAttachmentEncodeError | import("../../runner/reuse-plan.mjs").ProjectTargetReusePlanInvalid | import("../../runner/reuse-readback.mjs").CurrentReuseReadbackPlanInvalid | import("../../runner/sandbox-selection.mjs").SandboxRunPlanningError | import("../../runner/fingerprint.mjs").FingerprintPlanningFailure | import("../../runner/record.mjs").RunnerRecordTargetInputMissing | import("../../runner/record.mjs").RunnerRecordTargetIdentityInvalid | import("../../runner/record.mjs").RunnerRecordMembershipStateInvalid, import("effect/Scope").Scope | import("../../coordination/record-leases.mjs").RecordCoordination | import("../../record/platform/services.mjs").RecordFileSystem>;
|
|
107
|
-
/** The existing Runner remains the one execution implementation. */
|
|
108
|
-
declare function run<AttachmentError, AttachmentRequirements>(input: RunOptions<AttachmentError, AttachmentRequirements>): Effect.Effect<Readonly<{
|
|
109
|
-
invocationId: string;
|
|
110
|
-
runIds: readonly string[];
|
|
111
|
-
startedAt: string;
|
|
112
|
-
completedAt: string;
|
|
113
|
-
completion: "completed" | "interrupted";
|
|
114
|
-
}>, unknown, import("../../coordination/record-leases.mjs").RecordCoordination | import("../../record/platform/services.mjs").RecordFileSystem | import("../../record/platform/services.mjs").RecordEntropy>;
|
|
115
|
-
/** The existing adoption flow remains the one acceptance implementation. */
|
|
116
|
-
declare function accept(input: AcceptLocatorsOptions): Effect.Effect<readonly import("../../runner/accept.mjs").AcceptedAttempt[], import("../../record/platform/root.mjs").RecordRootConstructionError | import("../../record/attachment/errors.mjs").RecordAttachmentClosureInvalid | import("../../record/errors/record-errors.mjs").RecordCoreInvalid | import("../../record/errors/record-errors.mjs").RecordReferenceInvalid | import("../../record/reader/errors.mjs").RecordReaderClosed | import("../../record/reader/errors.mjs").RecordHandleInvalid | import("../../record/reader/errors.mjs").RecordReaderOpenError | import("../../record/writer/errors.mjs").RecordWriterClosed | import("../../record/writer/errors.mjs").RecordWriteSessionInvalid | import("../../record/writer/errors.mjs").RecordRunAlreadyCreated | import("../../record/writer/errors.mjs").RecordDraftHandleInvalid | import("../../record/writer/errors.mjs").RecordDraftStateError | import("../../record/writer/errors.mjs").RecordAttachmentEncodeError | import("../../runner/adoption.mjs").ExplicitAdoptionError, import("../../coordination/record-leases.mjs").RecordCoordination | import("../../record/platform/services.mjs").RecordFileSystem | import("../../record/platform/services.mjs").RecordEntropy>;
|
|
117
|
-
export interface ExperimentHostSDK {
|
|
118
|
-
readonly list: typeof list;
|
|
119
|
-
readonly plan: typeof plan;
|
|
47
|
+
declare function debug(input: ExperimentHostDebugPlanRequest): Effect.Effect<ExperimentHostDebugPlanResult, ExperimentHostError>;
|
|
48
|
+
export interface ExperimentHostSDK extends ExperimentHostHighLevelSDK {
|
|
120
49
|
readonly debug: typeof debug;
|
|
121
|
-
readonly run: typeof run;
|
|
122
|
-
readonly accept: typeof accept;
|
|
123
50
|
}
|
|
124
51
|
/** The fixed public Host surface; discovery, Runner, and adoption internals stay private. */
|
|
125
52
|
export declare const experimentHost: ExperimentHostSDK;
|
|
126
|
-
export {};
|