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
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
* bootstrap adapter.
|
|
5
5
|
*/
|
|
6
6
|
import { Context, Effect } from "effect";
|
|
7
|
-
import type { Config } from "../runner/types.cjs";
|
|
8
|
-
import type { FeedbackIO } from "../runner/feedback/io.cjs";
|
|
9
|
-
import type { InputGuardStdin } from "../runner/feedback/input-guard.cjs";
|
|
10
|
-
import type { ReportDefinition } from "../report/definition/report.cjs";
|
|
11
|
-
import type { ThemeDefinition } from "../report/theme.cjs";
|
|
12
|
-
import type { ConfigModuleLoadError, ProjectCredentialsFailure } from "./project-configuration.cjs";
|
|
13
7
|
export interface CliInvocation {
|
|
14
8
|
readonly cwd: string;
|
|
15
9
|
readonly argv: readonly string[];
|
|
16
10
|
readonly hostname: string;
|
|
11
|
+
/** Process identity exposed by the Node adapter for feature-owned lease coordination. */
|
|
12
|
+
readonly pid: number;
|
|
17
13
|
readonly noColor?: string;
|
|
18
14
|
readonly platform: "darwin" | "win32" | "linux" | string;
|
|
19
15
|
readonly stdout: {
|
|
@@ -25,18 +21,56 @@ export interface CliInvocation {
|
|
|
25
21
|
readonly columns?: number;
|
|
26
22
|
};
|
|
27
23
|
}
|
|
24
|
+
/** Immutable display metadata owned with an option, rather than reconstructed by a central CLI registry. */
|
|
25
|
+
export interface CliOptionHelp {
|
|
26
|
+
readonly summary: string;
|
|
27
|
+
/** Hidden options remain parser-recognized but do not become part of user help or generated reference. */
|
|
28
|
+
readonly visibility: "public" | "hidden";
|
|
29
|
+
}
|
|
30
|
+
/** A parser option plus the feature-owned metadata needed to compose and document it. */
|
|
31
|
+
export interface CliOptionalOptionValue {
|
|
32
|
+
/** Value produced by a bare option. Boolean `true` preserves ordinary flag semantics. */
|
|
33
|
+
readonly default: string | true;
|
|
34
|
+
/** Accept one following token as the value. Inline `--name=value` is always accepted. */
|
|
35
|
+
readonly separated?: true;
|
|
36
|
+
/** Closed value vocabulary. Omit for an arbitrary non-empty string. */
|
|
37
|
+
readonly values?: readonly string[];
|
|
38
|
+
}
|
|
28
39
|
export type CliOptionDefinition = Readonly<{
|
|
29
|
-
type: "string" | "boolean";
|
|
30
|
-
multiple?: true;
|
|
31
|
-
short?: string;
|
|
40
|
+
readonly type: "string" | "boolean";
|
|
41
|
+
readonly multiple?: true;
|
|
42
|
+
readonly short?: string;
|
|
43
|
+
/** Generic boolean|string union syntax owned by this option, not by the root router. */
|
|
44
|
+
readonly optionalValue?: CliOptionalOptionValue;
|
|
45
|
+
readonly help?: CliOptionHelp;
|
|
46
|
+
}>;
|
|
47
|
+
export type CliParsedToken = Readonly<{
|
|
48
|
+
readonly kind: "option";
|
|
49
|
+
readonly index: number;
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly rawName: string;
|
|
52
|
+
readonly value?: string;
|
|
53
|
+
readonly inlineValue?: boolean;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
readonly kind: "positional";
|
|
56
|
+
readonly index: number;
|
|
57
|
+
readonly name?: undefined;
|
|
58
|
+
readonly rawName?: undefined;
|
|
59
|
+
readonly value: string;
|
|
60
|
+
readonly inlineValue?: undefined;
|
|
61
|
+
}> | Readonly<{
|
|
62
|
+
readonly kind: "option-terminator";
|
|
63
|
+
readonly index: number;
|
|
64
|
+
readonly name?: undefined;
|
|
65
|
+
readonly rawName?: undefined;
|
|
66
|
+
readonly value?: undefined;
|
|
67
|
+
readonly inlineValue?: undefined;
|
|
32
68
|
}>;
|
|
33
69
|
export interface CliParsedTokens {
|
|
34
70
|
readonly values: Record<string, string | boolean | string[] | undefined>;
|
|
35
|
-
readonly positionals: string[];
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
readonly name?: string;
|
|
39
|
-
}[];
|
|
71
|
+
readonly positionals: readonly string[];
|
|
72
|
+
/** Exact Node parseArgs tokens, including raw argv indexes used for root projection. */
|
|
73
|
+
readonly tokens: readonly CliParsedToken[];
|
|
40
74
|
}
|
|
41
75
|
export interface CliArgumentsService {
|
|
42
76
|
readonly parse: (argv: readonly string[], options: Readonly<Record<string, CliOptionDefinition>>) => CliParsedTokens;
|
|
@@ -58,6 +92,20 @@ export interface CliInvocationService {
|
|
|
58
92
|
declare const CliInvocationFacts_base: Context.TagClass<CliInvocationFacts, "niceeval/cli/CliInvocationFacts", CliInvocationService>;
|
|
59
93
|
export declare class CliInvocationFacts extends CliInvocationFacts_base {
|
|
60
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Process-signal ownership stays at the application boundary. A feature may
|
|
97
|
+
* claim the Invocation signal immediately before dispatch, but it never reads
|
|
98
|
+
* Node globals or installs handlers of its own.
|
|
99
|
+
*/
|
|
100
|
+
export interface CliInterruptionService {
|
|
101
|
+
readonly invocationSignal: AbortSignal;
|
|
102
|
+
/** False means bootstrap already accepted a root-owned first signal. */
|
|
103
|
+
readonly enterGracefulDispatch: () => boolean;
|
|
104
|
+
readonly requestInterrupt: () => void;
|
|
105
|
+
}
|
|
106
|
+
declare const CliInterruption_base: Context.TagClass<CliInterruption, "niceeval/cli/CliInterruption", CliInterruptionService>;
|
|
107
|
+
export declare class CliInterruption extends CliInterruption_base {
|
|
108
|
+
}
|
|
61
109
|
export interface CliOutputService {
|
|
62
110
|
readonly writeStdout: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
63
111
|
readonly writeStderr: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
@@ -68,26 +116,12 @@ export interface CliOutputService {
|
|
|
68
116
|
declare const CliOutput_base: Context.TagClass<CliOutput, "niceeval/cli/CliOutput", CliOutputService>;
|
|
69
117
|
export declare class CliOutput extends CliOutput_base {
|
|
70
118
|
}
|
|
71
|
-
export interface ProjectInitializerService {
|
|
72
|
-
readonly initialize: (cwd: string) => Effect.Effect<{
|
|
73
|
-
readonly prefersEsm: boolean;
|
|
74
|
-
}, CliInvocationError>;
|
|
75
|
-
}
|
|
76
|
-
declare const ProjectInitializer_base: Context.TagClass<ProjectInitializer, "niceeval/cli/ProjectInitializer", ProjectInitializerService>;
|
|
77
|
-
export declare class ProjectInitializer extends ProjectInitializer_base {
|
|
78
|
-
}
|
|
79
119
|
export interface PackageMetadataService {
|
|
80
120
|
readonly version: Effect.Effect<string, CliInvocationError>;
|
|
81
121
|
}
|
|
82
122
|
declare const PackageMetadata_base: Context.TagClass<PackageMetadata, "niceeval/cli/PackageMetadata", PackageMetadataService>;
|
|
83
123
|
export declare class PackageMetadata extends PackageMetadata_base {
|
|
84
124
|
}
|
|
85
|
-
export interface BrowserLauncherService {
|
|
86
|
-
readonly open: (url: string) => Effect.Effect<boolean, CliInvocationError>;
|
|
87
|
-
}
|
|
88
|
-
declare const BrowserLauncher_base: Context.TagClass<BrowserLauncher, "niceeval/cli/BrowserLauncher", BrowserLauncherService>;
|
|
89
|
-
export declare class BrowserLauncher extends BrowserLauncher_base {
|
|
90
|
-
}
|
|
91
125
|
export interface CliPathService {
|
|
92
126
|
readonly resolve: (...parts: readonly string[]) => string;
|
|
93
127
|
readonly isAbsolute: (path: string) => boolean;
|
|
@@ -95,35 +129,4 @@ export interface CliPathService {
|
|
|
95
129
|
declare const CliPath_base: Context.TagClass<CliPath, "niceeval/cli/CliPath", CliPathService>;
|
|
96
130
|
export declare class CliPath extends CliPath_base {
|
|
97
131
|
}
|
|
98
|
-
export interface CliTerminalService {
|
|
99
|
-
readonly feedback: FeedbackIO;
|
|
100
|
-
readonly stdin: InputGuardStdin;
|
|
101
|
-
}
|
|
102
|
-
declare const CliTerminal_base: Context.TagClass<CliTerminal, "niceeval/cli/CliTerminal", CliTerminalService>;
|
|
103
|
-
export declare class CliTerminal extends CliTerminal_base {
|
|
104
|
-
}
|
|
105
|
-
export interface CliReportPlatformService {
|
|
106
|
-
readonly loadConfig: (cwd: string) => Effect.Effect<{
|
|
107
|
-
readonly report?: ReportDefinition;
|
|
108
|
-
readonly theme?: ThemeDefinition;
|
|
109
|
-
readonly watchInputs: readonly string[];
|
|
110
|
-
}, CliInvocationError>;
|
|
111
|
-
readonly loadReport: (path: string) => Effect.Effect<{
|
|
112
|
-
readonly report: ReportDefinition;
|
|
113
|
-
readonly watchInputs: readonly string[];
|
|
114
|
-
}, CliInvocationError>;
|
|
115
|
-
readonly loadTheme: (path: string) => Effect.Effect<{
|
|
116
|
-
readonly theme: ThemeDefinition;
|
|
117
|
-
readonly watchInputs: readonly string[];
|
|
118
|
-
}, CliInvocationError>;
|
|
119
|
-
readonly resolveModulePath: (cwd: string, value: string) => string;
|
|
120
|
-
}
|
|
121
|
-
declare const CliReportPlatform_base: Context.TagClass<CliReportPlatform, "niceeval/cli/CliReportPlatform", CliReportPlatformService>;
|
|
122
|
-
export declare class CliReportPlatform extends CliReportPlatform_base {
|
|
123
|
-
}
|
|
124
|
-
/** A narrow application facade; config always follows credential preparation. */
|
|
125
|
-
export interface ProjectConfigurationFacade {
|
|
126
|
-
readonly load: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
127
|
-
readonly rebuild: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
128
|
-
}
|
|
129
132
|
export {};
|
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
* bootstrap adapter.
|
|
5
5
|
*/
|
|
6
6
|
import { Context, Effect } from "effect";
|
|
7
|
-
import type { Config } from "../runner/types.mjs";
|
|
8
|
-
import type { FeedbackIO } from "../runner/feedback/io.mjs";
|
|
9
|
-
import type { InputGuardStdin } from "../runner/feedback/input-guard.mjs";
|
|
10
|
-
import type { ReportDefinition } from "../report/definition/report.mjs";
|
|
11
|
-
import type { ThemeDefinition } from "../report/theme.mjs";
|
|
12
|
-
import type { ConfigModuleLoadError, ProjectCredentialsFailure } from "./project-configuration.mjs";
|
|
13
7
|
export interface CliInvocation {
|
|
14
8
|
readonly cwd: string;
|
|
15
9
|
readonly argv: readonly string[];
|
|
16
10
|
readonly hostname: string;
|
|
11
|
+
/** Process identity exposed by the Node adapter for feature-owned lease coordination. */
|
|
12
|
+
readonly pid: number;
|
|
17
13
|
readonly noColor?: string;
|
|
18
14
|
readonly platform: "darwin" | "win32" | "linux" | string;
|
|
19
15
|
readonly stdout: {
|
|
@@ -25,18 +21,56 @@ export interface CliInvocation {
|
|
|
25
21
|
readonly columns?: number;
|
|
26
22
|
};
|
|
27
23
|
}
|
|
24
|
+
/** Immutable display metadata owned with an option, rather than reconstructed by a central CLI registry. */
|
|
25
|
+
export interface CliOptionHelp {
|
|
26
|
+
readonly summary: string;
|
|
27
|
+
/** Hidden options remain parser-recognized but do not become part of user help or generated reference. */
|
|
28
|
+
readonly visibility: "public" | "hidden";
|
|
29
|
+
}
|
|
30
|
+
/** A parser option plus the feature-owned metadata needed to compose and document it. */
|
|
31
|
+
export interface CliOptionalOptionValue {
|
|
32
|
+
/** Value produced by a bare option. Boolean `true` preserves ordinary flag semantics. */
|
|
33
|
+
readonly default: string | true;
|
|
34
|
+
/** Accept one following token as the value. Inline `--name=value` is always accepted. */
|
|
35
|
+
readonly separated?: true;
|
|
36
|
+
/** Closed value vocabulary. Omit for an arbitrary non-empty string. */
|
|
37
|
+
readonly values?: readonly string[];
|
|
38
|
+
}
|
|
28
39
|
export type CliOptionDefinition = Readonly<{
|
|
29
|
-
type: "string" | "boolean";
|
|
30
|
-
multiple?: true;
|
|
31
|
-
short?: string;
|
|
40
|
+
readonly type: "string" | "boolean";
|
|
41
|
+
readonly multiple?: true;
|
|
42
|
+
readonly short?: string;
|
|
43
|
+
/** Generic boolean|string union syntax owned by this option, not by the root router. */
|
|
44
|
+
readonly optionalValue?: CliOptionalOptionValue;
|
|
45
|
+
readonly help?: CliOptionHelp;
|
|
46
|
+
}>;
|
|
47
|
+
export type CliParsedToken = Readonly<{
|
|
48
|
+
readonly kind: "option";
|
|
49
|
+
readonly index: number;
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly rawName: string;
|
|
52
|
+
readonly value?: string;
|
|
53
|
+
readonly inlineValue?: boolean;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
readonly kind: "positional";
|
|
56
|
+
readonly index: number;
|
|
57
|
+
readonly name?: undefined;
|
|
58
|
+
readonly rawName?: undefined;
|
|
59
|
+
readonly value: string;
|
|
60
|
+
readonly inlineValue?: undefined;
|
|
61
|
+
}> | Readonly<{
|
|
62
|
+
readonly kind: "option-terminator";
|
|
63
|
+
readonly index: number;
|
|
64
|
+
readonly name?: undefined;
|
|
65
|
+
readonly rawName?: undefined;
|
|
66
|
+
readonly value?: undefined;
|
|
67
|
+
readonly inlineValue?: undefined;
|
|
32
68
|
}>;
|
|
33
69
|
export interface CliParsedTokens {
|
|
34
70
|
readonly values: Record<string, string | boolean | string[] | undefined>;
|
|
35
|
-
readonly positionals: string[];
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
readonly name?: string;
|
|
39
|
-
}[];
|
|
71
|
+
readonly positionals: readonly string[];
|
|
72
|
+
/** Exact Node parseArgs tokens, including raw argv indexes used for root projection. */
|
|
73
|
+
readonly tokens: readonly CliParsedToken[];
|
|
40
74
|
}
|
|
41
75
|
export interface CliArgumentsService {
|
|
42
76
|
readonly parse: (argv: readonly string[], options: Readonly<Record<string, CliOptionDefinition>>) => CliParsedTokens;
|
|
@@ -58,6 +92,20 @@ export interface CliInvocationService {
|
|
|
58
92
|
declare const CliInvocationFacts_base: Context.TagClass<CliInvocationFacts, "niceeval/cli/CliInvocationFacts", CliInvocationService>;
|
|
59
93
|
export declare class CliInvocationFacts extends CliInvocationFacts_base {
|
|
60
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Process-signal ownership stays at the application boundary. A feature may
|
|
97
|
+
* claim the Invocation signal immediately before dispatch, but it never reads
|
|
98
|
+
* Node globals or installs handlers of its own.
|
|
99
|
+
*/
|
|
100
|
+
export interface CliInterruptionService {
|
|
101
|
+
readonly invocationSignal: AbortSignal;
|
|
102
|
+
/** False means bootstrap already accepted a root-owned first signal. */
|
|
103
|
+
readonly enterGracefulDispatch: () => boolean;
|
|
104
|
+
readonly requestInterrupt: () => void;
|
|
105
|
+
}
|
|
106
|
+
declare const CliInterruption_base: Context.TagClass<CliInterruption, "niceeval/cli/CliInterruption", CliInterruptionService>;
|
|
107
|
+
export declare class CliInterruption extends CliInterruption_base {
|
|
108
|
+
}
|
|
61
109
|
export interface CliOutputService {
|
|
62
110
|
readonly writeStdout: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
63
111
|
readonly writeStderr: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
@@ -68,26 +116,12 @@ export interface CliOutputService {
|
|
|
68
116
|
declare const CliOutput_base: Context.TagClass<CliOutput, "niceeval/cli/CliOutput", CliOutputService>;
|
|
69
117
|
export declare class CliOutput extends CliOutput_base {
|
|
70
118
|
}
|
|
71
|
-
export interface ProjectInitializerService {
|
|
72
|
-
readonly initialize: (cwd: string) => Effect.Effect<{
|
|
73
|
-
readonly prefersEsm: boolean;
|
|
74
|
-
}, CliInvocationError>;
|
|
75
|
-
}
|
|
76
|
-
declare const ProjectInitializer_base: Context.TagClass<ProjectInitializer, "niceeval/cli/ProjectInitializer", ProjectInitializerService>;
|
|
77
|
-
export declare class ProjectInitializer extends ProjectInitializer_base {
|
|
78
|
-
}
|
|
79
119
|
export interface PackageMetadataService {
|
|
80
120
|
readonly version: Effect.Effect<string, CliInvocationError>;
|
|
81
121
|
}
|
|
82
122
|
declare const PackageMetadata_base: Context.TagClass<PackageMetadata, "niceeval/cli/PackageMetadata", PackageMetadataService>;
|
|
83
123
|
export declare class PackageMetadata extends PackageMetadata_base {
|
|
84
124
|
}
|
|
85
|
-
export interface BrowserLauncherService {
|
|
86
|
-
readonly open: (url: string) => Effect.Effect<boolean, CliInvocationError>;
|
|
87
|
-
}
|
|
88
|
-
declare const BrowserLauncher_base: Context.TagClass<BrowserLauncher, "niceeval/cli/BrowserLauncher", BrowserLauncherService>;
|
|
89
|
-
export declare class BrowserLauncher extends BrowserLauncher_base {
|
|
90
|
-
}
|
|
91
125
|
export interface CliPathService {
|
|
92
126
|
readonly resolve: (...parts: readonly string[]) => string;
|
|
93
127
|
readonly isAbsolute: (path: string) => boolean;
|
|
@@ -95,35 +129,4 @@ export interface CliPathService {
|
|
|
95
129
|
declare const CliPath_base: Context.TagClass<CliPath, "niceeval/cli/CliPath", CliPathService>;
|
|
96
130
|
export declare class CliPath extends CliPath_base {
|
|
97
131
|
}
|
|
98
|
-
export interface CliTerminalService {
|
|
99
|
-
readonly feedback: FeedbackIO;
|
|
100
|
-
readonly stdin: InputGuardStdin;
|
|
101
|
-
}
|
|
102
|
-
declare const CliTerminal_base: Context.TagClass<CliTerminal, "niceeval/cli/CliTerminal", CliTerminalService>;
|
|
103
|
-
export declare class CliTerminal extends CliTerminal_base {
|
|
104
|
-
}
|
|
105
|
-
export interface CliReportPlatformService {
|
|
106
|
-
readonly loadConfig: (cwd: string) => Effect.Effect<{
|
|
107
|
-
readonly report?: ReportDefinition;
|
|
108
|
-
readonly theme?: ThemeDefinition;
|
|
109
|
-
readonly watchInputs: readonly string[];
|
|
110
|
-
}, CliInvocationError>;
|
|
111
|
-
readonly loadReport: (path: string) => Effect.Effect<{
|
|
112
|
-
readonly report: ReportDefinition;
|
|
113
|
-
readonly watchInputs: readonly string[];
|
|
114
|
-
}, CliInvocationError>;
|
|
115
|
-
readonly loadTheme: (path: string) => Effect.Effect<{
|
|
116
|
-
readonly theme: ThemeDefinition;
|
|
117
|
-
readonly watchInputs: readonly string[];
|
|
118
|
-
}, CliInvocationError>;
|
|
119
|
-
readonly resolveModulePath: (cwd: string, value: string) => string;
|
|
120
|
-
}
|
|
121
|
-
declare const CliReportPlatform_base: Context.TagClass<CliReportPlatform, "niceeval/cli/CliReportPlatform", CliReportPlatformService>;
|
|
122
|
-
export declare class CliReportPlatform extends CliReportPlatform_base {
|
|
123
|
-
}
|
|
124
|
-
/** A narrow application facade; config always follows credential preparation. */
|
|
125
|
-
export interface ProjectConfigurationFacade {
|
|
126
|
-
readonly load: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
127
|
-
readonly rebuild: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
128
|
-
}
|
|
129
132
|
export {};
|
|
@@ -4,16 +4,12 @@
|
|
|
4
4
|
* bootstrap adapter.
|
|
5
5
|
*/
|
|
6
6
|
import { Context, Effect } from "effect";
|
|
7
|
-
import type { Config } from "../runner/types.js";
|
|
8
|
-
import type { FeedbackIO } from "../runner/feedback/io.js";
|
|
9
|
-
import type { InputGuardStdin } from "../runner/feedback/input-guard.js";
|
|
10
|
-
import type { ReportDefinition } from "../report/definition/report.js";
|
|
11
|
-
import type { ThemeDefinition } from "../report/theme.js";
|
|
12
|
-
import type { ConfigModuleLoadError, ProjectCredentialsFailure } from "./project-configuration.js";
|
|
13
7
|
export interface CliInvocation {
|
|
14
8
|
readonly cwd: string;
|
|
15
9
|
readonly argv: readonly string[];
|
|
16
10
|
readonly hostname: string;
|
|
11
|
+
/** Process identity exposed by the Node adapter for feature-owned lease coordination. */
|
|
12
|
+
readonly pid: number;
|
|
17
13
|
readonly noColor?: string;
|
|
18
14
|
readonly platform: "darwin" | "win32" | "linux" | string;
|
|
19
15
|
readonly stdout: {
|
|
@@ -25,18 +21,56 @@ export interface CliInvocation {
|
|
|
25
21
|
readonly columns?: number;
|
|
26
22
|
};
|
|
27
23
|
}
|
|
24
|
+
/** Immutable display metadata owned with an option, rather than reconstructed by a central CLI registry. */
|
|
25
|
+
export interface CliOptionHelp {
|
|
26
|
+
readonly summary: string;
|
|
27
|
+
/** Hidden options remain parser-recognized but do not become part of user help or generated reference. */
|
|
28
|
+
readonly visibility: "public" | "hidden";
|
|
29
|
+
}
|
|
30
|
+
/** A parser option plus the feature-owned metadata needed to compose and document it. */
|
|
31
|
+
export interface CliOptionalOptionValue {
|
|
32
|
+
/** Value produced by a bare option. Boolean `true` preserves ordinary flag semantics. */
|
|
33
|
+
readonly default: string | true;
|
|
34
|
+
/** Accept one following token as the value. Inline `--name=value` is always accepted. */
|
|
35
|
+
readonly separated?: true;
|
|
36
|
+
/** Closed value vocabulary. Omit for an arbitrary non-empty string. */
|
|
37
|
+
readonly values?: readonly string[];
|
|
38
|
+
}
|
|
28
39
|
export type CliOptionDefinition = Readonly<{
|
|
29
|
-
type: "string" | "boolean";
|
|
30
|
-
multiple?: true;
|
|
31
|
-
short?: string;
|
|
40
|
+
readonly type: "string" | "boolean";
|
|
41
|
+
readonly multiple?: true;
|
|
42
|
+
readonly short?: string;
|
|
43
|
+
/** Generic boolean|string union syntax owned by this option, not by the root router. */
|
|
44
|
+
readonly optionalValue?: CliOptionalOptionValue;
|
|
45
|
+
readonly help?: CliOptionHelp;
|
|
46
|
+
}>;
|
|
47
|
+
export type CliParsedToken = Readonly<{
|
|
48
|
+
readonly kind: "option";
|
|
49
|
+
readonly index: number;
|
|
50
|
+
readonly name: string;
|
|
51
|
+
readonly rawName: string;
|
|
52
|
+
readonly value?: string;
|
|
53
|
+
readonly inlineValue?: boolean;
|
|
54
|
+
}> | Readonly<{
|
|
55
|
+
readonly kind: "positional";
|
|
56
|
+
readonly index: number;
|
|
57
|
+
readonly name?: undefined;
|
|
58
|
+
readonly rawName?: undefined;
|
|
59
|
+
readonly value: string;
|
|
60
|
+
readonly inlineValue?: undefined;
|
|
61
|
+
}> | Readonly<{
|
|
62
|
+
readonly kind: "option-terminator";
|
|
63
|
+
readonly index: number;
|
|
64
|
+
readonly name?: undefined;
|
|
65
|
+
readonly rawName?: undefined;
|
|
66
|
+
readonly value?: undefined;
|
|
67
|
+
readonly inlineValue?: undefined;
|
|
32
68
|
}>;
|
|
33
69
|
export interface CliParsedTokens {
|
|
34
70
|
readonly values: Record<string, string | boolean | string[] | undefined>;
|
|
35
|
-
readonly positionals: string[];
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
readonly name?: string;
|
|
39
|
-
}[];
|
|
71
|
+
readonly positionals: readonly string[];
|
|
72
|
+
/** Exact Node parseArgs tokens, including raw argv indexes used for root projection. */
|
|
73
|
+
readonly tokens: readonly CliParsedToken[];
|
|
40
74
|
}
|
|
41
75
|
export interface CliArgumentsService {
|
|
42
76
|
readonly parse: (argv: readonly string[], options: Readonly<Record<string, CliOptionDefinition>>) => CliParsedTokens;
|
|
@@ -58,6 +92,20 @@ export interface CliInvocationService {
|
|
|
58
92
|
declare const CliInvocationFacts_base: Context.TagClass<CliInvocationFacts, "niceeval/cli/CliInvocationFacts", CliInvocationService>;
|
|
59
93
|
export declare class CliInvocationFacts extends CliInvocationFacts_base {
|
|
60
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Process-signal ownership stays at the application boundary. A feature may
|
|
97
|
+
* claim the Invocation signal immediately before dispatch, but it never reads
|
|
98
|
+
* Node globals or installs handlers of its own.
|
|
99
|
+
*/
|
|
100
|
+
export interface CliInterruptionService {
|
|
101
|
+
readonly invocationSignal: AbortSignal;
|
|
102
|
+
/** False means bootstrap already accepted a root-owned first signal. */
|
|
103
|
+
readonly enterGracefulDispatch: () => boolean;
|
|
104
|
+
readonly requestInterrupt: () => void;
|
|
105
|
+
}
|
|
106
|
+
declare const CliInterruption_base: Context.TagClass<CliInterruption, "niceeval/cli/CliInterruption", CliInterruptionService>;
|
|
107
|
+
export declare class CliInterruption extends CliInterruption_base {
|
|
108
|
+
}
|
|
61
109
|
export interface CliOutputService {
|
|
62
110
|
readonly writeStdout: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
63
111
|
readonly writeStderr: (text: string) => Effect.Effect<void, CliInvocationError>;
|
|
@@ -68,26 +116,12 @@ export interface CliOutputService {
|
|
|
68
116
|
declare const CliOutput_base: Context.TagClass<CliOutput, "niceeval/cli/CliOutput", CliOutputService>;
|
|
69
117
|
export declare class CliOutput extends CliOutput_base {
|
|
70
118
|
}
|
|
71
|
-
export interface ProjectInitializerService {
|
|
72
|
-
readonly initialize: (cwd: string) => Effect.Effect<{
|
|
73
|
-
readonly prefersEsm: boolean;
|
|
74
|
-
}, CliInvocationError>;
|
|
75
|
-
}
|
|
76
|
-
declare const ProjectInitializer_base: Context.TagClass<ProjectInitializer, "niceeval/cli/ProjectInitializer", ProjectInitializerService>;
|
|
77
|
-
export declare class ProjectInitializer extends ProjectInitializer_base {
|
|
78
|
-
}
|
|
79
119
|
export interface PackageMetadataService {
|
|
80
120
|
readonly version: Effect.Effect<string, CliInvocationError>;
|
|
81
121
|
}
|
|
82
122
|
declare const PackageMetadata_base: Context.TagClass<PackageMetadata, "niceeval/cli/PackageMetadata", PackageMetadataService>;
|
|
83
123
|
export declare class PackageMetadata extends PackageMetadata_base {
|
|
84
124
|
}
|
|
85
|
-
export interface BrowserLauncherService {
|
|
86
|
-
readonly open: (url: string) => Effect.Effect<boolean, CliInvocationError>;
|
|
87
|
-
}
|
|
88
|
-
declare const BrowserLauncher_base: Context.TagClass<BrowserLauncher, "niceeval/cli/BrowserLauncher", BrowserLauncherService>;
|
|
89
|
-
export declare class BrowserLauncher extends BrowserLauncher_base {
|
|
90
|
-
}
|
|
91
125
|
export interface CliPathService {
|
|
92
126
|
readonly resolve: (...parts: readonly string[]) => string;
|
|
93
127
|
readonly isAbsolute: (path: string) => boolean;
|
|
@@ -95,35 +129,4 @@ export interface CliPathService {
|
|
|
95
129
|
declare const CliPath_base: Context.TagClass<CliPath, "niceeval/cli/CliPath", CliPathService>;
|
|
96
130
|
export declare class CliPath extends CliPath_base {
|
|
97
131
|
}
|
|
98
|
-
export interface CliTerminalService {
|
|
99
|
-
readonly feedback: FeedbackIO;
|
|
100
|
-
readonly stdin: InputGuardStdin;
|
|
101
|
-
}
|
|
102
|
-
declare const CliTerminal_base: Context.TagClass<CliTerminal, "niceeval/cli/CliTerminal", CliTerminalService>;
|
|
103
|
-
export declare class CliTerminal extends CliTerminal_base {
|
|
104
|
-
}
|
|
105
|
-
export interface CliReportPlatformService {
|
|
106
|
-
readonly loadConfig: (cwd: string) => Effect.Effect<{
|
|
107
|
-
readonly report?: ReportDefinition;
|
|
108
|
-
readonly theme?: ThemeDefinition;
|
|
109
|
-
readonly watchInputs: readonly string[];
|
|
110
|
-
}, CliInvocationError>;
|
|
111
|
-
readonly loadReport: (path: string) => Effect.Effect<{
|
|
112
|
-
readonly report: ReportDefinition;
|
|
113
|
-
readonly watchInputs: readonly string[];
|
|
114
|
-
}, CliInvocationError>;
|
|
115
|
-
readonly loadTheme: (path: string) => Effect.Effect<{
|
|
116
|
-
readonly theme: ThemeDefinition;
|
|
117
|
-
readonly watchInputs: readonly string[];
|
|
118
|
-
}, CliInvocationError>;
|
|
119
|
-
readonly resolveModulePath: (cwd: string, value: string) => string;
|
|
120
|
-
}
|
|
121
|
-
declare const CliReportPlatform_base: Context.TagClass<CliReportPlatform, "niceeval/cli/CliReportPlatform", CliReportPlatformService>;
|
|
122
|
-
export declare class CliReportPlatform extends CliReportPlatform_base {
|
|
123
|
-
}
|
|
124
|
-
/** A narrow application facade; config always follows credential preparation. */
|
|
125
|
-
export interface ProjectConfigurationFacade {
|
|
126
|
-
readonly load: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
127
|
-
readonly rebuild: (cwd: string) => Effect.Effect<Config, ProjectCredentialsFailure | ConfigModuleLoadError>;
|
|
128
|
-
}
|
|
129
132
|
export {};
|
package/dist/cli/application.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire as __niceevalCreateRequire } from "node:module";
|
|
2
2
|
const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
3
3
|
const __niceevalCanonical = __niceevalRequire("./application.cjs");
|
|
4
|
-
const __niceevalExport0 = __niceevalCanonical["
|
|
5
|
-
export { __niceevalExport0 as
|
|
6
|
-
const __niceevalExport1 = __niceevalCanonical["
|
|
7
|
-
export { __niceevalExport1 as
|
|
4
|
+
const __niceevalExport0 = __niceevalCanonical["CliArguments"];
|
|
5
|
+
export { __niceevalExport0 as CliArguments };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["CliInterruption"];
|
|
7
|
+
export { __niceevalExport1 as CliInterruption };
|
|
8
8
|
const __niceevalExport2 = __niceevalCanonical["CliInvocationError"];
|
|
9
9
|
export { __niceevalExport2 as CliInvocationError };
|
|
10
10
|
const __niceevalExport3 = __niceevalCanonical["CliInvocationFacts"];
|
|
@@ -13,12 +13,6 @@ const __niceevalExport4 = __niceevalCanonical["CliOutput"];
|
|
|
13
13
|
export { __niceevalExport4 as CliOutput };
|
|
14
14
|
const __niceevalExport5 = __niceevalCanonical["CliPath"];
|
|
15
15
|
export { __niceevalExport5 as CliPath };
|
|
16
|
-
const __niceevalExport6 = __niceevalCanonical["
|
|
17
|
-
export { __niceevalExport6 as
|
|
18
|
-
const __niceevalExport7 = __niceevalCanonical["CliTerminal"];
|
|
19
|
-
export { __niceevalExport7 as CliTerminal };
|
|
20
|
-
const __niceevalExport8 = __niceevalCanonical["PackageMetadata"];
|
|
21
|
-
export { __niceevalExport8 as PackageMetadata };
|
|
22
|
-
const __niceevalExport9 = __niceevalCanonical["ProjectInitializer"];
|
|
23
|
-
export { __niceevalExport9 as ProjectInitializer };
|
|
16
|
+
const __niceevalExport6 = __niceevalCanonical["PackageMetadata"];
|
|
17
|
+
export { __niceevalExport6 as PackageMetadata };
|
|
24
18
|
//# sourceMappingURL=application.js.map
|
package/dist/cli/bootstrap.cjs
CHANGED
|
@@ -4,9 +4,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
// Effect values; this file is the only place NiceEval starts a runtime.
|
|
5
5
|
const effect_1 = require("effect");
|
|
6
6
|
const program_ts_1 = require("./program.cjs");
|
|
7
|
+
const contribution_ts_1 = require("./contribution.cjs");
|
|
8
|
+
const contribution_ts_2 = require("../docker/cli/contribution.cjs");
|
|
9
|
+
const contribution_ts_3 = require("../sandbox/cli/contribution.cjs");
|
|
10
|
+
const contribution_ts_4 = require("../eval/cli/contribution.cjs");
|
|
11
|
+
const contribution_ts_5 = require("../experiment/host/cli/contribution.cjs");
|
|
12
|
+
const terminal_ts_1 = require("../experiment/host/cli/terminal.cjs");
|
|
13
|
+
const contribution_ts_6 = require("../report/cli/contribution.cjs");
|
|
14
|
+
const contribution_ts_7 = require("../record/host/cli/contribution.cjs");
|
|
15
|
+
const contribution_ts_8 = require("../project/cli/contribution.cjs");
|
|
16
|
+
const application_ts_1 = require("./application.cjs");
|
|
7
17
|
const node_application_ts_1 = require("./node-application.cjs");
|
|
8
18
|
const project_configuration_ts_1 = require("./project-configuration.cjs");
|
|
9
19
|
const index_ts_1 = require("../record/index.cjs");
|
|
20
|
+
const cache_live_ts_1 = require("../docker/cache-live.cjs");
|
|
21
|
+
const node_ts_1 = require("../project/node.cjs");
|
|
22
|
+
const node_ts_2 = require("../report/host/node.cjs");
|
|
10
23
|
let signalOwnership = "root";
|
|
11
24
|
const invocationInterruption = new AbortController();
|
|
12
25
|
let fiber;
|
|
@@ -23,6 +36,7 @@ const interruption = {
|
|
|
23
36
|
},
|
|
24
37
|
requestInterrupt: () => process.emit("SIGINT"),
|
|
25
38
|
};
|
|
39
|
+
const NodeCliInterruptionLive = effect_1.Layer.succeed(application_ts_1.CliInterruption, interruption);
|
|
26
40
|
// This is the only Node composition edge. The application layer itself keeps
|
|
27
41
|
// its two capability requirements visible and portable.
|
|
28
42
|
const NodeCliApplicationLive = project_configuration_ts_1.ProjectConfigurationLayer.pipe(effect_1.Layer.provide(project_configuration_ts_1.ProjectCredentialsLive), effect_1.Layer.provide(project_configuration_ts_1.ConfigModuleLoaderLive));
|
|
@@ -47,10 +61,22 @@ const onInterrupt = (signal) => {
|
|
|
47
61
|
};
|
|
48
62
|
process.on("SIGINT", onInterrupt);
|
|
49
63
|
process.on("SIGTERM", onInterrupt);
|
|
50
|
-
const
|
|
64
|
+
const featureCommands = (0, contribution_ts_1.composeCliCommands)([
|
|
65
|
+
...contribution_ts_5.experimentCliContributions,
|
|
66
|
+
contribution_ts_4.evalCatalogCliCommand,
|
|
67
|
+
...contribution_ts_6.reportCliContributions,
|
|
68
|
+
contribution_ts_3.sandboxCliCommand,
|
|
69
|
+
contribution_ts_2.dockerCliCommand,
|
|
70
|
+
contribution_ts_7.cleanCliCommand,
|
|
71
|
+
contribution_ts_7.migrateCliCommand,
|
|
72
|
+
contribution_ts_8.projectInitCliCommand,
|
|
73
|
+
]);
|
|
74
|
+
const application = effect_1.Effect.scoped((0, program_ts_1.cliProgram)(featureCommands)).pipe(
|
|
51
75
|
// Application bootstrap is the sole provider of concrete Node services.
|
|
52
76
|
// Command and library modules retain their real requirements for callers.
|
|
53
|
-
effect_1.Effect.provide(index_ts_1.NodeRecordLive),
|
|
77
|
+
effect_1.Effect.provide(index_ts_1.NodeRecordLive),
|
|
78
|
+
// This is a lazy service value: ordinary commands and help do not probe Docker.
|
|
79
|
+
effect_1.Effect.provide(cache_live_ts_1.DockerCacheAdministrationLive), effect_1.Effect.provide(node_ts_1.NodeProjectLive), effect_1.Effect.provide(node_ts_2.NodeReportCliLive), effect_1.Effect.provide(terminal_ts_1.NodeExperimentCliTerminalLive), effect_1.Effect.provide(NodeCliInterruptionLive), effect_1.Effect.provide(NodeCliApplicationLive), effect_1.Effect.provide(node_application_ts_1.NodeCliPlatformLive),
|
|
54
80
|
// Typed CLI failures are expected, user-actionable outcomes. They become an
|
|
55
81
|
// ordinary process status after their message has been written once.
|
|
56
82
|
effect_1.Effect.catchAll((failure) => effect_1.Effect.sync(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["bootstrap.ts"],"names":[],"mappings":";;AAAA,2EAA2E;AAC3E,wEAAwE;AACxE,mCAAoD;AACpD,6CAA2F;AAC3F,+DAA4D;AAC5D,yEAAuH;AACvH,iDAAoD;AAapD,IAAI,eAAe,GAAoB,MAAM,CAAC;AAC9C,MAAM,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC;AACrD,IAAI,KAAoD,CAAC;AACzD,MAAM,YAAY,GAA6B;IAC3C,gBAAgB,EAAE,sBAAsB,CAAC,MAAM;IAC/C,qBAAqB,EAAE,GAAG,EAAE;QACxB,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;YAC7B,eAAe,GAAG,mBAAmB,CAAC;YACtC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,yEAAyE;QACzE,6EAA6E;QAC7E,OAAO,eAAe,KAAK,kBAAkB,CAAC;IAClD,CAAC;IACD,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;CACjD,CAAC;AACF,6EAA6E;AAC7E,wDAAwD;AACxD,MAAM,sBAAsB,GAAG,oDAAyB,CAAC,IAAI,CAAC,cAAK,CAAC,OAAO,CAAC,iDAAsB,CAAC,EAAE,cAAK,CAAC,OAAO,CAAC,iDAAsB,CAAC,CAAC,CAAC;AAC5I,MAAM,WAAW,GAAG,CAAC,MAAsB,EAAQ,EAAE;IACjD,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;QAC7B,eAAe,GAAG,kBAAkB,CAAC;QACrC,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO;IACX,CAAC;IACD,IAAI,eAAe,KAAK,mBAAmB,EAAE,CAAC;QAC1C,eAAe,GAAG,kBAAkB,CAAC;QACrC,sBAAsB,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO;IACX,CAAC;IACD,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,gCAAgC;IAChC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC,CAAC;AACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,eAAM,CAAC,MAAM,CAAC,IAAA,uBAAU,EAAC,YAAY,CAAC,CAAC,CAAC,IAAI;AAChE,wEAAwE;AACxE,0EAA0E;AAC1E,eAAM,CAAC,OAAO,CAAC,yBAAc,CAAC,EAAE,eAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,eAAM,CAAC,OAAO,CAAC,yCAAmB,CAAC;AAC3G,4EAA4E;AAC5E,qEAAqE;AACrE,eAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC5B,CAAC,CAAC,CAAC;AACH,4EAA4E;AAC5E,8DAA8D;AAC9D,eAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE;IACtC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAChC,CAAC,CAAC,CAAC,EAAE,eAAM,CAAC,MAAM;AAClB,yEAAyE;AACzE,4EAA4E;AAC5E,eAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAC1D,CAAC,CAAC,eAAM,CAAC,IAAI;IACb,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,cAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,8EAA8E;AAC9E,yEAAyE;AACzE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AACtD,KAAK,GAAG,eAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACpC,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,sBAAsB,GAAG,GAAS,EAAE;IACtC,IAAI,eAAe,KAAK,kBAAkB,IAAI,KAAK,KAAK,SAAS;QAC7D,OAAO;IACX,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC;AACF,sBAAsB,EAAE,CAAC;AACzB,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;IACvB,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,wEAAwE;QACxE,wEAAwE;QACxE,uEAAuE;QACvE,OAAO,CAAC,QAAQ,GAAG,cAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["// The one application runtime boundary. Library and command modules return\n// Effect values; this file is the only place NiceEval starts a runtime.\nimport { Cause, Effect, Exit, Layer } from \"effect\";\nimport { cliProgram, renderCliFailure, type CliInterruptionOwnership } from \"./program.ts\";\nimport { NodeCliPlatformLive } from \"./node-application.ts\";\nimport { ConfigModuleLoaderLive, ProjectConfigurationLayer, ProjectCredentialsLive } from \"./project-configuration.ts\";\nimport { NodeRecordLive } from \"../record/index.ts\";\n// There is exactly one synchronous ownership state for the first signal. Node\n// invokes both signal handlers and Effect continuations serially, so the CLI's\n// hand-off cannot race a SIGINT into an unowned interval:\n//\n// root -> root-interrupted (interrupt the application fiber)\n// root -> graceful-dispatch (CLI is about to call runEvals)\n// graceful-dispatch -> graceful-aborted (abort only the Invocation signal)\n//\n// Graceful ownership is deliberately one-way. Returning it after `runEvals`\n// would create a second boundary where a first signal could miss both the\n// durable closure and root interruption.\ntype SignalOwnership = \"root\" | \"root-interrupted\" | \"graceful-dispatch\" | \"graceful-aborted\";\nlet signalOwnership: SignalOwnership = \"root\";\nconst invocationInterruption = new AbortController();\nlet fiber: ReturnType<typeof Effect.runFork> | undefined;\nconst interruption: CliInterruptionOwnership = {\n invocationSignal: invocationInterruption.signal,\n enterGracefulDispatch: () => {\n if (signalOwnership === \"root\") {\n signalOwnership = \"graceful-dispatch\";\n return true;\n }\n // A root-owned first signal has already scheduled root interruption. Let\n // the CLI preserve that Cause rather than start an Invocation underneath it.\n return signalOwnership !== \"root-interrupted\";\n },\n requestInterrupt: () => process.emit(\"SIGINT\"),\n};\n// This is the only Node composition edge. The application layer itself keeps\n// its two capability requirements visible and portable.\nconst NodeCliApplicationLive = ProjectConfigurationLayer.pipe(Layer.provide(ProjectCredentialsLive), Layer.provide(ConfigModuleLoaderLive));\nconst onInterrupt = (signal: NodeJS.Signals): void => {\n if (signalOwnership === \"root\") {\n signalOwnership = \"root-interrupted\";\n fiber?.unsafeInterruptAsFork(fiber.id());\n return;\n }\n if (signalOwnership === \"graceful-dispatch\") {\n signalOwnership = \"graceful-aborted\";\n invocationInterruption.abort();\n return;\n }\n // Keep this listener through the first-signal drain: libuv may already have\n // captured a second signal before the first handler runs. On escalation,\n // remove it and re-raise that exact OS signal so default forced termination\n // cannot become a queued no-op.\n process.removeListener(\"SIGINT\", onInterrupt);\n process.removeListener(\"SIGTERM\", onInterrupt);\n process.kill(process.pid, signal);\n};\nprocess.on(\"SIGINT\", onInterrupt);\nprocess.on(\"SIGTERM\", onInterrupt);\nconst application = Effect.scoped(cliProgram(interruption)).pipe(\n// Application bootstrap is the sole provider of concrete Node services.\n// Command and library modules retain their real requirements for callers.\nEffect.provide(NodeRecordLive), Effect.provide(NodeCliApplicationLive), Effect.provide(NodeCliPlatformLive), \n// Typed CLI failures are expected, user-actionable outcomes. They become an\n// ordinary process status after their message has been written once.\nEffect.catchAll((failure) => Effect.sync(() => {\n process.stderr.write(renderCliFailure(failure));\n return failure.exitCode;\n})), \n// A normal nonzero command result must flush through Node naturally; do not\n// use process.exit and skip Scope finalizers or piped stdout.\nEffect.tap((exitCode) => Effect.sync(() => {\n process.exitCode = exitCode;\n})), Effect.asVoid, \n// Defects remain defects and interruption remains interruption. Suppress\n// platform's generic logger so the CLI keeps its existing user-facing form.\nEffect.tapErrorCause((cause) => Cause.isInterruptedOnly(cause)\n ? Effect.void\n : Effect.sync(() => process.stderr.write(`niceeval error:\\n${Cause.pretty(cause)}\\n`))));\n// Match NodeRuntime.runMain's liveness contract: an Effect.async boundary may\n// be awaiting a callback that owns no Node event-loop handle of its own.\nconst keepAlive = setInterval(() => { }, 2 ** 31 - 1);\nfiber = Effect.runFork(application);\n// A signal cannot normally interleave with this synchronous bootstrap, but\n// retaining the state makes that startup edge explicit and lossless as well.\nconst interruptRootIfPending = (): void => {\n if (signalOwnership !== \"root-interrupted\" || fiber === undefined)\n return;\n fiber.unsafeInterruptAsFork(fiber.id());\n};\ninterruptRootIfPending();\nfiber.addObserver((exit) => {\n clearInterval(keepAlive);\n process.removeListener(\"SIGINT\", onInterrupt);\n process.removeListener(\"SIGTERM\", onInterrupt);\n if (Exit.isFailure(exit)) {\n // Scope finalizers have settled before an observer sees the Exit. Typed\n // CLI failures already became a successful numeric result above; only a\n // real unhandled interruption receives 130, and defects remain exit 2.\n process.exitCode = Cause.isInterruptedOnly(exit.cause) ? 130 : 2;\n }\n});\n"]}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["bootstrap.ts"],"names":[],"mappings":"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","sourcesContent":["// The one application runtime boundary. Library and command modules return\n// Effect values; this file is the only place NiceEval starts a runtime.\nimport { Cause, Effect, Exit, Layer } from \"effect\";\nimport type * as Scope from \"effect/Scope\";\nimport { cliProgram, renderCliFailure } from \"./program.ts\";\nimport { composeCliCommands, type CliFeatureError } from \"./contribution.ts\";\nimport { dockerCliCommand } from \"../docker/cli/contribution.ts\";\nimport { sandboxCliCommand } from \"../sandbox/cli/contribution.ts\";\nimport { evalCatalogCliCommand } from \"../eval/cli/contribution.ts\";\nimport { experimentCliContributions } from \"../experiment/host/cli/contribution.ts\";\nimport { ExperimentCliTerminal, NodeExperimentCliTerminalLive, } from \"../experiment/host/cli/terminal.ts\";\nimport { reportCliContributions } from \"../report/cli/contribution.ts\";\nimport { cleanCliCommand, migrateCliCommand } from \"../record/host/cli/contribution.ts\";\nimport { projectInitCliCommand } from \"../project/cli/contribution.ts\";\nimport { CliArguments, CliInterruption, CliInvocationFacts, CliOutput, CliPath, type CliInterruptionService, } from \"./application.ts\";\nimport { NodeCliPlatformLive } from \"./node-application.ts\";\nimport { ConfigModuleLoaderLive, ProjectConfiguration, ProjectConfigurationLayer, ProjectCredentialsLive } from \"./project-configuration.ts\";\nimport { NodeRecordLive } from \"../record/index.ts\";\nimport { RecordCoordination } from \"../coordination/record-leases.ts\";\nimport { RecordEntropy, RecordFileSystem, RecordGit } from \"../record/platform/services.ts\";\nimport { DockerCacheAdministration } from \"../docker/cache-administration.ts\";\nimport { DockerCacheAdministrationLive } from \"../docker/cache-live.ts\";\nimport { NodeProjectLive } from \"../project/node.ts\";\nimport { ProjectFileSystem, ProjectManifestFacts, ProjectProcessFacts } from \"../project/services.ts\";\nimport { NodeReportCliLive } from \"../report/host/node.ts\";\nimport { ReportBrowser, ReportModulePlatform } from \"../report/host/operations.ts\";\nimport { ReportFileSystem } from \"../report/host/static.ts\";\n// There is exactly one synchronous ownership state for the first signal. Node\n// invokes both signal handlers and Effect continuations serially, so the CLI's\n// hand-off cannot race a SIGINT into an unowned interval:\n//\n// root -> root-interrupted (interrupt the application fiber)\n// root -> graceful-dispatch (CLI is about to call runEvals)\n// graceful-dispatch -> graceful-aborted (abort only the Invocation signal)\n//\n// Graceful ownership is deliberately one-way. Returning it after `runEvals`\n// would create a second boundary where a first signal could miss both the\n// durable closure and root interruption.\ntype SignalOwnership = \"root\" | \"root-interrupted\" | \"graceful-dispatch\" | \"graceful-aborted\";\nlet signalOwnership: SignalOwnership = \"root\";\nconst invocationInterruption = new AbortController();\nlet fiber: ReturnType<typeof Effect.runFork> | undefined;\nconst interruption: CliInterruptionService = {\n invocationSignal: invocationInterruption.signal,\n enterGracefulDispatch: () => {\n if (signalOwnership === \"root\") {\n signalOwnership = \"graceful-dispatch\";\n return true;\n }\n // A root-owned first signal has already scheduled root interruption. Let\n // the CLI preserve that Cause rather than start an Invocation underneath it.\n return signalOwnership !== \"root-interrupted\";\n },\n requestInterrupt: () => process.emit(\"SIGINT\"),\n};\nconst NodeCliInterruptionLive = Layer.succeed(CliInterruption, interruption);\n// This is the only Node composition edge. The application layer itself keeps\n// its two capability requirements visible and portable.\nconst NodeCliApplicationLive = ProjectConfigurationLayer.pipe(Layer.provide(ProjectCredentialsLive), Layer.provide(ConfigModuleLoaderLive));\nconst onInterrupt = (signal: NodeJS.Signals): void => {\n if (signalOwnership === \"root\") {\n signalOwnership = \"root-interrupted\";\n fiber?.unsafeInterruptAsFork(fiber.id());\n return;\n }\n if (signalOwnership === \"graceful-dispatch\") {\n signalOwnership = \"graceful-aborted\";\n invocationInterruption.abort();\n return;\n }\n // Keep this listener through the first-signal drain: libuv may already have\n // captured a second signal before the first handler runs. On escalation,\n // remove it and re-raise that exact OS signal so default forced termination\n // cannot become a queued no-op.\n process.removeListener(\"SIGINT\", onInterrupt);\n process.removeListener(\"SIGTERM\", onInterrupt);\n process.kill(process.pid, signal);\n};\nprocess.on(\"SIGINT\", onInterrupt);\nprocess.on(\"SIGTERM\", onInterrupt);\ntype CliFeatureRequirements = DockerCacheAdministration | CliArguments | CliInterruption | CliInvocationFacts | CliOutput | CliPath | ExperimentCliTerminal | ProjectConfiguration | RecordCoordination | RecordEntropy | RecordFileSystem | RecordGit | ProjectFileSystem | ProjectManifestFacts | ProjectProcessFacts | ReportBrowser | ReportModulePlatform | ReportFileSystem | Scope.Scope;\nconst featureCommands = composeCliCommands<CliFeatureRequirements, CliFeatureError>([\n ...experimentCliContributions,\n evalCatalogCliCommand,\n ...reportCliContributions,\n sandboxCliCommand,\n dockerCliCommand,\n cleanCliCommand,\n migrateCliCommand,\n projectInitCliCommand,\n]);\nconst application = Effect.scoped(cliProgram(featureCommands)).pipe(\n// Application bootstrap is the sole provider of concrete Node services.\n// Command and library modules retain their real requirements for callers.\nEffect.provide(NodeRecordLive), \n// This is a lazy service value: ordinary commands and help do not probe Docker.\nEffect.provide(DockerCacheAdministrationLive), Effect.provide(NodeProjectLive), Effect.provide(NodeReportCliLive), Effect.provide(NodeExperimentCliTerminalLive), Effect.provide(NodeCliInterruptionLive), Effect.provide(NodeCliApplicationLive), Effect.provide(NodeCliPlatformLive), \n// Typed CLI failures are expected, user-actionable outcomes. They become an\n// ordinary process status after their message has been written once.\nEffect.catchAll((failure) => Effect.sync(() => {\n process.stderr.write(renderCliFailure(failure));\n return failure.exitCode;\n})), \n// A normal nonzero command result must flush through Node naturally; do not\n// use process.exit and skip Scope finalizers or piped stdout.\nEffect.tap((exitCode) => Effect.sync(() => {\n process.exitCode = exitCode;\n})), Effect.asVoid, \n// Defects remain defects and interruption remains interruption. Suppress\n// platform's generic logger so the CLI keeps its existing user-facing form.\nEffect.tapErrorCause((cause) => Cause.isInterruptedOnly(cause)\n ? Effect.void\n : Effect.sync(() => process.stderr.write(`niceeval error:\\n${Cause.pretty(cause)}\\n`))));\n// Match NodeRuntime.runMain's liveness contract: an Effect.async boundary may\n// be awaiting a callback that owns no Node event-loop handle of its own.\nconst keepAlive = setInterval(() => { }, 2 ** 31 - 1);\nfiber = Effect.runFork(application);\n// A signal cannot normally interleave with this synchronous bootstrap, but\n// retaining the state makes that startup edge explicit and lossless as well.\nconst interruptRootIfPending = (): void => {\n if (signalOwnership !== \"root-interrupted\" || fiber === undefined)\n return;\n fiber.unsafeInterruptAsFork(fiber.id());\n};\ninterruptRootIfPending();\nfiber.addObserver((exit) => {\n clearInterval(keepAlive);\n process.removeListener(\"SIGINT\", onInterrupt);\n process.removeListener(\"SIGTERM\", onInterrupt);\n if (Exit.isFailure(exit)) {\n // Scope finalizers have settled before an observer sees the Exit. Typed\n // CLI failures already became a successful numeric result above; only a\n // real unhandled interruption receives 130, and defects remain exit 2.\n process.exitCode = Cause.isInterruptedOnly(exit.cause) ? 130 : 2;\n }\n});\n"]}
|