niceeval 0.13.2 → 0.13.3
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/dist/agents/bub.cjs +4 -4
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +2 -2
- package/dist/agents/bub.d.mts +2 -2
- package/dist/agents/bub.d.ts +2 -2
- package/dist/agents/claude-code-native.cjs +213 -0
- package/dist/agents/claude-code-native.cjs.map +1 -0
- package/dist/agents/claude-code-native.d.cts +5 -0
- package/dist/agents/claude-code-native.d.mts +5 -0
- package/dist/agents/claude-code-native.d.ts +5 -0
- package/dist/agents/claude-code-native.js +6 -0
- package/dist/agents/claude-code-native.js.map +1 -0
- package/dist/agents/claude-code.cjs +26 -80
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex-app-server.cjs +314 -0
- package/dist/agents/codex-app-server.cjs.map +1 -0
- package/dist/agents/codex-app-server.d.cts +9 -0
- package/dist/agents/codex-app-server.d.mts +9 -0
- package/dist/agents/codex-app-server.d.ts +9 -0
- package/dist/agents/codex-app-server.js +6 -0
- package/dist/agents/codex-app-server.js.map +1 -0
- package/dist/agents/codex.cjs +19 -68
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +3 -3
- package/dist/agents/codex.d.mts +3 -3
- package/dist/agents/codex.d.ts +3 -3
- package/dist/agents/index.cjs +3 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +1 -0
- package/dist/agents/index.d.mts +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.js +84 -82
- package/dist/agents/index.mjs +84 -82
- package/dist/agents/managed-jsonl.cjs +207 -0
- package/dist/agents/managed-jsonl.cjs.map +1 -0
- package/dist/agents/managed-jsonl.d.cts +39 -0
- package/dist/agents/managed-jsonl.d.mts +39 -0
- package/dist/agents/managed-jsonl.d.ts +39 -0
- package/dist/agents/managed-jsonl.js +6 -0
- package/dist/agents/managed-jsonl.js.map +1 -0
- package/dist/agents/managed-process.cjs +31 -0
- package/dist/agents/managed-process.cjs.map +1 -0
- package/dist/agents/managed-process.d.cts +3 -0
- package/dist/agents/managed-process.d.mts +3 -0
- package/dist/agents/managed-process.d.ts +3 -0
- package/dist/agents/managed-process.js +6 -0
- package/dist/agents/managed-process.js.map +1 -0
- package/dist/agents/omp.cjs +18 -1
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/sdk-streams.cjs +11 -4
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +8 -0
- package/dist/agents/types.d.mts +8 -0
- package/dist/agents/types.d.ts +8 -0
- package/dist/analysis/bindings.cjs +74 -19
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +534 -156
- package/dist/analysis/bindings.d.mts +534 -156
- package/dist/analysis/bindings.d.ts +534 -156
- package/dist/analysis/domain-view.cjs.map +1 -1
- package/dist/analysis/domain-view.d.cts +137 -8
- package/dist/analysis/domain-view.d.mts +137 -8
- package/dist/analysis/domain-view.d.ts +137 -8
- 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/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +62 -0
- package/dist/assertions/api.d.mts +62 -0
- package/dist/assertions/api.d.ts +62 -0
- package/dist/assertions/judge.cjs +56 -5
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/match.cjs +66 -42
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +13 -0
- package/dist/assertions/match.d.mts +13 -0
- package/dist/assertions/match.d.ts +13 -0
- package/dist/assertions/record/attachment.cjs +104 -33
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/attachment.d.cts +294 -57
- package/dist/assertions/record/attachment.d.mts +294 -57
- package/dist/assertions/record/attachment.d.ts +294 -57
- package/dist/assertions/record/codec.cjs +91 -17
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/codec.d.cts +280 -52
- package/dist/assertions/record/codec.d.mts +280 -52
- package/dist/assertions/record/codec.d.ts +280 -52
- package/dist/assertions/record/index.js +2 -0
- package/dist/assertions/record/model.cjs +16 -0
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +120 -13
- package/dist/assertions/record/model.d.mts +120 -13
- package/dist/assertions/record/model.d.ts +120 -13
- package/dist/assertions/record/model.js +2 -0
- package/dist/assertions/record/producer.cjs +70 -50
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +8 -7
- package/dist/assertions/record/producer.d.mts +8 -7
- package/dist/assertions/record/producer.d.ts +8 -7
- package/dist/assertions/runtime.cjs +49 -7
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/application.cjs +40 -0
- package/dist/cli/application.cjs.map +1 -0
- package/dist/cli/application.d.cts +129 -0
- package/dist/cli/application.d.mts +129 -0
- package/dist/cli/application.d.ts +129 -0
- package/dist/cli/application.js +24 -0
- package/dist/cli/application.js.map +1 -0
- package/dist/cli/bootstrap.cjs +10 -4
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/node-application.cjs +123 -0
- package/dist/cli/node-application.cjs.map +1 -0
- package/dist/cli/node-application.d.cts +14 -0
- package/dist/cli/node-application.d.mts +14 -0
- package/dist/cli/node-application.d.ts +14 -0
- package/dist/cli/node-application.js +26 -0
- package/dist/cli/node-application.js.map +1 -0
- package/dist/cli/program.cjs +2807 -0
- package/dist/cli/program.cjs.map +1 -0
- package/dist/cli/program.d.cts +352 -0
- package/dist/cli/program.d.mts +352 -0
- package/dist/cli/program.d.ts +352 -0
- package/dist/cli/program.js +36 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/project-configuration.cjs +134 -0
- package/dist/cli/project-configuration.cjs.map +1 -0
- package/dist/cli/project-configuration.d.cts +64 -0
- package/dist/cli/project-configuration.d.mts +64 -0
- package/dist/cli/project-configuration.d.ts +64 -0
- package/dist/cli/project-configuration.js +22 -0
- package/dist/cli/project-configuration.js.map +1 -0
- package/dist/cli/record.cjs +20 -4
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +3 -3
- package/dist/cli/record.d.mts +3 -3
- package/dist/cli/record.d.ts +3 -3
- package/dist/cli.cjs +19 -3130
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +2 -148
- package/dist/cli.d.mts +2 -148
- package/dist/cli.d.ts +2 -148
- package/dist/cli.js +22 -30
- package/dist/context/assert-first.cjs +21 -15
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +1 -0
- package/dist/context/assert-first.d.mts +1 -0
- package/dist/context/assert-first.d.ts +1 -0
- package/dist/context/attempt-resources.cjs +13 -0
- package/dist/context/attempt-resources.cjs.map +1 -0
- package/dist/context/attempt-resources.d.cts +3 -0
- package/dist/context/attempt-resources.d.mts +3 -0
- package/dist/context/attempt-resources.d.ts +3 -0
- package/dist/context/attempt-resources.js +8 -0
- package/dist/context/attempt-resources.js.map +1 -0
- package/dist/context/session.cjs +4 -3
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +1 -0
- package/dist/context/session.d.mts +1 -0
- package/dist/context/session.d.ts +1 -0
- package/dist/eval/record/verdict.cjs +3 -2
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -6
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +1 -0
- package/dist/experiment/host/index.d.mts +1 -0
- package/dist/experiment/host/index.d.ts +1 -0
- package/dist/load-config.cjs +13 -4
- package/dist/load-config.cjs.map +1 -1
- package/dist/load-config.d.cts +4 -3
- package/dist/load-config.d.mts +4 -3
- package/dist/load-config.d.ts +4 -3
- package/dist/load-config.js +4 -2
- package/dist/o11y/parsers/codex.cjs +29 -7
- package/dist/o11y/parsers/codex.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +0 -2
- package/dist/record/codec/core.d.mts +0 -2
- package/dist/record/codec/core.d.ts +0 -2
- package/dist/record/codec/identifiers.cjs +2 -3
- package/dist/record/codec/identifiers.cjs.map +1 -1
- package/dist/record/codec/identifiers.d.cts +1 -2
- package/dist/record/codec/identifiers.d.mts +1 -2
- package/dist/record/codec/identifiers.d.ts +1 -2
- package/dist/record/codec/identifiers.js +10 -12
- package/dist/record/codec/index.js +42 -44
- package/dist/record/definition/attachment.cjs +1 -0
- package/dist/record/definition/attachment.cjs.map +1 -1
- package/dist/record/definition/attachment.d.cts +14 -0
- package/dist/record/definition/attachment.d.mts +14 -0
- package/dist/record/definition/attachment.d.ts +14 -0
- package/dist/record/family/assertions-v1.cjs +104 -0
- package/dist/record/family/assertions-v1.cjs.map +1 -0
- package/dist/record/family/assertions-v1.d.cts +2 -0
- package/dist/record/family/assertions-v1.d.mts +2 -0
- package/dist/record/family/assertions-v1.d.ts +2 -0
- package/dist/record/family/assertions-v1.js +6 -0
- package/dist/record/family/assertions-v1.js.map +1 -0
- package/dist/record/family/assertions.cjs +16 -5
- package/dist/record/family/assertions.cjs.map +1 -1
- package/dist/record/family/assertions.d.cts +510 -56
- package/dist/record/family/assertions.d.mts +510 -56
- package/dist/record/family/assertions.d.ts +510 -56
- package/dist/record/family/assertions.js +14 -10
- package/dist/record/family/catalog.cjs +17 -1
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +1292 -104
- package/dist/record/family/catalog.d.mts +1292 -104
- package/dist/record/family/catalog.d.ts +1292 -104
- package/dist/record/family/catalog.js +22 -20
- package/dist/record/family/index.js +144 -138
- package/dist/record/family/observability-v1.cjs +5 -0
- package/dist/record/family/observability-v1.cjs.map +1 -1
- package/dist/record/family/observability.cjs +1 -1
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/host/runtime.cjs +323 -173
- 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 +9 -7
- package/dist/record/host/types.d.mts +9 -7
- package/dist/record/host/types.d.ts +9 -7
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -2
- package/dist/record/model/core.d.mts +1 -2
- package/dist/record/model/core.d.ts +1 -2
- package/dist/record/model/definition.cjs +1 -2
- package/dist/record/model/definition.cjs.map +1 -1
- package/dist/record/model/definition.d.cts +1 -7
- package/dist/record/model/definition.d.mts +1 -7
- package/dist/record/model/definition.d.ts +1 -7
- package/dist/record/model/identifiers.cjs +2 -3
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -3
- package/dist/record/model/identifiers.d.mts +1 -3
- package/dist/record/model/identifiers.d.ts +1 -3
- package/dist/record/model/identifiers.js +36 -38
- package/dist/record/model/index.js +60 -62
- package/dist/record/platform/node.cjs +17 -7
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +8 -3
- package/dist/record/platform/services.d.mts +8 -3
- package/dist/record/platform/services.d.ts +8 -3
- package/dist/record/reader/format.cjs +16 -65
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +5 -9
- package/dist/record/reader/format.d.mts +5 -9
- package/dist/record/reader/format.d.ts +5 -9
- package/dist/record/reader/index.js +10 -8
- package/dist/record/reader/runtime.cjs +63 -32
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +40 -4
- package/dist/record/reader/runtime.d.mts +40 -4
- package/dist/record/reader/runtime.d.ts +40 -4
- package/dist/record/reader/runtime.js +6 -4
- package/dist/report/assets/enhance.js +5 -5
- package/dist/report/assets/styles.css +190 -24
- package/dist/report/built-in/result-components.cjs +8 -5
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/standard.cjs +3 -0
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +2 -0
- package/dist/report/built-in/standard.d.mts +2 -0
- package/dist/report/built-in/standard.d.ts +2 -0
- package/dist/report/client-dist/app.js +53 -0
- package/dist/report/components/attempt-detail/compute.cjs +108 -231
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +11 -45
- package/dist/report/components/attempt-detail/compute.d.mts +11 -45
- package/dist/report/components/attempt-detail/compute.d.ts +11 -45
- package/dist/report/components/attempt-detail/compute.js +2 -4
- package/dist/report/components/attempt-detail/content.cjs +4 -4
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/attempt-detail/validate.cjs +47 -4
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +9 -15
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/content.cjs +53 -40
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +1 -3
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/experiment-detail/compute.cjs +4 -6
- package/dist/report/components/experiment-detail/compute.cjs.map +1 -1
- package/dist/report/components/summaries/index.cjs +5 -1
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/definition/cell.cjs +14 -7
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +4 -0
- package/dist/report/definition/cell.d.mts +4 -0
- package/dist/report/definition/cell.d.ts +4 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs +96 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -0
- package/dist/report/definition/primitives/assertion-evidence.d.cts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.mts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.ts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.js +6 -0
- package/dist/report/definition/primitives/assertion-evidence.js.map +1 -0
- package/dist/report/definition/primitives/conversation.cjs +7 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -1
- package/dist/report/definition/primitives/conversation.d.cts +2 -0
- package/dist/report/definition/primitives/conversation.d.mts +2 -0
- package/dist/report/definition/primitives/conversation.d.ts +2 -0
- package/dist/report/definition/primitives/turn-trace.cjs +53 -3
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +14 -1
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +16 -8
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +6 -0
- package/dist/report/definition/report.d.mts +6 -0
- package/dist/report/definition/report.d.ts +6 -0
- package/dist/report/definition/table-text.cjs +12 -3
- package/dist/report/definition/table-text.cjs.map +1 -1
- package/dist/report/definition/table-text.d.cts +6 -1
- package/dist/report/definition/table-text.d.mts +6 -1
- package/dist/report/definition/table-text.d.ts +6 -1
- package/dist/report/execution/model.cjs +6 -14
- package/dist/report/execution/model.cjs.map +1 -1
- package/dist/report/execution/model.d.cts +5 -10
- package/dist/report/execution/model.d.mts +5 -10
- package/dist/report/execution/model.d.ts +5 -10
- package/dist/report/execution/model.js +6 -6
- package/dist/report/execution/paths.cjs +0 -11
- package/dist/report/execution/paths.cjs.map +1 -1
- package/dist/report/execution/paths.d.cts +0 -1
- package/dist/report/execution/paths.d.mts +0 -1
- package/dist/report/execution/paths.d.ts +0 -1
- package/dist/report/execution/paths.js +6 -8
- package/dist/report/host/execute.cjs +13 -22
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +1 -4
- package/dist/report/host/execute.d.mts +1 -4
- package/dist/report/host/execute.d.ts +1 -4
- package/dist/report/host/from-record.cjs +3 -0
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/from-record.d.cts +4 -1
- package/dist/report/host/from-record.d.mts +4 -1
- package/dist/report/host/from-record.d.ts +4 -1
- package/dist/report/host/site-assets.cjs +1 -2
- package/dist/report/host/site-assets.cjs.map +1 -1
- package/dist/report/host/site-assets.d.cts +0 -1
- package/dist/report/host/site-assets.d.mts +0 -1
- package/dist/report/host/site-assets.d.ts +0 -1
- package/dist/report/host/site-assets.js +2 -4
- package/dist/report/host/static.cjs +71 -346
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/host/static.d.cts +1 -3
- package/dist/report/host/static.d.mts +1 -3
- package/dist/report/host/static.d.ts +1 -3
- package/dist/report/host/static.js +2 -2
- package/dist/report/host/view-session.cjs.map +1 -1
- package/dist/report/host/view-session.d.cts +1 -1
- package/dist/report/host/view-session.d.mts +1 -1
- package/dist/report/host/view-session.d.ts +1 -1
- package/dist/report/model/locale.cjs +1 -1
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -1
- package/dist/report/model/locale.d.mts +1 -1
- package/dist/report/model/locale.d.ts +1 -1
- package/dist/report/model/pricing.cjs +2 -2
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/enhance.js +5 -5
- package/dist/report/react/styles.css +190 -24
- package/dist/runner/adoption.cjs +4 -7
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-resources.cjs +60 -0
- package/dist/runner/attempt-resources.cjs.map +1 -0
- package/dist/runner/attempt-resources.d.cts +13 -0
- package/dist/runner/attempt-resources.d.mts +13 -0
- package/dist/runner/attempt-resources.d.ts +13 -0
- package/dist/runner/attempt-resources.js +6 -0
- package/dist/runner/attempt-resources.js.map +1 -0
- package/dist/runner/attempt.cjs +37 -3
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/feedback/failure.cjs +77 -2
- package/dist/runner/feedback/failure.cjs.map +1 -1
- package/dist/runner/feedback/failure.d.cts +2 -1
- package/dist/runner/feedback/failure.d.mts +2 -1
- package/dist/runner/feedback/failure.d.ts +2 -1
- package/dist/runner/project-current.cjs +2 -13
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/project-current.d.cts +4 -2
- package/dist/runner/project-current.d.mts +4 -2
- package/dist/runner/project-current.d.ts +4 -2
- package/dist/runner/reporters/braintrust.cjs +7 -7
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reuse-readback.cjs +3 -4
- package/dist/runner/reuse-readback.cjs.map +1 -1
- package/dist/runner/run.cjs +5 -2
- package/dist/runner/run.cjs.map +1 -1
- package/dist/sandbox/backend.cjs +32 -2
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +12 -1
- package/dist/sandbox/backend.d.mts +12 -1
- package/dist/sandbox/backend.d.ts +12 -1
- package/dist/sandbox/backend.js +28 -22
- package/dist/sandbox/docker.cjs +140 -0
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +3 -1
- package/dist/sandbox/docker.d.mts +3 -1
- package/dist/sandbox/docker.d.ts +3 -1
- package/dist/sandbox/e2b.cjs +42 -0
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/e2b.d.cts +2 -0
- package/dist/sandbox/e2b.d.mts +2 -0
- package/dist/sandbox/e2b.d.ts +2 -0
- package/dist/sandbox/local.cjs +64 -0
- package/dist/sandbox/local.cjs.map +1 -1
- package/dist/sandbox/local.d.cts +3 -1
- package/dist/sandbox/local.d.mts +3 -1
- package/dist/sandbox/local.d.ts +3 -1
- package/dist/sandbox/managed-process.cjs +49 -0
- package/dist/sandbox/managed-process.cjs.map +1 -0
- package/dist/sandbox/managed-process.d.cts +11 -0
- package/dist/sandbox/managed-process.d.mts +11 -0
- package/dist/sandbox/managed-process.d.ts +11 -0
- package/dist/sandbox/managed-process.js +6 -0
- package/dist/sandbox/managed-process.js.map +1 -0
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +24 -0
- package/dist/sandbox/types.d.mts +24 -0
- package/dist/sandbox/types.d.ts +24 -0
- package/dist/sandbox/vercel.cjs +1 -0
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sandbox/vercel.d.cts +1 -0
- package/dist/sandbox/vercel.d.mts +1 -0
- package/dist/sandbox/vercel.d.ts +1 -0
- package/dist/view/server.cjs +2 -37
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +0 -3
- package/dist/view/server.d.mts +0 -3
- package/dist/view/server.d.ts +0 -3
- package/docs-site/zh/reference/builtin-agents.mdx +7 -7
- package/docs-site/zh/reference/official-adapters.mdx +4 -4
- package/docs-site/zh/reference/report-components.mdx +2 -2
- package/docs-site/zh/tutorials/configuration.mdx +2 -2
- package/docs-site/zh/tutorials/deploy-report-site.mdx +24 -2
- package/docs-site/zh/tutorials/publish-report.mdx +4 -4
- package/docs-site/zh/tutorials/sandbox-agent.mdx +5 -5
- package/docs-site/zh/tutorials/theming.mdx +2 -2
- package/package.json +4 -6
- package/dist/record/migration/index.cjs +0 -5
- package/dist/record/migration/index.cjs.map +0 -1
- package/dist/record/migration/index.d.cts +0 -11
- package/dist/record/migration/index.d.mts +0 -11
- package/dist/record/migration/index.d.ts +0 -11
- package/dist/record/migration/index.js +0 -6
- package/dist/record/migration/index.js.map +0 -1
- package/dist/report/host/site-runtime.cjs +0 -92
- package/dist/report/host/site-runtime.cjs.map +0 -1
- package/dist/report/host/site-runtime.d.cts +0 -9
- package/dist/report/host/site-runtime.d.mts +0 -9
- package/dist/report/host/site-runtime.d.ts +0 -9
- package/dist/report/host/site-runtime.js +0 -10
- package/dist/report/host/site-runtime.js.map +0 -1
- package/dist/view/client-dist/app.css +0 -2
- package/dist/view/client-dist/app.js +0 -49
- package/dist/view/data.cjs +0 -3
- package/dist/view/data.cjs.map +0 -1
- package/dist/view/data.d.cts +0 -9
- package/dist/view/data.d.mts +0 -9
- package/dist/view/data.d.ts +0 -9
- package/dist/view/data.js +0 -4
- package/dist/view/data.js.map +0 -1
- package/dist/view/index.cjs +0 -24
- package/dist/view/index.cjs.map +0 -1
- package/dist/view/index.d.cts +0 -9
- package/dist/view/index.d.mts +0 -9
- package/dist/view/index.d.ts +0 -9
- package/dist/view/index.js +0 -28
- package/dist/view/index.js.map +0 -1
- package/dist/view/report-view-cache.cjs +0 -200
- package/dist/view/report-view-cache.cjs.map +0 -1
- package/dist/view/report-view-cache.d.cts +0 -67
- package/dist/view/report-view-cache.d.mts +0 -67
- package/dist/view/report-view-cache.d.ts +0 -67
- package/dist/view/report-view-cache.js +0 -8
- package/dist/view/report-view-cache.js.map +0 -1
- package/dist/view/shared/types.cjs +0 -3
- package/dist/view/shared/types.cjs.map +0 -1
- package/dist/view/shared/types.d.cts +0 -51
- package/dist/view/shared/types.d.mts +0 -51
- package/dist/view/shared/types.d.ts +0 -51
- package/dist/view/shared/types.js +0 -4
- package/dist/view/shared/types.js.map +0 -1
- package/dist/view/site.cjs +0 -32
- package/dist/view/site.cjs.map +0 -1
- package/dist/view/site.d.cts +0 -24
- package/dist/view/site.d.mts +0 -24
- package/dist/view/site.d.ts +0 -24
- package/dist/view/site.js +0 -8
- package/dist/view/site.js.map +0 -1
- package/dist/view/styles.css +0 -170
- package/dist/view/template.html +0 -17
|
@@ -331,6 +331,17 @@ table.niceeval-report,
|
|
|
331
331
|
color: var(--muted);
|
|
332
332
|
font-size: 12px;
|
|
333
333
|
}
|
|
334
|
+
.niceeval-report .niceeval-cell-stack {
|
|
335
|
+
display: inline-flex;
|
|
336
|
+
flex-wrap: wrap;
|
|
337
|
+
align-items: baseline;
|
|
338
|
+
gap: 4px 10px;
|
|
339
|
+
}
|
|
340
|
+
.niceeval-report .niceeval-cell-stack-item + .niceeval-cell-stack-item::before {
|
|
341
|
+
content: "·";
|
|
342
|
+
margin-right: 10px;
|
|
343
|
+
color: var(--soft);
|
|
344
|
+
}
|
|
334
345
|
|
|
335
346
|
/* ---- MetricValue:缺数据 / 覆盖率角标 / 证据链接 ---- */
|
|
336
347
|
.niceeval-report .niceeval-value { white-space: nowrap; }
|
|
@@ -1314,7 +1325,7 @@ table.niceeval-report,
|
|
|
1314
1325
|
}
|
|
1315
1326
|
|
|
1316
1327
|
/* Ledger:turn rail + compact kind tag + one-line summary。evidence 默认在行内
|
|
1317
|
-
<details
|
|
1328
|
+
<details>,app 增强前仍保留完整的语义结构。 */
|
|
1318
1329
|
.niceeval-turn-trace .niceeval-trace-ledger { min-width: 0; }
|
|
1319
1330
|
.niceeval-turn-trace .niceeval-trace-turn {
|
|
1320
1331
|
position: relative;
|
|
@@ -1462,6 +1473,10 @@ table.niceeval-report,
|
|
|
1462
1473
|
white-space: nowrap;
|
|
1463
1474
|
}
|
|
1464
1475
|
.niceeval-turn-trace .niceeval-trace-event-row--failed .niceeval-trace-event-status { color: var(--bad); }
|
|
1476
|
+
.niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="completed"] { color: var(--good); }
|
|
1477
|
+
.niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="failed"] { color: var(--bad); }
|
|
1478
|
+
.niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="rejected"],
|
|
1479
|
+
.niceeval-turn-trace .niceeval-trace-event-status[data-call-outcome="cancelled"] { color: var(--warn); }
|
|
1465
1480
|
.niceeval-turn-trace .niceeval-trace-evidence {
|
|
1466
1481
|
position: relative;
|
|
1467
1482
|
z-index: 2;
|
|
@@ -1586,6 +1601,77 @@ table.niceeval-report,
|
|
|
1586
1601
|
border-color: color-mix(in oklch, var(--bad), transparent 58%);
|
|
1587
1602
|
color: color-mix(in oklch, var(--bad), var(--text) 38%);
|
|
1588
1603
|
}
|
|
1604
|
+
.niceeval-assertion-evidence {
|
|
1605
|
+
display: grid;
|
|
1606
|
+
min-width: 0;
|
|
1607
|
+
gap: 12px;
|
|
1608
|
+
}
|
|
1609
|
+
.niceeval-assertion-evidence-section { min-width: 0; }
|
|
1610
|
+
.niceeval-assertion-evidence-section > h5 {
|
|
1611
|
+
margin: 0 0 5px;
|
|
1612
|
+
color: var(--soft);
|
|
1613
|
+
font: 9px/1.2 var(--font-mono);
|
|
1614
|
+
font-weight: 650;
|
|
1615
|
+
letter-spacing: .055em;
|
|
1616
|
+
text-transform: uppercase;
|
|
1617
|
+
}
|
|
1618
|
+
.niceeval-assertion-evidence-section p,
|
|
1619
|
+
.niceeval-assertion-evidence-list,
|
|
1620
|
+
.niceeval-assertion-evidence-fields { margin: 0; }
|
|
1621
|
+
.niceeval-assertion-evidence-code {
|
|
1622
|
+
box-sizing: border-box;
|
|
1623
|
+
width: 100%;
|
|
1624
|
+
max-width: 100%;
|
|
1625
|
+
max-height: 24rem;
|
|
1626
|
+
margin: 0;
|
|
1627
|
+
overflow: auto;
|
|
1628
|
+
padding: 10px 11px;
|
|
1629
|
+
border: 1px solid var(--line);
|
|
1630
|
+
background: color-mix(in oklch, var(--panel), black 8%);
|
|
1631
|
+
color: var(--muted);
|
|
1632
|
+
font: 11px/1.5 var(--font-mono);
|
|
1633
|
+
white-space: pre-wrap;
|
|
1634
|
+
overflow-wrap: anywhere;
|
|
1635
|
+
}
|
|
1636
|
+
.niceeval-assertion-evidence-long-value {
|
|
1637
|
+
min-width: 0;
|
|
1638
|
+
border: 1px solid var(--line);
|
|
1639
|
+
background: color-mix(in oklch, var(--panel), black 8%);
|
|
1640
|
+
}
|
|
1641
|
+
.niceeval-assertion-evidence-long-value > summary {
|
|
1642
|
+
overflow: hidden;
|
|
1643
|
+
padding: 8px 10px;
|
|
1644
|
+
color: var(--soft);
|
|
1645
|
+
font: 11px/1.5 var(--font-mono);
|
|
1646
|
+
text-overflow: ellipsis;
|
|
1647
|
+
white-space: nowrap;
|
|
1648
|
+
cursor: pointer;
|
|
1649
|
+
}
|
|
1650
|
+
.niceeval-assertion-evidence-long-value[open] > summary {
|
|
1651
|
+
border-bottom: 1px solid var(--line);
|
|
1652
|
+
}
|
|
1653
|
+
.niceeval-assertion-evidence-long-value > .niceeval-assertion-evidence-code {
|
|
1654
|
+
border: 0;
|
|
1655
|
+
}
|
|
1656
|
+
.niceeval-assertion-evidence-state {
|
|
1657
|
+
display: flex;
|
|
1658
|
+
flex-wrap: wrap;
|
|
1659
|
+
align-items: baseline;
|
|
1660
|
+
gap: 5px 9px;
|
|
1661
|
+
color: var(--soft);
|
|
1662
|
+
}
|
|
1663
|
+
.niceeval-assertion-evidence-fields {
|
|
1664
|
+
display: grid;
|
|
1665
|
+
gap: 6px;
|
|
1666
|
+
}
|
|
1667
|
+
.niceeval-assertion-evidence-fields > div {
|
|
1668
|
+
display: grid;
|
|
1669
|
+
grid-template-columns: minmax(7rem, max-content) minmax(0, 1fr);
|
|
1670
|
+
gap: 10px;
|
|
1671
|
+
}
|
|
1672
|
+
.niceeval-assertion-evidence-fields dt { color: var(--soft); }
|
|
1673
|
+
.niceeval-assertion-evidence-fields dd { min-width: 0; margin: 0; }
|
|
1674
|
+
.niceeval-assertion-evidence-list { padding-inline-start: 18px; }
|
|
1589
1675
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence > summary { display: none; }
|
|
1590
1676
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence[open] { padding-bottom: 8px; }
|
|
1591
1677
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs {
|
|
@@ -1891,7 +1977,7 @@ table.niceeval-report,
|
|
|
1891
1977
|
.niceeval-report .niceeval-scatter-point { cursor: default; }
|
|
1892
1978
|
.niceeval-report .niceeval-line-point { fill: var(--series); }
|
|
1893
1979
|
|
|
1894
|
-
/* enhance.js 的样式化 tooltip
|
|
1980
|
+
/* enhance.js 的样式化 tooltip(增强前保留 SVG <title>) */
|
|
1895
1981
|
.niceeval-report .niceeval-tooltip {
|
|
1896
1982
|
position: absolute;
|
|
1897
1983
|
transform: translate(-50%, -100%);
|
|
@@ -2131,7 +2217,7 @@ table.niceeval-report,
|
|
|
2131
2217
|
overflow-wrap: anywhere;
|
|
2132
2218
|
box-shadow: inset 2px 0 0 var(--line-tone, transparent);
|
|
2133
2219
|
}
|
|
2134
|
-
/*
|
|
2220
|
+
/* 展开区内容:判定摘要一行、五段结构化证据、给分记录一行。同行重复 send
|
|
2135
2221
|
复用 Conversation 的完整轮卡;轮头必须保留,才能区分 outcome 与 duration。 */
|
|
2136
2222
|
.niceeval-source-view .niceeval-source-line-detail .niceeval-conversation-turn { border-left: 0; padding-left: 0; }
|
|
2137
2223
|
.niceeval-source-view .niceeval-source-line-detail > * + * { margin-top: 6px; }
|
|
@@ -2141,17 +2227,6 @@ table.niceeval-report,
|
|
|
2141
2227
|
font-size: 12px;
|
|
2142
2228
|
font-weight: 650;
|
|
2143
2229
|
}
|
|
2144
|
-
.niceeval-source-view .niceeval-source-assertion-body {
|
|
2145
|
-
margin: 0;
|
|
2146
|
-
padding: 6px 10px;
|
|
2147
|
-
border-radius: var(--radius);
|
|
2148
|
-
background: var(--panel-2);
|
|
2149
|
-
color: var(--muted);
|
|
2150
|
-
font-family: var(--font-mono);
|
|
2151
|
-
font-size: 12px;
|
|
2152
|
-
white-space: pre-wrap;
|
|
2153
|
-
overflow-wrap: anywhere;
|
|
2154
|
-
}
|
|
2155
2230
|
.niceeval-source-view .niceeval-source-score-entry {
|
|
2156
2231
|
margin: 0;
|
|
2157
2232
|
color: var(--muted);
|
|
@@ -2344,7 +2419,7 @@ table.niceeval-report,
|
|
|
2344
2419
|
font-size: 13px;
|
|
2345
2420
|
}
|
|
2346
2421
|
|
|
2347
|
-
/* ---- Tabs
|
|
2422
|
+
/* ---- Tabs:fragment HTML 每 tab 一个 <details> 且仅首个 open;
|
|
2348
2423
|
enhance.js 在 <html> 上打 niceeval-js 后升级为单选 tab 条:收起的 tab 缩成一枚标题排在首行,
|
|
2349
2424
|
唯一展开的 tab 以 100% 宽 + order:1 换行到下方,活动标题带高亮下划线、贴着面板顶部。
|
|
2350
2425
|
不能用 display:contents 把 summary/body 直接投影进 flex 容器——Chrome 里 <details> 的
|
|
@@ -2580,6 +2655,90 @@ html.niceeval-view-document body {
|
|
|
2580
2655
|
|
|
2581
2656
|
.niceeval-view-report-slot { margin: 0 auto 36px; }
|
|
2582
2657
|
|
|
2658
|
+
.niceeval-view-sr-only {
|
|
2659
|
+
position: absolute;
|
|
2660
|
+
width: 1px;
|
|
2661
|
+
height: 1px;
|
|
2662
|
+
margin: -1px;
|
|
2663
|
+
padding: 0;
|
|
2664
|
+
overflow: hidden;
|
|
2665
|
+
clip: rect(0, 0, 0, 0);
|
|
2666
|
+
white-space: nowrap;
|
|
2667
|
+
border: 0;
|
|
2668
|
+
}
|
|
2669
|
+
|
|
2670
|
+
.niceeval-view-skeleton {
|
|
2671
|
+
--niceeval-skeleton-base: var(--niceeval-color-surface-subtle, #151515);
|
|
2672
|
+
--niceeval-skeleton-shine: var(--niceeval-color-border-strong, #343434);
|
|
2673
|
+
display: grid;
|
|
2674
|
+
gap: 28px;
|
|
2675
|
+
width: 100%;
|
|
2676
|
+
min-height: 440px;
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2679
|
+
.niceeval-view-skeleton-line,
|
|
2680
|
+
.niceeval-view-skeleton-cards > span,
|
|
2681
|
+
.niceeval-view-skeleton-chart,
|
|
2682
|
+
.niceeval-view-skeleton-table,
|
|
2683
|
+
.niceeval-view-skeleton-table > i {
|
|
2684
|
+
display: block;
|
|
2685
|
+
border-radius: var(--niceeval-radius, 0);
|
|
2686
|
+
background: linear-gradient(
|
|
2687
|
+
100deg,
|
|
2688
|
+
var(--niceeval-skeleton-base) 25%,
|
|
2689
|
+
var(--niceeval-skeleton-shine) 44%,
|
|
2690
|
+
var(--niceeval-skeleton-base) 63%
|
|
2691
|
+
);
|
|
2692
|
+
background-size: 300% 100%;
|
|
2693
|
+
animation: niceeval-view-skeleton-shimmer 1.7s ease-in-out infinite;
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
.niceeval-view-skeleton-heading { display: grid; gap: 12px; }
|
|
2697
|
+
.niceeval-view-skeleton-eyebrow { width: 92px; height: 10px; }
|
|
2698
|
+
.niceeval-view-skeleton-title { width: min(440px, 68%); height: 32px; }
|
|
2699
|
+
.niceeval-view-skeleton-copy { width: min(620px, 86%); height: 14px; }
|
|
2700
|
+
|
|
2701
|
+
.niceeval-view-skeleton-cards {
|
|
2702
|
+
display: grid;
|
|
2703
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
2704
|
+
gap: 14px;
|
|
2705
|
+
}
|
|
2706
|
+
|
|
2707
|
+
.niceeval-view-skeleton-cards > span { height: 104px; }
|
|
2708
|
+
|
|
2709
|
+
.niceeval-view-skeleton-content {
|
|
2710
|
+
display: grid;
|
|
2711
|
+
grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
|
|
2712
|
+
gap: 18px;
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
.niceeval-view-skeleton-chart { min-height: 230px; }
|
|
2716
|
+
.niceeval-view-skeleton-table { min-height: 230px; padding: 24px 20px; }
|
|
2717
|
+
.niceeval-view-skeleton-table > i { height: 12px; margin-bottom: 24px; }
|
|
2718
|
+
.niceeval-view-skeleton-table > i:nth-child(2) { width: 82%; }
|
|
2719
|
+
.niceeval-view-skeleton-table > i:nth-child(3) { width: 91%; }
|
|
2720
|
+
.niceeval-view-skeleton-table > i:nth-child(4) { width: 68%; }
|
|
2721
|
+
|
|
2722
|
+
.niceeval-view-skeleton-overlay {
|
|
2723
|
+
min-height: 360px;
|
|
2724
|
+
padding-top: 12px;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2727
|
+
@keyframes niceeval-view-skeleton-shimmer {
|
|
2728
|
+
from { background-position: 100% 0; }
|
|
2729
|
+
to { background-position: 0 0; }
|
|
2730
|
+
}
|
|
2731
|
+
|
|
2732
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2733
|
+
.niceeval-view-skeleton-line,
|
|
2734
|
+
.niceeval-view-skeleton-cards > span,
|
|
2735
|
+
.niceeval-view-skeleton-chart,
|
|
2736
|
+
.niceeval-view-skeleton-table,
|
|
2737
|
+
.niceeval-view-skeleton-table > i {
|
|
2738
|
+
animation: none;
|
|
2739
|
+
}
|
|
2740
|
+
}
|
|
2741
|
+
|
|
2583
2742
|
/* View shell owns only the modal chrome. The report body inside the dialog
|
|
2584
2743
|
keeps the same closed product markup and the same stylesheet as its direct
|
|
2585
2744
|
route; the runtime injects no second CSS owner. */
|
|
@@ -2603,13 +2762,6 @@ html.niceeval-view-document body {
|
|
|
2603
2762
|
box-shadow: 0 20px 60px rgb(0 0 0 / 45%);
|
|
2604
2763
|
}
|
|
2605
2764
|
|
|
2606
|
-
/* An author display declaration overrides the browser's default
|
|
2607
|
-
`dialog:not([open]) { display: none }` rule. Preserve the legacy Radix
|
|
2608
|
-
unmount result when native dialog.close() removes [open]. */
|
|
2609
|
-
.niceeval-view-dialog:not([open]) { display: none; }
|
|
2610
|
-
|
|
2611
|
-
.niceeval-view-dialog::backdrop { background: rgb(0 0 0 / 90%); }
|
|
2612
|
-
|
|
2613
2765
|
.niceeval-view-dialog-head {
|
|
2614
2766
|
flex: 0 0 auto;
|
|
2615
2767
|
position: sticky;
|
|
@@ -2677,7 +2829,16 @@ html.niceeval-view-document body {
|
|
|
2677
2829
|
|
|
2678
2830
|
.niceeval-view-problems h2 { margin: 0 0 8px; font-size: 14px; }
|
|
2679
2831
|
.niceeval-view-problems ul { margin: 0; padding-left: 20px; }
|
|
2680
|
-
.niceeval-view-
|
|
2832
|
+
.niceeval-view-js-required {
|
|
2833
|
+
width: min(calc(100vw - 48px), 720px);
|
|
2834
|
+
margin: 18vh auto 0;
|
|
2835
|
+
padding: 28px;
|
|
2836
|
+
border: 1px solid var(--niceeval-color-border, #262626);
|
|
2837
|
+
color: var(--niceeval-color-text, #ededed);
|
|
2838
|
+
background: var(--niceeval-color-surface, #0b0b0b);
|
|
2839
|
+
}
|
|
2840
|
+
.niceeval-view-js-required h1 { margin: 0 0 12px; font-size: 22px; }
|
|
2841
|
+
.niceeval-view-js-required p { margin: 0; color: var(--niceeval-color-text-secondary, #a1a1aa); }
|
|
2681
2842
|
|
|
2682
2843
|
[data-niceeval-locale][hidden] { display: none !important; }
|
|
2683
2844
|
|
|
@@ -2688,11 +2849,16 @@ html.niceeval-view-document body {
|
|
|
2688
2849
|
}
|
|
2689
2850
|
.niceeval-view-pages { display: none; }
|
|
2690
2851
|
.niceeval-view-controls { grid-column: 2; }
|
|
2691
|
-
.niceeval-view-experiment noscript .niceeval-view-nav { display: none; }
|
|
2692
2852
|
.niceeval-view-experiment label > span { display: none; }
|
|
2693
2853
|
.niceeval-view-experiment select { min-width: 108px; }
|
|
2694
2854
|
.niceeval-view-language select { min-width: 68px; }
|
|
2695
2855
|
.niceeval-view-main { width: min(calc(100vw - 28px), 1120px); padding-top: 42px; }
|
|
2856
|
+
.niceeval-view-skeleton { min-height: 380px; gap: 20px; }
|
|
2857
|
+
.niceeval-view-skeleton-cards { grid-template-columns: 1fr; }
|
|
2858
|
+
.niceeval-view-skeleton-cards > span:nth-child(n + 2) { display: none; }
|
|
2859
|
+
.niceeval-view-skeleton-content { grid-template-columns: 1fr; }
|
|
2860
|
+
.niceeval-view-skeleton-chart { min-height: 190px; }
|
|
2861
|
+
.niceeval-view-skeleton-table { display: none; }
|
|
2696
2862
|
}
|
|
2697
2863
|
|
|
2698
2864
|
@media print {
|
|
@@ -30,6 +30,9 @@ function issueSection(view) {
|
|
|
30
30
|
function membershipTable(rows) {
|
|
31
31
|
const normalized = rows.map((row) => ({
|
|
32
32
|
...row,
|
|
33
|
+
locator: row.locator === null
|
|
34
|
+
? null
|
|
35
|
+
: { kind: "locator", locator: row.locator },
|
|
33
36
|
outcome: row.outcome ?? null,
|
|
34
37
|
phase: row.phase ?? null,
|
|
35
38
|
error: row.error ?? null,
|
|
@@ -72,10 +75,10 @@ function assertionRows(entry) {
|
|
|
72
75
|
return entry.detail.entries.map((assertion) => ({
|
|
73
76
|
key: assertion.entryId,
|
|
74
77
|
assertion: assertion.entryId,
|
|
75
|
-
display:
|
|
76
|
-
|
|
77
|
-
result:
|
|
78
|
-
coverage:
|
|
78
|
+
display: assertion.display.label ?? assertion.display.key ?? assertion.entryId,
|
|
79
|
+
check: JSON.stringify(assertion.check),
|
|
80
|
+
result: assertion.decision.result,
|
|
81
|
+
coverage: assertion.source.coverage.state,
|
|
79
82
|
}));
|
|
80
83
|
}
|
|
81
84
|
function attemptEvidenceTree(props) {
|
|
@@ -84,7 +87,7 @@ function attemptEvidenceTree(props) {
|
|
|
84
87
|
const available = props.view.entries.filter((entry) => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === "available");
|
|
85
88
|
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: "Assessment evidence", meta: `${entries.length} attempt${entries.length === 1 ? "" : "s"}`, children: [visible.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No closed assessment evidence matches this target." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: visible, columns: ["locator", "originRun", "state", "outcome", "verdict", "assertions", "sourceSites"] })), omittedText(entries.length, visible.length, "assessment evidence rows"), available.map((entry) => {
|
|
86
89
|
const assertions = limited(assertionRows(entry));
|
|
87
|
-
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: `Assertions · ${entry.attempt.locator}`, children: [assertions.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No recorded assertions." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: assertions, columns: ["assertion", "display", "
|
|
90
|
+
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Section, { title: `Assertions · ${entry.attempt.locator}`, children: [assertions.length === 0 ? (0, jsx_runtime_1.jsx)(primitives_tsx_1.Text, { children: "No recorded assertions." }) : ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Table, { rows: assertions, columns: ["assertion", "display", "check", "result", "coverage"] })), omittedText(entry.detail.entries.length, assertions.length, "assertions")] }, entry.attempt.locator));
|
|
88
91
|
}), issueSection(props.view)] }));
|
|
89
92
|
}
|
|
90
93
|
exports.AttemptEvidenceResultView = (0, tree_ts_1.defineComponent)((props) => attemptEvidenceTree(props));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result-components.js","sourceRoot":"","sources":["result-components.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Built-in report composition over already-closed values.\n *\n * Nothing in this module accepts a Sample, storage capability, attachment, or\n * Effect Scope. Page loaders own Analysis and DomainView acquisition; these\n * components only arrange their rows and views into the report product.\n */\nimport type { AttemptEvidenceDomainView, AttemptObservabilityDomainView, ClosedCommandEntry, ClosedConversationItem, ClosedUsageObservation, FileChangesDomainView, JsonValue, MetricValue, SandboxHistoryDomainView, SourcesDomainView, } from \"../../analysis/index.ts\";\nimport type { AttemptLocator } from \"../../attempt-locator.ts\";\nimport { Hero, type HeroData } from \"../components/site-components/index.tsx\";\nimport { defineComponent } from \"../definition/tree.ts\";\nimport { Col, Grid, Section, Stat, Table, Text, } from \"../definition/primitives.tsx\";\nimport type { Cell } from \"../definition/cell.tsx\";\nimport type { BuiltInExperimentRows, BuiltInSummaryRows, } from \"./analysis-values.ts\";\nconst DETAIL_ROWS_MAX = 200;\nconst SOURCE_TEXT_MAX = 12000;\n/** Display-safe membership facts prepared by the Page loader from Snapshot. */\nexport interface MembershipRow {\n readonly key: string;\n readonly experiment: string;\n readonly eval: string;\n readonly attempt: number;\n readonly selectedRun: string;\n readonly slot: string;\n readonly state: string;\n readonly relation: string | null;\n readonly locator: string | null;\n readonly outcome?: string | null;\n readonly verdict?: string | null;\n readonly phase?: string | null;\n readonly error?: string | null;\n readonly sharedFailure?: string | null;\n}\nexport interface RunErrorRow {\n readonly key: string;\n readonly failure: string;\n readonly phase: string;\n readonly affected: string;\n readonly affectedCount: number;\n readonly error: string;\n readonly message: string;\n readonly fix: string | null;\n}\nexport interface ExperimentDetailResult {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nexport interface AttemptDetailResult {\n readonly hero: HeroData;\n readonly locator: AttemptLocator | null;\n readonly members: readonly MembershipRow[];\n readonly evidence: AttemptEvidenceDomainView;\n readonly observability: AttemptObservabilityDomainView;\n readonly fileChanges: FileChangesDomainView;\n readonly sources: SourcesDomainView;\n readonly sandbox: SandboxHistoryDomainView;\n}\nexport interface RunMembershipResult {\n readonly hero: HeroData;\n readonly summary: BuiltInSummaryRows;\n readonly members: readonly MembershipRow[];\n readonly errors: readonly RunErrorRow[];\n readonly evidence: AttemptEvidenceDomainView;\n}\nexport interface AttemptTraceProps {\n readonly view: AttemptObservabilityDomainView;\n readonly locator?: AttemptLocator;\n readonly mode: \"execution\" | \"timing\";\n readonly grep?: string;\n readonly timingMode?: \"summary\" | \"full\";\n}\nexport interface FileChangesTrajectoryProps {\n readonly view: FileChangesDomainView;\n readonly locator?: AttemptLocator;\n}\nexport interface SourcesResultProps {\n readonly view: SourcesDomainView;\n readonly locator?: AttemptLocator;\n readonly file?: string;\n}\nexport interface SandboxHistoryResultProps {\n readonly view: SandboxHistoryDomainView;\n readonly locator?: AttemptLocator;\n}\nfunction metricCell(metric: MetricValue): Cell {\n return { kind: \"metric\", metric };\n}\nfunction limited<Row>(rows: readonly Row[], maximum = DETAIL_ROWS_MAX): readonly Row[] {\n return rows.slice(0, maximum);\n}\nfunction omittedText(total: number, visible: number, label: string) {\n return total === visible ? null : <Text>{`${total - visible} additional ${label} omitted from this page.`}</Text>;\n}\nfunction issueRows(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n return view.issues.map((issue, index) => ({\n key: `${issue.code}:${index}`,\n code: issue.code,\n message: issue.message,\n }));\n}\nfunction issueSection(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n const rows = issueRows(view);\n return rows.length === 0 ? null : (<Section title=\"Analysis notes\" meta={`${rows.length}`}>\n <Table rows={rows} columns={[\"code\", \"message\"]}/>\n </Section>);\n}\nfunction membershipTable(rows: readonly MembershipRow[]) {\n const normalized = rows.map((row) => ({\n ...row,\n outcome: row.outcome ?? null,\n phase: row.phase ?? null,\n error: row.error ?? null,\n sharedFailure: row.sharedFailure ?? null,\n }));\n return (<Table rows={normalized} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"state\", label: \"Membership\" },\n { field: \"outcome\", label: \"Outcome\" },\n { field: \"error\", label: \"Error\" },\n { field: \"phase\", label: \"Phase\" },\n { field: \"sharedFailure\", label: \"Shared failure\" },\n { field: \"locator\", label: \"Attempt locator\" },\n { field: \"selectedRun\", label: \"Selected run\" },\n { field: \"slot\", label: \"Slot\" },\n { field: \"relation\", label: \"Relation\" },\n ]}/>);\n}\nfunction runErrorsSection(rows: readonly RunErrorRow[]) {\n const notStarted = rows.reduce((total, row) => total + row.affectedCount, 0);\n return rows.length === 0 ? null : (<Section title=\"Run errors\" meta={`${notStarted} attempt${notStarted === 1 ? \"\" : \"s\"} not started`}>\n {rows.map((row) => (<Section key={row.key} title=\"Sandbox image build failed\">\n <Text>{`affected: ${row.affected}`}</Text>\n <Text>{`error: ${row.message}`}</Text>\n </Section>))}\n </Section>);\n}\nfunction evidenceEntryRows(view: AttemptEvidenceDomainView, locator?: AttemptLocator) {\n return view.entries\n .filter((entry) => locator === undefined || entry.attempt.locator === locator)\n .map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n originRun: entry.attempt.originRunId,\n state: entry.state,\n outcome: entry.state === \"available\" ? entry.detail.outcome : null,\n verdict: entry.state === \"available\" ? entry.detail.verdict : null,\n assertions: entry.state === \"available\" ? entry.detail.entries.length : null,\n sourceSites: entry.state === \"available\" ? entry.detail.sourceSites.length : null,\n }));\n}\nfunction assertionRows(entry: Extract<AttemptEvidenceDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>) {\n return entry.detail.entries.map((assertion) => ({\n key: assertion.entryId,\n assertion: assertion.entryId,\n display: jsonText(assertion.display),\n criterion: jsonText(assertion.criterion),\n result: jsonText(assertion.result),\n coverage: jsonText(assertion.coverage),\n }));\n}\nfunction attemptEvidenceTree(props: {\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}) {\n const entries = evidenceEntryRows(props.view, props.locator);\n const visible = limited(entries);\n const available = props.view.entries.filter((entry): entry is Extract<typeof entry, {\n readonly state: \"available\";\n }> => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === \"available\");\n return (<Section title=\"Assessment evidence\" meta={`${entries.length} attempt${entries.length === 1 ? \"\" : \"s\"}`}>\n {visible.length === 0 ? <Text>No closed assessment evidence matches this target.</Text> : (<Table rows={visible} columns={[\"locator\", \"originRun\", \"state\", \"outcome\", \"verdict\", \"assertions\", \"sourceSites\"]}/>)}\n {omittedText(entries.length, visible.length, \"assessment evidence rows\")}\n {available.map((entry) => {\n const assertions = limited(assertionRows(entry));\n return (<Section key={entry.attempt.locator} title={`Assertions · ${entry.attempt.locator}`}>\n {assertions.length === 0 ? <Text>No recorded assertions.</Text> : (<Table rows={assertions} columns={[\"assertion\", \"display\", \"criterion\", \"result\", \"coverage\"]}/>)}\n {omittedText(entry.detail.entries.length, assertions.length, \"assertions\")}\n </Section>);\n })}\n {issueSection(props.view)}\n </Section>);\n}\nexport const AttemptEvidenceResultView = defineComponent<{\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}>((props) => attemptEvidenceTree(props));\nAttemptEvidenceResultView.displayName = \"AttemptEvidenceResultView\";\nfunction conversationText(item: ClosedConversationItem): string {\n switch (item.kind) {\n case \"message\":\n return `${item.role}: ${item.text}`;\n case \"tool-call\":\n return `${item.tool}(${item.inputSummary})`;\n case \"tool-result\":\n return `${item.outcome}: ${item.outputSummary}`;\n case \"thinking-summary\":\n case \"compaction\":\n case \"context-injection\":\n return item.summary;\n case \"subagent\":\n return `${item.label} · ${item.state} · ${item.summary}`;\n case \"input-request\":\n return `${item.state} · ${item.promptSummary}${item.responseSummary === null ? \"\" : ` · ${item.responseSummary}`}`;\n case \"skill-load\":\n case \"conversation-error\":\n return `${item.code} · ${item.summary}`;\n }\n}\nfunction commandText(command: ClosedCommandEntry) {\n const invocation = command.manifest.invocation.kind === \"argv\"\n ? [command.manifest.invocation.executable, ...command.manifest.invocation.arguments].join(\" \")\n : command.manifest.invocation.command;\n const outcome = command.result.outcome.kind === \"exited\"\n ? `exit ${command.result.outcome.exitCode}`\n : `${command.result.outcome.kind}: ${command.result.outcome.reason}`;\n return { invocation, outcome };\n}\nfunction usageValue(observation: ClosedUsageObservation) {\n switch (observation.kind) {\n case \"token-bucket\":\n return `${observation.bucket}: ${observation.tokens}`;\n case \"request\":\n return observation.requestKind;\n case \"provider-cost\":\n return `${observation.amount} ${observation.currency}`;\n }\n}\nfunction traceEntryTree(entry: Extract<AttemptObservabilityDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>, props: AttemptTraceProps) {\n const detail = entry.detail;\n const filter = props.grep === undefined ? undefined : new RegExp(props.grep);\n const conversationRows = detail.conversation.items\n .map((item) => ({\n key: item.itemId,\n sequence: item.sequence,\n turn: item.turnId,\n event: item.kind,\n detail: conversationText(item),\n }))\n .filter((row) => filter === undefined || filter.test(`${row.event}\\n${row.detail}`));\n const commands = detail.commands.entries.map((command) => ({\n key: command.commandId,\n phase: command.manifest.phase,\n command: commandText(command).invocation,\n outcome: commandText(command).outcome,\n workingDirectory: command.manifest.workingDirectory.kind === \"project-relative\"\n ? command.manifest.workingDirectory.path\n : command.manifest.workingDirectory.kind,\n })).filter((row) => filter === undefined || filter.test(`${row.command}\\n${row.outcome}`));\n const timings = detail.timing.intervals.map((interval) => ({\n key: interval.intervalId,\n phase: interval.phase,\n label: interval.label,\n startMs: interval.startOffsetMs,\n durationMs: interval.durationMs,\n outcome: interval.outcome,\n parent: props.timingMode === \"full\" ? interval.parentIntervalId : null,\n }));\n const usage = detail.usage.observations.map((observation, index) => ({\n key: `${observation.provider}:${observation.kind}:${index}`,\n provider: observation.provider,\n kind: observation.kind,\n value: usageValue(observation),\n }));\n const diagnostics = detail.diagnostics.diagnostics.map((diagnostic) => ({\n key: diagnostic.diagnosticId,\n kind: diagnostic.kind,\n phase: diagnostic.phase,\n code: diagnostic.code,\n summary: diagnostic.summary,\n redaction: diagnostic.redaction.state === \"applied\" ? `${diagnostic.redaction.replacements} replacements` : \"none\",\n }));\n if (props.mode === \"timing\") {\n return (<Section title={`Timing · ${entry.attempt.locator}`} meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={timings} columns={props.timingMode === \"full\"\n ? [\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\", \"parent\"]\n : [\"phase\", \"label\", \"durationMs\", \"outcome\"]}/>)}\n </Section>);\n }\n return (<Section title={`Execution trace · ${entry.attempt.locator}`} meta={detail.conversation.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n turns: detail.conversation.turns.length,\n conversationItems: detail.conversation.items.length,\n commands: detail.commands.entries.length,\n timingIntervals: detail.timing.intervals.length,\n diagnostics: detail.diagnostics.diagnostics.length,\n }]} columns={[\"turns\", \"conversationItems\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>\n <Section title=\"Conversation\" meta={detail.conversation.collection.state}>\n {conversationRows.length === 0 ? <Text>No recorded conversation entries match this view.</Text> : (<Table rows={limited(conversationRows)} columns={[\"sequence\", \"turn\", \"event\", \"detail\"]}/>)}\n {omittedText(conversationRows.length, Math.min(conversationRows.length, DETAIL_ROWS_MAX), \"conversation entries\")}\n </Section>\n <Section title=\"Commands\" meta={detail.commands.collection.state}>\n {commands.length === 0 ? <Text>No recorded commands match this view.</Text> : (<Table rows={limited(commands)} columns={[\"phase\", \"command\", \"outcome\", \"workingDirectory\"]}/>)}\n {omittedText(commands.length, Math.min(commands.length, DETAIL_ROWS_MAX), \"commands\")}\n </Section>\n <Section title=\"Timing\" meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={limited(timings)} columns={[\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\"]}/>)}\n </Section>\n <Section title=\"Usage\" meta={detail.usage.collection.state}>\n {usage.length === 0 ? <Text>No recorded provider usage.</Text> : <Table rows={limited(usage)} columns={[\"provider\", \"kind\", \"value\"]}/>}\n </Section>\n <Section title=\"Diagnostics\" meta={detail.diagnostics.collection.state}>\n {diagnostics.length === 0 ? <Text>No recorded diagnostics.</Text> : (<Table rows={limited(diagnostics)} columns={[\"kind\", \"phase\", \"code\", \"summary\", \"redaction\"]}/>)}\n </Section>\n </Section>);\n}\nfunction attemptTraceTree(props: AttemptTraceProps) {\n const entries = props.view.entries\n .filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator)\n .slice(0, DETAIL_ROWS_MAX);\n return (<Col>\n {entries.length === 0 ? <Section title={props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"}><Text>No matching closed trace data.</Text></Section> : null}\n {entries.map((entry) => entry.state === \"available\"\n ? <>{traceEntryTree(entry, props)}</>\n : <Section key={entry.attempt.locator} title={`${props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"} · ${entry.attempt.locator}`}><Text>{`Trace data is ${entry.state}.`}</Text></Section>)}\n {issueSection(props.view)}\n </Col>);\n}\n/** Execution and timing never query: their only input is a closed observability DomainView. */\nexport const AttemptTrace = defineComponent<AttemptTraceProps>((props) => attemptTraceTree(props));\nAttemptTrace.displayName = \"AttemptTrace\";\nfunction endpointText(endpoint: {\n readonly state: \"absent\";\n} | {\n readonly state: \"present\";\n readonly revision: {\n readonly kind: string;\n };\n}): string {\n return endpoint.state === \"absent\" ? \"absent\" : endpoint.revision.kind;\n}\nfunction fileChangesTree(props: FileChangesTrajectoryProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"File changes\"><Text>No matching closed file-change data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`}><Text>{`File changes are ${entry.state}.`}</Text></Section>;\n }\n const changes = entry.detail.trajectory.flatMap((window) => window.changes.map((change) => ({\n key: `${window.windowId}:${change.changeId}`,\n window: window.sequence,\n path: change.path,\n kind: change.kind,\n before: endpointText(change.before),\n after: endpointText(change.after),\n })));\n const paths = entry.detail.paths.map((path) => ({\n key: path.path,\n path: path.path,\n changes: path.changes.length,\n net: path.net.state === \"available\" ? path.net.kind : path.net.reason,\n }));\n return (<Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`} meta={entry.detail.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n attribution: entry.detail.attribution.kind,\n windows: entry.detail.trajectory.length,\n paths: entry.detail.paths.length,\n limitations: entry.detail.collection.limitations.length,\n }]} columns={[\"attribution\", \"windows\", \"paths\", \"limitations\"]}/>\n <Section title=\"Change trajectory\">\n {changes.length === 0 ? <Text>No retained changed paths.</Text> : <Table rows={limited(changes)} columns={[\"window\", \"path\", \"kind\", \"before\", \"after\"]}/>}\n {omittedText(changes.length, Math.min(changes.length, DETAIL_ROWS_MAX), \"file changes\")}\n </Section>\n <Section title=\"Path summary\">\n {paths.length === 0 ? <Text>No retained path summaries.</Text> : <Table rows={limited(paths)} columns={[\"path\", \"changes\", \"net\"]}/>}\n </Section>\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const FileChangesTrajectory = defineComponent<FileChangesTrajectoryProps>((props) => fileChangesTree(props));\nFileChangesTrajectory.displayName = \"FileChangesTrajectory\";\nfunction sourceContentText(content: {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"unavailable\" | \"binary\";\n}): string {\n if (content.state !== \"available\")\n return content.state;\n return content.text.length <= SOURCE_TEXT_MAX\n ? content.text\n : `${content.text.slice(0, SOURCE_TEXT_MAX)}\\n… source text truncated for this page.`;\n}\nfunction sourcesTree(props: SourcesResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"Recorded source\"><Text>No matching closed source data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}><Text>{`Sources are ${entry.state}.`}</Text></Section>;\n }\n const items = entry.detail.items.filter((item) => props.file === undefined || item.path === props.file);\n return (<Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}>\n {items.length === 0 ? <Text>{props.file === undefined ? \"No recorded source files.\" : `No recorded source matches ${props.file}.`}</Text> : null}\n {items.map((item) => (<Section key={item.sourceItemId} title={item.path} meta={item.sha256}>\n <Table rows={[{\n key: item.sourceItemId,\n sourceItem: item.sourceItemId,\n content: item.content.state,\n }]} columns={[\"sourceItem\", \"content\"]}/>\n <Text>{sourceContentText(item.content)}</Text>\n </Section>))}\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const SourcesResultView = defineComponent<SourcesResultProps>((props) => sourcesTree(props));\nSourcesResultView.displayName = \"SourcesResultView\";\nfunction sandboxTree(props: SandboxHistoryResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n const rows = entries.map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n state: entry.state,\n commands: entry.state === \"available\" ? entry.detail.commands.entries.length : null,\n timingIntervals: entry.state === \"available\" ? entry.detail.timing.intervals.length : null,\n diagnostics: entry.state === \"available\" ? entry.detail.diagnostics.diagnostics.length : null,\n }));\n return (<Section title=\"Sandbox history\" meta={`${rows.length} attempt${rows.length === 1 ? \"\" : \"s\"}`}>\n {rows.length === 0 ? <Text>No matching closed sandbox history.</Text> : (<Table rows={limited(rows)} columns={[\"locator\", \"state\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>)}\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"sandbox history rows\")}\n {issueSection(props.view)}\n </Section>);\n}\nexport const SandboxHistoryResultView = defineComponent<SandboxHistoryResultProps>((props) => sandboxTree(props));\nSandboxHistoryResultView.displayName = \"SandboxHistoryResultView\";\nfunction runMembershipTree(input: RunMembershipResult) {\n const hasAttempts = input.members.some((member) => member.locator !== null);\n const rows = input.members.map((member) => ({\n key: member.key,\n experiment: member.experiment,\n eval: member.eval,\n attempt: `#${member.attempt + 1}`,\n result: member.locator === null\n ? member.outcome === \"errored\" ? \"errored\" : \"not started\"\n : member.relation === \"reference\" || member.state === \"carried\" || member.state === \"accepted\"\n ? `using result ${member.locator}`\n : member.verdict ?? member.outcome ?? member.state,\n details: member.locator === null\n ? null\n : { kind: \"locator\" as const, locator: member.locator as AttemptLocator },\n }));\n return (<Col>\n <Hero data={input.hero}/>\n {runErrorsSection(input.errors)}\n <Section title=\"Planned attempts\" meta={`${input.members.length} attempt${input.members.length === 1 ? \"\" : \"s\"}`}>\n <Table rows={limited(rows)} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"result\", label: \"Result\" },\n { field: \"details\", label: \"Details\" },\n ]}/>\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"planned attempts\")}\n </Section>\n {hasAttempts ? <AttemptEvidenceResultView view={input.evidence}/> : null}\n {hasAttempts ? issueSection(input.summary) : null}\n </Col>);\n}\nexport const RunMembershipResultView = defineComponent<RunMembershipResult>((input) => runMembershipTree(input));\nRunMembershipResultView.displayName = \"RunMembershipResultView\";\nfunction attemptDetailTree(input: AttemptDetailResult) {\n const locator = input.locator ?? undefined;\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Attempt · ${input.locator ?? \"unavailable\"}`}>\n {membershipTable(input.members)}\n </Section>\n <AttemptEvidenceResultView view={input.evidence} locator={locator}/>\n <AttemptTrace view={input.observability} locator={locator} mode=\"execution\" timingMode=\"full\"/>\n <FileChangesTrajectory view={input.fileChanges} locator={locator}/>\n <SourcesResultView view={input.sources} locator={locator}/>\n <SandboxHistoryResultView view={input.sandbox} locator={locator}/>\n </Col>);\n}\nexport const AttemptDetailResultView = defineComponent<AttemptDetailResult>((input) => attemptDetailTree(input));\nAttemptDetailResultView.displayName = \"AttemptDetailResultView\";\nfunction experimentDetailTree(input: ExperimentDetailResult) {\n const rows = input.rows.filter((row) => String(row.experiment) === input.experiment);\n const hasScore = rows.some((row) => row.evaluationKind !== \"pass\");\n const hasPass = rows.some((row) => row.evaluationKind === \"pass\");\n const columns = [\n \"experiment\",\n ...(hasPass ? [\"passRate\"] : []),\n ...(hasScore ? [\"totalScore\"] : []),\n \"durationMs\",\n \"tokens\",\n ];\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Experiment · ${input.experiment}`}>\n <Table rows={rows} columns={columns}/>\n </Section>\n <Section title=\"Experiment members\" meta={`${input.members.length} slots`}>\n {membershipTable(limited(input.members))}\n {omittedText(input.members.length, Math.min(input.members.length, DETAIL_ROWS_MAX), \"member rows\")}\n </Section>\n {issueSection(input.rows)}\n </Col>);\n}\nexport const ExperimentDetailResultView = defineComponent<ExperimentDetailResult>((input) => experimentDetailTree(input));\nExperimentDetailResultView.displayName = \"ExperimentDetailResultView\";\nfunction jsonText(value: JsonValue): string {\n const text = JSON.stringify(value);\n return text.length <= 1000 ? text : `${text.slice(0, 1000)}…`;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"result-components.js","sourceRoot":"","sources":["result-components.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Built-in report composition over already-closed values.\n *\n * Nothing in this module accepts a Sample, storage capability, attachment, or\n * Effect Scope. Page loaders own Analysis and DomainView acquisition; these\n * components only arrange their rows and views into the report product.\n */\nimport type { AttemptEvidenceDomainView, AttemptObservabilityDomainView, ClosedCommandEntry, ClosedConversationItem, ClosedUsageObservation, FileChangesDomainView, JsonValue, MetricValue, SandboxHistoryDomainView, SourcesDomainView, } from \"../../analysis/index.ts\";\nimport type { AttemptLocator } from \"../../attempt-locator.ts\";\nimport { Hero, type HeroData } from \"../components/site-components/index.tsx\";\nimport { defineComponent } from \"../definition/tree.ts\";\nimport { Col, Grid, Section, Stat, Table, Text, } from \"../definition/primitives.tsx\";\nimport type { Cell } from \"../definition/cell.tsx\";\nimport type { BuiltInExperimentRows, BuiltInSummaryRows, } from \"./analysis-values.ts\";\nconst DETAIL_ROWS_MAX = 200;\nconst SOURCE_TEXT_MAX = 12000;\n/** Display-safe membership facts prepared by the Page loader from Snapshot. */\nexport interface MembershipRow {\n readonly key: string;\n readonly experiment: string;\n readonly eval: string;\n readonly attempt: number;\n readonly selectedRun: string;\n readonly slot: string;\n readonly state: string;\n readonly relation: string | null;\n readonly locator: string | null;\n readonly outcome?: string | null;\n readonly verdict?: string | null;\n readonly phase?: string | null;\n readonly error?: string | null;\n readonly sharedFailure?: string | null;\n}\nexport interface RunErrorRow {\n readonly key: string;\n readonly failure: string;\n readonly phase: string;\n readonly affected: string;\n readonly affectedCount: number;\n readonly error: string;\n readonly message: string;\n readonly fix: string | null;\n}\nexport interface ExperimentDetailResult {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nexport interface AttemptDetailResult {\n readonly hero: HeroData;\n readonly locator: AttemptLocator | null;\n readonly members: readonly MembershipRow[];\n readonly evidence: AttemptEvidenceDomainView;\n readonly observability: AttemptObservabilityDomainView;\n readonly fileChanges: FileChangesDomainView;\n readonly sources: SourcesDomainView;\n readonly sandbox: SandboxHistoryDomainView;\n}\nexport interface RunMembershipResult {\n readonly hero: HeroData;\n readonly summary: BuiltInSummaryRows;\n readonly members: readonly MembershipRow[];\n readonly errors: readonly RunErrorRow[];\n readonly evidence: AttemptEvidenceDomainView;\n}\nexport interface AttemptTraceProps {\n readonly view: AttemptObservabilityDomainView;\n readonly locator?: AttemptLocator;\n readonly mode: \"execution\" | \"timing\";\n readonly grep?: string;\n readonly timingMode?: \"summary\" | \"full\";\n}\nexport interface FileChangesTrajectoryProps {\n readonly view: FileChangesDomainView;\n readonly locator?: AttemptLocator;\n}\nexport interface SourcesResultProps {\n readonly view: SourcesDomainView;\n readonly locator?: AttemptLocator;\n readonly file?: string;\n}\nexport interface SandboxHistoryResultProps {\n readonly view: SandboxHistoryDomainView;\n readonly locator?: AttemptLocator;\n}\nfunction metricCell(metric: MetricValue): Cell {\n return { kind: \"metric\", metric };\n}\nfunction limited<Row>(rows: readonly Row[], maximum = DETAIL_ROWS_MAX): readonly Row[] {\n return rows.slice(0, maximum);\n}\nfunction omittedText(total: number, visible: number, label: string) {\n return total === visible ? null : <Text>{`${total - visible} additional ${label} omitted from this page.`}</Text>;\n}\nfunction issueRows(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n return view.issues.map((issue, index) => ({\n key: `${issue.code}:${index}`,\n code: issue.code,\n message: issue.message,\n }));\n}\nfunction issueSection(view: {\n readonly issues: readonly {\n readonly code: string;\n readonly message: string;\n }[];\n}) {\n const rows = issueRows(view);\n return rows.length === 0 ? null : (<Section title=\"Analysis notes\" meta={`${rows.length}`}>\n <Table rows={rows} columns={[\"code\", \"message\"]}/>\n </Section>);\n}\nfunction membershipTable(rows: readonly MembershipRow[]) {\n const normalized = rows.map((row) => ({\n ...row,\n locator: row.locator === null\n ? null\n : ({ kind: \"locator\", locator: row.locator as AttemptLocator } satisfies Cell),\n outcome: row.outcome ?? null,\n phase: row.phase ?? null,\n error: row.error ?? null,\n sharedFailure: row.sharedFailure ?? null,\n }));\n return (<Table rows={normalized} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"state\", label: \"Membership\" },\n { field: \"outcome\", label: \"Outcome\" },\n { field: \"error\", label: \"Error\" },\n { field: \"phase\", label: \"Phase\" },\n { field: \"sharedFailure\", label: \"Shared failure\" },\n { field: \"locator\", label: \"Attempt locator\" },\n { field: \"selectedRun\", label: \"Selected run\" },\n { field: \"slot\", label: \"Slot\" },\n { field: \"relation\", label: \"Relation\" },\n ]}/>);\n}\nfunction runErrorsSection(rows: readonly RunErrorRow[]) {\n const notStarted = rows.reduce((total, row) => total + row.affectedCount, 0);\n return rows.length === 0 ? null : (<Section title=\"Run errors\" meta={`${notStarted} attempt${notStarted === 1 ? \"\" : \"s\"} not started`}>\n {rows.map((row) => (<Section key={row.key} title=\"Sandbox image build failed\">\n <Text>{`affected: ${row.affected}`}</Text>\n <Text>{`error: ${row.message}`}</Text>\n </Section>))}\n </Section>);\n}\nfunction evidenceEntryRows(view: AttemptEvidenceDomainView, locator?: AttemptLocator) {\n return view.entries\n .filter((entry) => locator === undefined || entry.attempt.locator === locator)\n .map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n originRun: entry.attempt.originRunId,\n state: entry.state,\n outcome: entry.state === \"available\" ? entry.detail.outcome : null,\n verdict: entry.state === \"available\" ? entry.detail.verdict : null,\n assertions: entry.state === \"available\" ? entry.detail.entries.length : null,\n sourceSites: entry.state === \"available\" ? entry.detail.sourceSites.length : null,\n }));\n}\nfunction assertionRows(entry: Extract<AttemptEvidenceDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>) {\n return entry.detail.entries.map((assertion) => ({\n key: assertion.entryId,\n assertion: assertion.entryId,\n display: assertion.display.label ?? assertion.display.key ?? assertion.entryId,\n check: JSON.stringify(assertion.check),\n result: assertion.decision.result,\n coverage: assertion.source.coverage.state,\n }));\n}\nfunction attemptEvidenceTree(props: {\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}) {\n const entries = evidenceEntryRows(props.view, props.locator);\n const visible = limited(entries);\n const available = props.view.entries.filter((entry): entry is Extract<typeof entry, {\n readonly state: \"available\";\n }> => (props.locator === undefined || entry.attempt.locator === props.locator) && entry.state === \"available\");\n return (<Section title=\"Assessment evidence\" meta={`${entries.length} attempt${entries.length === 1 ? \"\" : \"s\"}`}>\n {visible.length === 0 ? <Text>No closed assessment evidence matches this target.</Text> : (<Table rows={visible} columns={[\"locator\", \"originRun\", \"state\", \"outcome\", \"verdict\", \"assertions\", \"sourceSites\"]}/>)}\n {omittedText(entries.length, visible.length, \"assessment evidence rows\")}\n {available.map((entry) => {\n const assertions = limited(assertionRows(entry));\n return (<Section key={entry.attempt.locator} title={`Assertions · ${entry.attempt.locator}`}>\n {assertions.length === 0 ? <Text>No recorded assertions.</Text> : (<Table rows={assertions} columns={[\"assertion\", \"display\", \"check\", \"result\", \"coverage\"]}/>)}\n {omittedText(entry.detail.entries.length, assertions.length, \"assertions\")}\n </Section>);\n })}\n {issueSection(props.view)}\n </Section>);\n}\nexport const AttemptEvidenceResultView = defineComponent<{\n readonly view: AttemptEvidenceDomainView;\n readonly locator?: AttemptLocator;\n}>((props) => attemptEvidenceTree(props));\nAttemptEvidenceResultView.displayName = \"AttemptEvidenceResultView\";\nfunction conversationText(item: ClosedConversationItem): string {\n switch (item.kind) {\n case \"message\":\n return `${item.role}: ${item.text}`;\n case \"tool-call\":\n return `${item.tool}(${item.inputSummary})`;\n case \"tool-result\":\n return `${item.outcome}: ${item.outputSummary}`;\n case \"thinking-summary\":\n case \"compaction\":\n case \"context-injection\":\n return item.summary;\n case \"subagent\":\n return `${item.label} · ${item.state} · ${item.summary}`;\n case \"input-request\":\n return `${item.state} · ${item.promptSummary}${item.responseSummary === null ? \"\" : ` · ${item.responseSummary}`}`;\n case \"skill-load\":\n case \"conversation-error\":\n return `${item.code} · ${item.summary}`;\n }\n}\nfunction commandText(command: ClosedCommandEntry) {\n const invocation = command.manifest.invocation.kind === \"argv\"\n ? [command.manifest.invocation.executable, ...command.manifest.invocation.arguments].join(\" \")\n : command.manifest.invocation.command;\n const outcome = command.result.outcome.kind === \"exited\"\n ? `exit ${command.result.outcome.exitCode}`\n : `${command.result.outcome.kind}: ${command.result.outcome.reason}`;\n return { invocation, outcome };\n}\nfunction usageValue(observation: ClosedUsageObservation) {\n switch (observation.kind) {\n case \"token-bucket\":\n return `${observation.bucket}: ${observation.tokens}`;\n case \"request\":\n return observation.requestKind;\n case \"provider-cost\":\n return `${observation.amount} ${observation.currency}`;\n }\n}\nfunction traceEntryTree(entry: Extract<AttemptObservabilityDomainView[\"entries\"][number], {\n readonly state: \"available\";\n}>, props: AttemptTraceProps) {\n const detail = entry.detail;\n const filter = props.grep === undefined ? undefined : new RegExp(props.grep);\n const conversationRows = detail.conversation.items\n .map((item) => ({\n key: item.itemId,\n sequence: item.sequence,\n turn: item.turnId,\n event: item.kind,\n detail: conversationText(item),\n }))\n .filter((row) => filter === undefined || filter.test(`${row.event}\\n${row.detail}`));\n const commands = detail.commands.entries.map((command) => ({\n key: command.commandId,\n phase: command.manifest.phase,\n command: commandText(command).invocation,\n outcome: commandText(command).outcome,\n workingDirectory: command.manifest.workingDirectory.kind === \"project-relative\"\n ? command.manifest.workingDirectory.path\n : command.manifest.workingDirectory.kind,\n })).filter((row) => filter === undefined || filter.test(`${row.command}\\n${row.outcome}`));\n const timings = detail.timing.intervals.map((interval) => ({\n key: interval.intervalId,\n phase: interval.phase,\n label: interval.label,\n startMs: interval.startOffsetMs,\n durationMs: interval.durationMs,\n outcome: interval.outcome,\n parent: props.timingMode === \"full\" ? interval.parentIntervalId : null,\n }));\n const usage = detail.usage.observations.map((observation, index) => ({\n key: `${observation.provider}:${observation.kind}:${index}`,\n provider: observation.provider,\n kind: observation.kind,\n value: usageValue(observation),\n }));\n const diagnostics = detail.diagnostics.diagnostics.map((diagnostic) => ({\n key: diagnostic.diagnosticId,\n kind: diagnostic.kind,\n phase: diagnostic.phase,\n code: diagnostic.code,\n summary: diagnostic.summary,\n redaction: diagnostic.redaction.state === \"applied\" ? `${diagnostic.redaction.replacements} replacements` : \"none\",\n }));\n if (props.mode === \"timing\") {\n return (<Section title={`Timing · ${entry.attempt.locator}`} meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={timings} columns={props.timingMode === \"full\"\n ? [\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\", \"parent\"]\n : [\"phase\", \"label\", \"durationMs\", \"outcome\"]}/>)}\n </Section>);\n }\n return (<Section title={`Execution trace · ${entry.attempt.locator}`} meta={detail.conversation.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n turns: detail.conversation.turns.length,\n conversationItems: detail.conversation.items.length,\n commands: detail.commands.entries.length,\n timingIntervals: detail.timing.intervals.length,\n diagnostics: detail.diagnostics.diagnostics.length,\n }]} columns={[\"turns\", \"conversationItems\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>\n <Section title=\"Conversation\" meta={detail.conversation.collection.state}>\n {conversationRows.length === 0 ? <Text>No recorded conversation entries match this view.</Text> : (<Table rows={limited(conversationRows)} columns={[\"sequence\", \"turn\", \"event\", \"detail\"]}/>)}\n {omittedText(conversationRows.length, Math.min(conversationRows.length, DETAIL_ROWS_MAX), \"conversation entries\")}\n </Section>\n <Section title=\"Commands\" meta={detail.commands.collection.state}>\n {commands.length === 0 ? <Text>No recorded commands match this view.</Text> : (<Table rows={limited(commands)} columns={[\"phase\", \"command\", \"outcome\", \"workingDirectory\"]}/>)}\n {omittedText(commands.length, Math.min(commands.length, DETAIL_ROWS_MAX), \"commands\")}\n </Section>\n <Section title=\"Timing\" meta={detail.timing.collection.state}>\n {timings.length === 0 ? <Text>No recorded timing intervals.</Text> : (<Table rows={limited(timings)} columns={[\"phase\", \"label\", \"startMs\", \"durationMs\", \"outcome\"]}/>)}\n </Section>\n <Section title=\"Usage\" meta={detail.usage.collection.state}>\n {usage.length === 0 ? <Text>No recorded provider usage.</Text> : <Table rows={limited(usage)} columns={[\"provider\", \"kind\", \"value\"]}/>}\n </Section>\n <Section title=\"Diagnostics\" meta={detail.diagnostics.collection.state}>\n {diagnostics.length === 0 ? <Text>No recorded diagnostics.</Text> : (<Table rows={limited(diagnostics)} columns={[\"kind\", \"phase\", \"code\", \"summary\", \"redaction\"]}/>)}\n </Section>\n </Section>);\n}\nfunction attemptTraceTree(props: AttemptTraceProps) {\n const entries = props.view.entries\n .filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator)\n .slice(0, DETAIL_ROWS_MAX);\n return (<Col>\n {entries.length === 0 ? <Section title={props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"}><Text>No matching closed trace data.</Text></Section> : null}\n {entries.map((entry) => entry.state === \"available\"\n ? <>{traceEntryTree(entry, props)}</>\n : <Section key={entry.attempt.locator} title={`${props.mode === \"timing\" ? \"Timing\" : \"Execution trace\"} · ${entry.attempt.locator}`}><Text>{`Trace data is ${entry.state}.`}</Text></Section>)}\n {issueSection(props.view)}\n </Col>);\n}\n/** Execution and timing never query: their only input is a closed observability DomainView. */\nexport const AttemptTrace = defineComponent<AttemptTraceProps>((props) => attemptTraceTree(props));\nAttemptTrace.displayName = \"AttemptTrace\";\nfunction endpointText(endpoint: {\n readonly state: \"absent\";\n} | {\n readonly state: \"present\";\n readonly revision: {\n readonly kind: string;\n };\n}): string {\n return endpoint.state === \"absent\" ? \"absent\" : endpoint.revision.kind;\n}\nfunction fileChangesTree(props: FileChangesTrajectoryProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"File changes\"><Text>No matching closed file-change data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`}><Text>{`File changes are ${entry.state}.`}</Text></Section>;\n }\n const changes = entry.detail.trajectory.flatMap((window) => window.changes.map((change) => ({\n key: `${window.windowId}:${change.changeId}`,\n window: window.sequence,\n path: change.path,\n kind: change.kind,\n before: endpointText(change.before),\n after: endpointText(change.after),\n })));\n const paths = entry.detail.paths.map((path) => ({\n key: path.path,\n path: path.path,\n changes: path.changes.length,\n net: path.net.state === \"available\" ? path.net.kind : path.net.reason,\n }));\n return (<Section key={entry.attempt.locator} title={`File changes · ${entry.attempt.locator}`} meta={entry.detail.collection.state}>\n <Table rows={[{\n key: entry.attempt.locator,\n attribution: entry.detail.attribution.kind,\n windows: entry.detail.trajectory.length,\n paths: entry.detail.paths.length,\n limitations: entry.detail.collection.limitations.length,\n }]} columns={[\"attribution\", \"windows\", \"paths\", \"limitations\"]}/>\n <Section title=\"Change trajectory\">\n {changes.length === 0 ? <Text>No retained changed paths.</Text> : <Table rows={limited(changes)} columns={[\"window\", \"path\", \"kind\", \"before\", \"after\"]}/>}\n {omittedText(changes.length, Math.min(changes.length, DETAIL_ROWS_MAX), \"file changes\")}\n </Section>\n <Section title=\"Path summary\">\n {paths.length === 0 ? <Text>No retained path summaries.</Text> : <Table rows={limited(paths)} columns={[\"path\", \"changes\", \"net\"]}/>}\n </Section>\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const FileChangesTrajectory = defineComponent<FileChangesTrajectoryProps>((props) => fileChangesTree(props));\nFileChangesTrajectory.displayName = \"FileChangesTrajectory\";\nfunction sourceContentText(content: {\n readonly state: \"available\";\n readonly text: string;\n} | {\n readonly state: \"unavailable\" | \"binary\";\n}): string {\n if (content.state !== \"available\")\n return content.state;\n return content.text.length <= SOURCE_TEXT_MAX\n ? content.text\n : `${content.text.slice(0, SOURCE_TEXT_MAX)}\\n… source text truncated for this page.`;\n}\nfunction sourcesTree(props: SourcesResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n return (<Col>\n {entries.length === 0 ? <Section title=\"Recorded source\"><Text>No matching closed source data.</Text></Section> : null}\n {entries.map((entry) => {\n if (entry.state !== \"available\") {\n return <Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}><Text>{`Sources are ${entry.state}.`}</Text></Section>;\n }\n const items = entry.detail.items.filter((item) => props.file === undefined || item.path === props.file);\n return (<Section key={entry.attempt.locator} title={`Recorded source · ${entry.attempt.locator}`}>\n {items.length === 0 ? <Text>{props.file === undefined ? \"No recorded source files.\" : `No recorded source matches ${props.file}.`}</Text> : null}\n {items.map((item) => (<Section key={item.sourceItemId} title={item.path} meta={item.sha256}>\n <Table rows={[{\n key: item.sourceItemId,\n sourceItem: item.sourceItemId,\n content: item.content.state,\n }]} columns={[\"sourceItem\", \"content\"]}/>\n <Text>{sourceContentText(item.content)}</Text>\n </Section>))}\n </Section>);\n })}\n {issueSection(props.view)}\n </Col>);\n}\nexport const SourcesResultView = defineComponent<SourcesResultProps>((props) => sourcesTree(props));\nSourcesResultView.displayName = \"SourcesResultView\";\nfunction sandboxTree(props: SandboxHistoryResultProps) {\n const entries = props.view.entries.filter((entry) => props.locator === undefined || entry.attempt.locator === props.locator);\n const rows = entries.map((entry) => ({\n key: entry.attempt.locator,\n locator: entry.attempt.locator,\n state: entry.state,\n commands: entry.state === \"available\" ? entry.detail.commands.entries.length : null,\n timingIntervals: entry.state === \"available\" ? entry.detail.timing.intervals.length : null,\n diagnostics: entry.state === \"available\" ? entry.detail.diagnostics.diagnostics.length : null,\n }));\n return (<Section title=\"Sandbox history\" meta={`${rows.length} attempt${rows.length === 1 ? \"\" : \"s\"}`}>\n {rows.length === 0 ? <Text>No matching closed sandbox history.</Text> : (<Table rows={limited(rows)} columns={[\"locator\", \"state\", \"commands\", \"timingIntervals\", \"diagnostics\"]}/>)}\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"sandbox history rows\")}\n {issueSection(props.view)}\n </Section>);\n}\nexport const SandboxHistoryResultView = defineComponent<SandboxHistoryResultProps>((props) => sandboxTree(props));\nSandboxHistoryResultView.displayName = \"SandboxHistoryResultView\";\nfunction runMembershipTree(input: RunMembershipResult) {\n const hasAttempts = input.members.some((member) => member.locator !== null);\n const rows = input.members.map((member) => ({\n key: member.key,\n experiment: member.experiment,\n eval: member.eval,\n attempt: `#${member.attempt + 1}`,\n result: member.locator === null\n ? member.outcome === \"errored\" ? \"errored\" : \"not started\"\n : member.relation === \"reference\" || member.state === \"carried\" || member.state === \"accepted\"\n ? `using result ${member.locator}`\n : member.verdict ?? member.outcome ?? member.state,\n details: member.locator === null\n ? null\n : { kind: \"locator\" as const, locator: member.locator as AttemptLocator },\n }));\n return (<Col>\n <Hero data={input.hero}/>\n {runErrorsSection(input.errors)}\n <Section title=\"Planned attempts\" meta={`${input.members.length} attempt${input.members.length === 1 ? \"\" : \"s\"}`}>\n <Table rows={limited(rows)} columns={[\n { field: \"experiment\", label: \"Experiment\" },\n { field: \"eval\", label: \"Eval\" },\n { field: \"attempt\", label: \"Attempt\" },\n { field: \"result\", label: \"Result\" },\n { field: \"details\", label: \"Details\" },\n ]}/>\n {omittedText(rows.length, Math.min(rows.length, DETAIL_ROWS_MAX), \"planned attempts\")}\n </Section>\n {hasAttempts ? <AttemptEvidenceResultView view={input.evidence}/> : null}\n {hasAttempts ? issueSection(input.summary) : null}\n </Col>);\n}\nexport const RunMembershipResultView = defineComponent<RunMembershipResult>((input) => runMembershipTree(input));\nRunMembershipResultView.displayName = \"RunMembershipResultView\";\nfunction attemptDetailTree(input: AttemptDetailResult) {\n const locator = input.locator ?? undefined;\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Attempt · ${input.locator ?? \"unavailable\"}`}>\n {membershipTable(input.members)}\n </Section>\n <AttemptEvidenceResultView view={input.evidence} locator={locator}/>\n <AttemptTrace view={input.observability} locator={locator} mode=\"execution\" timingMode=\"full\"/>\n <FileChangesTrajectory view={input.fileChanges} locator={locator}/>\n <SourcesResultView view={input.sources} locator={locator}/>\n <SandboxHistoryResultView view={input.sandbox} locator={locator}/>\n </Col>);\n}\nexport const AttemptDetailResultView = defineComponent<AttemptDetailResult>((input) => attemptDetailTree(input));\nAttemptDetailResultView.displayName = \"AttemptDetailResultView\";\nfunction experimentDetailTree(input: ExperimentDetailResult) {\n const rows = input.rows.filter((row) => String(row.experiment) === input.experiment);\n const hasScore = rows.some((row) => row.evaluationKind !== \"pass\");\n const hasPass = rows.some((row) => row.evaluationKind === \"pass\");\n const columns = [\n \"experiment\",\n ...(hasPass ? [\"passRate\"] : []),\n ...(hasScore ? [\"totalScore\"] : []),\n \"durationMs\",\n \"tokens\",\n ];\n return (<Col>\n <Hero data={input.hero}/>\n <Section title={`Experiment · ${input.experiment}`}>\n <Table rows={rows} columns={columns}/>\n </Section>\n <Section title=\"Experiment members\" meta={`${input.members.length} slots`}>\n {membershipTable(limited(input.members))}\n {omittedText(input.members.length, Math.min(input.members.length, DETAIL_ROWS_MAX), \"member rows\")}\n </Section>\n {issueSection(input.rows)}\n </Col>);\n}\nexport const ExperimentDetailResultView = defineComponent<ExperimentDetailResult>((input) => experimentDetailTree(input));\nExperimentDetailResultView.displayName = \"ExperimentDetailResultView\";\nfunction jsonText(value: JsonValue): string {\n const text = JSON.stringify(value);\n return text.length <= 1000 ? text : `${text.slice(0, 1000)}…`;\n}\n"]}
|
|
@@ -94,6 +94,7 @@ function standardGroupPage(input) {
|
|
|
94
94
|
path: input.path,
|
|
95
95
|
title: { en: "Experiment group", "zh-CN": "实验组" },
|
|
96
96
|
navigation: false,
|
|
97
|
+
presentation: "page",
|
|
97
98
|
role: { kind: "experiment-group", groupKind: input.groupKind },
|
|
98
99
|
params: input.params,
|
|
99
100
|
load: (sample, params) => (0, index_ts_1.experimentComparisonScope)(sample, params),
|
|
@@ -118,6 +119,7 @@ exports.standardAttemptPage = {
|
|
|
118
119
|
path: "/attempt",
|
|
119
120
|
title: "Attempt",
|
|
120
121
|
navigation: false,
|
|
122
|
+
presentation: "overlay",
|
|
121
123
|
params: details_ts_1.attemptDetailParams,
|
|
122
124
|
load: async (_sample, params, context) => Object.freeze({
|
|
123
125
|
target: params,
|
|
@@ -143,6 +145,7 @@ exports.standardExperimentPage = {
|
|
|
143
145
|
path: "/experiment",
|
|
144
146
|
title: "Experiment",
|
|
145
147
|
navigation: false,
|
|
148
|
+
presentation: "overlay",
|
|
146
149
|
params: details_ts_1.experimentDetailParams,
|
|
147
150
|
load: async (sample, params) => {
|
|
148
151
|
const experiment = experimentForTarget(sample, params);
|