niceeval 0.13.3-canary.37 → 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/codex-app-server.cjs +2 -3
- package/dist/agents/codex-app-server.cjs.map +1 -1
- package/dist/agents/codex.cjs +4 -4
- 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/sdk-streams.cjs +11 -4
- package/dist/agents/sdk-streams.cjs.map +1 -1
- 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 +20 -15
- package/dist/context/assert-first.cjs.map +1 -1
- 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 +186 -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 +106 -231
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +9 -43
- package/dist/report/components/attempt-detail/compute.d.mts +9 -43
- package/dist/report/components/attempt-detail/compute.d.ts +9 -43
- package/dist/report/components/attempt-detail/compute.js +2 -4
- package/dist/report/components/attempt-detail/content.cjs +3 -4
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/attempt-detail/validate.cjs +44 -2
- 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/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.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 +186 -24
- package/dist/runner/adoption.cjs +4 -7
- package/dist/runner/adoption.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/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;
|
|
@@ -1590,6 +1601,77 @@ table.niceeval-report,
|
|
|
1590
1601
|
border-color: color-mix(in oklch, var(--bad), transparent 58%);
|
|
1591
1602
|
color: color-mix(in oklch, var(--bad), var(--text) 38%);
|
|
1592
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; }
|
|
1593
1675
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence > summary { display: none; }
|
|
1594
1676
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence[open] { padding-bottom: 8px; }
|
|
1595
1677
|
.niceeval-js .niceeval-turn-trace .niceeval-trace-evidence-tabs {
|
|
@@ -1895,7 +1977,7 @@ table.niceeval-report,
|
|
|
1895
1977
|
.niceeval-report .niceeval-scatter-point { cursor: default; }
|
|
1896
1978
|
.niceeval-report .niceeval-line-point { fill: var(--series); }
|
|
1897
1979
|
|
|
1898
|
-
/* enhance.js 的样式化 tooltip
|
|
1980
|
+
/* enhance.js 的样式化 tooltip(增强前保留 SVG <title>) */
|
|
1899
1981
|
.niceeval-report .niceeval-tooltip {
|
|
1900
1982
|
position: absolute;
|
|
1901
1983
|
transform: translate(-50%, -100%);
|
|
@@ -2135,7 +2217,7 @@ table.niceeval-report,
|
|
|
2135
2217
|
overflow-wrap: anywhere;
|
|
2136
2218
|
box-shadow: inset 2px 0 0 var(--line-tone, transparent);
|
|
2137
2219
|
}
|
|
2138
|
-
/*
|
|
2220
|
+
/* 展开区内容:判定摘要一行、五段结构化证据、给分记录一行。同行重复 send
|
|
2139
2221
|
复用 Conversation 的完整轮卡;轮头必须保留,才能区分 outcome 与 duration。 */
|
|
2140
2222
|
.niceeval-source-view .niceeval-source-line-detail .niceeval-conversation-turn { border-left: 0; padding-left: 0; }
|
|
2141
2223
|
.niceeval-source-view .niceeval-source-line-detail > * + * { margin-top: 6px; }
|
|
@@ -2145,17 +2227,6 @@ table.niceeval-report,
|
|
|
2145
2227
|
font-size: 12px;
|
|
2146
2228
|
font-weight: 650;
|
|
2147
2229
|
}
|
|
2148
|
-
.niceeval-source-view .niceeval-source-assertion-body {
|
|
2149
|
-
margin: 0;
|
|
2150
|
-
padding: 6px 10px;
|
|
2151
|
-
border-radius: var(--radius);
|
|
2152
|
-
background: var(--panel-2);
|
|
2153
|
-
color: var(--muted);
|
|
2154
|
-
font-family: var(--font-mono);
|
|
2155
|
-
font-size: 12px;
|
|
2156
|
-
white-space: pre-wrap;
|
|
2157
|
-
overflow-wrap: anywhere;
|
|
2158
|
-
}
|
|
2159
2230
|
.niceeval-source-view .niceeval-source-score-entry {
|
|
2160
2231
|
margin: 0;
|
|
2161
2232
|
color: var(--muted);
|
|
@@ -2348,7 +2419,7 @@ table.niceeval-report,
|
|
|
2348
2419
|
font-size: 13px;
|
|
2349
2420
|
}
|
|
2350
2421
|
|
|
2351
|
-
/* ---- Tabs
|
|
2422
|
+
/* ---- Tabs:fragment HTML 每 tab 一个 <details> 且仅首个 open;
|
|
2352
2423
|
enhance.js 在 <html> 上打 niceeval-js 后升级为单选 tab 条:收起的 tab 缩成一枚标题排在首行,
|
|
2353
2424
|
唯一展开的 tab 以 100% 宽 + order:1 换行到下方,活动标题带高亮下划线、贴着面板顶部。
|
|
2354
2425
|
不能用 display:contents 把 summary/body 直接投影进 flex 容器——Chrome 里 <details> 的
|
|
@@ -2584,6 +2655,90 @@ html.niceeval-view-document body {
|
|
|
2584
2655
|
|
|
2585
2656
|
.niceeval-view-report-slot { margin: 0 auto 36px; }
|
|
2586
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
|
+
|
|
2587
2742
|
/* View shell owns only the modal chrome. The report body inside the dialog
|
|
2588
2743
|
keeps the same closed product markup and the same stylesheet as its direct
|
|
2589
2744
|
route; the runtime injects no second CSS owner. */
|
|
@@ -2607,13 +2762,6 @@ html.niceeval-view-document body {
|
|
|
2607
2762
|
box-shadow: 0 20px 60px rgb(0 0 0 / 45%);
|
|
2608
2763
|
}
|
|
2609
2764
|
|
|
2610
|
-
/* An author display declaration overrides the browser's default
|
|
2611
|
-
`dialog:not([open]) { display: none }` rule. Preserve the legacy Radix
|
|
2612
|
-
unmount result when native dialog.close() removes [open]. */
|
|
2613
|
-
.niceeval-view-dialog:not([open]) { display: none; }
|
|
2614
|
-
|
|
2615
|
-
.niceeval-view-dialog::backdrop { background: rgb(0 0 0 / 90%); }
|
|
2616
|
-
|
|
2617
2765
|
.niceeval-view-dialog-head {
|
|
2618
2766
|
flex: 0 0 auto;
|
|
2619
2767
|
position: sticky;
|
|
@@ -2681,7 +2829,16 @@ html.niceeval-view-document body {
|
|
|
2681
2829
|
|
|
2682
2830
|
.niceeval-view-problems h2 { margin: 0 0 8px; font-size: 14px; }
|
|
2683
2831
|
.niceeval-view-problems ul { margin: 0; padding-left: 20px; }
|
|
2684
|
-
.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); }
|
|
2685
2842
|
|
|
2686
2843
|
[data-niceeval-locale][hidden] { display: none !important; }
|
|
2687
2844
|
|
|
@@ -2692,11 +2849,16 @@ html.niceeval-view-document body {
|
|
|
2692
2849
|
}
|
|
2693
2850
|
.niceeval-view-pages { display: none; }
|
|
2694
2851
|
.niceeval-view-controls { grid-column: 2; }
|
|
2695
|
-
.niceeval-view-experiment noscript .niceeval-view-nav { display: none; }
|
|
2696
2852
|
.niceeval-view-experiment label > span { display: none; }
|
|
2697
2853
|
.niceeval-view-experiment select { min-width: 108px; }
|
|
2698
2854
|
.niceeval-view-language select { min-width: 68px; }
|
|
2699
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; }
|
|
2700
2862
|
}
|
|
2701
2863
|
|
|
2702
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);
|