niceeval 0.13.2-canary.35 → 0.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INDEX.md +24 -2
- package/dist/agents/bub-install-spec.cjs +19 -5
- package/dist/agents/bub-install-spec.cjs.map +1 -1
- package/dist/agents/bub-install-spec.d.cts +9 -2
- package/dist/agents/bub-install-spec.d.mts +9 -2
- package/dist/agents/bub-install-spec.d.ts +9 -2
- package/dist/agents/bub-install-spec.js +14 -12
- package/dist/agents/bub.cjs +10 -6
- 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.cjs.map +1 -1
- package/dist/agents/claude-code.d.cts +2 -2
- package/dist/agents/claude-code.d.mts +2 -2
- package/dist/agents/claude-code.d.ts +2 -2
- 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/deepseek-harness.cjs +50 -2
- package/dist/agents/deepseek-harness.cjs.map +1 -1
- package/dist/agents/deepseek-harness.d.cts +2 -0
- package/dist/agents/deepseek-harness.d.mts +2 -0
- package/dist/agents/deepseek-harness.d.ts +2 -0
- package/dist/agents/exact-npm-plugins.cjs +28 -0
- package/dist/agents/exact-npm-plugins.cjs.map +1 -0
- package/dist/agents/exact-npm-plugins.d.cts +10 -0
- package/dist/agents/exact-npm-plugins.d.mts +10 -0
- package/dist/agents/exact-npm-plugins.d.ts +10 -0
- package/dist/agents/exact-npm-plugins.js +8 -0
- package/dist/agents/exact-npm-plugins.js.map +1 -0
- package/dist/agents/openclaw.cjs +51 -2
- package/dist/agents/openclaw.cjs.map +1 -1
- package/dist/agents/openclaw.d.cts +2 -0
- package/dist/agents/openclaw.d.mts +2 -0
- package/dist/agents/openclaw.d.ts +2 -0
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +2 -2
- package/dist/agents/types.d.mts +2 -2
- package/dist/agents/types.d.ts +2 -2
- package/dist/agents/ui-message-stream.cjs +24 -7
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/analysis/api.cjs +19 -1
- package/dist/analysis/api.cjs.map +1 -1
- package/dist/analysis/api.d.cts +2 -2
- package/dist/analysis/api.d.mts +2 -2
- package/dist/analysis/api.d.ts +2 -2
- package/dist/analysis/bindings.cjs +11 -18
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +177 -49
- package/dist/analysis/bindings.d.mts +177 -49
- package/dist/analysis/bindings.d.ts +177 -49
- package/dist/analysis/contracts.cjs +1 -0
- package/dist/analysis/contracts.cjs.map +1 -1
- package/dist/analysis/contracts.d.cts +43 -3
- package/dist/analysis/contracts.d.mts +43 -3
- package/dist/analysis/contracts.d.ts +43 -3
- package/dist/analysis/cost-projection.cjs +2 -1
- package/dist/analysis/cost-projection.cjs.map +1 -1
- package/dist/analysis/cost-projection.d.cts +1 -1
- package/dist/analysis/cost-projection.d.mts +1 -1
- package/dist/analysis/cost-projection.d.ts +1 -1
- package/dist/analysis/cost.cjs +13 -3
- package/dist/analysis/cost.cjs.map +1 -1
- package/dist/analysis/cost.d.cts +10 -3
- package/dist/analysis/cost.d.mts +10 -3
- package/dist/analysis/cost.d.ts +10 -3
- package/dist/analysis/experiment-groups.cjs +96 -0
- package/dist/analysis/experiment-groups.cjs.map +1 -0
- package/dist/analysis/experiment-groups.d.cts +9 -0
- package/dist/analysis/experiment-groups.d.mts +9 -0
- package/dist/analysis/experiment-groups.d.ts +9 -0
- package/dist/analysis/experiment-groups.js +10 -0
- package/dist/analysis/experiment-groups.js.map +1 -0
- package/dist/analysis/index.cjs +4 -1
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +4 -2
- package/dist/analysis/index.d.mts +4 -2
- package/dist/analysis/index.d.ts +4 -2
- package/dist/analysis/index.js +40 -36
- package/dist/analysis/index.mjs +40 -36
- package/dist/assertions/limits.cjs +4 -0
- package/dist/assertions/limits.cjs.map +1 -1
- package/dist/assertions/limits.d.cts +4 -0
- package/dist/assertions/limits.d.mts +4 -0
- package/dist/assertions/limits.d.ts +4 -0
- package/dist/assertions/match.cjs +63 -25
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +7 -0
- package/dist/assertions/match.d.mts +7 -0
- package/dist/assertions/match.d.ts +7 -0
- package/dist/assertions/record/attachment.cjs +32 -4
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/diff.cjs +10 -4
- package/dist/assertions/record/diff.cjs.map +1 -1
- package/dist/assertions/record/producer.cjs +101 -4
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +4 -1
- package/dist/assertions/record/producer.d.mts +4 -1
- package/dist/assertions/record/producer.d.ts +4 -1
- package/dist/assertions/runtime.cjs +45 -5
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/record.cjs +113 -8
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +20 -1
- package/dist/cli/record.d.mts +20 -1
- package/dist/cli/record.d.ts +20 -1
- package/dist/cli/record.js +4 -2
- package/dist/cli.cjs +386 -31
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +10 -2
- package/dist/cli.d.mts +10 -2
- package/dist/cli.d.ts +10 -2
- package/dist/context/send-retry.cjs +4 -4
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/coordination/host/runtime.cjs +8 -30
- package/dist/coordination/host/runtime.cjs.map +1 -1
- package/dist/coordination/host/runtime.d.cts +3 -3
- package/dist/coordination/host/runtime.d.mts +3 -3
- package/dist/coordination/host/runtime.d.ts +3 -3
- package/dist/coordination/host/types.cjs.map +1 -1
- package/dist/coordination/host/types.d.cts +0 -5
- package/dist/coordination/host/types.d.mts +0 -5
- package/dist/coordination/host/types.d.ts +0 -5
- package/dist/coordination/platform/node.cjs +90 -9
- package/dist/coordination/platform/node.cjs.map +1 -1
- package/dist/define.cjs +25 -1
- package/dist/define.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -0
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/i18n/en.cjs +19 -6
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +12 -4
- package/dist/i18n/en.d.mts +12 -4
- package/dist/i18n/en.d.ts +12 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/o11y/prices.json +1 -1
- package/dist/o11y/record/families.cjs +12 -3
- package/dist/o11y/record/families.cjs.map +1 -1
- package/dist/o11y/record/families.d.cts +8 -8
- package/dist/o11y/record/families.d.mts +8 -8
- package/dist/o11y/record/families.d.ts +8 -8
- package/dist/o11y/record/family-projectors.d.cts +66 -18
- package/dist/o11y/record/family-projectors.d.mts +66 -18
- package/dist/o11y/record/family-projectors.d.ts +66 -18
- package/dist/o11y/record/family-writers.d.cts +11 -3
- package/dist/o11y/record/family-writers.d.mts +11 -3
- package/dist/o11y/record/family-writers.d.ts +11 -3
- package/dist/o11y/record/runner-producer.cjs +14 -4
- package/dist/o11y/record/runner-producer.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +2 -2
- package/dist/record/codec/core.d.mts +2 -2
- package/dist/record/codec/core.d.ts +2 -2
- package/dist/record/family/catalog.d.cts +44 -12
- package/dist/record/family/catalog.d.mts +44 -12
- package/dist/record/family/catalog.d.ts +44 -12
- package/dist/record/family/index.js +128 -124
- package/dist/record/family/observability-v1.cjs +35 -0
- package/dist/record/family/observability-v1.cjs.map +1 -0
- package/dist/record/family/observability-v1.d.cts +3 -0
- package/dist/record/family/observability-v1.d.mts +3 -0
- package/dist/record/family/observability-v1.d.ts +3 -0
- package/dist/record/family/observability-v1.js +6 -0
- package/dist/record/family/observability-v1.js.map +1 -0
- package/dist/record/family/observability.cjs +58 -9
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/family/observability.d.cts +1014 -15
- package/dist/record/family/observability.d.mts +1014 -15
- package/dist/record/family/observability.d.ts +1014 -15
- package/dist/record/family/observability.js +22 -18
- package/dist/record/host/runtime.cjs +600 -31
- 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 +33 -9
- package/dist/record/host/types.d.mts +33 -9
- package/dist/record/host/types.d.ts +33 -9
- package/dist/record/maintenance/runtime.cjs +1 -2
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -1
- package/dist/record/model/core.d.mts +1 -1
- package/dist/record/model/core.d.ts +1 -1
- package/dist/record/model/definition.d.cts +6 -6
- package/dist/record/model/definition.d.mts +6 -6
- package/dist/record/model/definition.d.ts +6 -6
- package/dist/record/model/identifiers.cjs +1 -1
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -1
- package/dist/record/model/identifiers.d.mts +1 -1
- package/dist/record/model/identifiers.d.ts +1 -1
- package/dist/record/platform/node.cjs +159 -23
- 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 +15 -2
- package/dist/record/platform/services.d.mts +15 -2
- package/dist/record/platform/services.d.ts +15 -2
- package/dist/record/reader/errors.cjs +37 -1
- package/dist/record/reader/errors.cjs.map +1 -1
- package/dist/record/reader/errors.d.cts +49 -1
- package/dist/record/reader/errors.d.mts +49 -1
- package/dist/record/reader/errors.d.ts +49 -1
- package/dist/record/reader/errors.js +22 -12
- package/dist/record/reader/format.cjs +76 -17
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +11 -4
- package/dist/record/reader/format.d.mts +11 -4
- package/dist/record/reader/format.d.ts +11 -4
- package/dist/record/reader/format.js +2 -0
- package/dist/record/reader/index.js +32 -18
- package/dist/record/reader/runtime.cjs +64 -0
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +15 -0
- package/dist/record/reader/runtime.d.mts +15 -0
- package/dist/record/reader/runtime.d.ts +15 -0
- package/dist/record/reader/runtime.js +2 -0
- package/dist/report/assets/styles.css +53 -29
- package/dist/report/built-in/analysis-values.cjs +0 -8
- package/dist/report/built-in/analysis-values.cjs.map +1 -1
- package/dist/report/built-in/analysis-values.d.cts +0 -13
- package/dist/report/built-in/analysis-values.d.mts +0 -13
- package/dist/report/built-in/analysis-values.d.ts +0 -13
- package/dist/report/built-in/analysis-values.js +4 -6
- package/dist/report/built-in/index.cjs +1 -3
- package/dist/report/built-in/index.cjs.map +1 -1
- package/dist/report/built-in/index.d.cts +1 -1
- package/dist/report/built-in/index.d.mts +1 -1
- package/dist/report/built-in/index.d.ts +1 -1
- package/dist/report/built-in/index.js +4 -8
- package/dist/report/built-in/index.mjs +4 -8
- package/dist/report/built-in/machine.cjs +0 -2
- package/dist/report/built-in/machine.cjs.map +1 -1
- package/dist/report/built-in/machine.d.cts +0 -2
- package/dist/report/built-in/machine.d.mts +0 -2
- package/dist/report/built-in/machine.d.ts +0 -2
- package/dist/report/built-in/result-components.cjs +25 -73
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/result-components.d.cts +3 -19
- package/dist/report/built-in/result-components.d.mts +3 -19
- package/dist/report/built-in/result-components.d.ts +3 -19
- package/dist/report/built-in/result-components.js +0 -4
- package/dist/report/built-in/run-membership-overview.cjs +30 -17
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
- package/dist/report/built-in/run-membership-overview.d.cts +14 -0
- package/dist/report/built-in/run-membership-overview.d.mts +14 -0
- package/dist/report/built-in/run-membership-overview.d.ts +14 -0
- package/dist/report/built-in/run-membership-overview.js +4 -2
- package/dist/report/built-in/standard.cjs +80 -46
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +19 -42
- package/dist/report/built-in/standard.d.mts +19 -42
- package/dist/report/built-in/standard.d.ts +19 -42
- package/dist/report/built-in/standard.js +6 -6
- package/dist/report/components/attempt-detail/compute.cjs +78 -2
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +1 -1
- package/dist/report/components/attempt-detail/compute.d.mts +1 -1
- package/dist/report/components/attempt-detail/compute.d.ts +1 -1
- package/dist/report/components/attempt-detail/content.cjs +1 -1
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +2 -2
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.d.cts +2 -2
- package/dist/report/components/entity-lists/compute.d.mts +2 -2
- package/dist/report/components/entity-lists/compute.d.ts +2 -2
- package/dist/report/components/entity-lists/index.cjs +6 -2
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.d.cts +3 -6
- package/dist/report/components/entity-lists/index.d.mts +3 -6
- package/dist/report/components/entity-lists/index.d.ts +3 -6
- package/dist/report/components/summaries/compute.cjs +8 -1
- package/dist/report/components/summaries/compute.cjs.map +1 -1
- package/dist/report/components/summaries/compute.d.cts +9 -1
- package/dist/report/components/summaries/compute.d.mts +9 -1
- package/dist/report/components/summaries/compute.d.ts +9 -1
- package/dist/report/components/summaries/index.cjs +48 -4
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/components/summaries/index.d.cts +7 -4
- package/dist/report/components/summaries/index.d.mts +7 -4
- package/dist/report/components/summaries/index.d.ts +7 -4
- package/dist/report/definition/primitives/chart.cjs +8 -5
- package/dist/report/definition/primitives/chart.cjs.map +1 -1
- package/dist/report/definition/primitives/points-dataset.cjs +1 -0
- package/dist/report/definition/primitives/points-dataset.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +6 -0
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +27 -3
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +8 -0
- package/dist/report/definition/report.d.mts +8 -0
- package/dist/report/definition/report.d.ts +8 -0
- package/dist/report/execution/machine.cjs +30 -14
- package/dist/report/execution/machine.cjs.map +1 -1
- package/dist/report/execution/machine.d.cts +20 -10
- package/dist/report/execution/machine.d.mts +20 -10
- package/dist/report/execution/machine.d.ts +20 -10
- package/dist/report/execution/machine.js +6 -6
- package/dist/report/host/execute.cjs +25 -16
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +4 -0
- package/dist/report/host/execute.d.mts +4 -0
- package/dist/report/host/execute.d.ts +4 -0
- package/dist/report/host/from-record.cjs +22 -5
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/machine.cjs +53 -11
- package/dist/report/host/machine.cjs.map +1 -1
- package/dist/report/host/site-runtime.cjs +9 -8
- package/dist/report/host/site-runtime.cjs.map +1 -1
- package/dist/report/host/site-runtime.d.cts +1 -1
- package/dist/report/host/site-runtime.d.mts +1 -1
- package/dist/report/host/site-runtime.d.ts +1 -1
- package/dist/report/host/static.cjs +56 -9
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +1 -1
- package/dist/report/index.d.mts +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/report/model/dataset.cjs +7 -2
- package/dist/report/model/dataset.cjs.map +1 -1
- package/dist/report/model/locale.cjs +2 -0
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -0
- package/dist/report/model/locale.d.mts +1 -0
- package/dist/report/model/locale.d.ts +1 -0
- package/dist/report/model/metrics.cjs +3 -1
- package/dist/report/model/metrics.cjs.map +1 -1
- package/dist/report/model/pricing.cjs +16 -11
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/styles.css +53 -29
- package/dist/runner/adoption.cjs +1 -0
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt.cjs +44 -5
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +13 -1
- package/dist/runner/attempt.d.mts +13 -1
- package/dist/runner/attempt.d.ts +13 -1
- package/dist/runner/config-identity.cjs +10 -2
- package/dist/runner/config-identity.cjs.map +1 -1
- package/dist/runner/config-identity.d.cts +4 -2
- package/dist/runner/config-identity.d.mts +4 -2
- package/dist/runner/config-identity.d.ts +4 -2
- package/dist/runner/feedback/human.cjs +139 -64
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/json.cjs +14 -6
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +3 -2
- package/dist/runner/feedback/json.d.mts +3 -2
- package/dist/runner/feedback/json.d.ts +3 -2
- package/dist/runner/feedback/reducer.cjs +2 -0
- package/dist/runner/feedback/reducer.cjs.map +1 -1
- package/dist/runner/judge-config.cjs +1 -1
- package/dist/runner/judge-config.cjs.map +1 -1
- package/dist/runner/ledger.cjs +124 -12
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/project-current.cjs +13 -5
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/run.cjs +521 -256
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/sandbox-pool.cjs +161 -30
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/sandbox-pool.d.cts +34 -2
- package/dist/runner/sandbox-pool.d.mts +34 -2
- package/dist/runner/sandbox-pool.d.ts +34 -2
- package/dist/runner/shared-state-lease.cjs +803 -0
- package/dist/runner/shared-state-lease.cjs.map +1 -0
- package/dist/runner/shared-state-lease.d.cts +121 -0
- package/dist/runner/shared-state-lease.d.mts +121 -0
- package/dist/runner/shared-state-lease.d.ts +121 -0
- package/dist/runner/shared-state-lease.js +24 -0
- package/dist/runner/shared-state-lease.js.map +1 -0
- package/dist/runner/teardown-registry.cjs +97 -34
- package/dist/runner/teardown-registry.cjs.map +1 -1
- package/dist/runner/teardown-registry.d.cts +27 -1
- package/dist/runner/teardown-registry.d.mts +27 -1
- package/dist/runner/teardown-registry.d.ts +27 -1
- package/dist/runner/teardown-registry.js +20 -16
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +31 -5
- package/dist/runner/types.d.mts +31 -5
- package/dist/runner/types.d.ts +31 -5
- package/dist/sample/analysis.cjs +249 -459
- package/dist/sample/analysis.cjs.map +1 -1
- package/dist/sample/capability.cjs +46 -8
- package/dist/sample/capability.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.cjs +283 -534
- package/dist/sandbox/docker-profile/schema.cjs.map +1 -1
- package/dist/sandbox/docker-profile/schema.d.cts +10 -27
- package/dist/sandbox/docker-profile/schema.d.mts +10 -27
- package/dist/sandbox/docker-profile/schema.d.ts +10 -27
- package/dist/sandbox/e2b-agent-template.cjs +5 -2
- package/dist/sandbox/e2b-agent-template.cjs.map +1 -1
- package/dist/sandbox/keep-registry.cjs +28 -66
- package/dist/sandbox/keep-registry.cjs.map +1 -1
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +1 -1
- package/dist/sandbox/types.d.mts +1 -1
- package/dist/sandbox/types.d.ts +1 -1
- package/dist/shared/aggregate.cjs +16 -6
- package/dist/shared/aggregate.cjs.map +1 -1
- package/dist/shared/aggregate.d.cts +12 -4
- package/dist/shared/aggregate.d.mts +12 -4
- package/dist/shared/aggregate.d.ts +12 -4
- package/dist/shared/turn-label.cjs +20 -2
- package/dist/shared/turn-label.cjs.map +1 -1
- package/dist/shared/turn-label.d.cts +2 -0
- package/dist/shared/turn-label.d.mts +2 -0
- package/dist/shared/turn-label.d.ts +2 -0
- package/dist/shared/turn-label.js +4 -2
- package/dist/vendor/remark/remark-gfm.cjs +7 -7
- package/dist/vendor/remark/remark-gfm.cjs.map +1 -1
- package/dist/vendor/remark/remark-parse.cjs +12 -12
- package/dist/vendor/remark/remark-parse.cjs.map +1 -1
- package/dist/vendor/remark/remark.cjs +13 -13
- package/dist/vendor/remark/remark.cjs.map +1 -1
- package/dist/view/server.cjs +6 -0
- package/dist/view/server.cjs.map +1 -1
- package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
- package/docs-site/zh/examples/coding-agent-extensions.mdx +1 -1
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +1 -0
- package/docs-site/zh/examples/integrations/langgraph.mdx +1 -1
- package/docs-site/zh/explanation/assert.mdx +6 -6
- package/docs-site/zh/explanation/drive.mdx +1 -1
- package/docs-site/zh/explanation/evals.mdx +9 -9
- package/docs-site/zh/explanation/experiment.mdx +2 -2
- package/docs-site/zh/explanation/hitl.mdx +3 -3
- package/docs-site/zh/explanation/judge.mdx +5 -5
- package/docs-site/zh/explanation/overview.mdx +3 -3
- package/docs-site/zh/explanation/runner.mdx +1 -1
- package/docs-site/zh/index.mdx +3 -3
- package/docs-site/zh/reference/builtin-agents.mdx +9 -9
- package/docs-site/zh/reference/cli.mdx +18 -12
- package/docs-site/zh/reference/define-agent.mdx +130 -5
- package/docs-site/zh/reference/define-config.mdx +2 -2
- package/docs-site/zh/reference/define-eval.mdx +4 -4
- package/docs-site/zh/reference/events.mdx +1 -1
- package/docs-site/zh/reference/official-adapters.mdx +5 -5
- package/docs-site/zh/troubleshooting/debugging.mdx +1 -1
- package/docs-site/zh/troubleshooting/recover-after-kill.mdx +37 -5
- package/docs-site/zh/tutorials/accept-results.mdx +72 -0
- package/docs-site/zh/tutorials/agent-onboarding.mdx +6 -6
- package/docs-site/zh/tutorials/authoring.mdx +9 -13
- package/docs-site/zh/tutorials/ci-integration.mdx +6 -6
- package/docs-site/zh/tutorials/compare-runs.mdx +61 -0
- package/docs-site/zh/tutorials/concurrency.mdx +13 -12
- package/docs-site/zh/tutorials/configuration.mdx +4 -6
- package/docs-site/zh/tutorials/connect-your-agent.mdx +1 -1
- package/docs-site/zh/tutorials/control-run-cost.mdx +58 -0
- package/docs-site/zh/tutorials/criteria-files.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +2 -2
- package/docs-site/zh/tutorials/debug-lifecycle-plan.mdx +46 -0
- package/docs-site/zh/tutorials/docker-in-docker.mdx +50 -44
- package/docs-site/zh/tutorials/eval-groups.mdx +6 -6
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
- package/docs-site/zh/tutorials/experiments.mdx +2 -3
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +18 -10
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +16 -8
- package/docs-site/zh/tutorials/plugins.mdx +14 -0
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +3 -17
- package/docs-site/zh/tutorials/sandbox-agent.mdx +17 -11
- package/docs-site/zh/tutorials/sandbox-providers.mdx +17 -13
- package/docs-site/zh/tutorials/sandbox-reuse.mdx +12 -19
- package/docs-site/zh/tutorials/select-and-preview.mdx +65 -0
- package/docs-site/zh/tutorials/verify-judge.mdx +78 -0
- package/docs-site/zh/tutorials/viewing-results.mdx +27 -8
- package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
- package/docs-site/zh/tutorials/write-send.mdx +2 -2
- package/package.json +9 -5
- package/dist/report/built-in/overview.cjs +0 -45
- package/dist/report/built-in/overview.cjs.map +0 -1
- package/dist/report/built-in/overview.d.cts +0 -6
- package/dist/report/built-in/overview.d.mts +0 -6
- package/dist/report/built-in/overview.d.ts +0 -6
- package/dist/report/built-in/overview.js +0 -9
- package/dist/report/built-in/overview.js.map +0 -1
- package/dist/runner/gate-lease.cjs +0 -283
- package/dist/runner/gate-lease.cjs.map +0 -1
- package/dist/runner/gate-lease.d.cts +0 -62
- package/dist/runner/gate-lease.d.mts +0 -62
- package/dist/runner/gate-lease.d.ts +0 -62
- package/dist/runner/gate-lease.js +0 -22
- package/dist/runner/gate-lease.js.map +0 -1
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
/** The stable explicit-Run membership selector. */
|
|
2
|
+
import type { Sample } from "../../analysis/index.cjs";
|
|
3
|
+
import { type HeroData } from "../components/site-components/index.cjs";
|
|
4
|
+
import { toAttemptEvidence } from "../model/conversions.cjs";
|
|
5
|
+
import { type BuiltInSummaryRows } from "./analysis-values.cjs";
|
|
6
|
+
import { type MembershipRow, type RunErrorRow } from "./result-components.cjs";
|
|
7
|
+
export interface RunMembershipPageInput {
|
|
8
|
+
readonly hero: HeroData;
|
|
9
|
+
readonly summary: BuiltInSummaryRows;
|
|
10
|
+
readonly members: readonly MembershipRow[];
|
|
11
|
+
readonly errors: readonly RunErrorRow[];
|
|
12
|
+
readonly evidence: Awaited<ReturnType<typeof toAttemptEvidence>>;
|
|
13
|
+
}
|
|
14
|
+
/** Closes the data shared by the Human Page and its Host-owned machine producer. */
|
|
15
|
+
export declare function loadRunMembershipPageInput(sample: Sample): Promise<RunMembershipPageInput>;
|
|
2
16
|
/** The bounded default for explicit historical Run selectors. */
|
|
3
17
|
export declare function runMembershipOverviewReport(): import("../definition/report.cjs").ReportDefinition;
|
|
4
18
|
/** The CLI default Report for one or more explicit `--run` selectors. */
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
/** The stable explicit-Run membership selector. */
|
|
2
|
+
import type { Sample } from "../../analysis/index.mjs";
|
|
3
|
+
import { type HeroData } from "../components/site-components/index.mjs";
|
|
4
|
+
import { toAttemptEvidence } from "../model/conversions.mjs";
|
|
5
|
+
import { type BuiltInSummaryRows } from "./analysis-values.mjs";
|
|
6
|
+
import { type MembershipRow, type RunErrorRow } from "./result-components.mjs";
|
|
7
|
+
export interface RunMembershipPageInput {
|
|
8
|
+
readonly hero: HeroData;
|
|
9
|
+
readonly summary: BuiltInSummaryRows;
|
|
10
|
+
readonly members: readonly MembershipRow[];
|
|
11
|
+
readonly errors: readonly RunErrorRow[];
|
|
12
|
+
readonly evidence: Awaited<ReturnType<typeof toAttemptEvidence>>;
|
|
13
|
+
}
|
|
14
|
+
/** Closes the data shared by the Human Page and its Host-owned machine producer. */
|
|
15
|
+
export declare function loadRunMembershipPageInput(sample: Sample): Promise<RunMembershipPageInput>;
|
|
2
16
|
/** The bounded default for explicit historical Run selectors. */
|
|
3
17
|
export declare function runMembershipOverviewReport(): import("../definition/report.mjs").ReportDefinition;
|
|
4
18
|
/** The CLI default Report for one or more explicit `--run` selectors. */
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
/** The stable explicit-Run membership selector. */
|
|
2
|
+
import type { Sample } from "../../analysis/index.js";
|
|
3
|
+
import { type HeroData } from "../components/site-components/index.js";
|
|
4
|
+
import { toAttemptEvidence } from "../model/conversions.js";
|
|
5
|
+
import { type BuiltInSummaryRows } from "./analysis-values.js";
|
|
6
|
+
import { type MembershipRow, type RunErrorRow } from "./result-components.js";
|
|
7
|
+
export interface RunMembershipPageInput {
|
|
8
|
+
readonly hero: HeroData;
|
|
9
|
+
readonly summary: BuiltInSummaryRows;
|
|
10
|
+
readonly members: readonly MembershipRow[];
|
|
11
|
+
readonly errors: readonly RunErrorRow[];
|
|
12
|
+
readonly evidence: Awaited<ReturnType<typeof toAttemptEvidence>>;
|
|
13
|
+
}
|
|
14
|
+
/** Closes the data shared by the Human Page and its Host-owned machine producer. */
|
|
15
|
+
export declare function loadRunMembershipPageInput(sample: Sample): Promise<RunMembershipPageInput>;
|
|
2
16
|
/** The bounded default for explicit historical Run selectors. */
|
|
3
17
|
export declare function runMembershipOverviewReport(): import("../definition/report.js").ReportDefinition;
|
|
4
18
|
/** The CLI default Report for one or more explicit `--run` selectors. */
|
|
@@ -4,6 +4,8 @@ const __niceevalCanonical = __niceevalRequire("./run-membership-overview.cjs");
|
|
|
4
4
|
export default __niceevalCanonical.default;
|
|
5
5
|
const __niceevalExport0 = __niceevalCanonical["defaultRunMembershipOverviewReport"];
|
|
6
6
|
export { __niceevalExport0 as defaultRunMembershipOverviewReport };
|
|
7
|
-
const __niceevalExport1 = __niceevalCanonical["
|
|
8
|
-
export { __niceevalExport1 as
|
|
7
|
+
const __niceevalExport1 = __niceevalCanonical["loadRunMembershipPageInput"];
|
|
8
|
+
export { __niceevalExport1 as loadRunMembershipPageInput };
|
|
9
|
+
const __niceevalExport2 = __niceevalCanonical["runMembershipOverviewReport"];
|
|
10
|
+
export { __niceevalExport2 as runMembershipOverviewReport };
|
|
9
11
|
//# sourceMappingURL=run-membership-overview.js.map
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.standard = exports.standardExperimentPage = exports.standardAttemptPage = exports.
|
|
3
|
+
exports.standard = exports.standardExperimentPage = exports.standardAttemptPage = exports.standardSingletonGroupPage = exports.standardNamedGroupPage = exports.standardOverviewPage = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const index_ts_1 = require("../../analysis/index.cjs");
|
|
6
|
+
const experiment_groups_ts_1 = require("../../analysis/experiment-groups.cjs");
|
|
5
7
|
const primitives_tsx_1 = require("../definition/primitives.cjs");
|
|
8
|
+
const tree_ts_1 = require("../definition/tree.cjs");
|
|
6
9
|
const index_tsx_1 = require("../components/attempt-detail/index.cjs");
|
|
7
|
-
const index_tsx_2 = require("../components/
|
|
8
|
-
const
|
|
10
|
+
const index_tsx_2 = require("../components/entity-lists/index.cjs");
|
|
11
|
+
const index_tsx_3 = require("../components/site-components/index.cjs");
|
|
12
|
+
const index_tsx_4 = require("../components/summaries/index.cjs");
|
|
9
13
|
const details_ts_1 = require("../library/details.cjs");
|
|
10
14
|
const analysis_values_ts_1 = require("./analysis-values.cjs");
|
|
11
15
|
const result_components_tsx_1 = require("./result-components.cjs");
|
|
@@ -33,51 +37,81 @@ function membershipRows(snapshot, filter = {}) {
|
|
|
33
37
|
locator: slot.state === "included" ? slot.attempt.locator : null,
|
|
34
38
|
})));
|
|
35
39
|
}
|
|
36
|
-
|
|
37
|
-
return
|
|
40
|
+
const StandardExperimentResults = (0, tree_ts_1.defineComponent)(async (props) => {
|
|
41
|
+
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Col, { children: [(0, jsx_runtime_1.jsx)(primitives_tsx_1.Section, { title: { en: "Experiment comparison", "zh-CN": "实验对比" }, children: (0, jsx_runtime_1.jsx)(index_tsx_4.ExperimentScatter, { comparison: props.comparison }) }), (0, jsx_runtime_1.jsx)(primitives_tsx_1.Section, { title: { en: "Experiments", "zh-CN": "实验" }, children: (0, jsx_runtime_1.jsx)(index_tsx_2.ExperimentTable, { comparison: props.comparison }) })] }));
|
|
42
|
+
});
|
|
43
|
+
const StandardExperimentOverview = (0, tree_ts_1.defineComponent)((props) => {
|
|
44
|
+
const sample = (0, experiment_groups_ts_1.sampleForExperimentComparisonScope)(props.comparison);
|
|
45
|
+
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Col, { children: [(0, jsx_runtime_1.jsx)(index_tsx_3.Hero, { input: sample }), (0, jsx_runtime_1.jsx)(index_tsx_3.SampleNotices, { input: sample }), (0, jsx_runtime_1.jsx)(index_tsx_4.SampleSummary, { input: sample }), (0, jsx_runtime_1.jsx)(StandardExperimentResults, { comparison: props.comparison })] }));
|
|
46
|
+
});
|
|
47
|
+
function standardOverview(sample) {
|
|
48
|
+
const groups = (0, index_ts_1.experimentGroups)(sample);
|
|
49
|
+
const only = groups.length === 1 ? groups[0] : undefined;
|
|
50
|
+
if (only !== undefined) {
|
|
51
|
+
return (0, jsx_runtime_1.jsx)(StandardExperimentOverview, { comparison: (0, index_ts_1.experimentComparisonScope)(sample, only.group) });
|
|
52
|
+
}
|
|
53
|
+
return ((0, jsx_runtime_1.jsxs)(primitives_tsx_1.Col, { children: [(0, jsx_runtime_1.jsx)(index_tsx_3.Hero, {}), (0, jsx_runtime_1.jsx)(index_tsx_3.SampleNotices, {}), (0, jsx_runtime_1.jsx)(index_tsx_4.SampleSummary, {}), (0, jsx_runtime_1.jsx)(primitives_tsx_1.Section, { title: { en: "Experiments", "zh-CN": "实验" }, children: (0, jsx_runtime_1.jsx)(primitives_tsx_1.Col, { children: groups.map((entry) => ((0, jsx_runtime_1.jsx)(primitives_tsx_1.Link, { target: {
|
|
54
|
+
page: entry.group.kind === "named" ? "group-named" : "group-singleton",
|
|
55
|
+
params: entry.group,
|
|
56
|
+
}, children: entry.group.kind === "named" ? entry.group.groupId : String(entry.group.experimentId) }, entry.group.key))) }) })] }));
|
|
38
57
|
}
|
|
39
|
-
/** The default top-level report Page. */
|
|
58
|
+
/** The default top-level report Page uses the public classic component composition. */
|
|
40
59
|
exports.standardOverviewPage = {
|
|
41
|
-
id: "
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
60
|
+
id: "overview",
|
|
61
|
+
path: "/",
|
|
62
|
+
title: { en: "Overview", "zh-CN": "总览" },
|
|
63
|
+
render: standardOverview,
|
|
64
|
+
};
|
|
65
|
+
const namedGroupParams = Object.freeze({
|
|
66
|
+
encode: (params) => params.groupId,
|
|
67
|
+
decode: (key) => {
|
|
68
|
+
if (!/^[a-z0-9][a-z0-9._~-]*$/u.test(key))
|
|
69
|
+
throw new TypeError("named Experiment Group key is not canonical");
|
|
70
|
+
return Object.freeze({ kind: "named", groupId: key, key: `named/${key}` });
|
|
71
|
+
},
|
|
72
|
+
enumerate: (sample) => (0, index_ts_1.experimentGroups)(sample)
|
|
73
|
+
.filter((entry) => entry.group.kind === "named")
|
|
74
|
+
.map((entry) => entry.group),
|
|
75
|
+
});
|
|
76
|
+
const singletonGroupParams = Object.freeze({
|
|
77
|
+
encode: (params) => String(params.experimentId),
|
|
78
|
+
decode: (key) => {
|
|
79
|
+
if (!/^[a-z0-9][a-z0-9._~-]*$/u.test(key))
|
|
80
|
+
throw new TypeError("singleton Experiment Group key is not canonical");
|
|
48
81
|
return Object.freeze({
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
counts: Object.freeze({
|
|
53
|
-
experiments: experiments.length,
|
|
54
|
-
attempts: includedAttemptCount(sample.snapshot),
|
|
55
|
-
expectedResults: sample.snapshot.slots.filter((slot) => slot.state !== "excluded").length,
|
|
56
|
-
}),
|
|
82
|
+
kind: "singleton",
|
|
83
|
+
experimentId: key,
|
|
84
|
+
key: `singleton/${key}`,
|
|
57
85
|
});
|
|
58
86
|
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
};
|
|
87
|
+
enumerate: (sample) => (0, index_ts_1.experimentGroups)(sample)
|
|
88
|
+
.filter((entry) => entry.group.kind === "singleton")
|
|
89
|
+
.map((entry) => entry.group),
|
|
90
|
+
});
|
|
91
|
+
function standardGroupPage(input) {
|
|
92
|
+
return {
|
|
93
|
+
id: input.id,
|
|
94
|
+
path: input.path,
|
|
95
|
+
title: { en: "Experiment group", "zh-CN": "实验组" },
|
|
96
|
+
navigation: false,
|
|
97
|
+
role: { kind: "experiment-group", groupKind: input.groupKind },
|
|
98
|
+
params: input.params,
|
|
99
|
+
load: (sample, params) => (0, index_ts_1.experimentComparisonScope)(sample, params),
|
|
100
|
+
render: (comparison) => ((0, jsx_runtime_1.jsx)(StandardExperimentOverview, { comparison: comparison })),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
exports.standardNamedGroupPage = standardGroupPage({
|
|
104
|
+
id: "group-named",
|
|
105
|
+
path: "/group/named",
|
|
106
|
+
groupKind: "named",
|
|
107
|
+
params: namedGroupParams,
|
|
108
|
+
});
|
|
109
|
+
exports.standardSingletonGroupPage = standardGroupPage({
|
|
110
|
+
id: "group-singleton",
|
|
111
|
+
path: "/group/singleton",
|
|
112
|
+
groupKind: "singleton",
|
|
113
|
+
params: singletonGroupParams,
|
|
114
|
+
});
|
|
81
115
|
/** One standard detail Page for one already-selected Attempt. */
|
|
82
116
|
exports.standardAttemptPage = {
|
|
83
117
|
id: "attempt",
|
|
@@ -123,11 +157,11 @@ exports.standardExperimentPage = {
|
|
|
123
157
|
};
|
|
124
158
|
/** Explicit composition only: standard owns its two detail Pages. */
|
|
125
159
|
exports.standard = (0, machine_ts_1.defineBuiltInReport)(machine_ts_1.builtInMachineProducerIds.standard, {
|
|
126
|
-
title: "NiceEval
|
|
160
|
+
title: "NiceEval overview",
|
|
127
161
|
pages: [
|
|
128
162
|
exports.standardOverviewPage,
|
|
129
|
-
exports.
|
|
130
|
-
exports.
|
|
163
|
+
exports.standardNamedGroupPage,
|
|
164
|
+
exports.standardSingletonGroupPage,
|
|
131
165
|
exports.standardAttemptPage,
|
|
132
166
|
exports.standardExperimentPage,
|
|
133
167
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.js","sourceRoot":"","sources":["standard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * The standard information architecture.\n *\n * Detail Pages are deliberately listed here. `defineReport()` receives no\n * library page collection, so a consumer's arbitrary custom Report never\n * gains attempt or experiment routes as an implicit side effect.\n */\nimport type { ExperimentId, Sample, SampleSnapshot, } from \"../../analysis/index.ts\";\nimport type { Page, PageEvidence, } from \"../definition/report.ts\";\nimport { Col } from \"../definition/primitives.tsx\";\nimport { AttemptDetails } from \"../components/attempt-detail/index.tsx\";\nimport { Hero, type HeroData } from \"../components/site-components/index.tsx\";\nimport { toAttemptObservability } from \"../model/conversions.ts\";\nimport { attemptDetailParams, experimentDetailParams, experimentDetailTarget, } from \"../library/details.ts\";\nimport type { AttemptDetailTarget, ExperimentDetailTarget, } from \"../library/details.ts\";\nimport { loadBuiltInAttemptRows, loadBuiltInExperimentRows, loadBuiltInSummaryRows, type BuiltInAttemptRows, type BuiltInExperimentRows, type BuiltInSummaryRows, } from \"./analysis-values.ts\";\nimport { AttemptTrace, ExperimentDetailResultView, StandardAttemptsResultView, StandardOverviewResultView, type MembershipRow, } from \"./result-components.tsx\";\nimport { builtInMachineProducerIds, defineBuiltInReport, } from \"./machine.ts\";\ninterface StandardOverviewPageInput {\n readonly hero: HeroData;\n readonly summary: BuiltInSummaryRows;\n readonly experiments: BuiltInExperimentRows;\n readonly counts: {\n readonly experiments: number;\n readonly attempts: number;\n readonly expectedResults: number;\n };\n}\ninterface StandardAttemptsPageInput {\n readonly hero: HeroData;\n readonly attempts: BuiltInAttemptRows;\n}\ninterface StandardTracesPageInput {\n readonly hero: HeroData;\n readonly observability: Awaited<ReturnType<typeof toAttemptObservability>>;\n}\ninterface StandardAttemptPageInput {\n readonly target: AttemptDetailTarget;\n readonly evidence: PageEvidence;\n}\ninterface StandardExperimentPageInput {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nfunction heroData(snapshot: SampleSnapshot): HeroData {\n const latest = snapshot.runs.reduce<number | null>((current, run) => current === null || Number(run.startedAt) > current ? Number(run.startedAt) : current, null);\n return Object.freeze({\n latestStartedAt: latest === null ? null : new Date(latest).toISOString(),\n runs: snapshot.runs.length,\n });\n}\nfunction membershipRows(snapshot: SampleSnapshot, filter: {\n readonly locator?: AttemptDetailTarget[\"locator\"];\n readonly experiment?: string;\n} = {}): readonly MembershipRow[] {\n return Object.freeze(snapshot.slots\n .filter((slot) => filter.experiment === undefined || String(slot.experimentId) === filter.experiment)\n .filter((slot) => filter.locator === undefined || (slot.state === \"included\" && slot.attempt.locator === filter.locator))\n .map((slot) => Object.freeze({\n key: `${slot.runId}:${slot.slotId}`,\n experiment: String(slot.experimentId),\n eval: String(slot.evalId),\n attempt: slot.attemptOrdinal,\n selectedRun: String(slot.runId),\n slot: String(slot.slotId),\n state: slot.state,\n relation: slot.state === \"included\" ? slot.relation : null,\n locator: slot.state === \"included\" ? slot.attempt.locator : null,\n })));\n}\nfunction includedAttemptCount(snapshot: SampleSnapshot): number {\n return snapshot.slots.filter((slot) => slot.state === \"included\").length;\n}\n/** The default top-level report Page. */\nexport const standardOverviewPage = {\n id: \"report\",\n title: { en: \"Report\", \"zh-CN\": \"报告\" },\n load: async (sample: Sample): Promise<StandardOverviewPageInput> => {\n const [summary, experiments] = await Promise.all([\n loadBuiltInSummaryRows(sample),\n loadBuiltInExperimentRows(sample),\n ]);\n return Object.freeze({\n hero: heroData(sample.snapshot),\n summary,\n experiments,\n counts: Object.freeze({\n experiments: experiments.length,\n attempts: includedAttemptCount(sample.snapshot),\n expectedResults: sample.snapshot.slots.filter((slot) => slot.state !== \"excluded\").length,\n }),\n });\n },\n render: (input: StandardOverviewPageInput) => <StandardOverviewResultView {...input}/>,\n} satisfies Page<void, StandardOverviewPageInput>;\n/** The standard attempt list does one aggregation and never queries detail views. */\nexport const standardAttemptsPage = {\n id: \"attempts\",\n title: \"Attempts\",\n load: async (sample: Sample): Promise<StandardAttemptsPageInput> => Object.freeze({\n hero: heroData(sample.snapshot),\n attempts: await loadBuiltInAttemptRows(sample),\n }),\n render: (input: StandardAttemptsPageInput) => <StandardAttemptsResultView {...input}/>,\n} satisfies Page<void, StandardAttemptsPageInput>;\n/** Trace navigation reads only the observability DomainView needed by this Page. */\nexport const standardTracesPage = {\n id: \"traces\",\n title: { en: \"Traces\", \"zh-CN\": \"追踪\" },\n load: async (sample: Sample): Promise<StandardTracesPageInput> => Object.freeze({\n hero: heroData(sample.snapshot),\n observability: await toAttemptObservability(sample),\n }),\n render: (input: StandardTracesPageInput) => (<Col>\n <Hero data={input.hero}/>\n <AttemptTrace view={input.observability} mode=\"execution\" timingMode=\"full\"/>\n </Col>),\n} satisfies Page<void, StandardTracesPageInput>;\n/** One standard detail Page for one already-selected Attempt. */\nexport const standardAttemptPage = {\n id: \"attempt\",\n path: \"/attempt\",\n title: \"Attempt\",\n navigation: false,\n params: attemptDetailParams,\n load: async (_sample: Sample, params: AttemptDetailTarget, context): Promise<StandardAttemptPageInput> => Object.freeze({\n target: params,\n evidence: await context.evidence(params.locator),\n }),\n render: (input: StandardAttemptPageInput) => <AttemptDetails attempt={input}/>,\n} satisfies Page<AttemptDetailTarget, StandardAttemptPageInput>;\nfunction experimentForTarget(sample: Sample, target: ExperimentDetailTarget): ExperimentId {\n const candidates = new Map<string, ExperimentId>();\n for (const run of sample.snapshot.runs)\n candidates.set(String(run.experimentId), run.experimentId);\n for (const slot of sample.snapshot.slots)\n candidates.set(String(slot.experimentId), slot.experimentId);\n for (const candidate of candidates.values()) {\n if (experimentDetailTarget(candidate).key === target.key)\n return candidate;\n }\n throw new TypeError(\"Experiment Page target does not belong to this Sample\");\n}\n/** One standard detail Page for one fixed-Sample Experiment identity. */\nexport const standardExperimentPage = {\n id: \"experiment\",\n path: \"/experiment\",\n title: \"Experiment\",\n navigation: false,\n params: experimentDetailParams,\n load: async (sample: Sample, params: ExperimentDetailTarget): Promise<StandardExperimentPageInput> => {\n const experiment = experimentForTarget(sample, params);\n return Object.freeze({\n hero: heroData(sample.snapshot),\n experiment: String(experiment),\n rows: await loadBuiltInExperimentRows(sample),\n members: membershipRows(sample.snapshot, { experiment: String(experiment) }),\n });\n },\n render: (input: StandardExperimentPageInput) => <ExperimentDetailResultView {...input}/>,\n} satisfies Page<ExperimentDetailTarget, StandardExperimentPageInput>;\n/** Explicit composition only: standard owns its two detail Pages. */\nexport const standard = defineBuiltInReport(builtInMachineProducerIds.standard, {\n title: \"NiceEval standard report\",\n pages: [\n standardOverviewPage,\n standardAttemptsPage,\n standardTracesPage,\n standardAttemptPage,\n standardExperimentPage,\n ],\n});\nexport default standard;\n"]}
|
|
1
|
+
{"version":3,"file":"standard.js","sourceRoot":"","sources":["standard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * The standard information architecture.\n *\n * Detail Pages are deliberately listed here. `defineReport()` receives no\n * library page collection, so a consumer's arbitrary custom Report never\n * gains attempt or experiment routes as an implicit side effect.\n */\nimport type { ExperimentComparisonScope, ExperimentGroupIdentity, ExperimentId, Sample, SampleSnapshot, } from \"../../analysis/index.ts\";\nimport { experimentComparisonScope, experimentGroups, } from \"../../analysis/index.ts\";\nimport { sampleForExperimentComparisonScope } from \"../../analysis/experiment-groups.ts\";\nimport type { Page, PageEvidence, PageParams, } from \"../definition/report.ts\";\nimport { Col, Link, Section } from \"../definition/primitives.tsx\";\nimport { defineComponent } from \"../definition/tree.ts\";\nimport { AttemptDetails } from \"../components/attempt-detail/index.tsx\";\nimport { ExperimentTable } from \"../components/entity-lists/index.tsx\";\nimport { experimentListData } from \"../components/entity-lists/compute.ts\";\nimport { Hero, SampleNotices, type HeroData, } from \"../components/site-components/index.tsx\";\nimport { ExperimentScatter, SampleSummary, } from \"../components/summaries/index.tsx\";\nimport { attemptDetailParams, experimentDetailParams, experimentDetailTarget, } from \"../library/details.ts\";\nimport type { AttemptDetailTarget, ExperimentDetailTarget, } from \"../library/details.ts\";\nimport { loadBuiltInExperimentRows, type BuiltInExperimentRows, } from \"./analysis-values.ts\";\nimport { ExperimentDetailResultView, type MembershipRow, } from \"./result-components.tsx\";\nimport { builtInMachineProducerIds, defineBuiltInReport, } from \"./machine.ts\";\ninterface StandardAttemptPageInput {\n readonly target: AttemptDetailTarget;\n readonly evidence: PageEvidence;\n}\ninterface StandardExperimentPageInput {\n readonly hero: HeroData;\n readonly experiment: string;\n readonly rows: BuiltInExperimentRows;\n readonly members: readonly MembershipRow[];\n}\nfunction heroData(snapshot: SampleSnapshot): HeroData {\n const latest = snapshot.runs.reduce<number | null>((current, run) => current === null || Number(run.startedAt) > current ? Number(run.startedAt) : current, null);\n return Object.freeze({\n latestStartedAt: latest === null ? null : new Date(latest).toISOString(),\n runs: snapshot.runs.length,\n });\n}\nfunction membershipRows(snapshot: SampleSnapshot, filter: {\n readonly locator?: AttemptDetailTarget[\"locator\"];\n readonly experiment?: string;\n} = {}): readonly MembershipRow[] {\n return Object.freeze(snapshot.slots\n .filter((slot) => filter.experiment === undefined || String(slot.experimentId) === filter.experiment)\n .filter((slot) => filter.locator === undefined || (slot.state === \"included\" && slot.attempt.locator === filter.locator))\n .map((slot) => Object.freeze({\n key: `${slot.runId}:${slot.slotId}`,\n experiment: String(slot.experimentId),\n eval: String(slot.evalId),\n attempt: slot.attemptOrdinal,\n selectedRun: String(slot.runId),\n slot: String(slot.slotId),\n state: slot.state,\n relation: slot.state === \"included\" ? slot.relation : null,\n locator: slot.state === \"included\" ? slot.attempt.locator : null,\n })));\n}\nconst StandardExperimentResults = defineComponent<{\n readonly comparison: ExperimentComparisonScope;\n}>(async (props) => {\n return (<Col>\n <Section title={{ en: \"Experiment comparison\", \"zh-CN\": \"实验对比\" }}>\n <ExperimentScatter comparison={props.comparison}/>\n </Section>\n <Section title={{ en: \"Experiments\", \"zh-CN\": \"实验\" }}>\n <ExperimentTable comparison={props.comparison}/>\n </Section>\n </Col>);\n});\nconst StandardExperimentOverview = defineComponent<{\n readonly comparison: ExperimentComparisonScope;\n}>((props) => {\n const sample = sampleForExperimentComparisonScope(props.comparison);\n return (<Col>\n <Hero input={sample}/>\n <SampleNotices input={sample}/>\n <SampleSummary input={sample}/>\n <StandardExperimentResults comparison={props.comparison}/>\n </Col>);\n});\nfunction standardOverview(sample: Sample) {\n const groups = experimentGroups(sample);\n const only = groups.length === 1 ? groups[0] : undefined;\n if (only !== undefined) {\n return <StandardExperimentOverview comparison={experimentComparisonScope(sample, only.group)}/>;\n }\n return (<Col>\n <Hero />\n <SampleNotices />\n <SampleSummary />\n <Section title={{ en: \"Experiments\", \"zh-CN\": \"实验\" }}>\n <Col>\n {groups.map((entry) => (<Link key={entry.group.key} target={{\n page: entry.group.kind === \"named\" ? \"group-named\" : \"group-singleton\",\n params: entry.group,\n }}>\n {entry.group.kind === \"named\" ? entry.group.groupId : String(entry.group.experimentId)}\n </Link>))}\n </Col>\n </Section>\n </Col>);\n}\n/** The default top-level report Page uses the public classic component composition. */\nexport const standardOverviewPage = {\n id: \"overview\",\n path: \"/\",\n title: { en: \"Overview\", \"zh-CN\": \"总览\" },\n render: standardOverview,\n} satisfies Page;\ntype NamedGroupParams = {\n readonly kind: \"named\";\n readonly groupId: string;\n readonly key: `named/${string}`;\n};\ntype SingletonGroupParams = {\n readonly kind: \"singleton\";\n readonly experimentId: ExperimentId;\n readonly key: `singleton/${string}`;\n};\nconst namedGroupParams: PageParams<NamedGroupParams> = Object.freeze({\n encode: (params: NamedGroupParams) => params.groupId,\n decode: (key: string) => {\n if (!/^[a-z0-9][a-z0-9._~-]*$/u.test(key))\n throw new TypeError(\"named Experiment Group key is not canonical\");\n return Object.freeze({ kind: \"named\" as const, groupId: key, key: `named/${key}` as const });\n },\n enumerate: (sample: Sample) => experimentGroups(sample)\n .filter((entry): entry is typeof entry & {\n readonly group: NamedGroupParams;\n } => entry.group.kind === \"named\")\n .map((entry) => entry.group),\n});\nconst singletonGroupParams: PageParams<SingletonGroupParams> = Object.freeze({\n encode: (params: SingletonGroupParams) => String(params.experimentId),\n decode: (key: string) => {\n if (!/^[a-z0-9][a-z0-9._~-]*$/u.test(key))\n throw new TypeError(\"singleton Experiment Group key is not canonical\");\n return Object.freeze({\n kind: \"singleton\" as const,\n experimentId: key as ExperimentId,\n key: `singleton/${key}` as const,\n });\n },\n enumerate: (sample: Sample) => experimentGroups(sample)\n .filter((entry): entry is typeof entry & {\n readonly group: SingletonGroupParams;\n } => entry.group.kind === \"singleton\")\n .map((entry) => entry.group),\n});\nfunction standardGroupPage<Params extends import(\"../../analysis/index.ts\").JsonValue>(input: {\n readonly id: string;\n readonly path: string;\n readonly groupKind: \"named\" | \"singleton\";\n readonly params: PageParams<Params>;\n}): Page<Params, ExperimentComparisonScope> {\n return {\n id: input.id,\n path: input.path,\n title: { en: \"Experiment group\", \"zh-CN\": \"实验组\" },\n navigation: false as const,\n role: { kind: \"experiment-group\" as const, groupKind: input.groupKind },\n params: input.params,\n load: (sample: Sample, params: Params) => experimentComparisonScope(sample, params as ExperimentGroupIdentity),\n render: (comparison: ExperimentComparisonScope) => (<StandardExperimentOverview comparison={comparison}/>),\n } as unknown as Page<Params, ExperimentComparisonScope>;\n}\nexport const standardNamedGroupPage = standardGroupPage({\n id: \"group-named\",\n path: \"/group/named\",\n groupKind: \"named\",\n params: namedGroupParams,\n});\nexport const standardSingletonGroupPage = standardGroupPage({\n id: \"group-singleton\",\n path: \"/group/singleton\",\n groupKind: \"singleton\",\n params: singletonGroupParams,\n});\n/** One standard detail Page for one already-selected Attempt. */\nexport const standardAttemptPage = {\n id: \"attempt\",\n path: \"/attempt\",\n title: \"Attempt\",\n navigation: false,\n params: attemptDetailParams,\n load: async (_sample: Sample, params: AttemptDetailTarget, context): Promise<StandardAttemptPageInput> => Object.freeze({\n target: params,\n evidence: await context.evidence(params.locator),\n }),\n render: (input: StandardAttemptPageInput) => <AttemptDetails attempt={input}/>,\n} satisfies Page<AttemptDetailTarget, StandardAttemptPageInput>;\nfunction experimentForTarget(sample: Sample, target: ExperimentDetailTarget): ExperimentId {\n const candidates = new Map<string, ExperimentId>();\n for (const run of sample.snapshot.runs)\n candidates.set(String(run.experimentId), run.experimentId);\n for (const slot of sample.snapshot.slots)\n candidates.set(String(slot.experimentId), slot.experimentId);\n for (const candidate of candidates.values()) {\n if (experimentDetailTarget(candidate).key === target.key)\n return candidate;\n }\n throw new TypeError(\"Experiment Page target does not belong to this Sample\");\n}\n/** One standard detail Page for one fixed-Sample Experiment identity. */\nexport const standardExperimentPage = {\n id: \"experiment\",\n path: \"/experiment\",\n title: \"Experiment\",\n navigation: false,\n params: experimentDetailParams,\n load: async (sample: Sample, params: ExperimentDetailTarget): Promise<StandardExperimentPageInput> => {\n const experiment = experimentForTarget(sample, params);\n return Object.freeze({\n hero: heroData(sample.snapshot),\n experiment: String(experiment),\n rows: await loadBuiltInExperimentRows(sample),\n members: membershipRows(sample.snapshot, { experiment: String(experiment) }),\n });\n },\n render: (input: StandardExperimentPageInput) => <ExperimentDetailResultView {...input}/>,\n} satisfies Page<ExperimentDetailTarget, StandardExperimentPageInput>;\n/** Explicit composition only: standard owns its two detail Pages. */\nexport const standard = defineBuiltInReport(builtInMachineProducerIds.standard, {\n title: \"NiceEval overview\",\n pages: [\n standardOverviewPage,\n standardNamedGroupPage,\n standardSingletonGroupPage,\n standardAttemptPage,\n standardExperimentPage,\n ],\n});\nexport default standard;\n"]}
|
|
@@ -5,31 +5,12 @@
|
|
|
5
5
|
* library page collection, so a consumer's arbitrary custom Report never
|
|
6
6
|
* gains attempt or experiment routes as an implicit side effect.
|
|
7
7
|
*/
|
|
8
|
-
import type { Sample } from "../../analysis/index.cjs";
|
|
9
|
-
import type { PageEvidence } from "../definition/report.cjs";
|
|
8
|
+
import type { ExperimentComparisonScope, ExperimentId, Sample } from "../../analysis/index.cjs";
|
|
9
|
+
import type { PageEvidence, PageParams } from "../definition/report.cjs";
|
|
10
10
|
import { type HeroData } from "../components/site-components/index.cjs";
|
|
11
|
-
import { toAttemptObservability } from "../model/conversions.cjs";
|
|
12
11
|
import type { AttemptDetailTarget, ExperimentDetailTarget } from "../library/details.cjs";
|
|
13
|
-
import { type
|
|
12
|
+
import { type BuiltInExperimentRows } from "./analysis-values.cjs";
|
|
14
13
|
import { type MembershipRow } from "./result-components.cjs";
|
|
15
|
-
interface StandardOverviewPageInput {
|
|
16
|
-
readonly hero: HeroData;
|
|
17
|
-
readonly summary: BuiltInSummaryRows;
|
|
18
|
-
readonly experiments: BuiltInExperimentRows;
|
|
19
|
-
readonly counts: {
|
|
20
|
-
readonly experiments: number;
|
|
21
|
-
readonly attempts: number;
|
|
22
|
-
readonly expectedResults: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
interface StandardAttemptsPageInput {
|
|
26
|
-
readonly hero: HeroData;
|
|
27
|
-
readonly attempts: BuiltInAttemptRows;
|
|
28
|
-
}
|
|
29
|
-
interface StandardTracesPageInput {
|
|
30
|
-
readonly hero: HeroData;
|
|
31
|
-
readonly observability: Awaited<ReturnType<typeof toAttemptObservability>>;
|
|
32
|
-
}
|
|
33
14
|
interface StandardAttemptPageInput {
|
|
34
15
|
readonly target: AttemptDetailTarget;
|
|
35
16
|
readonly evidence: PageEvidence;
|
|
@@ -40,40 +21,36 @@ interface StandardExperimentPageInput {
|
|
|
40
21
|
readonly rows: BuiltInExperimentRows;
|
|
41
22
|
readonly members: readonly MembershipRow[];
|
|
42
23
|
}
|
|
43
|
-
|
|
24
|
+
declare function standardOverview(sample: Sample): import("react").JSX.Element;
|
|
25
|
+
/** The default top-level report Page uses the public classic component composition. */
|
|
44
26
|
export declare const standardOverviewPage: {
|
|
45
27
|
id: string;
|
|
28
|
+
path: string;
|
|
46
29
|
title: {
|
|
47
30
|
en: string;
|
|
48
31
|
"zh-CN": string;
|
|
49
32
|
};
|
|
50
|
-
|
|
51
|
-
render: (input: StandardOverviewPageInput) => import("react").JSX.Element;
|
|
33
|
+
render: typeof standardOverview;
|
|
52
34
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
load: (sample: Sample) => Promise<StandardAttemptsPageInput>;
|
|
58
|
-
render: (input: StandardAttemptsPageInput) => import("react").JSX.Element;
|
|
35
|
+
type NamedGroupParams = {
|
|
36
|
+
readonly kind: "named";
|
|
37
|
+
readonly groupId: string;
|
|
38
|
+
readonly key: `named/${string}`;
|
|
59
39
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
en: string;
|
|
65
|
-
"zh-CN": string;
|
|
66
|
-
};
|
|
67
|
-
load: (sample: Sample) => Promise<StandardTracesPageInput>;
|
|
68
|
-
render: (input: StandardTracesPageInput) => import("react").JSX.Element;
|
|
40
|
+
type SingletonGroupParams = {
|
|
41
|
+
readonly kind: "singleton";
|
|
42
|
+
readonly experimentId: ExperimentId;
|
|
43
|
+
readonly key: `singleton/${string}`;
|
|
69
44
|
};
|
|
45
|
+
export declare const standardNamedGroupPage: import("../definition/report.cjs").ParameterizedPage<NamedGroupParams, ExperimentComparisonScope>;
|
|
46
|
+
export declare const standardSingletonGroupPage: import("../definition/report.cjs").ParameterizedPage<SingletonGroupParams, ExperimentComparisonScope>;
|
|
70
47
|
/** One standard detail Page for one already-selected Attempt. */
|
|
71
48
|
export declare const standardAttemptPage: {
|
|
72
49
|
id: string;
|
|
73
50
|
path: string;
|
|
74
51
|
title: string;
|
|
75
52
|
navigation: false;
|
|
76
|
-
params:
|
|
53
|
+
params: PageParams<AttemptDetailTarget>;
|
|
77
54
|
load: (_sample: Sample, params: AttemptDetailTarget, context: import("../definition/report.cjs").PageLoadContext) => Promise<StandardAttemptPageInput>;
|
|
78
55
|
render: (input: StandardAttemptPageInput) => import("react").JSX.Element;
|
|
79
56
|
};
|
|
@@ -83,7 +60,7 @@ export declare const standardExperimentPage: {
|
|
|
83
60
|
path: string;
|
|
84
61
|
title: string;
|
|
85
62
|
navigation: false;
|
|
86
|
-
params:
|
|
63
|
+
params: PageParams<ExperimentDetailTarget>;
|
|
87
64
|
load: (sample: Sample, params: ExperimentDetailTarget) => Promise<StandardExperimentPageInput>;
|
|
88
65
|
render: (input: StandardExperimentPageInput) => import("react").JSX.Element;
|
|
89
66
|
};
|
|
@@ -5,31 +5,12 @@
|
|
|
5
5
|
* library page collection, so a consumer's arbitrary custom Report never
|
|
6
6
|
* gains attempt or experiment routes as an implicit side effect.
|
|
7
7
|
*/
|
|
8
|
-
import type { Sample } from "../../analysis/index.mjs";
|
|
9
|
-
import type { PageEvidence } from "../definition/report.mjs";
|
|
8
|
+
import type { ExperimentComparisonScope, ExperimentId, Sample } from "../../analysis/index.mjs";
|
|
9
|
+
import type { PageEvidence, PageParams } from "../definition/report.mjs";
|
|
10
10
|
import { type HeroData } from "../components/site-components/index.mjs";
|
|
11
|
-
import { toAttemptObservability } from "../model/conversions.mjs";
|
|
12
11
|
import type { AttemptDetailTarget, ExperimentDetailTarget } from "../library/details.mjs";
|
|
13
|
-
import { type
|
|
12
|
+
import { type BuiltInExperimentRows } from "./analysis-values.mjs";
|
|
14
13
|
import { type MembershipRow } from "./result-components.mjs";
|
|
15
|
-
interface StandardOverviewPageInput {
|
|
16
|
-
readonly hero: HeroData;
|
|
17
|
-
readonly summary: BuiltInSummaryRows;
|
|
18
|
-
readonly experiments: BuiltInExperimentRows;
|
|
19
|
-
readonly counts: {
|
|
20
|
-
readonly experiments: number;
|
|
21
|
-
readonly attempts: number;
|
|
22
|
-
readonly expectedResults: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
interface StandardAttemptsPageInput {
|
|
26
|
-
readonly hero: HeroData;
|
|
27
|
-
readonly attempts: BuiltInAttemptRows;
|
|
28
|
-
}
|
|
29
|
-
interface StandardTracesPageInput {
|
|
30
|
-
readonly hero: HeroData;
|
|
31
|
-
readonly observability: Awaited<ReturnType<typeof toAttemptObservability>>;
|
|
32
|
-
}
|
|
33
14
|
interface StandardAttemptPageInput {
|
|
34
15
|
readonly target: AttemptDetailTarget;
|
|
35
16
|
readonly evidence: PageEvidence;
|
|
@@ -40,40 +21,36 @@ interface StandardExperimentPageInput {
|
|
|
40
21
|
readonly rows: BuiltInExperimentRows;
|
|
41
22
|
readonly members: readonly MembershipRow[];
|
|
42
23
|
}
|
|
43
|
-
|
|
24
|
+
declare function standardOverview(sample: Sample): import("react").JSX.Element;
|
|
25
|
+
/** The default top-level report Page uses the public classic component composition. */
|
|
44
26
|
export declare const standardOverviewPage: {
|
|
45
27
|
id: string;
|
|
28
|
+
path: string;
|
|
46
29
|
title: {
|
|
47
30
|
en: string;
|
|
48
31
|
"zh-CN": string;
|
|
49
32
|
};
|
|
50
|
-
|
|
51
|
-
render: (input: StandardOverviewPageInput) => import("react").JSX.Element;
|
|
33
|
+
render: typeof standardOverview;
|
|
52
34
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
load: (sample: Sample) => Promise<StandardAttemptsPageInput>;
|
|
58
|
-
render: (input: StandardAttemptsPageInput) => import("react").JSX.Element;
|
|
35
|
+
type NamedGroupParams = {
|
|
36
|
+
readonly kind: "named";
|
|
37
|
+
readonly groupId: string;
|
|
38
|
+
readonly key: `named/${string}`;
|
|
59
39
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
en: string;
|
|
65
|
-
"zh-CN": string;
|
|
66
|
-
};
|
|
67
|
-
load: (sample: Sample) => Promise<StandardTracesPageInput>;
|
|
68
|
-
render: (input: StandardTracesPageInput) => import("react").JSX.Element;
|
|
40
|
+
type SingletonGroupParams = {
|
|
41
|
+
readonly kind: "singleton";
|
|
42
|
+
readonly experimentId: ExperimentId;
|
|
43
|
+
readonly key: `singleton/${string}`;
|
|
69
44
|
};
|
|
45
|
+
export declare const standardNamedGroupPage: import("../definition/report.mjs").ParameterizedPage<NamedGroupParams, ExperimentComparisonScope>;
|
|
46
|
+
export declare const standardSingletonGroupPage: import("../definition/report.mjs").ParameterizedPage<SingletonGroupParams, ExperimentComparisonScope>;
|
|
70
47
|
/** One standard detail Page for one already-selected Attempt. */
|
|
71
48
|
export declare const standardAttemptPage: {
|
|
72
49
|
id: string;
|
|
73
50
|
path: string;
|
|
74
51
|
title: string;
|
|
75
52
|
navigation: false;
|
|
76
|
-
params:
|
|
53
|
+
params: PageParams<AttemptDetailTarget>;
|
|
77
54
|
load: (_sample: Sample, params: AttemptDetailTarget, context: import("../definition/report.mjs").PageLoadContext) => Promise<StandardAttemptPageInput>;
|
|
78
55
|
render: (input: StandardAttemptPageInput) => import("react").JSX.Element;
|
|
79
56
|
};
|
|
@@ -83,7 +60,7 @@ export declare const standardExperimentPage: {
|
|
|
83
60
|
path: string;
|
|
84
61
|
title: string;
|
|
85
62
|
navigation: false;
|
|
86
|
-
params:
|
|
63
|
+
params: PageParams<ExperimentDetailTarget>;
|
|
87
64
|
load: (sample: Sample, params: ExperimentDetailTarget) => Promise<StandardExperimentPageInput>;
|
|
88
65
|
render: (input: StandardExperimentPageInput) => import("react").JSX.Element;
|
|
89
66
|
};
|
|
@@ -5,31 +5,12 @@
|
|
|
5
5
|
* library page collection, so a consumer's arbitrary custom Report never
|
|
6
6
|
* gains attempt or experiment routes as an implicit side effect.
|
|
7
7
|
*/
|
|
8
|
-
import type { Sample } from "../../analysis/index.js";
|
|
9
|
-
import type { PageEvidence } from "../definition/report.js";
|
|
8
|
+
import type { ExperimentComparisonScope, ExperimentId, Sample } from "../../analysis/index.js";
|
|
9
|
+
import type { PageEvidence, PageParams } from "../definition/report.js";
|
|
10
10
|
import { type HeroData } from "../components/site-components/index.js";
|
|
11
|
-
import { toAttemptObservability } from "../model/conversions.js";
|
|
12
11
|
import type { AttemptDetailTarget, ExperimentDetailTarget } from "../library/details.js";
|
|
13
|
-
import { type
|
|
12
|
+
import { type BuiltInExperimentRows } from "./analysis-values.js";
|
|
14
13
|
import { type MembershipRow } from "./result-components.js";
|
|
15
|
-
interface StandardOverviewPageInput {
|
|
16
|
-
readonly hero: HeroData;
|
|
17
|
-
readonly summary: BuiltInSummaryRows;
|
|
18
|
-
readonly experiments: BuiltInExperimentRows;
|
|
19
|
-
readonly counts: {
|
|
20
|
-
readonly experiments: number;
|
|
21
|
-
readonly attempts: number;
|
|
22
|
-
readonly expectedResults: number;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
interface StandardAttemptsPageInput {
|
|
26
|
-
readonly hero: HeroData;
|
|
27
|
-
readonly attempts: BuiltInAttemptRows;
|
|
28
|
-
}
|
|
29
|
-
interface StandardTracesPageInput {
|
|
30
|
-
readonly hero: HeroData;
|
|
31
|
-
readonly observability: Awaited<ReturnType<typeof toAttemptObservability>>;
|
|
32
|
-
}
|
|
33
14
|
interface StandardAttemptPageInput {
|
|
34
15
|
readonly target: AttemptDetailTarget;
|
|
35
16
|
readonly evidence: PageEvidence;
|
|
@@ -40,40 +21,36 @@ interface StandardExperimentPageInput {
|
|
|
40
21
|
readonly rows: BuiltInExperimentRows;
|
|
41
22
|
readonly members: readonly MembershipRow[];
|
|
42
23
|
}
|
|
43
|
-
|
|
24
|
+
declare function standardOverview(sample: Sample): import("react").JSX.Element;
|
|
25
|
+
/** The default top-level report Page uses the public classic component composition. */
|
|
44
26
|
export declare const standardOverviewPage: {
|
|
45
27
|
id: string;
|
|
28
|
+
path: string;
|
|
46
29
|
title: {
|
|
47
30
|
en: string;
|
|
48
31
|
"zh-CN": string;
|
|
49
32
|
};
|
|
50
|
-
|
|
51
|
-
render: (input: StandardOverviewPageInput) => import("react").JSX.Element;
|
|
33
|
+
render: typeof standardOverview;
|
|
52
34
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
load: (sample: Sample) => Promise<StandardAttemptsPageInput>;
|
|
58
|
-
render: (input: StandardAttemptsPageInput) => import("react").JSX.Element;
|
|
35
|
+
type NamedGroupParams = {
|
|
36
|
+
readonly kind: "named";
|
|
37
|
+
readonly groupId: string;
|
|
38
|
+
readonly key: `named/${string}`;
|
|
59
39
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
en: string;
|
|
65
|
-
"zh-CN": string;
|
|
66
|
-
};
|
|
67
|
-
load: (sample: Sample) => Promise<StandardTracesPageInput>;
|
|
68
|
-
render: (input: StandardTracesPageInput) => import("react").JSX.Element;
|
|
40
|
+
type SingletonGroupParams = {
|
|
41
|
+
readonly kind: "singleton";
|
|
42
|
+
readonly experimentId: ExperimentId;
|
|
43
|
+
readonly key: `singleton/${string}`;
|
|
69
44
|
};
|
|
45
|
+
export declare const standardNamedGroupPage: import("../definition/report.js").ParameterizedPage<NamedGroupParams, ExperimentComparisonScope>;
|
|
46
|
+
export declare const standardSingletonGroupPage: import("../definition/report.js").ParameterizedPage<SingletonGroupParams, ExperimentComparisonScope>;
|
|
70
47
|
/** One standard detail Page for one already-selected Attempt. */
|
|
71
48
|
export declare const standardAttemptPage: {
|
|
72
49
|
id: string;
|
|
73
50
|
path: string;
|
|
74
51
|
title: string;
|
|
75
52
|
navigation: false;
|
|
76
|
-
params:
|
|
53
|
+
params: PageParams<AttemptDetailTarget>;
|
|
77
54
|
load: (_sample: Sample, params: AttemptDetailTarget, context: import("../definition/report.js").PageLoadContext) => Promise<StandardAttemptPageInput>;
|
|
78
55
|
render: (input: StandardAttemptPageInput) => import("react").JSX.Element;
|
|
79
56
|
};
|
|
@@ -83,7 +60,7 @@ export declare const standardExperimentPage: {
|
|
|
83
60
|
path: string;
|
|
84
61
|
title: string;
|
|
85
62
|
navigation: false;
|
|
86
|
-
params:
|
|
63
|
+
params: PageParams<ExperimentDetailTarget>;
|
|
87
64
|
load: (sample: Sample, params: ExperimentDetailTarget) => Promise<StandardExperimentPageInput>;
|
|
88
65
|
render: (input: StandardExperimentPageInput) => import("react").JSX.Element;
|
|
89
66
|
};
|
|
@@ -6,12 +6,12 @@ const __niceevalExport0 = __niceevalCanonical["standard"];
|
|
|
6
6
|
export { __niceevalExport0 as standard };
|
|
7
7
|
const __niceevalExport1 = __niceevalCanonical["standardAttemptPage"];
|
|
8
8
|
export { __niceevalExport1 as standardAttemptPage };
|
|
9
|
-
const __niceevalExport2 = __niceevalCanonical["
|
|
10
|
-
export { __niceevalExport2 as
|
|
11
|
-
const __niceevalExport3 = __niceevalCanonical["
|
|
12
|
-
export { __niceevalExport3 as
|
|
9
|
+
const __niceevalExport2 = __niceevalCanonical["standardExperimentPage"];
|
|
10
|
+
export { __niceevalExport2 as standardExperimentPage };
|
|
11
|
+
const __niceevalExport3 = __niceevalCanonical["standardNamedGroupPage"];
|
|
12
|
+
export { __niceevalExport3 as standardNamedGroupPage };
|
|
13
13
|
const __niceevalExport4 = __niceevalCanonical["standardOverviewPage"];
|
|
14
14
|
export { __niceevalExport4 as standardOverviewPage };
|
|
15
|
-
const __niceevalExport5 = __niceevalCanonical["
|
|
16
|
-
export { __niceevalExport5 as
|
|
15
|
+
const __niceevalExport5 = __niceevalCanonical["standardSingletonGroupPage"];
|
|
16
|
+
export { __niceevalExport5 as standardSingletonGroupPage };
|
|
17
17
|
//# sourceMappingURL=standard.js.map
|