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 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["operations.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolve } from \"node:path\";\nimport { Clock, Effect, Either } from \"effect\";\nimport type { AnalysisSelectionRequest } from \"../../analysis/contracts.ts\";\nimport { recordHost } from \"../../record/host/index.ts\";\nimport { makeRecordRoot, type RecordRoot } from \"../../record/platform/root.ts\";\nimport { acceptLocators } from \"../../runner/accept.ts\";\nimport { activateFeedbackSink, type FeedbackSink } from \"../../runner/feedback/sink.ts\";\nimport { computeExitCode } from \"../../runner/feedback/json.ts\";\nimport { discoverEvals, discoverExperiments } from \"../../runner/discover.ts\";\nimport { resolveExperimentEvals } from \"../../runner/eval-selection.ts\";\nimport { planProjectTarget } from \"../../runner/fingerprint.ts\";\nimport { prepareRunnerRecordReuse, withRunnerCurrentReusePreview, } from \"../../runner/record.ts\";\nimport { projectCurrentReuseReadback } from \"../../runner/reuse-readback.ts\";\nimport type { ExecutionReusePlanSlot } from \"../../runner/reuse-plan.ts\";\nimport { runEvals } from \"../../runner/run.ts\";\nimport { isCaseLockExpired, readCaseLockEffect } from \"../../runner/lock.ts\";\nimport { loadProjectCurrent } from \"../../runner/project-current.ts\";\nimport { JUnit } from \"../../runner/reporters/json.ts\";\nimport { listSessions, showSession, SessionTracker, } from \"../../runner/session.ts\";\nimport { linkRunSandboxes, recommendedConcurrencyForPreparedPairs, } from \"../../runner/sandbox-selection.ts\";\nimport { resolveRunTimeout } from \"../../runner/timeout.ts\";\nimport { ExperimentRenameError, planExperimentRename, renameExperiment, type ExperimentRenamePlan as RunnerExperimentRenamePlan, } from \"../../runner/rename-experiment.ts\";\nimport type { AgentRun, DiscoveredEval, DiscoveredExperiment, InvocationSummary, } from \"../../runner/types.ts\";\nimport { evalPrefixPredicate, matchExperimentSelector } from \"../../shared/aggregate.ts\";\nimport { ExperimentHostError } from \"./types.ts\";\nimport { assembleInvocationCompletion, foldInvocationEvalStats } from \"./presentation.ts\";\nimport type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostDryComparison, ExperimentHostDryPlan, ExperimentHostDrySlot, ExperimentHostOperation, ExperimentHostExperimentSummary, ExperimentHostInvocationPlan, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationShape, ExperimentHostInvocationSummary, ExperimentHostJsonValue, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostRunOverrides, ExperimentHostSelectionInput, ExperimentHostSelectionProblem, } from \"./types.ts\";\nfunction operationError(operation: ExperimentHostOperation, cause: unknown): ExperimentHostError {\n if (cause instanceof ExperimentHostError)\n return cause;\n const code = typeof cause === \"object\" && cause !== null && typeof Reflect.get(cause, \"code\") === \"string\"\n ? String(Reflect.get(cause, \"code\"))\n : \"experiment-host-operation-failed\";\n return new ExperimentHostError({\n operation,\n code,\n message: closedFailureMessage(cause),\n });\n}\n/** Preserve one actionable message while closing private Runner error shapes. */\nfunction closedFailureMessage(cause: unknown): string {\n if (cause instanceof Error && cause.message.length > 0)\n return cause.message;\n if (typeof cause === \"object\" && cause !== null) {\n const direct = Reflect.get(cause, \"message\");\n if (typeof direct === \"string\" && direct.length > 0)\n return direct;\n const issue = Reflect.get(cause, \"issue\");\n if (typeof issue === \"object\" && issue !== null) {\n const nested = Reflect.get(issue, \"message\");\n if (typeof nested === \"string\" && nested.length > 0)\n return nested;\n }\n }\n return String(cause);\n}\nfunction closeOperation<A, E, R>(operation: ExperimentHostOperation, effect: Effect.Effect<A, E, R>): Effect.Effect<A, ExperimentHostError, R> {\n return effect.pipe(Effect.mapError((cause) => operationError(operation, cause)));\n}\ninterface ClosedSelection {\n readonly evals: readonly DiscoveredEval[];\n readonly experimentIds: readonly string[];\n readonly selections: readonly {\n readonly experiment: DiscoveredExperiment;\n readonly selectedEvalIds: readonly string[];\n readonly selectorEvalIds: readonly string[];\n }[];\n}\ninterface PreparedInvocationState {\n readonly evals: readonly DiscoveredEval[];\n readonly runs: readonly AgentRun[];\n readonly config: ExperimentHostInvocationPlanRequest[\"config\"];\n readonly recordRoot: RecordRoot;\n readonly coordinationRoot: string;\n readonly overrides: ExperimentHostRunOverrides;\n readonly shape: ExperimentHostInvocationShape;\n consumed: boolean;\n}\nconst invocationPlans = new WeakMap<object, PreparedInvocationState>();\nfunction freezeArray<A>(values: Iterable<A>): readonly A[] {\n return Object.freeze([...values]);\n}\nfunction selectionProblem(input: ExperimentHostSelectionInput, selected: ClosedSelection): ExperimentHostSelectionProblem | undefined {\n if (input.experimentSelector !== undefined && selected.selections.length === 0) {\n return Object.freeze({\n status: \"experiment-no-match\" as const,\n selector: input.experimentSelector,\n candidates: freezeArray([...selected.experimentIds].sort()),\n });\n }\n const selectorEvalIds = freezeArray(new Set(selected.selections.flatMap((entry) => entry.selectorEvalIds)));\n for (const selector of input.evalSelectors ?? []) {\n if (selectorEvalIds.some((id) => evalPrefixPredicate([selector])(id)))\n continue;\n return Object.freeze({\n status: \"eval-no-match\" as const,\n selector,\n experimentIds: freezeArray(selected.selections.map(({ experiment }) => experiment.id)),\n candidates: freezeArray([...selectorEvalIds].sort()),\n });\n }\n if (selected.selections.every((entry) => entry.selectedEvalIds.length === 0)) {\n return Object.freeze({\n status: \"empty-selection\" as const,\n experimentIds: freezeArray(selected.selections.map(({ experiment }) => experiment.id)),\n candidates: freezeArray([...selected.experimentIds].sort()),\n });\n }\n return undefined;\n}\nfunction closeSelection(input: ExperimentHostSelectionInput): Effect.Effect<ClosedSelection, unknown> {\n return Effect.gen(function* () {\n const discovered = yield* discoverEvals(input.cwd);\n const evals = input.tag === undefined\n ? discovered\n : discovered.filter((definition) => definition.tags?.includes(input.tag!));\n const experiments = yield* discoverExperiments(input.cwd);\n const experimentIds = freezeArray(experiments.map((experiment) => experiment.id));\n const selectedIds = input.experimentSelector === undefined\n ? undefined\n : new Set(matchExperimentSelector(experimentIds, input.experimentSelector));\n const selections = experiments\n .filter((experiment) => selectedIds === undefined || selectedIds.has(experiment.id))\n .map((experiment) => {\n const selection = resolveExperimentEvals({\n experimentId: experiment.id,\n selector: experiment.evals,\n cliPatterns: input.evalSelectors ?? [],\n evals,\n });\n return Object.freeze({\n experiment,\n selectedEvalIds: freezeArray(selection.selectedEvalIds),\n selectorEvalIds: freezeArray(selection.selectorEvals.map((definition) => definition.id)),\n });\n });\n return Object.freeze({\n evals: freezeArray(evals),\n experimentIds,\n selections: freezeArray(selections),\n });\n });\n}\nfunction summaryOfExperiment(experiment: DiscoveredExperiment, evalIds: readonly string[]): ExperimentHostExperimentSummary {\n return Object.freeze({\n id: experiment.id,\n ...(experiment.description === undefined ? {} : { description: experiment.description }),\n agent: experiment.agent.name,\n ...(experiment.model === undefined ? {} : { model: experiment.model }),\n attempts: experiment.attempts ?? 1,\n evalIds: freezeArray(evalIds),\n labels: Object.freeze({ ...(experiment.labels ?? {}) }),\n hasSetup: typeof experiment.setup === \"function\",\n hasTeardown: typeof experiment.teardown === \"function\",\n ...(experiment.sharedState === undefined ? {} : { sharedStateKey: experiment.sharedState.key }),\n });\n}\nexport function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError> {\n return closeOperation(\"catalog\", closeSelection(input).pipe(Effect.map((selected) => Object.freeze({\n status: \"listed\" as const,\n evals: freezeArray(selected.evals.map((definition) => Object.freeze({\n id: definition.id,\n ...(definition.description === undefined ? {} : { description: definition.description }),\n tags: freezeArray(definition.tags ?? []),\n evaluationKind: definition.evaluationKind,\n }))),\n experimentIds: selected.experimentIds,\n experiments: freezeArray(selected.selections.map(({ experiment, selectedEvalIds }) => summaryOfExperiment(experiment, selectedEvalIds))),\n }))));\n}\nfunction agentRunFromExperiment(experiment: DiscoveredExperiment, selectedEvalIds: readonly string[], overrides: ExperimentHostRunOverrides): AgentRun {\n return Object.freeze({\n agent: experiment.agent,\n model: experiment.model,\n reasoningEffort: experiment.reasoningEffort,\n flags: experiment.flags ?? {},\n plugins: experiment.plugins,\n attempts: overrides.attempts ?? experiment.attempts ?? 1,\n earlyExit: overrides.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(overrides.timeoutMs, experiment.timeoutMs),\n budget: overrides.budget ?? experiment.budget,\n selectedEvalIds: freezeArray(selectedEvalIds),\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}\nfunction prepareRuns(input: ExperimentHostSelectionInput & {\n readonly overrides?: ExperimentHostRunOverrides;\n}) {\n return closeSelection(input).pipe(Effect.map((selected) => {\n const problem = selectionProblem(input, selected);\n if (problem !== undefined)\n return { status: \"problem\", selected, problem } as const;\n const overrides = input.overrides ?? {};\n return {\n status: \"ready\",\n selected,\n runs: freezeArray(selected.selections.map(({ experiment, selectedEvalIds }) => agentRunFromExperiment(experiment, selectedEvalIds, overrides))),\n } as const;\n }));\n}\nexport function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError> {\n return closeOperation(\"check\", Effect.gen(function* () {\n const prepared = yield* prepareRuns(input);\n if (prepared.status === \"problem\")\n return prepared.problem;\n const pairs = yield* linkRunSandboxes(prepared.selected.evals, prepared.runs);\n return Object.freeze({\n status: \"linked\" as const,\n experimentIds: freezeArray(prepared.runs.map((run) => run.experimentId!)),\n evalIds: freezeArray(new Set(prepared.runs.flatMap((run) => run.selectedEvalIds))),\n pairCount: pairs.length,\n });\n }));\n}\n/**\n * Report-facing project-current resolution. Discovery, selection, identity\n * planning, and the resulting watch set close here so a CLI never reaches\n * into Runner to reconstruct the same target.\n */\nexport function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError> {\n return closeOperation(\"resolve-project-current\", Effect.gen(function* () {\n const loaded = yield* loadProjectCurrent(input.cwd, {\n config: input.config,\n ...(input.experimentSelectors === undefined ? {} : { experiments: input.experimentSelectors }),\n ...(input.freshImport === undefined ? {} : { freshImport: input.freshImport }),\n });\n const experimentIds = input.experimentSelectors === undefined\n ? undefined\n : freezeArray(new Set(loaded.currentSlots.map((slot) => slot.experimentId)));\n const selection: AnalysisSelectionRequest = Object.freeze({\n policy: \"project-current\" as const,\n currentSlots: loaded.currentSlots,\n ...(experimentIds === undefined ? {} : { experimentIds }),\n });\n return Object.freeze({\n selection,\n currentSlots: loaded.currentSlots,\n watchInputs: freezeArray(loaded.watchInputs),\n });\n }));\n}\n/** Session data is intentionally presented as a closed, transient document. */\nexport function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError> {\n return closeOperation(\"invocation-status-list\", listSessions(resolve(input.cwd, \".niceeval\"), {\n ...(input.all === true ? { all: true } : {}),\n ...(input.experimentSelector === undefined ? {} : { selector: input.experimentSelector }),\n }));\n}\nexport function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError> {\n return closeOperation(\"invocation-status-show\", showSession(resolve(input.cwd, \".niceeval\"), input.invocationSelector));\n}\nfunction recordRoot(input: ExperimentHostInvocationPlanRequest) {\n return makeRecordRoot(resolve(input.cwd, input.recordRoot ?? \".niceeval/record\"));\n}\n/** Only the four explicit mutation/plan entry points may trigger migration. */\nfunction ensureAutomaticMigration(input: {\n readonly cwd: string;\n readonly recordRoot?: string;\n}) {\n return Effect.gen(function* () {\n const root = makeRecordRoot(resolve(input.cwd, input.recordRoot ?? \".niceeval/record\"));\n if (Either.isLeft(root))\n return yield* Effect.fail(root.left);\n return yield* recordHost.ensureAutomaticMigration({ root: root.right });\n });\n}\nfunction comparisonOf(slot: ExecutionReusePlanSlot): readonly ExperimentHostDryComparison[] {\n return freezeArray(slot.comparisons.map((comparison) => Object.freeze({ ...comparison })));\n}\nfunction jsonSnapshot(value: unknown): ExperimentHostJsonValue | undefined {\n try {\n return freezeJson(JSON.parse(JSON.stringify(value)) as ExperimentHostJsonValue);\n }\n catch {\n return undefined;\n }\n}\nfunction freezeJson(value: ExperimentHostJsonValue): ExperimentHostJsonValue {\n if (Array.isArray(value))\n return Object.freeze(value.map(freezeJson));\n if (typeof value === \"object\" && value !== null) {\n return Object.freeze(Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, freezeJson(entry)])));\n }\n return value;\n}\nfunction dryPlan(slots: readonly ExecutionReusePlanSlot[], readbacks: readonly ReturnType<typeof projectCurrentReuseReadback>[], lockedPairs: readonly string[], evalGroups: ReadonlyMap<string, {\n readonly id: string;\n readonly index: number;\n}>): ExperimentHostDryPlan {\n const projected: ExperimentHostDrySlot[] = slots.map((slot) => {\n const evalGroup = evalGroups.get(slot.evalId);\n const target = Object.freeze({\n runId: slot.runId,\n slotId: slot.slotId,\n experimentId: slot.experimentId,\n evalId: slot.evalId,\n ...(evalGroup === undefined ? {} : { evalGroupId: evalGroup.id, evalGroupIndex: evalGroup.index }),\n attempt: slot.attempt,\n });\n if (slot.state === \"reuse\") {\n return Object.freeze({\n state: \"reuse\" as const,\n target,\n source: Object.freeze({\n attemptId: slot.source.attemptId,\n originRunId: slot.source.origin.runId,\n originSlotId: slot.source.origin.slotId,\n sourceRunId: slot.source.sourceBarrier.runId,\n }),\n comparisons: comparisonOf(slot),\n });\n }\n return Object.freeze({\n state: \"gap\" as const,\n target,\n reason: slot.reason,\n scope: slot.scope,\n issues: freezeArray(slot.issues.map((issue) => jsonSnapshot(issue) ?? Object.freeze({}))),\n comparisons: comparisonOf(slot),\n });\n });\n return Object.freeze({\n policy: Object.freeze({ name: \"project-target\" as const, version: 1 as const }),\n slots: freezeArray(projected),\n readbacks: freezeArray(readbacks),\n lockedPairs: freezeArray(lockedPairs),\n });\n}\nexport function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"invocation-plan\", Effect.gen(function* () {\n // Invocation planning is the explicit `exp` / `exp --dry` boundary. Do\n // not move this to catalog, check, debug, teardown, or session reads: those\n // operations must remain migration-free observations.\n const automaticMigration = yield* ensureAutomaticMigration(input);\n const prepared = yield* prepareRuns(input);\n if (prepared.status === \"problem\") {\n return Object.freeze({ ...prepared.problem, automaticMigration });\n }\n const root = recordRoot(input);\n if (Either.isLeft(root))\n return yield* Effect.fail(root.left);\n const config = Object.freeze({\n ...input.config,\n ...(input.config.reporters === undefined\n ? {}\n : { reporters: [...input.config.reporters] }),\n });\n const overrides = Object.freeze({ ...(input.overrides ?? {}) });\n const target = yield* planProjectTarget(prepared.selected.evals, prepared.runs, config.timeoutMs, {\n configJudge: config.judge,\n ...(overrides.keepSandbox === undefined ? {} : { keepSandbox: overrides.keepSandbox }),\n });\n const maxConcurrency = overrides.maxConcurrency\n ?? config.maxConcurrency\n ?? recommendedConcurrencyForPreparedPairs([...target.preparedPairsByKey.values()]);\n const maxBuildConcurrency = overrides.maxBuildConcurrency\n ?? config.maxBuildConcurrency\n ?? 2;\n if (!Number.isInteger(maxConcurrency) || maxConcurrency <= 0) {\n return yield* Effect.fail(new Error(`maxConcurrency must be a positive integer, got ${maxConcurrency}.`));\n }\n if (!Number.isInteger(maxBuildConcurrency) || maxBuildConcurrency <= 0) {\n return yield* Effect.fail(new Error(`maxBuildConcurrency must be a positive integer, got ${maxBuildConcurrency}.`));\n }\n const uniqueEvalIds = new Set(prepared.runs.flatMap((run) => run.selectedEvalIds));\n const totalAttempts = prepared.runs.reduce((sum, run) => sum + run.selectedEvalIds.length * run.attempts, 0);\n const experimentConcurrency = Object.freeze(Object.fromEntries(prepared.runs.flatMap((run) => run.experimentId !== undefined && run.maxConcurrency !== undefined\n ? [[run.experimentId, run.maxConcurrency] as const]\n : [])));\n const shape: ExperimentHostInvocationShape = Object.freeze({\n experiments: prepared.runs.length,\n evals: uniqueEvalIds.size,\n configurations: prepared.runs.length,\n totalAttempts,\n attempts: Math.max(1, ...prepared.runs.map((run) => run.attempts)),\n maxConcurrency,\n maxBuildConcurrency,\n experimentConcurrency,\n });\n const reuse = yield* prepareRunnerRecordReuse({\n evals: prepared.selected.evals,\n runs: prepared.runs,\n config: { timeoutMs: config.timeoutMs },\n plannedFingerprints: target.plannedFingerprints,\n plannedConfigHashes: target.plannedConfigHashes,\n ...(overrides.rerun === undefined ? {} : { rerun: overrides.rerun }),\n ...(overrides.keepSandbox === undefined ? {} : { keepSandbox: overrides.keepSandbox }),\n });\n const previewStartedAt = input.preview === true ? yield* Clock.currentTimeMillis : undefined;\n const preview = previewStartedAt !== undefined\n ? yield* Effect.scoped(withRunnerCurrentReusePreview({\n recordRoot: root.right,\n startedAt: previewStartedAt,\n evals: prepared.selected.evals,\n runs: prepared.runs,\n reuse,\n use: ({ reusePlan, readReadbacks }) => Effect.gen(function* () {\n const readbacks = yield* readReadbacks();\n const now = yield* Clock.currentTimeMillis;\n const pairs = new Map(reusePlan.slots.map((slot) => [\n JSON.stringify([slot.experimentId, slot.evalId]),\n [slot.experimentId, slot.evalId] as const,\n ]));\n const locked = yield* Effect.all([...pairs].map(([key, [experimentId, evalId]]) => readCaseLockEffect(resolve(input.cwd, input.coordinationRoot ?? \".niceeval\"), experimentId, evalId).pipe(Effect.catchAll(() => Effect.succeed(undefined)), Effect.map((record) => record !== undefined && !isCaseLockExpired(record, now) ? key : undefined))), { concurrency: \"unbounded\" });\n return dryPlan(reusePlan.slots, readbacks.map(projectCurrentReuseReadback), locked.filter((key): key is string => key !== undefined), new Map(prepared.selected.evals.flatMap((definition) => definition.evalGroup === undefined\n ? []\n : [[definition.id, {\n id: definition.evalGroup.id,\n index: definition.evalGroup.evalIds.indexOf(definition.id),\n }] as const])));\n }),\n }))\n : undefined;\n const plan = Object.freeze({}) as ExperimentHostInvocationPlan;\n invocationPlans.set(plan, {\n evals: prepared.selected.evals,\n runs: prepared.runs,\n config,\n recordRoot: root.right,\n coordinationRoot: resolve(input.cwd, input.coordinationRoot ?? \".niceeval\"),\n overrides,\n shape,\n consumed: false,\n });\n const occurrenceAudits = new Map<string, ExperimentHostJsonValue>();\n for (const pair of target.preparedPairsByKey.values()) {\n for (const occurrence of pair.plugin.occurrences) {\n const audit = jsonSnapshot(occurrence.audit);\n if (audit !== undefined)\n occurrenceAudits.set(JSON.stringify(audit), audit);\n }\n }\n return Object.freeze({\n status: \"ready\" as const,\n automaticMigration,\n plan,\n shape,\n experimentIds: freezeArray(prepared.runs.map((run) => run.experimentId!)),\n evalIds: freezeArray(uniqueEvalIds),\n pluginAudit: Object.freeze({ occurrences: freezeArray(occurrenceAudits.values()) }),\n ...(preview === undefined ? {} : { dry: preview }),\n });\n }));\n}\nfunction multiplexFeedbackSink(feedback: FeedbackSink | undefined, session: SessionTracker | undefined, isFeedbackStarted: () => boolean): FeedbackSink {\n const forward = <A extends unknown[]>(method: (sink: FeedbackSink, ...args: A) => void, ...args: A): void => {\n if (!isFeedbackStarted() || feedback === undefined)\n return;\n method(feedback, ...args);\n };\n return {\n activity: (detail) => forward((sink, value) => sink.activity(value), detail),\n diagnostic: (input) => forward((sink, value) => sink.diagnostic(value), input),\n interrupted: () => forward((sink) => sink.interrupted()),\n reporterError: (input) => forward((sink, value) => sink.reporterError(value), input),\n failure: (input) => forward((sink, value) => sink.failure(value), input),\n budgetExhausted: (input) => forward((sink, value) => sink.budgetExhausted(value), input),\n kept: (input) => forward((sink, value) => sink.kept(value), input),\n experimentHook: (input) => {\n session?.onInvocationEvent({ type: \"experiment-hook\", ...input });\n forward((sink, value) => sink.experimentHook(value), input);\n },\n precheck: (input) => forward((sink, value) => sink.precheck(value), input),\n lockWait: (input) => {\n session?.onInvocationEvent({ type: \"lock-wait\", ...input });\n forward((sink, value) => sink.lockWait(value), input);\n },\n runActivity: (input) => forward((sink, value) => sink.runActivity(value), input),\n experimentProgress: (input) => forward((sink, value) => sink.experimentProgress(value), input),\n lifecycle: (event) => {\n if (event.type === \"attempt:start\" || event.type === \"attempt:complete\" || event.type === \"attempt:early-exit\") {\n session?.onInvocationEvent(event);\n }\n forward((sink, value) => sink.lifecycle(value), event);\n },\n };\n}\nfunction summaryOf(summary: InvocationSummary): ExperimentHostInvocationSummary {\n return Object.freeze({\n total: summary.passed + summary.failed + summary.skipped + summary.errored,\n passed: summary.passed,\n failed: summary.failed,\n skipped: summary.skipped,\n errored: summary.errored,\n durationMs: summary.durationMs,\n ...(summary.usage?.inputTokens === undefined ? {} : { inputTokens: summary.usage.inputTokens }),\n ...(summary.usage?.outputTokens === undefined ? {} : { outputTokens: summary.usage.outputTokens }),\n ...(summary.estimatedCostUSD === undefined ? {} : { estimatedCostUSD: summary.estimatedCostUSD }),\n });\n}\nexport function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements> {\n return Effect.scoped(closeOperation(\"invocation-run\", Effect.gen(function* () {\n const state = invocationPlans.get(input.plan as object);\n if (state === undefined || state.consumed) {\n return yield* Effect.fail(new Error(\"Experiment Host invocation plan is forged, copied, or already consumed.\"));\n }\n state.consumed = true;\n let completedSummary: InvocationSummary | undefined;\n const reporters = [\n ...(input.junitPath === undefined ? [] : [{\n reporter: JUnit(input.junitPath),\n name: \"junit\",\n required: true,\n target: input.junitPath,\n }]),\n ...(state.config.reporters ?? []).map((reporter, index) => ({\n reporter,\n name: `config-reporter-${index}`,\n required: false,\n })),\n {\n name: \"experiment-host-summary\",\n required: false,\n reporter: { onInvocationComplete(summary: InvocationSummary) { completedSummary = summary; } },\n },\n ];\n // Session indexing is a Host-owned, project-local observation. Runner only\n // receives the private tracker mechanism; this enclosing Scope closes its\n // heartbeat worker on success, typed failure, or interruption.\n const session = new SessionTracker(state.coordinationRoot);\n let sessionClosed = false;\n let feedbackStarted = false;\n let feedbackFinished = false;\n yield* Effect.addFinalizer(() => sessionClosed\n ? Effect.void\n : session.close({ status: \"incomplete\" }).pipe(Effect.ignore));\n yield* Effect.addFinalizer(() => !feedbackStarted || feedbackFinished || input.feedback === undefined\n ? Effect.void\n : Effect.tryPromise({\n try: () => input.feedback!.coordinator.stopDynamic(),\n catch: () => undefined,\n }).pipe(Effect.ignore));\n const feedback = input.feedback?.coordinator;\n const sink = multiplexFeedbackSink(feedback, session, () => feedbackStarted);\n const receipt = yield* Effect.acquireUseRelease(Effect.sync(() => activateFeedbackSink(sink)), () => runEvals({\n config: state.config,\n evals: state.evals,\n agentRuns: state.runs,\n reporters,\n maxConcurrency: state.shape.maxConcurrency,\n maxBuildConcurrency: state.shape.maxBuildConcurrency,\n coordinationRoot: state.coordinationRoot,\n recordRoot: state.recordRoot,\n ...(state.overrides.keepSandbox === undefined ? {} : { keepSandbox: state.overrides.keepSandbox }),\n ...(state.overrides.rerun === undefined ? {} : { rerun: state.overrides.rerun }),\n session,\n ...(input.signal === undefined ? {} : { signal: input.signal }),\n onCurrentRecordReusePlan: (current) => Effect.sync(() => {\n if (feedback === undefined)\n return;\n feedback.start({\n shape: Object.freeze({\n evals: state.shape.evals,\n configs: state.shape.configurations,\n totalAttempts: state.shape.totalAttempts,\n maxConcurrency: state.shape.maxConcurrency,\n runIds: current.runIds,\n }),\n ...(Object.keys(state.shape.experimentConcurrency).length === 0\n ? {}\n : { experimentConcurrency: state.shape.experimentConcurrency }),\n reused: current.reused,\n ...(current.reusedFailures.length === 0\n ? {}\n : { reusedFailures: current.reusedFailures }),\n });\n feedbackStarted = true;\n }),\n }), (deactivate) => Effect.sync(deactivate));\n const summary = completedSummary;\n if (summary === undefined) {\n return yield* Effect.fail(new Error(\"Runner completed without an invocation summary.\"));\n }\n if (feedback !== undefined && !feedbackStarted) {\n return yield* Effect.fail(new Error(\"Runner completed without starting Experiment feedback.\"));\n }\n const completion = feedback === undefined\n ? undefined\n : assembleInvocationCompletion(feedback.state);\n yield* session.close({\n status: completion?.status ?? (receipt.completion === \"completed\"\n ? \"complete\"\n : receipt.completion === \"interrupted\"\n ? \"interrupted\"\n : \"incomplete\"),\n ...(completion === undefined ? {} : { completion }),\n receipt,\n ...(receipt.completedAt === undefined ? {} : { completedAt: receipt.completedAt }),\n });\n sessionClosed = true;\n if (feedback !== undefined && completion !== undefined) {\n yield* Effect.tryPromise({\n try: () => feedback.finish({ summary, completion, receipt }),\n catch: (cause) => cause,\n });\n feedbackFinished = true;\n }\n const foldedStats = completion === undefined ? undefined : foldInvocationEvalStats(summary);\n return Object.freeze({\n status: \"finished\" as const,\n receipt: Object.freeze({\n invocationId: receipt.invocationId,\n runIds: freezeArray(receipt.runIds),\n startedAt: receipt.startedAt,\n ...(receipt.completedAt === undefined ? {} : { completedAt: receipt.completedAt }),\n completion: receipt.completion,\n }),\n summary: summaryOf(summary),\n ...(completion === undefined ? {} : {\n completion,\n exitCode: computeExitCode({\n ...summary,\n failed: foldedStats!.failed,\n errored: foldedStats!.errored,\n }, completion),\n }),\n });\n })));\n}\nfunction freezeRenamePlan(plan: RunnerExperimentRenamePlan): ExperimentHostRenamePlan {\n return Object.freeze({\n status: \"plan\",\n oldId: plan.oldId,\n newId: plan.newId,\n migrations: freezeArray(plan.migrations.map((entry) => Object.freeze({ ...entry }))),\n excluded: freezeArray(plan.excluded.map((entry) => Object.freeze({ ...entry }))),\n ...(plan.blocked === undefined ? {} : { blocked: Object.freeze({\n ...plan.blocked,\n ...(plan.blocked.conflictingEvals === undefined\n ? {}\n : { conflictingEvals: freezeArray(plan.blocked.conflictingEvals) }),\n }) }),\n });\n}\nexport function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"rename-plan\", ensureAutomaticMigration(input).pipe(Effect.zipRight(planExperimentRename(input)), Effect.map(freezeRenamePlan)));\n}\nexport function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"rename-apply\", Effect.gen(function* () {\n yield* ensureAutomaticMigration(input);\n const outcome = yield* Effect.either(renameExperiment(input));\n if (Either.isLeft(outcome)) {\n if (!(outcome.left instanceof ExperimentRenameError))\n return yield* Effect.fail(outcome.left);\n return Object.freeze({\n status: \"rejected\" as const,\n oldId: input.oldId,\n newId: input.newId,\n reason: outcome.left.reason,\n ...(outcome.left.plan?.blocked?.evalId === undefined ? {} : { evalId: outcome.left.plan.blocked.evalId }),\n ...(outcome.left.plan?.blocked?.conflictingEvals === undefined\n ? {}\n : { conflictingEvals: freezeArray(outcome.left.plan.blocked.conflictingEvals) }),\n ...(outcome.left.message === \"\" ? {} : { detail: outcome.left.message }),\n }) satisfies ExperimentHostRenameResult;\n }\n const done = outcome.right;\n return Object.freeze({\n status: \"done\" as const,\n invocationId: done.invocationId,\n runId: done.runId,\n snapshotPath: done.snapshotPath,\n oldId: done.oldId,\n newId: done.newId,\n migrated: freezeArray(done.migrated.map((entry) => Object.freeze({\n evalId: entry.evalId,\n sourceLocator: entry.sourceLocator,\n locator: entry.locator,\n fingerprint: entry.fingerprint,\n verdict: entry.verdict,\n }))),\n }) satisfies ExperimentHostRenameResult;\n }));\n}\nexport function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements> {\n return closeOperation(\"accept\", ensureAutomaticMigration(input).pipe(Effect.zipRight(acceptLocators(input)), Effect.map((receipts) => freezeArray(receipts.map((receipt) => Object.freeze({\n invocationId: receipt.invocationId,\n runId: receipt.runId,\n slotId: receipt.slotId,\n locator: receipt.locator,\n sourceLocator: receipt.sourceLocator,\n fingerprint: receipt.fingerprint,\n }))))));\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { ExperimentHostError } from "./types.cjs";
|
|
3
|
+
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.cjs";
|
|
4
|
+
export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
|
|
5
|
+
export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
|
|
6
|
+
/**
|
|
7
|
+
* Report-facing project-current resolution. Discovery, selection, identity
|
|
8
|
+
* planning, and the resulting watch set close here so a CLI never reaches
|
|
9
|
+
* into Runner to reconstruct the same target.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
|
|
12
|
+
/** Session data is intentionally presented as a closed, transient document. */
|
|
13
|
+
export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
|
|
14
|
+
export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
|
|
15
|
+
export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
16
|
+
export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
17
|
+
export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
|
|
18
|
+
export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
19
|
+
export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { ExperimentHostError } from "./types.mjs";
|
|
3
|
+
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.mjs";
|
|
4
|
+
export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
|
|
5
|
+
export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
|
|
6
|
+
/**
|
|
7
|
+
* Report-facing project-current resolution. Discovery, selection, identity
|
|
8
|
+
* planning, and the resulting watch set close here so a CLI never reaches
|
|
9
|
+
* into Runner to reconstruct the same target.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
|
|
12
|
+
/** Session data is intentionally presented as a closed, transient document. */
|
|
13
|
+
export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
|
|
14
|
+
export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
|
|
15
|
+
export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
16
|
+
export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
17
|
+
export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
|
|
18
|
+
export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
19
|
+
export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { ExperimentHostError } from "./types.js";
|
|
3
|
+
import type { ExperimentHostAcceptRequest, ExperimentHostAcceptedAttempt, ExperimentHostCatalog, ExperimentHostCheckRequest, ExperimentHostCheckResult, ExperimentHostInvocationPlanRequest, ExperimentHostInvocationPlanResult, ExperimentHostInvocationResult, ExperimentHostInvocationRunRequest, ExperimentHostInvocationStatusList, ExperimentHostInvocationStatusListRequest, ExperimentHostInvocationStatusShow, ExperimentHostInvocationStatusShowRequest, ExperimentHostProjectCurrentRequest, ExperimentHostProjectCurrentTarget, ExperimentHostRenamePlan, ExperimentHostRenameRequest, ExperimentHostRenameResult, ExperimentHostRequirements, ExperimentHostSelectionInput } from "./types.js";
|
|
4
|
+
export declare function catalog(input: ExperimentHostSelectionInput): Effect.Effect<ExperimentHostCatalog, ExperimentHostError>;
|
|
5
|
+
export declare function check(input: ExperimentHostCheckRequest): Effect.Effect<ExperimentHostCheckResult, ExperimentHostError>;
|
|
6
|
+
/**
|
|
7
|
+
* Report-facing project-current resolution. Discovery, selection, identity
|
|
8
|
+
* planning, and the resulting watch set close here so a CLI never reaches
|
|
9
|
+
* into Runner to reconstruct the same target.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveProjectCurrentTarget(input: ExperimentHostProjectCurrentRequest): Effect.Effect<ExperimentHostProjectCurrentTarget, ExperimentHostError>;
|
|
12
|
+
/** Session data is intentionally presented as a closed, transient document. */
|
|
13
|
+
export declare function listInvocationStatus(input: ExperimentHostInvocationStatusListRequest): Effect.Effect<ExperimentHostInvocationStatusList, ExperimentHostError>;
|
|
14
|
+
export declare function showInvocationStatus(input: ExperimentHostInvocationStatusShowRequest): Effect.Effect<ExperimentHostInvocationStatusShow, ExperimentHostError>;
|
|
15
|
+
export declare function planInvocation(input: ExperimentHostInvocationPlanRequest): Effect.Effect<ExperimentHostInvocationPlanResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
16
|
+
export declare function runInvocation(input: ExperimentHostInvocationRunRequest): Effect.Effect<ExperimentHostInvocationResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
17
|
+
export declare function planRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenamePlan, ExperimentHostError, ExperimentHostRequirements>;
|
|
18
|
+
export declare function applyRename(input: ExperimentHostRenameRequest): Effect.Effect<ExperimentHostRenameResult, ExperimentHostError, ExperimentHostRequirements>;
|
|
19
|
+
export declare function accept(input: ExperimentHostAcceptRequest): Effect.Effect<readonly ExperimentHostAcceptedAttempt[], ExperimentHostError, ExperimentHostRequirements>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./operations.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["accept"];
|
|
5
|
+
export { __niceevalExport0 as accept };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["applyRename"];
|
|
7
|
+
export { __niceevalExport1 as applyRename };
|
|
8
|
+
const __niceevalExport2 = __niceevalCanonical["catalog"];
|
|
9
|
+
export { __niceevalExport2 as catalog };
|
|
10
|
+
const __niceevalExport3 = __niceevalCanonical["check"];
|
|
11
|
+
export { __niceevalExport3 as check };
|
|
12
|
+
const __niceevalExport4 = __niceevalCanonical["listInvocationStatus"];
|
|
13
|
+
export { __niceevalExport4 as listInvocationStatus };
|
|
14
|
+
const __niceevalExport5 = __niceevalCanonical["planInvocation"];
|
|
15
|
+
export { __niceevalExport5 as planInvocation };
|
|
16
|
+
const __niceevalExport6 = __niceevalCanonical["planRename"];
|
|
17
|
+
export { __niceevalExport6 as planRename };
|
|
18
|
+
const __niceevalExport7 = __niceevalCanonical["resolveProjectCurrentTarget"];
|
|
19
|
+
export { __niceevalExport7 as resolveProjectCurrentTarget };
|
|
20
|
+
const __niceevalExport8 = __niceevalCanonical["runInvocation"];
|
|
21
|
+
export { __niceevalExport8 as runInvocation };
|
|
22
|
+
const __niceevalExport9 = __niceevalCanonical["showInvocationStatus"];
|
|
23
|
+
export { __niceevalExport9 as showInvocationStatus };
|
|
24
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assembleInvocationCompletion = assembleInvocationCompletion;
|
|
4
|
+
exports.foldInvocationEvalStats = foldInvocationEvalStats;
|
|
5
|
+
const verdict_ts_1 = require("../../shared/verdict.cjs");
|
|
6
|
+
/**
|
|
7
|
+
* Fold the one feedback reducer state into the Invocation completeness fact.
|
|
8
|
+
* Renderers and CLI commands consume this result; none of them reclassifies
|
|
9
|
+
* diagnostics independently.
|
|
10
|
+
*/
|
|
11
|
+
function assembleInvocationCompletion(state) {
|
|
12
|
+
let unstarted = 0;
|
|
13
|
+
let failFastSkipped = 0;
|
|
14
|
+
let haltedSkipped = 0;
|
|
15
|
+
let interrupted = false;
|
|
16
|
+
const reporterErrors = [];
|
|
17
|
+
for (const diagnostic of state.diagnostics) {
|
|
18
|
+
const code = diagnostic.code ?? diagnostic.key.split(":", 1)[0];
|
|
19
|
+
if (code === "interrupted") {
|
|
20
|
+
interrupted = true;
|
|
21
|
+
}
|
|
22
|
+
else if (code === "budget-exhausted") {
|
|
23
|
+
unstarted += diagnostic.count;
|
|
24
|
+
}
|
|
25
|
+
else if (code === "fail-fast") {
|
|
26
|
+
unstarted += diagnostic.count;
|
|
27
|
+
failFastSkipped += diagnostic.count;
|
|
28
|
+
}
|
|
29
|
+
else if (code === "dispatch-halted") {
|
|
30
|
+
const halted = typeof diagnostic.data?.unstarted === "number"
|
|
31
|
+
? diagnostic.data.unstarted
|
|
32
|
+
: 0;
|
|
33
|
+
unstarted += halted;
|
|
34
|
+
haltedSkipped += halted;
|
|
35
|
+
}
|
|
36
|
+
else if (code === "reporter-error" && diagnostic.data?.required === true) {
|
|
37
|
+
reporterErrors.push(Object.freeze({
|
|
38
|
+
reporter: typeof diagnostic.data.reporter === "string"
|
|
39
|
+
? diagnostic.data.reporter
|
|
40
|
+
: diagnostic.key.slice("reporter-error:".length),
|
|
41
|
+
required: true,
|
|
42
|
+
message: diagnostic.message,
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (interrupted)
|
|
47
|
+
unstarted += state.queued;
|
|
48
|
+
const earlyExitUnstarted = Math.max(0, state.earlyExitSkipped - failFastSkipped - haltedSkipped);
|
|
49
|
+
const status = interrupted
|
|
50
|
+
? "interrupted"
|
|
51
|
+
: unstarted > 0 || reporterErrors.length > 0
|
|
52
|
+
? "incomplete"
|
|
53
|
+
: "complete";
|
|
54
|
+
return Object.freeze({
|
|
55
|
+
status,
|
|
56
|
+
unstarted,
|
|
57
|
+
earlyExitUnstarted,
|
|
58
|
+
reporterErrors: Object.freeze(reporterErrors),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** Fresh results and current Record readbacks share one Eval-level exit fold. */
|
|
62
|
+
function foldInvocationEvalStats(summary) {
|
|
63
|
+
const terminals = [
|
|
64
|
+
...summary.results.map((result) => Object.freeze({
|
|
65
|
+
identity: `${result.experimentId ?? ""}|${result.id}`,
|
|
66
|
+
verdict: result.verdict,
|
|
67
|
+
})),
|
|
68
|
+
...summary.reusedAttempts.map((readback) => Object.freeze({
|
|
69
|
+
identity: `${readback.target.experimentId}|${readback.target.evalId}`,
|
|
70
|
+
verdict: readback.source.evaluationKind !== "score"
|
|
71
|
+
? readback.verdict
|
|
72
|
+
: readback.score.state === "applicable" &&
|
|
73
|
+
readback.score.attachment.state === "available" &&
|
|
74
|
+
readback.score.attachment.value.state === "complete"
|
|
75
|
+
? "passed"
|
|
76
|
+
: "errored",
|
|
77
|
+
})),
|
|
78
|
+
];
|
|
79
|
+
return (0, verdict_ts_1.evalLevelStats)(terminals, (terminal) => terminal.identity);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=presentation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.js","sourceRoot":"","sources":["presentation.ts"],"names":[],"mappings":"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","sourcesContent":["import { evalLevelStats } from \"../../shared/verdict.ts\";\nimport type { CompletionStatus, InvocationCompletion, InvocationSummary, ReporterError, RunFeedbackState, } from \"../../runner/types.ts\";\n/**\n * Fold the one feedback reducer state into the Invocation completeness fact.\n * Renderers and CLI commands consume this result; none of them reclassifies\n * diagnostics independently.\n */\nexport function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion {\n let unstarted = 0;\n let failFastSkipped = 0;\n let haltedSkipped = 0;\n let interrupted = false;\n const reporterErrors: ReporterError[] = [];\n for (const diagnostic of state.diagnostics) {\n const code = diagnostic.code ?? diagnostic.key.split(\":\", 1)[0];\n if (code === \"interrupted\") {\n interrupted = true;\n }\n else if (code === \"budget-exhausted\") {\n unstarted += diagnostic.count;\n }\n else if (code === \"fail-fast\") {\n unstarted += diagnostic.count;\n failFastSkipped += diagnostic.count;\n }\n else if (code === \"dispatch-halted\") {\n const halted = typeof diagnostic.data?.unstarted === \"number\"\n ? diagnostic.data.unstarted\n : 0;\n unstarted += halted;\n haltedSkipped += halted;\n }\n else if (code === \"reporter-error\" && diagnostic.data?.required === true) {\n reporterErrors.push(Object.freeze({\n reporter: typeof diagnostic.data.reporter === \"string\"\n ? diagnostic.data.reporter\n : diagnostic.key.slice(\"reporter-error:\".length),\n required: true,\n message: diagnostic.message,\n }));\n }\n }\n if (interrupted)\n unstarted += state.queued;\n const earlyExitUnstarted = Math.max(0, state.earlyExitSkipped - failFastSkipped - haltedSkipped);\n const status: CompletionStatus = interrupted\n ? \"interrupted\"\n : unstarted > 0 || reporterErrors.length > 0\n ? \"incomplete\"\n : \"complete\";\n return Object.freeze({\n status,\n unstarted,\n earlyExitUnstarted,\n reporterErrors: Object.freeze(reporterErrors),\n });\n}\n/** Fresh results and current Record readbacks share one Eval-level exit fold. */\nexport function foldInvocationEvalStats(summary: Pick<InvocationSummary, \"results\" | \"reusedAttempts\">) {\n const terminals = [\n ...summary.results.map((result) => Object.freeze({\n identity: `${result.experimentId ?? \"\"}|${result.id}`,\n verdict: result.verdict,\n })),\n ...summary.reusedAttempts.map((readback) => Object.freeze({\n identity: `${readback.target.experimentId}|${readback.target.evalId}`,\n verdict: readback.source.evaluationKind !== \"score\"\n ? readback.verdict\n : readback.score.state === \"applicable\" &&\n readback.score.attachment.state === \"available\" &&\n readback.score.attachment.value.state === \"complete\"\n ? \"passed\" as const\n : \"errored\" as const,\n })),\n ];\n return evalLevelStats(terminals, (terminal) => terminal.identity);\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* Fold the one feedback reducer state into the Invocation completeness fact.
|
|
4
|
+
* Renderers and CLI commands consume this result; none of them reclassifies
|
|
5
|
+
* diagnostics independently.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
|
|
8
|
+
/** Fresh results and current Record readbacks share one Eval-level exit fold. */
|
|
9
|
+
export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.cjs").EvalLevelStats;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Fold the one feedback reducer state into the Invocation completeness fact.
|
|
4
|
+
* Renderers and CLI commands consume this result; none of them reclassifies
|
|
5
|
+
* diagnostics independently.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
|
|
8
|
+
/** Fresh results and current Record readbacks share one Eval-level exit fold. */
|
|
9
|
+
export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.mjs").EvalLevelStats;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { InvocationCompletion, InvocationSummary, RunFeedbackState } from "../../runner/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fold the one feedback reducer state into the Invocation completeness fact.
|
|
4
|
+
* Renderers and CLI commands consume this result; none of them reclassifies
|
|
5
|
+
* diagnostics independently.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assembleInvocationCompletion(state: RunFeedbackState): InvocationCompletion;
|
|
8
|
+
/** Fresh results and current Record readbacks share one Eval-level exit fold. */
|
|
9
|
+
export declare function foldInvocationEvalStats(summary: Pick<InvocationSummary, "results" | "reusedAttempts">): import("../../shared/verdict.js").EvalLevelStats;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
|
+
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
|
+
const __niceevalCanonical = __niceevalRequire("./presentation.cjs");
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["assembleInvocationCompletion"];
|
|
5
|
+
export { __niceevalExport0 as assembleInvocationCompletion };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["foldInvocationEvalStats"];
|
|
7
|
+
export { __niceevalExport1 as foldInvocationEvalStats };
|
|
8
|
+
//# sourceMappingURL=presentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation.js","sources":[],"names":[],"mappings":""}
|