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
|
@@ -49,6 +49,76 @@ function valueText(value) {
|
|
|
49
49
|
return value.items.map(valueText).join("; ");
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
function field(value, name) {
|
|
53
|
+
return value?.kind === "fields"
|
|
54
|
+
? value.fields.find((entry) => entry.label === name)?.value
|
|
55
|
+
: undefined;
|
|
56
|
+
}
|
|
57
|
+
function stringValue(value) {
|
|
58
|
+
return value?.kind === "value" && typeof value.value === "string" ? value.value : undefined;
|
|
59
|
+
}
|
|
60
|
+
function numberValue(value) {
|
|
61
|
+
return value?.kind === "value" && typeof value.value === "number" ? value.value : undefined;
|
|
62
|
+
}
|
|
63
|
+
function matcherName(check) {
|
|
64
|
+
const data = field(check, "data");
|
|
65
|
+
const valueMatcher = stringValue(field(field(data, "matcher"), "name"));
|
|
66
|
+
if (valueMatcher !== undefined)
|
|
67
|
+
return valueMatcher;
|
|
68
|
+
if (criterionId(check) !== "occurrence/v1" || stringValue(field(data, "occurrence")) !== "tool") {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const toolMatcher = stringValue(field(data, "matcher"));
|
|
72
|
+
if (toolMatcher === undefined)
|
|
73
|
+
return undefined;
|
|
74
|
+
return stringValue(field(data, "assertion")) === "absent"
|
|
75
|
+
? `notCalledTool(${toolMatcher})`
|
|
76
|
+
: `calledTool(${toolMatcher})`;
|
|
77
|
+
}
|
|
78
|
+
function matchState(value) {
|
|
79
|
+
const state = stringValue(value);
|
|
80
|
+
return state === "matched" || state === "mismatched" || state === "unavailable" ? state : undefined;
|
|
81
|
+
}
|
|
82
|
+
function diagnosticView(value) {
|
|
83
|
+
if (value?.kind !== "fields")
|
|
84
|
+
return null;
|
|
85
|
+
const childrenValue = field(value, "children");
|
|
86
|
+
const children = childrenValue?.kind === "list"
|
|
87
|
+
? childrenValue.items.flatMap((item, index) => {
|
|
88
|
+
const state = matchState(field(item, "state"));
|
|
89
|
+
if (state === undefined)
|
|
90
|
+
return [];
|
|
91
|
+
return [{
|
|
92
|
+
label: stringValue(field(item, "label")) ?? `matcher ${index + 1}`,
|
|
93
|
+
state,
|
|
94
|
+
diagnostic: diagnosticView(field(item, "diagnostic")),
|
|
95
|
+
}];
|
|
96
|
+
})
|
|
97
|
+
: [];
|
|
98
|
+
return {
|
|
99
|
+
code: stringValue(field(value, "code")),
|
|
100
|
+
expected: stringValue(field(value, "expected")),
|
|
101
|
+
received: stringValue(field(value, "received")),
|
|
102
|
+
reason: stringValue(field(value, "reason")),
|
|
103
|
+
locator: stringValue(field(field(value, "locator"), "id")),
|
|
104
|
+
children,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function criterionId(check) {
|
|
108
|
+
return stringValue(field(check, "id"));
|
|
109
|
+
}
|
|
110
|
+
function isToolCriterion(check) {
|
|
111
|
+
return criterionId(check) === "occurrence/v1" &&
|
|
112
|
+
stringValue(field(field(check, "data"), "occurrence")) === "tool";
|
|
113
|
+
}
|
|
114
|
+
function semanticExpected(expected) {
|
|
115
|
+
const kind = stringValue(field(expected, "kind"));
|
|
116
|
+
if (kind === "at-least") {
|
|
117
|
+
const threshold = numberValue(field(expected, "threshold"));
|
|
118
|
+
return threshold === undefined ? undefined : { kind: "text", text: `≥ ${threshold}` };
|
|
119
|
+
}
|
|
120
|
+
return kind === undefined ? expected : undefined;
|
|
121
|
+
}
|
|
52
122
|
function LongString({ value, locale, quoted }) {
|
|
53
123
|
return ((0, jsx_runtime_1.jsxs)("details", { className: "niceeval-assertion-evidence-long-value", children: [(0, jsx_runtime_1.jsx)("summary", { children: stringSummary(value, locale) }), (0, jsx_runtime_1.jsx)("pre", { className: "niceeval-assertion-evidence-code", children: quoted ? JSON.stringify(value) : value })] }));
|
|
54
124
|
}
|
|
@@ -74,8 +144,124 @@ function Value({ value, locale }) {
|
|
|
74
144
|
function Section({ heading, value, locale }) {
|
|
75
145
|
return ((0, jsx_runtime_1.jsxs)("section", { className: "niceeval-assertion-evidence-section", children: [(0, jsx_runtime_1.jsx)("h5", { children: heading }), (0, jsx_runtime_1.jsx)(Value, { value: value, locale: locale })] }));
|
|
76
146
|
}
|
|
77
|
-
function
|
|
78
|
-
return ((0, jsx_runtime_1.
|
|
147
|
+
function SemanticFacts({ rows }) {
|
|
148
|
+
return ((0, jsx_runtime_1.jsx)("dl", { className: "niceeval-match-facts", children: rows.map((row) => ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("dt", { children: row.label }), (0, jsx_runtime_1.jsx)("dd", { children: row.value })] }, row.label))) }));
|
|
149
|
+
}
|
|
150
|
+
function DiagnosticFacts({ diagnostic, locale }) {
|
|
151
|
+
const rows = [
|
|
152
|
+
...(diagnostic.expected === undefined ? [] : [{
|
|
153
|
+
label: label(locale, "Expected", "预期"),
|
|
154
|
+
value: diagnostic.expected,
|
|
155
|
+
}]),
|
|
156
|
+
...(diagnostic.received === undefined ? [] : [{
|
|
157
|
+
label: label(locale, "Observed", "实际"),
|
|
158
|
+
value: diagnostic.received,
|
|
159
|
+
}]),
|
|
160
|
+
...(diagnostic.locator === undefined ? [] : [{
|
|
161
|
+
label: label(locale, "Call", "调用"),
|
|
162
|
+
value: diagnostic.locator,
|
|
163
|
+
}]),
|
|
164
|
+
...(diagnostic.reason === undefined ? [] : [{
|
|
165
|
+
label: label(locale, "Reason", "原因"),
|
|
166
|
+
value: diagnostic.reason,
|
|
167
|
+
}]),
|
|
168
|
+
];
|
|
169
|
+
return rows.length === 0 ? null : (0, jsx_runtime_1.jsx)(SemanticFacts, { rows: rows });
|
|
170
|
+
}
|
|
171
|
+
function CommandEvidence({ input, diagnostic, locale }) {
|
|
172
|
+
const command = stringValue(field(input, "command"));
|
|
173
|
+
const exitCode = numberValue(field(input, "exitCode"));
|
|
174
|
+
const rows = [
|
|
175
|
+
...(command === undefined ? [] : [{ label: label(locale, "Command", "命令"), value: command }]),
|
|
176
|
+
...(exitCode === undefined ? [] : [{
|
|
177
|
+
label: label(locale, "Result", "结果"),
|
|
178
|
+
value: label(locale, `Exit code ${exitCode}`, `退出码 ${exitCode}`),
|
|
179
|
+
}]),
|
|
180
|
+
...(diagnostic?.expected === undefined ? [] : [{
|
|
181
|
+
label: label(locale, "Expected", "预期"),
|
|
182
|
+
value: diagnostic.expected,
|
|
183
|
+
}]),
|
|
184
|
+
];
|
|
185
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: "niceeval-assertion-evidence-section", children: [(0, jsx_runtime_1.jsx)("h5", { children: label(locale, "Command result", "命令结果") }), (0, jsx_runtime_1.jsx)(SemanticFacts, { rows: rows })] }));
|
|
186
|
+
}
|
|
187
|
+
function ToolEvidence({ observed, diagnostic, locale }) {
|
|
188
|
+
const receipt = field(observed, "receipt");
|
|
189
|
+
const examined = numberValue(field(receipt, "examined"));
|
|
190
|
+
const rows = [
|
|
191
|
+
...(diagnostic?.expected === undefined ? [] : [{
|
|
192
|
+
label: label(locale, "Expected", "预期"),
|
|
193
|
+
value: diagnostic.expected,
|
|
194
|
+
}]),
|
|
195
|
+
...(diagnostic?.received === undefined ? [] : [{
|
|
196
|
+
label: label(locale, "Observed", "实际"),
|
|
197
|
+
value: diagnostic.received,
|
|
198
|
+
}]),
|
|
199
|
+
...(examined === undefined ? [] : [{
|
|
200
|
+
label: label(locale, "Examined", "已检查"),
|
|
201
|
+
value: label(locale, `${examined} tool call${examined === 1 ? "" : "s"}`, `${examined} 次工具调用`),
|
|
202
|
+
}]),
|
|
203
|
+
];
|
|
204
|
+
return ((0, jsx_runtime_1.jsxs)("section", { className: "niceeval-assertion-evidence-section", children: [(0, jsx_runtime_1.jsx)("h5", { children: label(locale, "Tool calls", "工具调用") }), (0, jsx_runtime_1.jsx)(SemanticFacts, { rows: rows })] }));
|
|
205
|
+
}
|
|
206
|
+
function GenericEvidence({ content, input, diagnostic, locale }) {
|
|
207
|
+
const expected = diagnostic?.expected === undefined
|
|
208
|
+
? semanticExpected(content.expected)
|
|
209
|
+
: { kind: "text", text: diagnostic.expected };
|
|
210
|
+
const received = diagnostic?.received === undefined
|
|
211
|
+
? undefined
|
|
212
|
+
: { kind: "text", text: diagnostic.received };
|
|
213
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "niceeval-match-evidence-grid", children: [(0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Input", "输入"), value: input, locale: locale }), received === undefined ? null : ((0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Observed", "实际结果"), value: received, locale: locale })), expected === undefined ? null : ((0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Expected", "预期结果"), value: expected, locale: locale }))] }));
|
|
214
|
+
}
|
|
215
|
+
function CoverageNotice({ source, locale }) {
|
|
216
|
+
const coverage = field(source, "coverage");
|
|
217
|
+
const state = stringValue(field(coverage, "state"));
|
|
218
|
+
if (state === undefined || state === "complete")
|
|
219
|
+
return null;
|
|
220
|
+
const reason = stringValue(field(coverage, "reason"));
|
|
221
|
+
const limitations = field(source, "limitations");
|
|
222
|
+
const omitted = limitations?.kind === "list"
|
|
223
|
+
? limitations.items.map((item) => numberValue(field(item, "omittedBytes"))).find((value) => value !== undefined)
|
|
224
|
+
: undefined;
|
|
225
|
+
const detail = [
|
|
226
|
+
reason,
|
|
227
|
+
omitted === undefined
|
|
228
|
+
? undefined
|
|
229
|
+
: label(locale, `${omitted} bytes omitted`, `省略 ${omitted} 字节`),
|
|
230
|
+
].filter((part) => part !== undefined).join(" · ");
|
|
231
|
+
return ((0, jsx_runtime_1.jsxs)("p", { className: "niceeval-match-coverage", children: [label(locale, `Input evidence ${state}`, `输入证据${state === "partial" ? "不完整" : "不可用"}`), detail.length === 0 ? "" : ` · ${detail}`] }));
|
|
232
|
+
}
|
|
233
|
+
function stateLabel(state, locale) {
|
|
234
|
+
if (locale === "zh-CN") {
|
|
235
|
+
if (state === "matched")
|
|
236
|
+
return "命中";
|
|
237
|
+
if (state === "mismatched")
|
|
238
|
+
return "未命中";
|
|
239
|
+
return "无法判断";
|
|
240
|
+
}
|
|
241
|
+
return state;
|
|
242
|
+
}
|
|
243
|
+
function MatchNode({ label: nodeLabel, state, diagnostic, locale, root = false, children }) {
|
|
244
|
+
const accessibleLabel = `${nodeLabel}: ${stateLabel(state, locale)}`;
|
|
245
|
+
const summary = ((0, jsx_runtime_1.jsx)("span", { className: `niceeval-match-summary niceeval-match-summary--${state}`, children: (0, jsx_runtime_1.jsx)("code", { children: nodeLabel }) }));
|
|
246
|
+
const nested = diagnostic?.children ?? [];
|
|
247
|
+
const body = diagnostic !== null || children !== undefined
|
|
248
|
+
? ((0, jsx_runtime_1.jsxs)("div", { className: "niceeval-match-detail", children: [nested.length > 0 ? ((0, jsx_runtime_1.jsx)("div", { className: "niceeval-match-children", children: nested.map((child, index) => ((0, jsx_runtime_1.jsx)(MatchNode, { label: child.label, state: child.state, diagnostic: child.diagnostic, locale: locale }, `${child.label}:${index}`))) })) : null, root || diagnostic === null ? null : (0, jsx_runtime_1.jsx)(DiagnosticFacts, { diagnostic: diagnostic, locale: locale }), children] }))
|
|
249
|
+
: null;
|
|
250
|
+
if (body === null)
|
|
251
|
+
return (0, jsx_runtime_1.jsx)("div", { className: "niceeval-match-node", "aria-label": accessibleLabel, children: summary });
|
|
252
|
+
return ((0, jsx_runtime_1.jsxs)("details", { className: `niceeval-match-node${root ? " niceeval-match-node--root" : ""}`, children: [(0, jsx_runtime_1.jsx)("summary", { "aria-label": accessibleLabel, children: summary }), body] }));
|
|
253
|
+
}
|
|
254
|
+
function web(content, locale, labelText, state) {
|
|
255
|
+
const diagnostic = diagnosticView(content.explanation);
|
|
256
|
+
const name = matcherName(content.check) ?? labelText ?? label(locale, "Match", "检查");
|
|
257
|
+
const input = field(content.source, "input") ?? content.source;
|
|
258
|
+
const code = diagnostic?.code;
|
|
259
|
+
const primary = code === "command-succeeded" || code === "command-failed"
|
|
260
|
+
? (0, jsx_runtime_1.jsx)(CommandEvidence, { input: input, diagnostic: diagnostic, locale: locale })
|
|
261
|
+
: isToolCriterion(content.check)
|
|
262
|
+
? (0, jsx_runtime_1.jsx)(ToolEvidence, { observed: content.observed, diagnostic: diagnostic, locale: locale })
|
|
263
|
+
: (0, jsx_runtime_1.jsx)(GenericEvidence, { content: content, input: input, diagnostic: diagnostic, locale: locale });
|
|
264
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "niceeval-assertion-evidence", children: (0, jsx_runtime_1.jsx)(MatchNode, { label: name, state: state, diagnostic: diagnostic, locale: locale, root: true, children: (0, jsx_runtime_1.jsxs)("div", { className: "niceeval-match-body", children: [primary, (0, jsx_runtime_1.jsx)(CoverageNotice, { source: content.source, locale: locale }), (0, jsx_runtime_1.jsxs)("details", { className: "niceeval-match-raw", children: [(0, jsx_runtime_1.jsx)("summary", { children: label(locale, "Raw assertion data", "原始断言数据") }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Source", "来源"), value: content.source, locale: locale }), (0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Check", "检查条件"), value: content.check, locale: locale }), (0, jsx_runtime_1.jsx)(Section, { heading: label(locale, "Explanation", "解释"), value: content.explanation, locale: locale })] })] })] }) }) }));
|
|
79
265
|
}
|
|
80
266
|
exports.AssertionEvidence = (0, tree_ts_1.defineComponent)({
|
|
81
267
|
dimensions: () => ({}),
|
|
@@ -88,8 +274,8 @@ exports.AssertionEvidence = (0, tree_ts_1.defineComponent)({
|
|
|
88
274
|
`Explanation: ${valueText(content.explanation)}`,
|
|
89
275
|
].join("\n");
|
|
90
276
|
},
|
|
91
|
-
web({ content }, ctx) {
|
|
92
|
-
return web(content, ctx.locale);
|
|
277
|
+
web({ content, label: labelText, state }, ctx) {
|
|
278
|
+
return web(content, ctx.locale, labelText, state ?? "unavailable");
|
|
93
279
|
},
|
|
94
280
|
});
|
|
95
281
|
exports.AssertionEvidence.displayName = "AssertionEvidence";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion-evidence.js","sourceRoot":"","sources":["assertion-evidence.tsx"],"names":[],"mappings":"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","sourcesContent":["// AssertionEvidence: neutral structured projection of one sealed assertion.\nimport type { ReactElement } from \"react\";\nimport type { ClosedAssertionFactValue } from \"../../../analysis/index.ts\";\nimport { defineComponent } from \"../tree.ts\";\nexport interface AssertionEvidenceContent {\n readonly source: ClosedAssertionFactValue;\n readonly check: ClosedAssertionFactValue;\n readonly observed: ClosedAssertionFactValue;\n readonly expected: ClosedAssertionFactValue;\n readonly explanation: ClosedAssertionFactValue;\n}\nconst INLINE_STRING_CHARACTER_LIMIT = 240;\nconst STRING_PREVIEW_CHARACTER_LIMIT = 120;\nfunction label(locale: string, english: string, chinese: string): string {\n return locale === \"zh-CN\" ? chinese : english;\n}\nfunction scalarText(value: null | boolean | number | string): string {\n return typeof value === \"string\" ? JSON.stringify(value) : String(value);\n}\nfunction characters(value: string): readonly string[] {\n return Array.from(value);\n}\nfunction compactString(value: string): string {\n const content = characters(value);\n if (content.length <= INLINE_STRING_CHARACTER_LIMIT)\n return value;\n return `${content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\")}… (${content.length} characters)`;\n}\nfunction compactScalarText(value: string): string {\n const content = characters(value);\n if (content.length <= INLINE_STRING_CHARACTER_LIMIT)\n return JSON.stringify(value);\n const preview = content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\");\n return `${JSON.stringify(preview)}… (${content.length} characters)`;\n}\nfunction stringSummary(value: string, locale: string): string {\n const content = characters(value);\n const preview = content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\");\n const unit = label(locale, content.length === 1 ? \"character\" : \"characters\", \"字符\");\n return `${content.length} ${unit} · ${JSON.stringify(preview)}…`;\n}\nfunction valueText(value: ClosedAssertionFactValue): string {\n switch (value.kind) {\n case \"text\":\n return compactString(value.text);\n case \"value\":\n return typeof value.value === \"string\"\n ? compactScalarText(value.value)\n : scalarText(value.value);\n case \"unavailable\":\n return value.reason;\n case \"fields\":\n return value.fields.map((field) => `${field.label}: ${valueText(field.value)}`).join(\"; \");\n case \"list\":\n return value.items.map(valueText).join(\"; \");\n }\n}\nfunction LongString({ value, locale, quoted }: {\n readonly value: string;\n readonly locale: string;\n readonly quoted: boolean;\n}): ReactElement {\n return (<details className=\"niceeval-assertion-evidence-long-value\">\n <summary>{stringSummary(value, locale)}</summary>\n <pre className=\"niceeval-assertion-evidence-code\">{quoted ? JSON.stringify(value) : value}</pre>\n </details>);\n}\nfunction Value({ value, locale }: {\n readonly value: ClosedAssertionFactValue;\n readonly locale: string;\n}): ReactElement {\n switch (value.kind) {\n case \"text\":\n return characters(value.text).length > INLINE_STRING_CHARACTER_LIMIT\n ? <LongString value={value.text} locale={locale} quoted={false}/>\n : <p>{value.text}</p>;\n case \"value\":\n if (typeof value.value === \"string\" && characters(value.value).length > INLINE_STRING_CHARACTER_LIMIT) {\n return <LongString value={value.value} locale={locale} quoted/>;\n }\n return <pre className=\"niceeval-assertion-evidence-code\">{scalarText(value.value)}</pre>;\n case \"unavailable\":\n return (<p className=\"niceeval-assertion-evidence-state\">\n <code>unavailable</code>\n <span>{value.reason}</span>\n </p>);\n case \"fields\":\n return (<dl className=\"niceeval-assertion-evidence-fields\">\n {value.fields.map((field, index) => (<div key={`${field.label}:${index}`}>\n <dt>{field.label}</dt>\n <dd><Value value={field.value} locale={locale}/></dd>\n </div>))}\n </dl>);\n case \"list\":\n return (<ul className=\"niceeval-assertion-evidence-list\">\n {value.items.map((item, index) => <li key={index}><Value value={item} locale={locale}/></li>)}\n </ul>);\n }\n}\nfunction Section({ heading, value, locale }: {\n readonly heading: string;\n readonly value: ClosedAssertionFactValue;\n readonly locale: string;\n}): ReactElement {\n return (<section className=\"niceeval-assertion-evidence-section\">\n <h5>{heading}</h5>\n <Value value={value} locale={locale}/>\n </section>);\n}\nfunction web(content: AssertionEvidenceContent, locale: string): ReactElement {\n return (<div className=\"niceeval-assertion-evidence\">\n <Section heading={label(locale, \"Source\", \"来源\")} value={content.source} locale={locale}/>\n <Section heading={label(locale, \"Check\", \"检查条件\")} value={content.check} locale={locale}/>\n <Section heading={label(locale, \"Observed\", \"实际结果\")} value={content.observed} locale={locale}/>\n <Section heading={label(locale, \"Expected\", \"预期结果\")} value={content.expected} locale={locale}/>\n <Section heading={label(locale, \"Explanation\", \"解释\")} value={content.explanation} locale={locale}/>\n </div>);\n}\nexport const AssertionEvidence = defineComponent<{\n readonly content: AssertionEvidenceContent;\n}>({\n dimensions: () => ({}),\n text({ content }) {\n return [\n `Source: ${valueText(content.source)}`,\n `Check: ${valueText(content.check)}`,\n `Observed: ${valueText(content.observed)}`,\n `Expected: ${valueText(content.expected)}`,\n `Explanation: ${valueText(content.explanation)}`,\n ].join(\"\\n\");\n },\n web({ content }, ctx) {\n return web(content, ctx.locale);\n },\n});\nAssertionEvidence.displayName = \"AssertionEvidence\";\n"]}
|
|
1
|
+
{"version":3,"file":"assertion-evidence.js","sourceRoot":"","sources":["assertion-evidence.tsx"],"names":[],"mappings":"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","sourcesContent":["// AssertionEvidence: neutral structured projection of one sealed assertion.\nimport type { ReactElement } from \"react\";\nimport type { ClosedAssertionFactValue } from \"../../../analysis/index.ts\";\nimport { defineComponent } from \"../tree.ts\";\nexport interface AssertionEvidenceContent {\n readonly source: ClosedAssertionFactValue;\n readonly check: ClosedAssertionFactValue;\n readonly observed: ClosedAssertionFactValue;\n readonly expected: ClosedAssertionFactValue;\n readonly explanation: ClosedAssertionFactValue;\n}\ntype MatchState = \"matched\" | \"mismatched\" | \"unavailable\";\ninterface MatchDiagnosticView {\n readonly code?: string;\n readonly expected?: string;\n readonly received?: string;\n readonly reason?: string;\n readonly locator?: string;\n readonly children: readonly MatchChildView[];\n}\ninterface MatchChildView {\n readonly label: string;\n readonly state: MatchState;\n readonly diagnostic: MatchDiagnosticView | null;\n}\nconst INLINE_STRING_CHARACTER_LIMIT = 240;\nconst STRING_PREVIEW_CHARACTER_LIMIT = 120;\nfunction label(locale: string, english: string, chinese: string): string {\n return locale === \"zh-CN\" ? chinese : english;\n}\nfunction scalarText(value: null | boolean | number | string): string {\n return typeof value === \"string\" ? JSON.stringify(value) : String(value);\n}\nfunction characters(value: string): readonly string[] {\n return Array.from(value);\n}\nfunction compactString(value: string): string {\n const content = characters(value);\n if (content.length <= INLINE_STRING_CHARACTER_LIMIT)\n return value;\n return `${content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\")}… (${content.length} characters)`;\n}\nfunction compactScalarText(value: string): string {\n const content = characters(value);\n if (content.length <= INLINE_STRING_CHARACTER_LIMIT)\n return JSON.stringify(value);\n const preview = content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\");\n return `${JSON.stringify(preview)}… (${content.length} characters)`;\n}\nfunction stringSummary(value: string, locale: string): string {\n const content = characters(value);\n const preview = content.slice(0, STRING_PREVIEW_CHARACTER_LIMIT).join(\"\");\n const unit = label(locale, content.length === 1 ? \"character\" : \"characters\", \"字符\");\n return `${content.length} ${unit} · ${JSON.stringify(preview)}…`;\n}\nfunction valueText(value: ClosedAssertionFactValue): string {\n switch (value.kind) {\n case \"text\":\n return compactString(value.text);\n case \"value\":\n return typeof value.value === \"string\"\n ? compactScalarText(value.value)\n : scalarText(value.value);\n case \"unavailable\":\n return value.reason;\n case \"fields\":\n return value.fields.map((field) => `${field.label}: ${valueText(field.value)}`).join(\"; \");\n case \"list\":\n return value.items.map(valueText).join(\"; \");\n }\n}\nfunction field(value: ClosedAssertionFactValue | undefined, name: string): ClosedAssertionFactValue | undefined {\n return value?.kind === \"fields\"\n ? value.fields.find((entry) => entry.label === name)?.value\n : undefined;\n}\nfunction stringValue(value: ClosedAssertionFactValue | undefined): string | undefined {\n return value?.kind === \"value\" && typeof value.value === \"string\" ? value.value : undefined;\n}\nfunction numberValue(value: ClosedAssertionFactValue | undefined): number | undefined {\n return value?.kind === \"value\" && typeof value.value === \"number\" ? value.value : undefined;\n}\nfunction matcherName(check: ClosedAssertionFactValue): string | undefined {\n const data = field(check, \"data\");\n const valueMatcher = stringValue(field(field(data, \"matcher\"), \"name\"));\n if (valueMatcher !== undefined)\n return valueMatcher;\n if (criterionId(check) !== \"occurrence/v1\" || stringValue(field(data, \"occurrence\")) !== \"tool\") {\n return undefined;\n }\n const toolMatcher = stringValue(field(data, \"matcher\"));\n if (toolMatcher === undefined)\n return undefined;\n return stringValue(field(data, \"assertion\")) === \"absent\"\n ? `notCalledTool(${toolMatcher})`\n : `calledTool(${toolMatcher})`;\n}\nfunction matchState(value: ClosedAssertionFactValue | undefined): MatchState | undefined {\n const state = stringValue(value);\n return state === \"matched\" || state === \"mismatched\" || state === \"unavailable\" ? state : undefined;\n}\nfunction diagnosticView(value: ClosedAssertionFactValue | undefined): MatchDiagnosticView | null {\n if (value?.kind !== \"fields\")\n return null;\n const childrenValue = field(value, \"children\");\n const children = childrenValue?.kind === \"list\"\n ? childrenValue.items.flatMap((item, index): MatchChildView[] => {\n const state = matchState(field(item, \"state\"));\n if (state === undefined)\n return [];\n return [{\n label: stringValue(field(item, \"label\")) ?? `matcher ${index + 1}`,\n state,\n diagnostic: diagnosticView(field(item, \"diagnostic\")),\n }];\n })\n : [];\n return {\n code: stringValue(field(value, \"code\")),\n expected: stringValue(field(value, \"expected\")),\n received: stringValue(field(value, \"received\")),\n reason: stringValue(field(value, \"reason\")),\n locator: stringValue(field(field(value, \"locator\"), \"id\")),\n children,\n };\n}\nfunction criterionId(check: ClosedAssertionFactValue): string | undefined {\n return stringValue(field(check, \"id\"));\n}\nfunction isToolCriterion(check: ClosedAssertionFactValue): boolean {\n return criterionId(check) === \"occurrence/v1\" &&\n stringValue(field(field(check, \"data\"), \"occurrence\")) === \"tool\";\n}\nfunction semanticExpected(expected: ClosedAssertionFactValue): ClosedAssertionFactValue | undefined {\n const kind = stringValue(field(expected, \"kind\"));\n if (kind === \"at-least\") {\n const threshold = numberValue(field(expected, \"threshold\"));\n return threshold === undefined ? undefined : { kind: \"text\", text: `≥ ${threshold}` };\n }\n return kind === undefined ? expected : undefined;\n}\nfunction LongString({ value, locale, quoted }: {\n readonly value: string;\n readonly locale: string;\n readonly quoted: boolean;\n}): ReactElement {\n return (<details className=\"niceeval-assertion-evidence-long-value\">\n <summary>{stringSummary(value, locale)}</summary>\n <pre className=\"niceeval-assertion-evidence-code\">{quoted ? JSON.stringify(value) : value}</pre>\n </details>);\n}\nfunction Value({ value, locale }: {\n readonly value: ClosedAssertionFactValue;\n readonly locale: string;\n}): ReactElement {\n switch (value.kind) {\n case \"text\":\n return characters(value.text).length > INLINE_STRING_CHARACTER_LIMIT\n ? <LongString value={value.text} locale={locale} quoted={false}/>\n : <p>{value.text}</p>;\n case \"value\":\n if (typeof value.value === \"string\" && characters(value.value).length > INLINE_STRING_CHARACTER_LIMIT) {\n return <LongString value={value.value} locale={locale} quoted/>;\n }\n return <pre className=\"niceeval-assertion-evidence-code\">{scalarText(value.value)}</pre>;\n case \"unavailable\":\n return (<p className=\"niceeval-assertion-evidence-state\">\n <code>unavailable</code>\n <span>{value.reason}</span>\n </p>);\n case \"fields\":\n return (<dl className=\"niceeval-assertion-evidence-fields\">\n {value.fields.map((field, index) => (<div key={`${field.label}:${index}`}>\n <dt>{field.label}</dt>\n <dd><Value value={field.value} locale={locale}/></dd>\n </div>))}\n </dl>);\n case \"list\":\n return (<ul className=\"niceeval-assertion-evidence-list\">\n {value.items.map((item, index) => <li key={index}><Value value={item} locale={locale}/></li>)}\n </ul>);\n }\n}\nfunction Section({ heading, value, locale }: {\n readonly heading: string;\n readonly value: ClosedAssertionFactValue;\n readonly locale: string;\n}): ReactElement {\n return (<section className=\"niceeval-assertion-evidence-section\">\n <h5>{heading}</h5>\n <Value value={value} locale={locale}/>\n </section>);\n}\nfunction SemanticFacts({ rows }: {\n readonly rows: readonly {\n readonly label: string;\n readonly value: string;\n }[];\n}): ReactElement {\n return (<dl className=\"niceeval-match-facts\">\n {rows.map((row) => (<div key={row.label}>\n <dt>{row.label}</dt>\n <dd>{row.value}</dd>\n </div>))}\n </dl>);\n}\nfunction DiagnosticFacts({ diagnostic, locale }: {\n readonly diagnostic: MatchDiagnosticView;\n readonly locale: string;\n}): ReactElement | null {\n const rows = [\n ...(diagnostic.expected === undefined ? [] : [{\n label: label(locale, \"Expected\", \"预期\"),\n value: diagnostic.expected,\n }]),\n ...(diagnostic.received === undefined ? [] : [{\n label: label(locale, \"Observed\", \"实际\"),\n value: diagnostic.received,\n }]),\n ...(diagnostic.locator === undefined ? [] : [{\n label: label(locale, \"Call\", \"调用\"),\n value: diagnostic.locator,\n }]),\n ...(diagnostic.reason === undefined ? [] : [{\n label: label(locale, \"Reason\", \"原因\"),\n value: diagnostic.reason,\n }]),\n ];\n return rows.length === 0 ? null : <SemanticFacts rows={rows}/>;\n}\nfunction CommandEvidence({ input, diagnostic, locale }: {\n readonly input: ClosedAssertionFactValue;\n readonly diagnostic: MatchDiagnosticView | null;\n readonly locale: string;\n}): ReactElement {\n const command = stringValue(field(input, \"command\"));\n const exitCode = numberValue(field(input, \"exitCode\"));\n const rows = [\n ...(command === undefined ? [] : [{ label: label(locale, \"Command\", \"命令\"), value: command }]),\n ...(exitCode === undefined ? [] : [{\n label: label(locale, \"Result\", \"结果\"),\n value: label(locale, `Exit code ${exitCode}`, `退出码 ${exitCode}`),\n }]),\n ...(diagnostic?.expected === undefined ? [] : [{\n label: label(locale, \"Expected\", \"预期\"),\n value: diagnostic.expected,\n }]),\n ];\n return (<section className=\"niceeval-assertion-evidence-section\">\n <h5>{label(locale, \"Command result\", \"命令结果\")}</h5>\n <SemanticFacts rows={rows}/>\n </section>);\n}\nfunction ToolEvidence({ observed, diagnostic, locale }: {\n readonly observed: ClosedAssertionFactValue;\n readonly diagnostic: MatchDiagnosticView | null;\n readonly locale: string;\n}): ReactElement {\n const receipt = field(observed, \"receipt\");\n const examined = numberValue(field(receipt, \"examined\"));\n const rows = [\n ...(diagnostic?.expected === undefined ? [] : [{\n label: label(locale, \"Expected\", \"预期\"),\n value: diagnostic.expected,\n }]),\n ...(diagnostic?.received === undefined ? [] : [{\n label: label(locale, \"Observed\", \"实际\"),\n value: diagnostic.received,\n }]),\n ...(examined === undefined ? [] : [{\n label: label(locale, \"Examined\", \"已检查\"),\n value: label(locale, `${examined} tool call${examined === 1 ? \"\" : \"s\"}`, `${examined} 次工具调用`),\n }]),\n ];\n return (<section className=\"niceeval-assertion-evidence-section\">\n <h5>{label(locale, \"Tool calls\", \"工具调用\")}</h5>\n <SemanticFacts rows={rows}/>\n </section>);\n}\nfunction GenericEvidence({ content, input, diagnostic, locale }: {\n readonly content: AssertionEvidenceContent;\n readonly input: ClosedAssertionFactValue;\n readonly diagnostic: MatchDiagnosticView | null;\n readonly locale: string;\n}): ReactElement {\n const expected = diagnostic?.expected === undefined\n ? semanticExpected(content.expected)\n : { kind: \"text\" as const, text: diagnostic.expected };\n const received = diagnostic?.received === undefined\n ? undefined\n : { kind: \"text\" as const, text: diagnostic.received };\n return (<div className=\"niceeval-match-evidence-grid\">\n <Section heading={label(locale, \"Input\", \"输入\")} value={input} locale={locale}/>\n {received === undefined ? null : (<Section heading={label(locale, \"Observed\", \"实际结果\")} value={received} locale={locale}/>)}\n {expected === undefined ? null : (<Section heading={label(locale, \"Expected\", \"预期结果\")} value={expected} locale={locale}/>)}\n </div>);\n}\nfunction CoverageNotice({ source, locale }: {\n readonly source: ClosedAssertionFactValue;\n readonly locale: string;\n}): ReactElement | null {\n const coverage = field(source, \"coverage\");\n const state = stringValue(field(coverage, \"state\"));\n if (state === undefined || state === \"complete\")\n return null;\n const reason = stringValue(field(coverage, \"reason\"));\n const limitations = field(source, \"limitations\");\n const omitted = limitations?.kind === \"list\"\n ? limitations.items.map((item) => numberValue(field(item, \"omittedBytes\"))).find((value) => value !== undefined)\n : undefined;\n const detail = [\n reason,\n omitted === undefined\n ? undefined\n : label(locale, `${omitted} bytes omitted`, `省略 ${omitted} 字节`),\n ].filter((part): part is string => part !== undefined).join(\" · \");\n return (<p className=\"niceeval-match-coverage\">\n {label(locale, `Input evidence ${state}`, `输入证据${state === \"partial\" ? \"不完整\" : \"不可用\"}`)}\n {detail.length === 0 ? \"\" : ` · ${detail}`}\n </p>);\n}\nfunction stateLabel(state: MatchState, locale: string): string {\n if (locale === \"zh-CN\") {\n if (state === \"matched\")\n return \"命中\";\n if (state === \"mismatched\")\n return \"未命中\";\n return \"无法判断\";\n }\n return state;\n}\nfunction MatchNode({ label: nodeLabel, state, diagnostic, locale, root = false, children }: {\n readonly label: string;\n readonly state: MatchState;\n readonly diagnostic: MatchDiagnosticView | null;\n readonly locale: string;\n readonly root?: boolean;\n readonly children?: ReactElement;\n}): ReactElement {\n const accessibleLabel = `${nodeLabel}: ${stateLabel(state, locale)}`;\n const summary = (<span className={`niceeval-match-summary niceeval-match-summary--${state}`}>\n <code>{nodeLabel}</code>\n </span>);\n const nested = diagnostic?.children ?? [];\n const body = diagnostic !== null || children !== undefined\n ? (<div className=\"niceeval-match-detail\">\n {nested.length > 0 ? (<div className=\"niceeval-match-children\">\n {nested.map((child, index) => (<MatchNode key={`${child.label}:${index}`} label={child.label} state={child.state} diagnostic={child.diagnostic} locale={locale}/>))}\n </div>) : null}\n {root || diagnostic === null ? null : <DiagnosticFacts diagnostic={diagnostic} locale={locale}/>}\n {children}\n </div>)\n : null;\n if (body === null)\n return <div className=\"niceeval-match-node\" aria-label={accessibleLabel}>{summary}</div>;\n return (<details className={`niceeval-match-node${root ? \" niceeval-match-node--root\" : \"\"}`}>\n <summary aria-label={accessibleLabel}>{summary}</summary>\n {body}\n </details>);\n}\nfunction web(content: AssertionEvidenceContent, locale: string, labelText: string | undefined, state: MatchState): ReactElement {\n const diagnostic = diagnosticView(content.explanation);\n const name = matcherName(content.check) ?? labelText ?? label(locale, \"Match\", \"检查\");\n const input = field(content.source, \"input\") ?? content.source;\n const code = diagnostic?.code;\n const primary = code === \"command-succeeded\" || code === \"command-failed\"\n ? <CommandEvidence input={input} diagnostic={diagnostic} locale={locale}/>\n : isToolCriterion(content.check)\n ? <ToolEvidence observed={content.observed} diagnostic={diagnostic} locale={locale}/>\n : <GenericEvidence content={content} input={input} diagnostic={diagnostic} locale={locale}/>;\n return (<div className=\"niceeval-assertion-evidence\">\n <MatchNode label={name} state={state} diagnostic={diagnostic} locale={locale} root>\n <div className=\"niceeval-match-body\">\n {primary}\n <CoverageNotice source={content.source} locale={locale}/>\n <details className=\"niceeval-match-raw\">\n <summary>{label(locale, \"Raw assertion data\", \"原始断言数据\")}</summary>\n <div>\n <Section heading={label(locale, \"Source\", \"来源\")} value={content.source} locale={locale}/>\n <Section heading={label(locale, \"Check\", \"检查条件\")} value={content.check} locale={locale}/>\n <Section heading={label(locale, \"Explanation\", \"解释\")} value={content.explanation} locale={locale}/>\n </div>\n </details>\n </div>\n </MatchNode>\n </div>);\n}\nexport const AssertionEvidence = defineComponent<{\n readonly content: AssertionEvidenceContent;\n readonly label?: string;\n readonly state?: MatchState;\n}>({\n dimensions: () => ({}),\n text({ content }) {\n return [\n `Source: ${valueText(content.source)}`,\n `Check: ${valueText(content.check)}`,\n `Observed: ${valueText(content.observed)}`,\n `Expected: ${valueText(content.expected)}`,\n `Explanation: ${valueText(content.explanation)}`,\n ].join(\"\\n\");\n },\n web({ content, label: labelText, state }, ctx) {\n return web(content, ctx.locale, labelText, state ?? \"unavailable\");\n },\n});\nAssertionEvidence.displayName = \"AssertionEvidence\";\n"]}
|
|
@@ -6,6 +6,10 @@ export interface AssertionEvidenceContent {
|
|
|
6
6
|
readonly expected: ClosedAssertionFactValue;
|
|
7
7
|
readonly explanation: ClosedAssertionFactValue;
|
|
8
8
|
}
|
|
9
|
+
type MatchState = "matched" | "mismatched" | "unavailable";
|
|
9
10
|
export declare const AssertionEvidence: import("../tree.cjs").ReportComponent<{
|
|
10
11
|
readonly content: AssertionEvidenceContent;
|
|
12
|
+
readonly label?: string;
|
|
13
|
+
readonly state?: MatchState;
|
|
11
14
|
}>;
|
|
15
|
+
export {};
|
|
@@ -6,6 +6,10 @@ export interface AssertionEvidenceContent {
|
|
|
6
6
|
readonly expected: ClosedAssertionFactValue;
|
|
7
7
|
readonly explanation: ClosedAssertionFactValue;
|
|
8
8
|
}
|
|
9
|
+
type MatchState = "matched" | "mismatched" | "unavailable";
|
|
9
10
|
export declare const AssertionEvidence: import("../tree.mjs").ReportComponent<{
|
|
10
11
|
readonly content: AssertionEvidenceContent;
|
|
12
|
+
readonly label?: string;
|
|
13
|
+
readonly state?: MatchState;
|
|
11
14
|
}>;
|
|
15
|
+
export {};
|
|
@@ -6,6 +6,10 @@ export interface AssertionEvidenceContent {
|
|
|
6
6
|
readonly expected: ClosedAssertionFactValue;
|
|
7
7
|
readonly explanation: ClosedAssertionFactValue;
|
|
8
8
|
}
|
|
9
|
+
type MatchState = "matched" | "mismatched" | "unavailable";
|
|
9
10
|
export declare const AssertionEvidence: import("../tree.js").ReportComponent<{
|
|
10
11
|
readonly content: AssertionEvidenceContent;
|
|
12
|
+
readonly label?: string;
|
|
13
|
+
readonly state?: MatchState;
|
|
11
14
|
}>;
|
|
15
|
+
export {};
|
|
@@ -14,7 +14,6 @@ exports.customTargetExecutionManifest = customTargetExecutionManifest;
|
|
|
14
14
|
exports.canonicalMachineJson = canonicalMachineJson;
|
|
15
15
|
exports.closeMachineJson = closeMachineJson;
|
|
16
16
|
exports.closePricingProfileJson = closePricingProfileJson;
|
|
17
|
-
const effect_1 = require("effect");
|
|
18
17
|
const cost_ts_1 = require("../../analysis/cost.cjs");
|
|
19
18
|
const resolved_page_ts_1 = require("../runtime/resolved-page.cjs");
|
|
20
19
|
const text_ts_1 = require("../runtime/text.cjs");
|
|
@@ -253,10 +252,10 @@ function produceBuiltInShowData(input) {
|
|
|
253
252
|
}
|
|
254
253
|
const producer = input.registry.producers.get(input.descriptor.producerId);
|
|
255
254
|
if (producer === undefined) {
|
|
256
|
-
return
|
|
255
|
+
return Object.freeze({
|
|
257
256
|
code: "report-built-in-machine-producer-missing",
|
|
258
257
|
producerId: input.descriptor.producerId,
|
|
259
|
-
})
|
|
258
|
+
});
|
|
260
259
|
}
|
|
261
260
|
return producer({
|
|
262
261
|
sample: input.sample,
|