niceeval 0.13.1 → 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 +25 -2
- package/README.md +9 -10
- package/README.zh.md +9 -10
- package/dist/agents/ai-sdk.cjs.map +1 -1
- package/dist/agents/ai-sdk.d.cts +1 -1
- package/dist/agents/ai-sdk.d.mts +1 -1
- package/dist/agents/ai-sdk.d.ts +1 -1
- 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/coding-cli-versions.cjs +10 -1
- package/dist/agents/coding-cli-versions.cjs.map +1 -1
- package/dist/agents/coding-cli-versions.d.cts +8 -3
- package/dist/agents/coding-cli-versions.d.mts +8 -3
- package/dist/agents/coding-cli-versions.d.ts +8 -3
- package/dist/agents/coding-cli-versions.js +18 -12
- package/dist/agents/deepseek-harness.cjs +151 -0
- package/dist/agents/deepseek-harness.cjs.map +1 -0
- package/dist/agents/deepseek-harness.d.cts +14 -0
- package/dist/agents/deepseek-harness.d.mts +14 -0
- package/dist/agents/deepseek-harness.d.ts +14 -0
- package/dist/agents/deepseek-harness.js +7 -0
- package/dist/agents/deepseek-harness.js.map +1 -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/index.cjs +5 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +4 -0
- package/dist/agents/index.d.mts +4 -0
- package/dist/agents/index.d.ts +4 -0
- package/dist/agents/index.js +54 -50
- package/dist/agents/index.mjs +54 -50
- package/dist/agents/omp.cjs +170 -0
- package/dist/agents/omp.cjs.map +1 -0
- package/dist/agents/omp.d.cts +14 -0
- package/dist/agents/omp.d.mts +14 -0
- package/dist/agents/omp.d.ts +14 -0
- package/dist/agents/omp.js +7 -0
- package/dist/agents/omp.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 +4 -4
- package/dist/agents/types.d.mts +4 -4
- package/dist/agents/types.d.ts +4 -4
- package/dist/agents/ui-message-stream.cjs +24 -7
- package/dist/agents/ui-message-stream.cjs.map +1 -1
- package/dist/analysis/api.cjs +28 -2
- package/dist/analysis/api.cjs.map +1 -1
- package/dist/analysis/api.d.cts +22 -1
- package/dist/analysis/api.d.mts +22 -1
- package/dist/analysis/api.d.ts +22 -1
- package/dist/analysis/api.js +8 -6
- 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 +26 -8
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +19 -6
- package/dist/i18n/en.d.mts +19 -6
- package/dist/i18n/en.d.ts +19 -6
- 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/parsers/hermes.cjs +1 -1
- package/dist/o11y/parsers/hermes.cjs.map +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 +21 -13
- package/dist/report/built-in/analysis-values.cjs.map +1 -1
- package/dist/report/built-in/analysis-values.d.cts +11 -22
- package/dist/report/built-in/analysis-values.d.mts +11 -22
- package/dist/report/built-in/analysis-values.d.ts +11 -22
- 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 +49 -51
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/result-components.d.cts +16 -17
- package/dist/report/built-in/result-components.d.mts +16 -17
- package/dist/report/built-in/result-components.d.ts +16 -17
- package/dist/report/built-in/result-components.js +0 -4
- package/dist/report/built-in/run-membership-overview.cjs +126 -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 -45
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +19 -41
- package/dist/report/built-in/standard.d.mts +19 -41
- package/dist/report/built-in/standard.d.ts +19 -41
- 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 +42 -5
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.d.cts +10 -8
- package/dist/report/components/entity-lists/compute.d.mts +10 -8
- package/dist/report/components/entity-lists/compute.d.ts +10 -8
- package/dist/report/components/entity-lists/content.cjs +31 -6
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +9 -4
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.d.cts +4 -7
- package/dist/report/components/entity-lists/index.d.mts +4 -7
- package/dist/report/components/entity-lists/index.d.ts +4 -7
- 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/cell.cjs +3 -0
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +2 -0
- package/dist/report/definition/cell.d.mts +2 -0
- package/dist/report/definition/cell.d.ts +2 -0
- package/dist/report/definition/primitives/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 +15 -2
- 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 +298 -59
- 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 +564 -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 +138 -7
- package/dist/sample/capability.cjs.map +1 -1
- package/dist/sample/capability.d.cts +3 -1
- package/dist/sample/capability.d.mts +3 -1
- package/dist/sample/capability.d.ts +3 -1
- package/dist/sample/capability.js +8 -6
- package/dist/sandbox/docker-agent-image.cjs +5 -1
- package/dist/sandbox/docker-agent-image.cjs.map +1 -1
- package/dist/sandbox/docker-agent-image.d.cts +2 -0
- package/dist/sandbox/docker-agent-image.d.mts +2 -0
- package/dist/sandbox/docker-agent-image.d.ts +2 -0
- package/dist/sandbox/docker-agent-image.js +14 -10
- 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/index.cjs +4 -2
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +1 -1
- package/dist/sandbox/index.d.mts +1 -1
- package/dist/sandbox/index.d.ts +1 -1
- package/dist/sandbox/index.js +120 -116
- package/dist/sandbox/index.mjs +120 -116
- 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/images/hitl-handshake-zh.svg +3 -3
- 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 +4 -3
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +3 -3
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +5 -5
- package/docs-site/zh/examples/integrations/langgraph.mdx +4 -4
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +5 -5
- package/docs-site/zh/explanation/adapter.mdx +5 -5
- package/docs-site/zh/explanation/assert.mdx +7 -7
- package/docs-site/zh/explanation/drive.mdx +4 -2
- package/docs-site/zh/explanation/evals.mdx +10 -8
- package/docs-site/zh/explanation/experiment.mdx +2 -2
- package/docs-site/zh/explanation/hitl.mdx +9 -9
- 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 +13 -13
- package/docs-site/zh/reference/capabilities.mdx +1 -1
- 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 +11 -11
- package/docs-site/zh/reference/official-adapters.mdx +6 -6
- package/docs-site/zh/reference/results-data.mdx +6 -0
- 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 +52 -43
- 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/nixos-managed-dind.mdx +160 -0
- package/docs-site/zh/tutorials/plugins.mdx +14 -0
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +4 -2
- 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 +38 -1
- package/docs-site/zh/tutorials/write-experiment.mdx +7 -5
- package/docs-site/zh/tutorials/write-send.mdx +9 -8
- package/package.json +9 -5
- package/dist/report/built-in/overview.cjs +0 -44
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-producer.js","sourceRoot":"","sources":["runner-producer.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { Effect } from \"effect\";\nimport type { SealedAttemptAssertions } from \"../../assertions/api.ts\";\nimport { redactSensitiveText } from \"../../sandbox/redaction.ts\";\nimport type { CommandOptions } from \"../../sandbox/types.ts\";\nimport type { AgentRun, DiagnosticRecord, EvalResult, LifecyclePhase, PhaseTiming, TimingActivity, TimingOrigin, } from \"../../runner/types.ts\";\nimport type { StreamEvent } from \"../../types.ts\";\nimport type { Usage } from \"../types.ts\";\nimport { makeAttemptObservabilityCaptureIdentity, makeRunObservabilityCaptureIdentity, mintAttemptObservabilityEntity, mintRunObservabilityEntity, recordRegisteredCommandResult, registerCommandCapture, registeredCommandId, sealAttemptObservabilityCaptureIdentity, sealRunObservabilityCaptureIdentity, type AttemptObservabilityCaptureIdentity, type AttemptCapturedObservabilityEntity, type RegisteredCommandCapture, type RunObservabilityCaptureIdentity, } from \"./capture.ts\";\nimport { type AttemptDiagnostic, type AttemptTimingInterval, type CommandManifest, type ConversationItem, type ConversationTurn, type RunDiagnostic, type UsageObservation, } from \"./families.ts\";\nimport type { NormalizedCommandObservationCapture, NormalizedCommandStreamCapture, NormalizedAttemptObservabilityCapture, NormalizedRunObservabilityCapture, } from \"./family-writers.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_INTERVALS, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { compareObservabilityText, compareObservabilityLimitation, entityIdFromEntropy, makeBoundedSafeText, makeCanonicalDecimal, makeCurrencyCode, makeNonNegativeSafeInteger, makePositiveSafeInteger, makeSafeIdentifier, makeSourceNativeToolName, makeStableLabel, utf8ByteLength, type AttemptReferenceTarget, type CommandId, type CommandReferenceTarget, type CollectionStage, type CollectionTarget, type Collection, type DiagnosticId, type IntervalId, type ItemId, type NonNegativeSafeInteger, type ObservabilityEntityIdForKind, type ObservabilityEntityKind, type ObservabilityLimitation, type PositiveSafeInteger, type RunReferenceTarget, type SafeIdentifier, type SafeText, type SourceNativeToolName, type StableLabel, type TurnId, type CallId, type UsageObservationId, } from \"./model.ts\";\n/**\n * The Runner never exposes raw provider frames to the Record layer. These\n * errors therefore carry only an internal stable code and entity kind.\n */\nexport type RunnerObservabilityProducerError = {\n readonly code: \"runner-observability-entity-id-invalid\";\n readonly kind: ObservabilityEntityKind;\n} | {\n readonly code: \"runner-observability-capture-seal-invalid\";\n readonly owner: \"attempt\" | \"run\";\n} | {\n readonly code: \"runner-observability-capture-missing\";\n} | {\n readonly code: \"runner-observability-command-registration-invalid\";\n};\nfunction producerEntityIdInvalid(kind: ObservabilityEntityKind): RunnerObservabilityProducerError {\n return Object.freeze({\n code: \"runner-observability-entity-id-invalid\" as const,\n kind,\n });\n}\nfunction producerCaptureSealInvalid(owner: \"attempt\" | \"run\"): RunnerObservabilityProducerError {\n return Object.freeze({\n code: \"runner-observability-capture-seal-invalid\" as const,\n owner,\n });\n}\nfunction producerCaptureMissing(): RunnerObservabilityProducerError {\n return Object.freeze({ code: \"runner-observability-capture-missing\" as const });\n}\nfunction producerCommandRegistrationInvalid(): RunnerObservabilityProducerError {\n return Object.freeze({ code: \"runner-observability-command-registration-invalid\" as const });\n}\nfunction requiredPositive(value: number): PositiveSafeInteger {\n const positive = makePositiveSafeInteger(value);\n if (positive !== undefined)\n return positive;\n const fallback = makePositiveSafeInteger(1);\n if (fallback === undefined)\n throw new Error(\"One must be a positive safe integer\");\n return fallback;\n}\nfunction requiredNonNegative(value: number): NonNegativeSafeInteger {\n const nonNegative = makeNonNegativeSafeInteger(value);\n if (nonNegative !== undefined)\n return nonNegative;\n const fallback = makeNonNegativeSafeInteger(0);\n if (fallback === undefined)\n throw new Error(\"Zero must be a non-negative safe integer\");\n return fallback;\n}\n/** Coalesces and canonically orders the closed durable limitation union. */\nclass RunnerCollectionLimitations {\n private readonly captureFailed = new Map<string, {\n readonly stage: CollectionStage;\n readonly target: CollectionTarget;\n }>();\n private readonly captureInterrupted = new Map<string, {\n readonly stage: CollectionStage;\n readonly target: CollectionTarget;\n }>();\n private readonly unsupported = new Map<CollectionTarget, number>();\n private readonly redacted = new Map<CollectionTarget, number>();\n private readonly caps = new Map<CollectionTarget, {\n readonly retained: number;\n readonly omittedAtLeast: number;\n }>();\n private readonly textTruncations: ObservabilityLimitation[] = [];\n addCaptureFailed(stage: CollectionStage, target: CollectionTarget): void {\n this.captureFailed.set(`${stage}\\u0000${target}`, Object.freeze({ stage, target }));\n }\n addCaptureInterrupted(stage: CollectionStage, target: CollectionTarget): void {\n this.captureInterrupted.set(`${stage}\\u0000${target}`, Object.freeze({ stage, target }));\n }\n addUnsupported(target: CollectionTarget, omittedAtLeast = 1): void {\n this.unsupported.set(target, (this.unsupported.get(target) ?? 0) + omittedAtLeast);\n }\n addRedacted(target: CollectionTarget, replacements = 1): void {\n this.redacted.set(target, (this.redacted.get(target) ?? 0) + replacements);\n }\n addCap(target: CollectionTarget, retained: number, omittedAtLeast = 1): void {\n const current = this.caps.get(target);\n this.caps.set(target, Object.freeze({\n retained: Math.max(retained, current?.retained ?? 0),\n omittedAtLeast: (current?.omittedAtLeast ?? 0) + omittedAtLeast,\n }));\n }\n addConversationTextTruncated(itemId: ItemId, retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"text-truncated\" as const,\n target: \"conversation-text\" as const,\n itemId,\n retainedBytes,\n omittedBytes,\n }));\n }\n addCommandManifestTextTruncated(commandId: CommandId, retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"text-truncated\" as const,\n target: \"command-manifest\" as const,\n commandId,\n retainedBytes,\n omittedBytes,\n }));\n }\n addCommandStreamTruncated(commandId: CommandId, stream: \"stdout\" | \"stderr\", retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"stream-truncated\" as const,\n commandId,\n stream,\n retainedBytes,\n omittedBytes,\n }));\n }\n addUnsafeCommandControlStripped(commandId: CommandId, stream: \"stdout\" | \"stderr\", strippedCount: number): void {\n this.textTruncations.push(Object.freeze({\n code: \"unsafe-control-stripped\" as const,\n commandId,\n stream,\n strippedCount: requiredPositive(strippedCount),\n }));\n }\n collection(): Collection {\n const limitations: ObservabilityLimitation[] = [];\n for (const { stage, target } of this.captureFailed.values()) {\n limitations.push(Object.freeze({\n code: \"capture-failed\" as const,\n stage,\n target,\n }));\n }\n for (const { stage, target } of this.captureInterrupted.values()) {\n limitations.push(Object.freeze({\n code: \"capture-interrupted\" as const,\n stage,\n target,\n }));\n }\n for (const [target, omittedAtLeast] of this.unsupported) {\n limitations.push(Object.freeze({\n code: \"unsupported-input\" as const,\n target,\n omittedAtLeast: requiredPositive(omittedAtLeast),\n }));\n }\n for (const [target, replacements] of this.redacted) {\n limitations.push(Object.freeze({\n code: \"redacted\" as const,\n target,\n replacementCount: requiredPositive(replacements),\n }));\n }\n for (const [target, cap] of this.caps) {\n limitations.push(Object.freeze({\n code: \"collection-cap-reached\" as const,\n target,\n retained: requiredNonNegative(cap.retained),\n omittedAtLeast: requiredPositive(cap.omittedAtLeast),\n }));\n }\n limitations.push(...this.textTruncations);\n limitations.sort(compareObservabilityLimitation);\n if (limitations.length === 0) {\n return Object.freeze({\n state: \"complete\" as const,\n limitations: Object.freeze([]) as readonly [\n ],\n });\n }\n const [first, ...rest] = limitations;\n if (first === undefined)\n throw new Error(\"A non-empty limitation list needs a first entry\");\n return Object.freeze({\n state: \"partial\" as const,\n limitations: Object.freeze([first, ...rest]) as readonly [\n ObservabilityLimitation,\n ...ObservabilityLimitation[]\n ],\n });\n }\n}\ninterface RetainedText {\n readonly text: SafeText;\n readonly retainedBytes: NonNegativeSafeInteger;\n readonly omittedBytes?: PositiveSafeInteger;\n}\n/** Never split a Unicode scalar or retain a non-SafeText source value. */\nfunction retainSafeText(value: string, maximumBytes: number): RetainedText | undefined {\n if (makeBoundedSafeText(value, maximumBytes) !== undefined) {\n return Object.freeze({\n text: makeBoundedSafeText(value, maximumBytes)!,\n retainedBytes: requiredNonNegative(utf8ByteLength(value)),\n });\n }\n const totalBytes = utf8ByteLength(value);\n if (totalBytes <= maximumBytes)\n return undefined;\n let retained = \"\";\n let retainedBytes = 0;\n for (const scalar of value) {\n const scalarBytes = utf8ByteLength(scalar);\n if (retainedBytes + scalarBytes > maximumBytes)\n break;\n retained += scalar;\n retainedBytes += scalarBytes;\n }\n const safe = makeBoundedSafeText(retained, maximumBytes);\n const omittedBytes = totalBytes - retainedBytes;\n if (safe === undefined || omittedBytes <= 0)\n return undefined;\n return Object.freeze({\n text: safe,\n retainedBytes: requiredNonNegative(retainedBytes),\n omittedBytes: requiredPositive(omittedBytes),\n });\n}\nfunction jsonSummary(value: unknown): RetainedText | undefined {\n let summary: string | undefined;\n try {\n const encoded = JSON.stringify(value);\n summary = typeof encoded === \"string\" ? encoded : undefined;\n }\n catch {\n return undefined;\n }\n return summary === undefined\n ? undefined\n : retainSafeText(summary, MAX_CONVERSATION_TEXT_BYTES);\n}\nfunction uuidEntropyBytes(uuid: string): Uint8Array | undefined {\n const hex = uuid.replaceAll(\"-\", \"\");\n if (!/^[0-9a-f]{32}$/iu.test(hex))\n return undefined;\n const bytes = new Uint8Array(16);\n for (let index = 0; index < bytes.length; index += 1) {\n const byte = Number.parseInt(hex.slice(index * 2, index * 2 + 2), 16);\n if (!Number.isInteger(byte))\n return undefined;\n bytes[index] = byte;\n }\n return bytes;\n}\nfunction attemptTargetForEntity<Kind extends ObservabilityEntityKind>(kind: Kind, id: ObservabilityEntityIdForKind<Kind>): AttemptReferenceTarget {\n switch (kind) {\n case \"turn\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"turn\" as const,\n id: id as TurnId,\n });\n case \"item\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"item\" as const,\n id: id as ItemId,\n });\n case \"call\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"call\" as const,\n id: id as CallId,\n });\n case \"command\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"command\" as const,\n id: id as import(\"./model.ts\").CommandId,\n });\n case \"usage-observation\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"usage-observation\" as const,\n id: id as import(\"./model.ts\").UsageObservationId,\n });\n case \"interval\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"interval\" as const,\n id: id as IntervalId,\n });\n case \"diagnostic\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"diagnostic\" as const,\n id: id as DiagnosticId,\n });\n }\n}\ntype AttemptEntityMinter = <Kind extends ObservabilityEntityKind>(kind: Kind) => Effect.Effect<ObservabilityEntityIdForKind<Kind>, RunnerObservabilityProducerError>;\nconst runnerAttemptObservabilityRuntimeTypeId: unique symbol = Symbol(\"@niceeval/o11y/RunnerAttemptObservabilityRuntime\");\nconst runnerCommandCaptureHandleTypeId: unique symbol = Symbol(\"@niceeval/o11y/RunnerCommandCaptureHandle\");\n/**\n * Opaque, Attempt-local capture authority. It deliberately has no durable\n * owner/path data and is bound to the final EvalResult only through a private\n * WeakMap below.\n */\nexport interface RunnerAttemptObservabilityRuntime {\n readonly [runnerAttemptObservabilityRuntimeTypeId]: () => void;\n}\n/** A registered command capability, usable only by Runner's timing wrapper. */\nexport interface RunnerCommandCaptureHandle {\n readonly [runnerCommandCaptureHandleTypeId]: () => void;\n}\ninterface CapturedCommandResult {\n readonly outcome: {\n readonly kind: \"exited\";\n readonly exitCode: number;\n } | {\n readonly kind: \"terminated\";\n readonly reason: \"timeout\" | \"cancelled\" | \"transport-lost\";\n } | {\n readonly kind: \"not-started\";\n readonly reason: \"spawn-failed\" | \"cancelled-before-start\";\n };\n readonly stdout: string;\n readonly stderr: string;\n}\ninterface CapturedCommandRuntime {\n readonly commandId: CommandId;\n readonly registered: RegisteredCommandCapture;\n readonly phase: LifecyclePhase;\n readonly invocationKind: \"argv\" | \"shell\";\n readonly command: string;\n readonly args: readonly string[] | undefined;\n readonly options: unknown;\n result?: CapturedCommandResult;\n}\ninterface RunnerAttemptObservabilityRuntimeState {\n readonly capture: AttemptObservabilityCaptureIdentity;\n readonly providerName: string;\n readonly sensitiveValues: ReadonlySet<string>;\n /**\n * Entity IDs retain UUID entropy, but their leading bytes are monotonic\n * within one Attempt. Conversation items are serialized in causal sequence\n * and the fixed schema also requires canonical identity order, so purely\n * random item IDs would make valid captures fail nondeterministically.\n */\n nextEntityOrdinal: number;\n readonly commands: CapturedCommandRuntime[];\n readonly commandLimitations: RunnerCollectionLimitations;\n readonly usage: UsageObservation[];\n readonly usageLimitations: RunnerCollectionLimitations;\n /** One immutable record is allocated at each physical SessionManager send exit. */\n readonly conversationTurns: CapturedConversationTurn[];\n readonly conversationLimitations: RunnerCollectionLimitations;\n failure?: RunnerObservabilityProducerError;\n}\ninterface CapturedConversationTurn {\n readonly turnId: TurnId;\n readonly sequence: PositiveSafeInteger;\n readonly outcome: ConversationTurn[\"outcome\"];\n readonly events: readonly StreamEvent[];\n}\nconst runnerAttemptRuntimeStates = new WeakMap<object, RunnerAttemptObservabilityRuntimeState>();\nconst runnerAttemptResultStates = new WeakMap<object, RunnerAttemptObservabilityRuntimeState>();\nconst runnerAttemptResultTurnIntervals = new WeakMap<object, ReadonlyMap<TurnId, IntervalId>>();\nconst runnerCommandHandleStates = new WeakMap<object, {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}>();\nconst runnerRunDiagnostics = new WeakMap<object, readonly DiagnosticRecord[]>();\nfunction runtimeState(runtime: RunnerAttemptObservabilityRuntime): RunnerAttemptObservabilityRuntimeState | undefined {\n return runnerAttemptRuntimeStates.get(runtime as object);\n}\nfunction markRuntimeFailure(runtime: RunnerAttemptObservabilityRuntimeState, failure: RunnerObservabilityProducerError): void {\n if (runtime.failure === undefined)\n runtime.failure = failure;\n}\nfunction mintRuntimeEntity<Kind extends ObservabilityEntityKind>(runtime: RunnerAttemptObservabilityRuntimeState, kind: Kind): ObservabilityEntityIdForKind<Kind> | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n const bytes = orderedRuntimeEntityEntropy(runtime, uuid);\n const id = bytes === undefined ? undefined : entityIdFromEntropy(kind, bytes);\n if (id === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n const minted = mintAttemptObservabilityEntity(runtime.capture, attemptTargetForEntity(kind, id));\n if (minted === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n return id;\n}\n/**\n * The durable entity suffix remains mostly UUID entropy while a bounded\n * big-endian ordinal makes creation order lexicographic order. Every v1\n * Attempt collector has much smaller caps than this counter's range.\n */\nfunction orderedRuntimeEntityEntropy(runtime: RunnerAttemptObservabilityRuntimeState, uuid: string): Uint8Array | undefined {\n const bytes = uuidEntropyBytes(uuid);\n const ordinal = runtime.nextEntityOrdinal + 1;\n if (bytes === undefined\n || !Number.isSafeInteger(ordinal)\n || ordinal > 4294967295)\n return undefined;\n runtime.nextEntityOrdinal = ordinal;\n bytes[0] = (ordinal >>> 24) & 0xff;\n bytes[1] = (ordinal >>> 16) & 0xff;\n bytes[2] = (ordinal >>> 8) & 0xff;\n bytes[3] = ordinal & 0xff;\n return bytes;\n}\nfunction mintRuntimeCommand(runtime: RunnerAttemptObservabilityRuntimeState): {\n readonly commandId: CommandId;\n readonly entity: AttemptCapturedObservabilityEntity<CommandReferenceTarget>;\n} | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n const bytes = orderedRuntimeEntityEntropy(runtime, uuid);\n const commandId = bytes === undefined ? undefined : entityIdFromEntropy(\"command\", bytes);\n if (commandId === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n const entity = mintAttemptObservabilityEntity<CommandReferenceTarget>(runtime.capture, {\n family: \"niceeval.observability\" as const,\n kind: \"command\" as const,\n id: commandId,\n });\n if (entity === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n return Object.freeze({ commandId, entity });\n}\nfunction makeAttemptEntityMinter(runtime: RunnerAttemptObservabilityRuntimeState): {\n readonly mint: AttemptEntityMinter;\n readonly seal: () => boolean;\n} {\n return Object.freeze({\n mint: <Kind extends ObservabilityEntityKind>(kind: Kind) => Effect.suspend(() => {\n if (runtime.failure !== undefined)\n return Effect.fail(runtime.failure);\n const id = mintRuntimeEntity(runtime, kind);\n return id === undefined\n ? Effect.fail(runtime.failure ?? producerEntityIdInvalid(kind))\n : Effect.succeed(id);\n }),\n seal: () => sealAttemptObservabilityCaptureIdentity(runtime.capture),\n });\n}\ntype RunObservabilityEntityKind = \"interval\" | \"diagnostic\";\ntype RunEntityMinter = <Kind extends RunObservabilityEntityKind>(kind: Kind) => Effect.Effect<ObservabilityEntityIdForKind<Kind>, RunnerObservabilityProducerError>;\nfunction runTargetForEntity<Kind extends RunObservabilityEntityKind>(kind: Kind, id: ObservabilityEntityIdForKind<Kind>): RunReferenceTarget {\n switch (kind) {\n case \"interval\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"interval\" as const,\n id: id as IntervalId,\n });\n case \"diagnostic\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"diagnostic\" as const,\n id: id as DiagnosticId,\n });\n }\n}\nfunction mintRunEntity<Kind extends RunObservabilityEntityKind>(capture: RunObservabilityCaptureIdentity, kind: Kind): ObservabilityEntityIdForKind<Kind> | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n return undefined;\n }\n const bytes = uuidEntropyBytes(uuid);\n const id = bytes === undefined ? undefined : entityIdFromEntropy(kind, bytes);\n if (id === undefined)\n return undefined;\n const minted = mintRunObservabilityEntity(capture, runTargetForEntity(kind, id));\n return minted === undefined ? undefined : id;\n}\nfunction makeRunEntityMinter(capture: RunObservabilityCaptureIdentity): {\n readonly mint: RunEntityMinter;\n readonly seal: () => boolean;\n} {\n return Object.freeze({\n mint: <Kind extends RunObservabilityEntityKind>(kind: Kind) => Effect.suspend(() => {\n const id = mintRunEntity(capture, kind);\n return id === undefined\n ? Effect.fail(producerEntityIdInvalid(kind))\n : Effect.succeed(id);\n }),\n seal: () => sealRunObservabilityCaptureIdentity(capture),\n });\n}\n/** Creates one private capture for a real Runner Attempt. */\nexport function createRunnerAttemptObservabilityRuntime(input: {\n readonly providerName: string;\n readonly sensitiveValues: ReadonlySet<string>;\n}): RunnerAttemptObservabilityRuntime {\n const runtime = Object.freeze({\n [runnerAttemptObservabilityRuntimeTypeId]: () => undefined,\n }) as RunnerAttemptObservabilityRuntime;\n runnerAttemptRuntimeStates.set(runtime, {\n capture: makeAttemptObservabilityCaptureIdentity(),\n providerName: input.providerName,\n sensitiveValues: input.sensitiveValues,\n nextEntityOrdinal: 0,\n commands: [],\n commandLimitations: new RunnerCollectionLimitations(),\n usage: [],\n usageLimitations: new RunnerCollectionLimitations(),\n conversationTurns: [],\n conversationLimitations: new RunnerCollectionLimitations(),\n });\n return runtime;\n}\n/**\n * Associates the exact final EvalResult object with its Attempt-local\n * capture. Result shape stays public-contract-neutral; Record later looks up\n * this identity rather than reading an added field.\n */\nexport function bindRunnerAttemptObservabilityCapture(result: EvalResult, runtime: RunnerAttemptObservabilityRuntime): void {\n const state = runtimeState(runtime);\n if (state === undefined)\n return;\n const existing = runnerAttemptResultStates.get(result);\n if (existing !== undefined && existing !== state) {\n markRuntimeFailure(state, producerCaptureSealInvalid(\"attempt\"));\n return;\n }\n runnerAttemptResultStates.set(result, state);\n}\n/** Exact physical-turn timing joins produced during the same final seal. */\nexport function runnerAttemptConversationTimingForResult(result: EvalResult): ReadonlyMap<TurnId, IntervalId> | undefined {\n return runnerAttemptResultTurnIntervals.get(result);\n}\n/**\n * Captures the terminal fact of one physical public `t.send` at the exact\n * Effect Exit boundary. IDs are minted here, not reconstructed from the\n * later aggregate event stream, so repeated source locations remain distinct.\n */\nexport function captureRunnerPhysicalConversationTurn(input: {\n readonly runtime: RunnerAttemptObservabilityRuntime;\n readonly outcome: ConversationTurn[\"outcome\"];\n readonly events: readonly StreamEvent[];\n}): TurnId | undefined {\n const runtime = runtimeState(input.runtime);\n if (runtime === undefined || runtime.failure !== undefined)\n return undefined;\n if (runtime.conversationTurns.length >= MAX_CONVERSATION_TURNS) {\n runtime.conversationLimitations.addCap(\"conversation-item\", runtime.conversationTurns.length);\n return undefined;\n }\n const turnId = mintRuntimeEntity(runtime, \"turn\");\n if (turnId === undefined)\n return undefined;\n runtime.conversationTurns.push(Object.freeze({\n turnId,\n sequence: requiredPositive(runtime.conversationTurns.length + 1),\n outcome: input.outcome,\n events: Object.freeze([...input.events]),\n }));\n return turnId;\n}\n/**\n * Associates only the settled diagnostics that belong to this exact Run. The\n * invocation-wide timing recorder is intentionally not bound here: its facts\n * have no safe per-experiment owner attribution when an invocation has more\n * than one Run.\n */\nexport function bindRunnerRunObservabilityDiagnostics(input: {\n readonly run: AgentRun;\n readonly diagnostics: readonly DiagnosticRecord[];\n}): void {\n runnerRunDiagnostics.set(input.run, Object.freeze([...input.diagnostics]));\n}\nfunction commandManifestPhase(phase: LifecyclePhase): CommandManifest[\"phase\"] {\n switch (phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n return \"attempt.setup\";\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return \"sandbox.prepare\";\n case \"agent.ensure\":\n return \"agent.ensure\";\n case \"eval.run\":\n return \"eval.run\";\n case \"agent.run\":\n return \"sandbox.command\";\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n case \"experiment.teardown\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return \"attempt.teardown\";\n case \"assertions.evaluate\":\n case \"judge.precheck\":\n return \"eval.run\";\n case \"experiment.setup\":\n case \"sandbox.queue\":\n return \"attempt.setup\";\n }\n}\n/** Registers the manifest authority before the wrapped Sandbox call starts. */\nexport function captureRunnerCommandStart(input: {\n readonly runtime: RunnerAttemptObservabilityRuntime;\n readonly phase: LifecyclePhase;\n readonly invocationKind: \"argv\" | \"shell\";\n readonly command: string;\n readonly args?: readonly string[];\n readonly options?: unknown;\n}): RunnerCommandCaptureHandle | undefined {\n const runtime = runtimeState(input.runtime);\n if (runtime === undefined)\n return undefined;\n if (runtime.failure !== undefined)\n return undefined;\n if (runtime.commands.length >= MAX_COMMANDS) {\n runtime.commandLimitations.addCap(\"command-manifest\", runtime.commands.length);\n return undefined;\n }\n const minted = mintRuntimeCommand(runtime);\n if (minted === undefined)\n return undefined;\n const { commandId } = minted;\n const registered = registerCommandCapture(runtime.capture, minted.entity);\n if (registered === undefined || registeredCommandId(registered) !== commandId) {\n markRuntimeFailure(runtime, producerCommandRegistrationInvalid());\n return undefined;\n }\n const command: CapturedCommandRuntime = {\n commandId,\n registered,\n phase: input.phase,\n invocationKind: input.invocationKind,\n command: input.command,\n args: input.args === undefined ? undefined : [...input.args],\n options: input.options,\n };\n runtime.commands.push(command);\n const handle = Object.freeze({\n [runnerCommandCaptureHandleTypeId]: () => undefined,\n }) as RunnerCommandCaptureHandle;\n runnerCommandHandleStates.set(handle, Object.freeze({ runtime, command }));\n return handle;\n}\nfunction commandHandleState(handle: RunnerCommandCaptureHandle | undefined): {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n} | undefined {\n return handle === undefined ? undefined : runnerCommandHandleStates.get(handle as object);\n}\nfunction acceptRegisteredCommandResult(state: {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}): boolean {\n const registration = recordRegisteredCommandResult(state.runtime.capture, state.command.registered);\n if (registration.state !== \"recorded\") {\n markRuntimeFailure(state.runtime, producerCommandRegistrationInvalid());\n return false;\n }\n return true;\n}\nfunction recordTerminalCommandResult(state: {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}, outcome: Exclude<CapturedCommandResult[\"outcome\"], {\n readonly kind: \"exited\";\n}>): void {\n if (!acceptRegisteredCommandResult(state))\n return;\n state.command.result = Object.freeze({\n outcome: Object.freeze(outcome),\n stdout: \"\",\n stderr: \"\",\n });\n}\n/** Records a real returned/CommandExitError result against its prior manifest. */\nexport function captureRunnerCommandResult(input: {\n readonly handle: RunnerCommandCaptureHandle | undefined;\n readonly exitCode: number;\n readonly stdout: unknown;\n readonly stderr: unknown;\n}): void {\n const state = commandHandleState(input.handle);\n if (state === undefined)\n return;\n if (!acceptRegisteredCommandResult(state))\n return;\n if (!Number.isSafeInteger(input.exitCode) || input.exitCode < -2147483648 || input.exitCode > 2147483647) {\n // A provider value without a valid command result is not a normal exit.\n // Keep the registered manifest with its explicit transport terminal fact.\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n state.command.result = Object.freeze({\n outcome: Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }),\n stdout: \"\",\n stderr: \"\",\n });\n return;\n }\n const stdout = typeof input.stdout === \"string\" ? input.stdout : \"\";\n const stderr = typeof input.stderr === \"string\" ? input.stderr : \"\";\n if (typeof input.stdout !== \"string\")\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n if (typeof input.stderr !== \"string\")\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n state.command.result = Object.freeze({\n outcome: Object.freeze({ kind: \"exited\" as const, exitCode: input.exitCode }),\n stdout,\n stderr,\n });\n}\n/** A command timeout is a real terminal fact, unlike external interruption. */\nexport function captureRunnerCommandTimeout(handle: RunnerCommandCaptureHandle | undefined): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, Object.freeze({\n kind: \"terminated\" as const,\n reason: \"timeout\" as const,\n }));\n}\n/** A command call interrupted after registration is durably terminal/cancelled. */\nexport function captureRunnerCommandInterrupted(handle: RunnerCommandCaptureHandle | undefined): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, Object.freeze({\n kind: \"terminated\" as const,\n reason: \"cancelled\" as const,\n }));\n}\n/** Retains a registered command when the provider cannot return a normal result. */\nexport function captureRunnerCommandCaptureFailed(handle: RunnerCommandCaptureHandle | undefined, reason: \"transport-lost\" | \"spawn-failed\" = \"transport-lost\"): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, reason === \"spawn-failed\"\n ? Object.freeze({ kind: \"not-started\" as const, reason: \"spawn-failed\" as const })\n : Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }));\n}\nfunction usageNonNegativeInteger(value: unknown): NonNegativeSafeInteger | undefined {\n return typeof value === \"number\" ? makeNonNegativeSafeInteger(value) : undefined;\n}\nfunction canonicalDecimalFromNumber(value: unknown): string | undefined {\n if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0)\n return undefined;\n const source = String(value);\n const plain = source.includes(\"e\") || source.includes(\"E\")\n ? expandExponentialDecimal(source)\n : source;\n if (plain === undefined)\n return undefined;\n const normalized = plain.includes(\".\")\n ? plain.replace(/0+$/u, \"\").replace(/\\.$/u, \"\")\n : plain;\n return makeCanonicalDecimal(normalized);\n}\nfunction expandExponentialDecimal(value: string): string | undefined {\n const match = /^(\\d+)(?:\\.(\\d+))?[eE]([+-]?\\d+)$/u.exec(value);\n if (match === null)\n return undefined;\n const integer = match[1] ?? \"\";\n const fraction = match[2] ?? \"\";\n const exponent = Number(match[3]);\n if (!Number.isSafeInteger(exponent))\n return undefined;\n const digits = `${integer}${fraction}`.replace(/^0+/u, \"\") || \"0\";\n if (digits === \"0\")\n return \"0\";\n const decimalIndex = integer.length + exponent;\n if (decimalIndex <= 0)\n return `0.${\"0\".repeat(-decimalIndex)}${digits}`;\n if (decimalIndex >= digits.length)\n return `${digits}${\"0\".repeat(decimalIndex - digits.length)}`;\n return `${digits.slice(0, decimalIndex)}.${digits.slice(decimalIndex)}`;\n}\nfunction appendUsageObservation(runtime: RunnerAttemptObservabilityRuntimeState, create: (usageObservationId: UsageObservationId, provider: SafeIdentifier) => UsageObservation): void {\n if (runtime.usage.length >= MAX_USAGE_OBSERVATIONS) {\n runtime.usageLimitations.addCap(\"usage-observation\", runtime.usage.length);\n return;\n }\n const provider = makeSafeIdentifier(runtime.providerName);\n if (provider === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n return;\n }\n const usageObservationId = mintRuntimeEntity(runtime, \"usage-observation\");\n if (usageObservationId === undefined)\n return;\n runtime.usage.push(create(usageObservationId, provider));\n}\n/**\n * Captures only the exact Usage passed by SessionManager's terminal onTurn\n * callback. It never looks at an Attempt aggregate or derives a request from\n * a token count.\n */\nexport function captureRunnerTurnUsage(runtimeHandle: RunnerAttemptObservabilityRuntime, usage: Usage): void {\n const runtime = runtimeState(runtimeHandle);\n if (runtime === undefined || runtime.failure !== undefined)\n return;\n const tokenBuckets: readonly [\n keyof Pick<Usage, \"inputTokens\" | \"outputTokens\" | \"cacheReadTokens\" | \"cacheCreationTokens\" | \"reasoningTokens\">,\n Extract<UsageObservation, {\n readonly kind: \"token-bucket\";\n }>[\"bucket\"]\n ][] = [\n [\"inputTokens\", \"input\"],\n [\"outputTokens\", \"output\"],\n [\"cacheReadTokens\", \"cache-read\"],\n [\"cacheCreationTokens\", \"cache-write\"],\n [\"reasoningTokens\", \"reasoning\"],\n ];\n for (const [field, bucket] of tokenBuckets) {\n const raw = usage[field];\n if (raw === undefined)\n continue;\n const tokens = usageNonNegativeInteger(raw);\n if (tokens === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n continue;\n }\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"token-bucket\" as const,\n bucket,\n tokens,\n refs: Object.freeze([]),\n }));\n }\n if (usage.requests !== undefined) {\n const requests = usageNonNegativeInteger(usage.requests);\n if (requests === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n }\n else {\n for (let request = 0; request < requests; request += 1) {\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"request\" as const,\n requestKind: \"model\" as const,\n refs: Object.freeze([]),\n }));\n if (runtime.usage.length >= MAX_USAGE_OBSERVATIONS)\n break;\n }\n }\n }\n if (usage.costUSD !== undefined) {\n const amount = canonicalDecimalFromNumber(usage.costUSD);\n if (amount === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n }\n else {\n const currency = makeCurrencyCode(\"USD\");\n if (currency === undefined)\n throw new Error(\"USD must be a CurrencyCode\");\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"provider-cost\" as const,\n amount,\n currency,\n refs: Object.freeze([]),\n }));\n }\n }\n}\nfunction safeIdentifier(value: string): SafeIdentifier | undefined {\n return makeSafeIdentifier(value);\n}\nfunction sourceNativeToolName(value: string): SourceNativeToolName | undefined {\n return makeSourceNativeToolName(value);\n}\nfunction stableLabel(value: string): StableLabel | undefined {\n return makeStableLabel(value);\n}\nfunction eventCannotBePersisted(event: {\n readonly redacted?: readonly string[];\n readonly truncated?: readonly unknown[];\n}, limitations: RunnerCollectionLimitations): boolean {\n if ((event.redacted?.length ?? 0) > 0) {\n limitations.addRedacted(\"conversation-item\", event.redacted!.length);\n return true;\n }\n if ((event.truncated?.length ?? 0) > 0) {\n limitations.addUnsupported(\"conversation-item\");\n return true;\n }\n return false;\n}\nfunction hasConversationCapacity(input: {\n readonly itemCount: number;\n readonly hasTurn: boolean;\n readonly limitations: RunnerCollectionLimitations;\n}): boolean {\n if (input.itemCount >= MAX_CONVERSATION_ITEMS) {\n input.limitations.addCap(\"conversation-item\", input.itemCount);\n return false;\n }\n if (!input.hasTurn && input.itemCount >= MAX_CONVERSATION_TURNS) {\n input.limitations.addCap(\"conversation-item\", input.itemCount);\n return false;\n }\n return true;\n}\nfunction appendConversationTextLimitation(item: ConversationItem | undefined, text: RetainedText, limitations: RunnerCollectionLimitations): void {\n if (item !== undefined && text.omittedBytes !== undefined) {\n limitations.addConversationTextTruncated(item.itemId, text.retainedBytes, text.omittedBytes);\n }\n}\nfunction normalizeConversation(input: {\n readonly mint: AttemptEntityMinter;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture[\"conversation\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = input.runtime.conversationLimitations;\n const items: ConversationItem[] = [];\n let turnId: TurnId | undefined;\n const openTools = new Map<string, {\n readonly callId: CallId;\n readonly turnId: TurnId;\n }>();\n const openSubagents = new Map<string, {\n readonly label: SafeIdentifier;\n }>();\n const ensureTurn = (): Effect.Effect<TurnId | undefined, RunnerObservabilityProducerError> => {\n if (turnId !== undefined)\n return Effect.succeed(turnId);\n return Effect.succeed(undefined);\n };\n const appendItem = (create: (ids: {\n readonly itemId: ItemId;\n readonly turnId: TurnId;\n readonly sequence: PositiveSafeInteger;\n }) => ConversationItem): Effect.Effect<ConversationItem | undefined, RunnerObservabilityProducerError> => {\n if (!hasConversationCapacity({\n itemCount: items.length,\n hasTurn: turnId !== undefined,\n limitations,\n })) {\n return Effect.succeed(undefined);\n }\n return Effect.gen(function* () {\n const currentTurn = yield* ensureTurn();\n if (currentTurn === undefined)\n return undefined;\n const itemId = yield* input.mint(\"item\");\n const item = create(Object.freeze({\n itemId,\n turnId: currentTurn,\n sequence: requiredPositive(items.length + 1),\n }));\n items.push(item);\n return item;\n });\n };\n for (const capturedTurn of input.runtime.conversationTurns) {\n turnId = capturedTurn.turnId;\n for (const event of capturedTurn.events) {\n if (eventCannotBePersisted(event, limitations))\n continue;\n switch (event.type) {\n case \"message\": {\n const text = retainSafeText(event.text, MAX_CONVERSATION_TEXT_BYTES);\n if (text === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"message\" as const,\n role: event.role,\n text: text.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, text, limitations);\n break;\n }\n case \"operation.started\": {\n if (event.operation.kind === \"tool\") {\n // Conversation is the source-native execution record. Canonical\n // ToolName is useful to runtime assertions, but must never replace\n // or rescue the provider's real identity in durable evidence.\n const tool = sourceNativeToolName(event.operation.name);\n const summary = jsonSummary(event.operation.input);\n if (tool === undefined || summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n if (!hasConversationCapacity({\n itemCount: items.length,\n hasTurn: turnId !== undefined,\n limitations,\n }))\n continue;\n const callId = yield* input.mint(\"call\");\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"tool-call\" as const,\n callId,\n tool,\n inputSummary: summary.text,\n refs: Object.freeze([]),\n }));\n if (item !== undefined) {\n openTools.set(event.operationId, Object.freeze({ callId, turnId: item.turnId }));\n }\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n const label = safeIdentifier(event.operation.name);\n if (label === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"subagent\" as const,\n state: \"started\" as const,\n label,\n summary: makeBoundedSafeText(\"Subagent started.\", MAX_CONVERSATION_TEXT_BYTES)!,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openSubagents.set(event.operationId, Object.freeze({ label }));\n break;\n }\n case \"operation.finished\": {\n if (event.kind === \"tool\") {\n const open = openTools.get(event.operationId);\n const summary = event.output === undefined ? undefined : jsonSummary(event.output);\n if (open === undefined || summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n turnId: open.turnId,\n kind: \"tool-result\" as const,\n callId: open.callId,\n outcome: event.status,\n outputSummary: summary.text,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openTools.delete(event.operationId);\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n const open = openSubagents.get(event.operationId);\n if (open === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"subagent\" as const,\n state: event.status,\n label: open.label,\n summary: makeBoundedSafeText(event.status === \"completed\" ? \"Subagent completed.\" : \"Subagent failed.\", MAX_CONVERSATION_TEXT_BYTES)!,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openSubagents.delete(event.operationId);\n break;\n }\n case \"skill.loaded\": {\n const skill = safeIdentifier(event.skill);\n if (skill === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"skill-load\" as const,\n skill,\n outcome: \"loaded\" as const,\n refs: Object.freeze([]),\n }));\n break;\n }\n case \"input.requested\": {\n const source = event.request.prompt ?? event.request.display;\n const summary = source === undefined\n ? (event.request.input === undefined ? undefined : jsonSummary(event.request.input))\n : retainSafeText(source, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"input-request\" as const,\n state: \"requested\" as const,\n promptSummary: summary.text,\n responseSummary: null,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n // StreamEvent has no corresponding response event, so null cannot\n // claim a complete request/response capture.\n limitations.addCaptureFailed(\"adapter\", \"conversation-item\");\n break;\n }\n case \"context.injected\": {\n const source = event.source;\n const summary = retainSafeText(event.text, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined ||\n (source !== \"system\" && source !== \"memory\" && source !== \"skill\" && source !== \"user\")) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"context-injection\" as const,\n source,\n summary: summary.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n case \"error\": {\n const redacted = redactSensitiveText(event.message, input.runtime.sensitiveValues);\n if (redacted !== event.message)\n limitations.addRedacted(\"conversation-text\");\n const summary = retainSafeText(redacted, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"conversation-error\" as const,\n code: makeSafeIdentifier(\"stream-error\")!,\n summary: summary.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n // Thinking can contain hidden reasoning, and compaction has no safe\n // item count in StreamEvent. Both are deliberately retained only as\n // structured partial coverage, never as invented summaries.\n case \"thinking\":\n case \"compaction\":\n limitations.addUnsupported(\"conversation-item\");\n break;\n }\n }\n }\n if (openTools.size > 0 || openSubagents.size > 0) {\n limitations.addUnsupported(\"conversation-item\", openTools.size + openSubagents.size);\n }\n const turns: readonly ConversationTurn[] = Object.freeze(input.runtime.conversationTurns.map((capturedTurn) => Object.freeze({\n turnId: capturedTurn.turnId,\n sequence: capturedTurn.sequence,\n outcome: capturedTurn.outcome,\n refs: Object.freeze([]),\n })));\n return Object.freeze({\n collection: limitations.collection(),\n turns,\n items: Object.freeze([...items]),\n });\n });\n}\nfunction commandSafeText(input: {\n readonly commandId: CommandId;\n readonly value: string;\n readonly maximumBytes: number;\n readonly target: \"command-manifest\" | \"command-stdout\" | \"command-stderr\";\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): SafeText {\n const redacted = redactSensitiveText(input.value, input.runtime.sensitiveValues);\n if (redacted !== input.value)\n input.runtime.commandLimitations.addRedacted(input.target);\n const retained = retainSafeText(redacted, input.maximumBytes);\n if (retained === undefined) {\n // A registered command must retain its manifest even when a provider text\n // field cannot be represented safely. The partial collection records the\n // replacement rather than dropping the command.\n input.runtime.commandLimitations.addCaptureFailed(\"command-capture\", input.target);\n const replacement = makeBoundedSafeText(\"[unavailable]\", input.maximumBytes);\n if (replacement === undefined) {\n throw new Error(\"The fixed unavailable command marker must be SafeText\");\n }\n return replacement;\n }\n if (retained.omittedBytes !== undefined) {\n input.runtime.commandLimitations.addCommandManifestTextTruncated(input.commandId, retained.retainedBytes, retained.omittedBytes);\n }\n return retained.text;\n}\nfunction isProjectRelativeCommandPath(value: string): boolean {\n return (makeBoundedSafeText(value, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES) !== undefined &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n !value.includes(\"\\\\\") &&\n !value.includes(\":\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\"));\n}\nfunction commandWorkingDirectory(options: unknown, runtime: RunnerAttemptObservabilityRuntimeState): CommandManifest[\"workingDirectory\"] {\n const candidate = options as Partial<Pick<CommandOptions, \"cwd\">> | undefined;\n const cwd = candidate?.cwd;\n if (cwd === undefined || cwd === \".\")\n return Object.freeze({ kind: \"sandbox-default\" as const });\n if (typeof cwd !== \"string\") {\n runtime.commandLimitations.addUnsupported(\"command-manifest\");\n return Object.freeze({ kind: \"redacted\" as const });\n }\n const redacted = redactSensitiveText(cwd, runtime.sensitiveValues);\n if (redacted !== cwd)\n runtime.commandLimitations.addRedacted(\"command-manifest\");\n if (isProjectRelativeCommandPath(redacted)) {\n return Object.freeze({ kind: \"project-relative\" as const, path: redacted });\n }\n // Absolute, dot-segment and otherwise unsafe cwd values are deliberately\n // not normalized into an apparently portable path.\n runtime.commandLimitations.addRedacted(\"command-manifest\");\n return Object.freeze({ kind: \"redacted\" as const });\n}\nfunction commandManifest(command: CapturedCommandRuntime, runtime: RunnerAttemptObservabilityRuntimeState): CommandManifest {\n const phase = commandManifestPhase(command.phase);\n const workingDirectory = commandWorkingDirectory(command.options, runtime);\n if (command.invocationKind === \"shell\") {\n const script = commandSafeText({\n commandId: command.commandId,\n value: command.command,\n maximumBytes: MAX_COMMAND_SHELL_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n return Object.freeze({\n phase,\n invocation: Object.freeze({ kind: \"shell\" as const, command: script }),\n workingDirectory,\n });\n }\n const sourceArguments = command.args ?? [];\n if (sourceArguments.length > MAX_COMMAND_ARGUMENTS) {\n runtime.commandLimitations.addUnsupported(\"command-manifest\");\n }\n const executable = commandSafeText({\n commandId: command.commandId,\n value: command.command,\n maximumBytes: MAX_COMMAND_EXECUTABLE_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n const arguments_: SafeText[] = [];\n for (const raw of sourceArguments.slice(0, MAX_COMMAND_ARGUMENTS)) {\n const argument = commandSafeText({\n commandId: command.commandId,\n value: raw,\n maximumBytes: MAX_COMMAND_ARGUMENT_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n arguments_.push(argument);\n }\n return Object.freeze({\n phase,\n invocation: Object.freeze({\n kind: \"argv\" as const,\n executable,\n arguments: Object.freeze([...arguments_]),\n }),\n workingDirectory,\n });\n}\nfunction stripUnsafeCommandControls(value: string): {\n readonly text: string;\n readonly count: number;\n} {\n let text = \"\";\n let count = 0;\n for (const scalar of value) {\n const code = scalar.codePointAt(0);\n if (code !== undefined &&\n ((code >= 0 && code <= 0x1f && code !== 0x0a) || (code >= 0x7f && code <= 0x9f))) {\n count += 1;\n continue;\n }\n text += scalar;\n }\n return Object.freeze({ text, count });\n}\nfunction emptyCommandStream(): NormalizedCommandStreamCapture {\n const text = makeBoundedSafeText(\"\", MAX_COMMAND_STREAM_BYTES);\n if (text === undefined)\n throw new Error(\"An empty command stream must be SafeText\");\n return Object.freeze({ text, totalSafeUtf8Bytes: requiredNonNegative(0) });\n}\nfunction commandStream(input: {\n readonly commandId: CommandId;\n readonly stream: \"stdout\" | \"stderr\";\n readonly value: string;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): NormalizedCommandStreamCapture {\n const target = input.stream === \"stdout\" ? \"command-stdout\" as const : \"command-stderr\" as const;\n const redacted = redactSensitiveText(input.value, input.runtime.sensitiveValues);\n if (redacted !== input.value)\n input.runtime.commandLimitations.addRedacted(target);\n const stripped = stripUnsafeCommandControls(redacted);\n if (stripped.count > 0) {\n input.runtime.commandLimitations.addUnsafeCommandControlStripped(input.commandId, input.stream, stripped.count);\n }\n const retained = retainSafeText(stripped.text, MAX_COMMAND_STREAM_BYTES);\n if (retained === undefined) {\n input.runtime.commandLimitations.addCaptureFailed(\"command-capture\", target);\n return emptyCommandStream();\n }\n if (retained.omittedBytes !== undefined) {\n input.runtime.commandLimitations.addCommandStreamTruncated(input.commandId, input.stream, retained.retainedBytes, retained.omittedBytes);\n }\n const totalSafeUtf8Bytes = retained.omittedBytes === undefined\n ? retained.retainedBytes\n : requiredNonNegative(retained.retainedBytes + retained.omittedBytes);\n return Object.freeze({ text: retained.text, totalSafeUtf8Bytes });\n}\nfunction normalizeCommands(runtime: RunnerAttemptObservabilityRuntimeState): NormalizedAttemptObservabilityCapture[\"commands\"] {\n const commands: NormalizedCommandObservationCapture[] = [];\n for (const captured of runtime.commands) {\n if (captured.result === undefined) {\n // The manifest was registered before the sandbox call. If its normal\n // result never arrived, retain it with the only accurate fallback: the\n // transport did not provide a terminal command result.\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(Object.freeze({ runtime, command: captured }), Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }));\n }\n const result = captured.result;\n if (result === undefined) {\n markRuntimeFailure(runtime, producerCommandRegistrationInvalid());\n continue;\n }\n const manifest = commandManifest(captured, runtime);\n const stdout = commandStream({\n commandId: captured.commandId,\n stream: \"stdout\",\n value: result.stdout,\n runtime,\n });\n const stderr = commandStream({\n commandId: captured.commandId,\n stream: \"stderr\",\n value: result.stderr,\n runtime,\n });\n commands.push(Object.freeze({\n commandId: captured.commandId,\n manifest,\n result: Object.freeze({ outcome: result.outcome, stdout, stderr }),\n refs: Object.freeze([]),\n }));\n }\n return Object.freeze({\n collection: runtime.commandLimitations.collection(),\n commands: Object.freeze([...commands].sort((left, right) => compareObservabilityText(left.commandId, right.commandId))),\n });\n}\nfunction normalizeUsage(input: {\n readonly result: EvalResult;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): NormalizedAttemptObservabilityCapture[\"usage\"] {\n // EvalResult.usage remains an aggregate for legacy consumers. Only records\n // captured from actual Session onTurn values above enter this family.\n if (input.result.evidenceCoverage.usage.status !== \"complete\") {\n input.runtime.usageLimitations.addCaptureFailed(\"usage-capture\", \"usage-observation\");\n }\n if (input.result.retryAttempts?.some((attempt) => attempt.usage !== undefined) === true) {\n // Retry attempts carry real Usage, but Session's terminal onTurn callback\n // did not expose a separate turn for them. Do not reconstruct them from\n // the aggregate; state the missing atomic capture instead.\n input.runtime.usageLimitations.addCaptureFailed(\"usage-capture\", \"usage-observation\");\n }\n return Object.freeze({\n collection: input.runtime.usageLimitations.collection(),\n observations: Object.freeze([...input.runtime.usage].sort((left, right) => compareObservabilityText(left.usageObservationId, right.usageObservationId))),\n });\n}\ntype AttemptTimingProjection = {\n readonly kind: \"attempt\";\n readonly phase: AttemptTimingInterval[\"phase\"];\n readonly label: StableLabel;\n} | {\n readonly kind: \"outside-attempt-domain\";\n} | {\n readonly kind: \"unsupported\";\n};\nfunction attemptTimingProjection(phase: string): AttemptTimingProjection {\n const label = stableLabel(phase);\n if (label === undefined)\n return Object.freeze({ kind: \"unsupported\" as const });\n switch (phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n case \"sandbox.queue\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"attempt.setup\" as const, label });\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"sandbox.prepare\" as const, label });\n case \"agent.ensure\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"agent.ensure\" as const, label });\n case \"eval.run\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"eval.run\" as const, label });\n case \"assertions.evaluate\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"assertion.evaluate\" as const, label });\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"attempt.teardown\" as const, label });\n case \"judge.precheck\":\n case \"experiment.setup\":\n case \"experiment.teardown\":\n case \"agent.run\":\n return Object.freeze({ kind: \"outside-attempt-domain\" as const });\n default:\n return Object.freeze({ kind: \"unsupported\" as const });\n }\n}\nfunction validPhaseDuration(value: PhaseTiming): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(value.durationMs);\n}\nfunction validPhaseStartOffset(value: PhaseTiming): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(value.startOffsetMs);\n}\nfunction timingActivityProjection(activity: TimingActivity): {\n readonly phase: AttemptTimingInterval[\"phase\"];\n readonly label: StableLabel;\n} | undefined {\n const phase = (() => {\n switch (activity.key) {\n case \"agent.turn\":\n return \"agent.send\" as const;\n case \"sandbox.command\":\n return \"sandbox.command\" as const;\n case \"sandbox.prepare\":\n return \"sandbox.prepare\" as const;\n case \"workspace.diff.export\":\n return \"attempt.teardown\" as const;\n default:\n return undefined;\n }\n })();\n if (phase === undefined)\n return undefined;\n // Runner's activity label is human-facing and can contain spaces or other\n // SafeText punctuation. v1 persists only StableLabel, so standard activities\n // retain a stable key when their display label cannot cross that boundary.\n const label = stableLabel(activity.label) ?? stableLabel(activity.key);\n if (label === undefined)\n return undefined;\n return Object.freeze({ phase, label });\n}\nfunction validTimingActivityStart(activity: TimingActivity): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(activity.startOffsetMs);\n}\nfunction validTimingActivityDuration(activity: TimingActivity): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(activity.durationMs);\n}\nfunction timingSpanContains(input: {\n readonly parentStartOffsetMs: NonNegativeSafeInteger;\n readonly parentDurationMs: NonNegativeSafeInteger;\n readonly childStartOffsetMs: NonNegativeSafeInteger;\n readonly childDurationMs: NonNegativeSafeInteger;\n}): boolean {\n const parentEnd = input.parentStartOffsetMs + input.parentDurationMs;\n const childEnd = input.childStartOffsetMs + input.childDurationMs;\n return (Number.isSafeInteger(parentEnd) &&\n Number.isSafeInteger(childEnd) &&\n input.parentStartOffsetMs <= input.childStartOffsetMs &&\n childEnd <= parentEnd);\n}\ninterface NormalizedAttemptTimingWithTurnIntervals {\n readonly timing: NormalizedAttemptObservabilityCapture[\"timing\"];\n readonly intervalByTurnId: ReadonlyMap<TurnId, IntervalId>;\n}\nfunction normalizeAttemptTiming(input: {\n readonly result: EvalResult;\n readonly mint: AttemptEntityMinter;\n readonly turns: readonly CapturedConversationTurn[];\n}): Effect.Effect<NormalizedAttemptTimingWithTurnIntervals, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n const turnsById = new Map<string, CapturedConversationTurn>(input.turns.map((turn) => [turn.turnId, turn] as const));\n const intervalByTurnId = new Map<TurnId, IntervalId>();\n const ambiguousTurnIntervals = new Set<TurnId>();\n const phases = input.result.phases;\n if (phases === undefined) {\n limitations.addCaptureFailed(\"timing-capture\", \"timing-interval\");\n return Object.freeze({\n timing: Object.freeze({ collection: limitations.collection(), intervals: Object.freeze([]) }),\n intervalByTurnId: new Map(),\n });\n }\n const intervals: AttemptTimingInterval[] = [];\n const appendActivities = (activities: readonly TimingActivity[] | undefined, parent: {\n readonly intervalId: IntervalId;\n readonly startOffsetMs: NonNegativeSafeInteger;\n /** Offset in the Runner's unfiltered phase clock. */\n readonly sourceStartOffsetMs: NonNegativeSafeInteger;\n readonly durationMs: NonNegativeSafeInteger;\n } | undefined, ancestors: ReadonlySet<TimingActivity>): Effect.Effect<void, RunnerObservabilityProducerError> => Effect.gen(function* () {\n for (const activity of activities ?? []) {\n if (ancestors.has(activity)) {\n limitations.addUnsupported(\"timing-interval\");\n continue;\n }\n const projection = timingActivityProjection(activity);\n const sourceStartOffsetMs = validTimingActivityStart(activity);\n const durationMs = validTimingActivityDuration(activity);\n const relativeStartOffsetMs = parent === undefined || sourceStartOffsetMs === undefined\n ? sourceStartOffsetMs\n : makeNonNegativeSafeInteger(sourceStartOffsetMs - parent.sourceStartOffsetMs);\n const translatedStartOffsetMs = parent === undefined || relativeStartOffsetMs === undefined\n ? relativeStartOffsetMs\n : makeNonNegativeSafeInteger(parent.startOffsetMs + relativeStartOffsetMs);\n // A known activity with safe source-clock values remains a fact even\n // when this parent-relative conversion cannot be proven. Persist its\n // original interval as a root rather than turning a missing causal\n // edge into an unsupported-input limitation.\n const startOffsetMs = translatedStartOffsetMs ?? sourceStartOffsetMs;\n if (projection === undefined\n || sourceStartOffsetMs === undefined\n || startOffsetMs === undefined\n || durationMs === undefined) {\n limitations.addUnsupported(\"timing-interval\");\n continue;\n }\n if (intervals.length >= MAX_TIMING_INTERVALS) {\n limitations.addCap(\"timing-interval\", intervals.length);\n continue;\n }\n const intervalId = yield* input.mint(\"interval\");\n const parentIntervalId = parent === undefined || translatedStartOffsetMs === undefined\n ? null\n : timingSpanContains({\n parentStartOffsetMs: parent.startOffsetMs,\n parentDurationMs: parent.durationMs,\n childStartOffsetMs: startOffsetMs,\n childDurationMs: durationMs,\n })\n ? parent.intervalId\n : null;\n intervals.push(Object.freeze({\n intervalId,\n phase: projection.phase,\n label: projection.label,\n startOffsetMs,\n durationMs,\n parentIntervalId,\n outcome: activity.failed ? \"failed\" as const : \"completed\" as const,\n refs: Object.freeze([]),\n }));\n if (activity.key === \"agent.turn\" && activity.turnId !== undefined) {\n const turnId = turnsById.get(activity.turnId)?.turnId;\n if (turnId !== undefined) {\n if (intervalByTurnId.has(turnId) || ambiguousTurnIntervals.has(turnId)) {\n intervalByTurnId.delete(turnId);\n ambiguousTurnIntervals.add(turnId);\n }\n else {\n intervalByTurnId.set(turnId, intervalId);\n }\n }\n }\n const nextAncestors = new Set(ancestors);\n nextAncestors.add(activity);\n yield* appendActivities(activity.children, Object.freeze({\n intervalId,\n startOffsetMs,\n sourceStartOffsetMs,\n durationMs,\n }), nextAncestors);\n }\n });\n // `phases` also carries a few known Run-owned anchors for first-dispatched\n // work. Keep their raw clock for child translation, but do not let them\n // create gaps in the Attempt execution-duration clock.\n let attemptOffset: NonNegativeSafeInteger | undefined = requiredNonNegative(0);\n for (const source of phases) {\n const duration = validPhaseDuration(source);\n const sourceStartOffsetMs = validPhaseStartOffset(source);\n const projection = attemptTimingProjection(source.name);\n if (duration === undefined\n || sourceStartOffsetMs === undefined\n || projection.kind === \"unsupported\"\n || attemptOffset === undefined) {\n limitations.addUnsupported(\"timing-interval\");\n }\n else if (projection.kind === \"attempt\" && intervals.length >= MAX_TIMING_INTERVALS) {\n limitations.addCap(\"timing-interval\", intervals.length);\n }\n else if (projection.kind === \"attempt\") {\n const intervalId = yield* input.mint(\"interval\");\n intervals.push(Object.freeze({\n intervalId,\n phase: projection.phase,\n label: projection.label,\n startOffsetMs: attemptOffset,\n durationMs: duration,\n parentIntervalId: null,\n outcome: source.failed ? \"failed\" as const : \"completed\" as const,\n refs: Object.freeze([]),\n }));\n yield* appendActivities(source.children, Object.freeze({\n intervalId,\n startOffsetMs: attemptOffset,\n sourceStartOffsetMs,\n durationMs: duration,\n }), new Set());\n }\n if (duration === undefined\n || sourceStartOffsetMs === undefined\n || attemptOffset === undefined) {\n attemptOffset = undefined;\n }\n else {\n if (projection.kind !== \"outside-attempt-domain\") {\n attemptOffset = makeNonNegativeSafeInteger(attemptOffset + duration);\n }\n }\n }\n return Object.freeze({\n timing: Object.freeze({\n collection: limitations.collection(),\n // The durable timing family canonically orders by opaque entity id; the\n // offsets retain the Runner's actual lifecycle order.\n intervals: Object.freeze([...intervals].sort((left, right) => compareObservabilityText(left.intervalId, right.intervalId))),\n }),\n intervalByTurnId: new Map(intervalByTurnId),\n });\n });\n}\nfunction attemptDiagnosticPhase(origin: TimingOrigin | undefined): AttemptDiagnostic[\"phase\"] {\n if (origin === undefined || origin.scope !== \"attempt\")\n return \"collection\";\n switch (origin.phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n return \"attempt.setup\";\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return \"sandbox.prepare\";\n case \"agent.ensure\":\n return \"agent.ensure\";\n case \"eval.run\":\n return \"eval.run\";\n case \"agent.run\":\n return \"agent.send\";\n case \"assertions.evaluate\":\n return \"assertion.evaluate\";\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n return \"attempt.teardown\";\n case \"judge.precheck\":\n case \"experiment.setup\":\n case \"experiment.teardown\":\n case \"sandbox.queue\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return \"collection\";\n }\n}\nfunction normalizeAttemptDiagnostics(input: {\n readonly result: EvalResult;\n readonly mint: AttemptEntityMinter;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture[\"diagnostics\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n const diagnostics: AttemptDiagnostic[] = [];\n const append = (value: {\n readonly code: string;\n readonly detail: string;\n readonly kind: AttemptDiagnostic[\"kind\"];\n readonly origin?: DiagnosticRecord[\"origin\"];\n }): Effect.Effect<void, RunnerObservabilityProducerError> => {\n const code = makeSafeIdentifier(value.code);\n if (code === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n return Effect.void;\n }\n const retainedSummary = makeBoundedSafeText(value.detail, MAX_DIAGNOSTIC_SUMMARY_BYTES);\n if (retainedSummary === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n }\n if (diagnostics.length >= MAX_DIAGNOSTICS) {\n limitations.addCap(\"diagnostic\", diagnostics.length);\n return Effect.void;\n }\n return Effect.map(input.mint(\"diagnostic\"), (diagnosticId) => {\n diagnostics.push(Object.freeze({\n diagnosticId: diagnosticId as DiagnosticId,\n kind: value.kind,\n code,\n phase: attemptDiagnosticPhase(value.origin),\n // The result's one-line detail is already Runner-redacted. Causes,\n // stacks, paths, and arbitrary context remain outside this durable\n // family. An unsafe or oversized detail is deliberately replaced by\n // a generic bounded summary and represented as partial coverage.\n summary: retainedSummary ?? makeBoundedSafeText(value.kind === \"execution-error\"\n ? \"Runner recorded an execution error.\"\n : \"Runner recorded an advisory diagnostic.\", MAX_DIAGNOSTIC_SUMMARY_BYTES)!,\n causes: Object.freeze([]),\n context: Object.freeze([]),\n redaction: Object.freeze({ state: \"none\" as const }),\n sourceFrame: null,\n refs: Object.freeze([]),\n }));\n });\n };\n if (input.result.error !== undefined) {\n yield* append(Object.freeze({\n code: input.result.error.code,\n detail: input.result.error.message,\n kind: \"execution-error\" as const,\n origin: input.result.error.origin,\n }));\n }\n for (const diagnostic of input.result.diagnostics ?? []) {\n yield* append(Object.freeze({\n code: diagnostic.code,\n detail: diagnostic.detail,\n kind: diagnostic.level === \"error\" ? \"execution-error\" as const : \"advisory\" as const,\n ...(diagnostic.origin === undefined ? {} : { origin: diagnostic.origin }),\n }));\n }\n return Object.freeze({\n collection: limitations.collection(),\n diagnostics: Object.freeze([...diagnostics].sort((left, right) => compareObservabilityText(left.diagnosticId, right.diagnosticId))),\n });\n });\n}\nfunction runDiagnosticPhase(origin: TimingOrigin | undefined): RunDiagnostic[\"phase\"] {\n // Runner's existing experiment diagnostic accumulator predates the\n // owner-local Attachment and represents its lifecycle anchor as an Attempt\n // origin. Its phase is still a real Run fact; no timing-node or provider\n // attribute is inferred here.\n switch (origin?.scope === \"attempt\" ? origin.phase : undefined) {\n case \"judge.precheck\":\n case \"experiment.setup\":\n return \"run.setup\";\n case \"sandbox.queue\":\n return \"run.dispatch\";\n case \"experiment.teardown\":\n return \"run.teardown\";\n default:\n return \"collection\";\n }\n}\nfunction normalizeRunDiagnostics(input: {\n readonly diagnostics: readonly DiagnosticRecord[] | undefined;\n readonly mint: RunEntityMinter;\n}): Effect.Effect<NormalizedRunObservabilityCapture[\"diagnostics\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n if (input.diagnostics === undefined) {\n limitations.addCaptureFailed(\"run-teardown\", \"diagnostic\");\n return Object.freeze({ collection: limitations.collection(), diagnostics: Object.freeze([]) });\n }\n const diagnostics: RunDiagnostic[] = [];\n for (const source of input.diagnostics) {\n const code = makeSafeIdentifier(source.code);\n if (code === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n continue;\n }\n const summary = makeBoundedSafeText(source.detail, MAX_DIAGNOSTIC_SUMMARY_BYTES);\n if (summary === undefined)\n limitations.addUnsupported(\"diagnostic\");\n if (diagnostics.length >= MAX_DIAGNOSTICS) {\n limitations.addCap(\"diagnostic\", diagnostics.length);\n continue;\n }\n const diagnosticId = yield* input.mint(\"diagnostic\");\n diagnostics.push(Object.freeze({\n diagnosticId: diagnosticId as DiagnosticId,\n kind: source.level === \"error\" ? \"execution-error\" as const : \"advisory\" as const,\n code,\n phase: runDiagnosticPhase(source.origin),\n summary: summary ?? makeBoundedSafeText(source.level === \"error\"\n ? \"Runner recorded an execution error.\"\n : \"Runner recorded an advisory diagnostic.\", MAX_DIAGNOSTIC_SUMMARY_BYTES)!,\n causes: Object.freeze([]),\n context: Object.freeze([]),\n redaction: Object.freeze({ state: \"none\" as const }),\n sourceFrame: null,\n refs: Object.freeze([]),\n }));\n }\n return Object.freeze({\n collection: limitations.collection(),\n diagnostics: Object.freeze([...diagnostics].sort((left, right) => compareObservabilityText(left.diagnosticId, right.diagnosticId))),\n });\n });\n}\n/**\n * Normalizes only facts already sealed by Runner. It never reads legacy\n * result.json, raw transcript/provider data, Report/Sample data, or paths.\n */\nexport function createRunnerAttemptObservabilityCapture(input: {\n readonly result: EvalResult;\n readonly sealed: SealedAttemptAssertions;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const runtime = runnerAttemptResultStates.get(input.result);\n if (runtime === undefined)\n return yield* Effect.fail(producerCaptureMissing());\n if (runtime.failure !== undefined)\n return yield* Effect.fail(runtime.failure);\n const minter = makeAttemptEntityMinter(runtime);\n const commands = normalizeCommands(runtime);\n const usage = normalizeUsage({ result: input.result, runtime });\n const timingNormalization = yield* normalizeAttemptTiming({\n result: input.result,\n mint: minter.mint,\n turns: runtime.conversationTurns,\n });\n if (runtime.conversationTurns.some((turn) => !timingNormalization.intervalByTurnId.has(turn.turnId))) {\n runtime.conversationLimitations.addCaptureFailed(\"timing-capture\", \"conversation-item\");\n }\n const conversation = yield* normalizeConversation({\n mint: minter.mint,\n runtime,\n });\n const diagnostics = yield* normalizeAttemptDiagnostics({ result: input.result, mint: minter.mint });\n if (runtime.failure !== undefined)\n return yield* Effect.fail(runtime.failure);\n if (!minter.seal())\n return yield* Effect.fail(producerCaptureSealInvalid(\"attempt\"));\n runnerAttemptResultTurnIntervals.set(input.result, new Map(timingNormalization.intervalByTurnId));\n return Object.freeze({\n conversation,\n commands,\n usage,\n timing: timingNormalization.timing,\n diagnostics,\n });\n });\n}\n/**\n * The generic Record adapter receives only per-experiment facts that Runner\n * can safely attribute to one Run. Invocation-wide timing remains partial:\n * its single clock cannot be copied into every Run without inventing owner\n * attribution. Settled Run diagnostics are bound by run.ts immediately before\n * this same publish boundary.\n */\nexport function createRunnerRunObservabilityCapture(input: {\n readonly run: AgentRun;\n}): Effect.Effect<NormalizedRunObservabilityCapture, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const capture = makeRunObservabilityCaptureIdentity();\n const minter = makeRunEntityMinter(capture);\n const timingLimitations = new RunnerCollectionLimitations();\n timingLimitations.addCaptureFailed(\"run-teardown\", \"timing-interval\");\n const diagnostics = yield* normalizeRunDiagnostics({\n diagnostics: runnerRunDiagnostics.get(input.run),\n mint: minter.mint,\n });\n if (!minter.seal())\n return yield* Effect.fail(producerCaptureSealInvalid(\"run\"));\n return Object.freeze({\n timing: Object.freeze({\n collection: timingLimitations.collection(),\n intervals: Object.freeze([]),\n }),\n diagnostics,\n });\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runner-producer.js","sourceRoot":"","sources":["runner-producer.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { Effect } from \"effect\";\nimport type { SealedAttemptAssertions } from \"../../assertions/api.ts\";\nimport { redactSensitiveText } from \"../../sandbox/redaction.ts\";\nimport type { CommandOptions } from \"../../sandbox/types.ts\";\nimport type { AgentRun, DiagnosticRecord, EvalResult, LifecyclePhase, PhaseTiming, TimingActivity, TimingOrigin, } from \"../../runner/types.ts\";\nimport { formatTurnLabel } from \"../../shared/turn-label.ts\";\nimport type { StreamEvent } from \"../../types.ts\";\nimport type { Usage } from \"../types.ts\";\nimport { makeAttemptObservabilityCaptureIdentity, makeRunObservabilityCaptureIdentity, mintAttemptObservabilityEntity, mintRunObservabilityEntity, recordRegisteredCommandResult, registerCommandCapture, registeredCommandId, sealAttemptObservabilityCaptureIdentity, sealRunObservabilityCaptureIdentity, type AttemptObservabilityCaptureIdentity, type AttemptCapturedObservabilityEntity, type RegisteredCommandCapture, type RunObservabilityCaptureIdentity, } from \"./capture.ts\";\nimport { type AttemptDiagnostic, type AttemptTimingInterval, type CommandManifest, type ConversationItem, type ConversationTurn, type RunDiagnostic, type UsageObservation, } from \"./families.ts\";\nimport type { NormalizedCommandObservationCapture, NormalizedCommandStreamCapture, NormalizedAttemptObservabilityCapture, NormalizedRunObservabilityCapture, } from \"./family-writers.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_INTERVALS, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { compareObservabilityText, compareObservabilityLimitation, entityIdFromEntropy, makeBoundedSafeText, makeCanonicalDecimal, makeCurrencyCode, makeNonNegativeSafeInteger, makePositiveSafeInteger, makeSafeIdentifier, makeSourceNativeToolName, makeStableLabel, utf8ByteLength, type AttemptReferenceTarget, type CommandId, type CommandReferenceTarget, type CollectionStage, type CollectionTarget, type Collection, type DiagnosticId, type IntervalId, type ItemId, type NonNegativeSafeInteger, type ObservabilityEntityIdForKind, type ObservabilityEntityKind, type ObservabilityLimitation, type PositiveSafeInteger, type RunReferenceTarget, type SafeIdentifier, type SafeText, type SourceNativeToolName, type StableLabel, type TurnId, type CallId, type UsageObservationId, } from \"./model.ts\";\n/**\n * The Runner never exposes raw provider frames to the Record layer. These\n * errors therefore carry only an internal stable code and entity kind.\n */\nexport type RunnerObservabilityProducerError = {\n readonly code: \"runner-observability-entity-id-invalid\";\n readonly kind: ObservabilityEntityKind;\n} | {\n readonly code: \"runner-observability-capture-seal-invalid\";\n readonly owner: \"attempt\" | \"run\";\n} | {\n readonly code: \"runner-observability-capture-missing\";\n} | {\n readonly code: \"runner-observability-command-registration-invalid\";\n};\nfunction producerEntityIdInvalid(kind: ObservabilityEntityKind): RunnerObservabilityProducerError {\n return Object.freeze({\n code: \"runner-observability-entity-id-invalid\" as const,\n kind,\n });\n}\nfunction producerCaptureSealInvalid(owner: \"attempt\" | \"run\"): RunnerObservabilityProducerError {\n return Object.freeze({\n code: \"runner-observability-capture-seal-invalid\" as const,\n owner,\n });\n}\nfunction producerCaptureMissing(): RunnerObservabilityProducerError {\n return Object.freeze({ code: \"runner-observability-capture-missing\" as const });\n}\nfunction producerCommandRegistrationInvalid(): RunnerObservabilityProducerError {\n return Object.freeze({ code: \"runner-observability-command-registration-invalid\" as const });\n}\nfunction requiredPositive(value: number): PositiveSafeInteger {\n const positive = makePositiveSafeInteger(value);\n if (positive !== undefined)\n return positive;\n const fallback = makePositiveSafeInteger(1);\n if (fallback === undefined)\n throw new Error(\"One must be a positive safe integer\");\n return fallback;\n}\nfunction requiredNonNegative(value: number): NonNegativeSafeInteger {\n const nonNegative = makeNonNegativeSafeInteger(value);\n if (nonNegative !== undefined)\n return nonNegative;\n const fallback = makeNonNegativeSafeInteger(0);\n if (fallback === undefined)\n throw new Error(\"Zero must be a non-negative safe integer\");\n return fallback;\n}\n/** Coalesces and canonically orders the closed durable limitation union. */\nclass RunnerCollectionLimitations {\n private readonly captureFailed = new Map<string, {\n readonly stage: CollectionStage;\n readonly target: CollectionTarget;\n }>();\n private readonly captureInterrupted = new Map<string, {\n readonly stage: CollectionStage;\n readonly target: CollectionTarget;\n }>();\n private readonly unsupported = new Map<CollectionTarget, number>();\n private readonly redacted = new Map<CollectionTarget, number>();\n private readonly caps = new Map<CollectionTarget, {\n readonly retained: number;\n readonly omittedAtLeast: number;\n }>();\n private readonly textTruncations: ObservabilityLimitation[] = [];\n addCaptureFailed(stage: CollectionStage, target: CollectionTarget): void {\n this.captureFailed.set(`${stage}\\u0000${target}`, Object.freeze({ stage, target }));\n }\n addCaptureInterrupted(stage: CollectionStage, target: CollectionTarget): void {\n this.captureInterrupted.set(`${stage}\\u0000${target}`, Object.freeze({ stage, target }));\n }\n addUnsupported(target: CollectionTarget, omittedAtLeast = 1): void {\n this.unsupported.set(target, (this.unsupported.get(target) ?? 0) + omittedAtLeast);\n }\n addRedacted(target: CollectionTarget, replacements = 1): void {\n this.redacted.set(target, (this.redacted.get(target) ?? 0) + replacements);\n }\n addCap(target: CollectionTarget, retained: number, omittedAtLeast = 1): void {\n const current = this.caps.get(target);\n this.caps.set(target, Object.freeze({\n retained: Math.max(retained, current?.retained ?? 0),\n omittedAtLeast: (current?.omittedAtLeast ?? 0) + omittedAtLeast,\n }));\n }\n addConversationTextTruncated(itemId: ItemId, retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"text-truncated\" as const,\n target: \"conversation-text\" as const,\n itemId,\n retainedBytes,\n omittedBytes,\n }));\n }\n addCommandManifestTextTruncated(commandId: CommandId, retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"text-truncated\" as const,\n target: \"command-manifest\" as const,\n commandId,\n retainedBytes,\n omittedBytes,\n }));\n }\n addCommandStreamTruncated(commandId: CommandId, stream: \"stdout\" | \"stderr\", retainedBytes: NonNegativeSafeInteger, omittedBytes: PositiveSafeInteger): void {\n this.textTruncations.push(Object.freeze({\n code: \"stream-truncated\" as const,\n commandId,\n stream,\n retainedBytes,\n omittedBytes,\n }));\n }\n addUnsafeCommandControlStripped(commandId: CommandId, stream: \"stdout\" | \"stderr\", strippedCount: number): void {\n this.textTruncations.push(Object.freeze({\n code: \"unsafe-control-stripped\" as const,\n commandId,\n stream,\n strippedCount: requiredPositive(strippedCount),\n }));\n }\n collection(): Collection {\n const limitations: ObservabilityLimitation[] = [];\n for (const { stage, target } of this.captureFailed.values()) {\n limitations.push(Object.freeze({\n code: \"capture-failed\" as const,\n stage,\n target,\n }));\n }\n for (const { stage, target } of this.captureInterrupted.values()) {\n limitations.push(Object.freeze({\n code: \"capture-interrupted\" as const,\n stage,\n target,\n }));\n }\n for (const [target, omittedAtLeast] of this.unsupported) {\n limitations.push(Object.freeze({\n code: \"unsupported-input\" as const,\n target,\n omittedAtLeast: requiredPositive(omittedAtLeast),\n }));\n }\n for (const [target, replacements] of this.redacted) {\n limitations.push(Object.freeze({\n code: \"redacted\" as const,\n target,\n replacementCount: requiredPositive(replacements),\n }));\n }\n for (const [target, cap] of this.caps) {\n limitations.push(Object.freeze({\n code: \"collection-cap-reached\" as const,\n target,\n retained: requiredNonNegative(cap.retained),\n omittedAtLeast: requiredPositive(cap.omittedAtLeast),\n }));\n }\n limitations.push(...this.textTruncations);\n limitations.sort(compareObservabilityLimitation);\n if (limitations.length === 0) {\n return Object.freeze({\n state: \"complete\" as const,\n limitations: Object.freeze([]) as readonly [\n ],\n });\n }\n const [first, ...rest] = limitations;\n if (first === undefined)\n throw new Error(\"A non-empty limitation list needs a first entry\");\n return Object.freeze({\n state: \"partial\" as const,\n limitations: Object.freeze([first, ...rest]) as readonly [\n ObservabilityLimitation,\n ...ObservabilityLimitation[]\n ],\n });\n }\n}\ninterface RetainedText {\n readonly text: SafeText;\n readonly retainedBytes: NonNegativeSafeInteger;\n readonly omittedBytes?: PositiveSafeInteger;\n}\n/** Never split a Unicode scalar or retain a non-SafeText source value. */\nfunction retainSafeText(value: string, maximumBytes: number): RetainedText | undefined {\n if (makeBoundedSafeText(value, maximumBytes) !== undefined) {\n return Object.freeze({\n text: makeBoundedSafeText(value, maximumBytes)!,\n retainedBytes: requiredNonNegative(utf8ByteLength(value)),\n });\n }\n const totalBytes = utf8ByteLength(value);\n if (totalBytes <= maximumBytes)\n return undefined;\n let retained = \"\";\n let retainedBytes = 0;\n for (const scalar of value) {\n const scalarBytes = utf8ByteLength(scalar);\n if (retainedBytes + scalarBytes > maximumBytes)\n break;\n retained += scalar;\n retainedBytes += scalarBytes;\n }\n const safe = makeBoundedSafeText(retained, maximumBytes);\n const omittedBytes = totalBytes - retainedBytes;\n if (safe === undefined || omittedBytes <= 0)\n return undefined;\n return Object.freeze({\n text: safe,\n retainedBytes: requiredNonNegative(retainedBytes),\n omittedBytes: requiredPositive(omittedBytes),\n });\n}\nfunction jsonSummary(value: unknown): RetainedText | undefined {\n let summary: string | undefined;\n try {\n const encoded = JSON.stringify(value);\n summary = typeof encoded === \"string\" ? encoded : undefined;\n }\n catch {\n return undefined;\n }\n return summary === undefined\n ? undefined\n : retainSafeText(summary, MAX_CONVERSATION_TEXT_BYTES);\n}\nfunction uuidEntropyBytes(uuid: string): Uint8Array | undefined {\n const hex = uuid.replaceAll(\"-\", \"\");\n if (!/^[0-9a-f]{32}$/iu.test(hex))\n return undefined;\n const bytes = new Uint8Array(16);\n for (let index = 0; index < bytes.length; index += 1) {\n const byte = Number.parseInt(hex.slice(index * 2, index * 2 + 2), 16);\n if (!Number.isInteger(byte))\n return undefined;\n bytes[index] = byte;\n }\n return bytes;\n}\nfunction attemptTargetForEntity<Kind extends ObservabilityEntityKind>(kind: Kind, id: ObservabilityEntityIdForKind<Kind>): AttemptReferenceTarget {\n switch (kind) {\n case \"turn\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"turn\" as const,\n id: id as TurnId,\n });\n case \"item\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"item\" as const,\n id: id as ItemId,\n });\n case \"call\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"call\" as const,\n id: id as CallId,\n });\n case \"command\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"command\" as const,\n id: id as import(\"./model.ts\").CommandId,\n });\n case \"usage-observation\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"usage-observation\" as const,\n id: id as import(\"./model.ts\").UsageObservationId,\n });\n case \"interval\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"interval\" as const,\n id: id as IntervalId,\n });\n case \"diagnostic\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"diagnostic\" as const,\n id: id as DiagnosticId,\n });\n }\n}\ntype AttemptEntityMinter = <Kind extends ObservabilityEntityKind>(kind: Kind) => Effect.Effect<ObservabilityEntityIdForKind<Kind>, RunnerObservabilityProducerError>;\nconst runnerAttemptObservabilityRuntimeTypeId: unique symbol = Symbol(\"@niceeval/o11y/RunnerAttemptObservabilityRuntime\");\nconst runnerCommandCaptureHandleTypeId: unique symbol = Symbol(\"@niceeval/o11y/RunnerCommandCaptureHandle\");\n/**\n * Opaque, Attempt-local capture authority. It deliberately has no durable\n * owner/path data and is bound to the final EvalResult only through a private\n * WeakMap below.\n */\nexport interface RunnerAttemptObservabilityRuntime {\n readonly [runnerAttemptObservabilityRuntimeTypeId]: () => void;\n}\n/** A registered command capability, usable only by Runner's timing wrapper. */\nexport interface RunnerCommandCaptureHandle {\n readonly [runnerCommandCaptureHandleTypeId]: () => void;\n}\ninterface CapturedCommandResult {\n readonly outcome: {\n readonly kind: \"exited\";\n readonly exitCode: number;\n } | {\n readonly kind: \"terminated\";\n readonly reason: \"timeout\" | \"cancelled\" | \"transport-lost\";\n } | {\n readonly kind: \"not-started\";\n readonly reason: \"spawn-failed\" | \"cancelled-before-start\";\n };\n readonly stdout: string;\n readonly stderr: string;\n}\ninterface CapturedCommandRuntime {\n readonly commandId: CommandId;\n readonly registered: RegisteredCommandCapture;\n readonly phase: LifecyclePhase;\n readonly invocationKind: \"argv\" | \"shell\";\n readonly command: string;\n readonly args: readonly string[] | undefined;\n readonly options: unknown;\n result?: CapturedCommandResult;\n}\ninterface RunnerAttemptObservabilityRuntimeState {\n readonly capture: AttemptObservabilityCaptureIdentity;\n readonly providerName: string;\n readonly sensitiveValues: ReadonlySet<string>;\n /**\n * Entity IDs retain UUID entropy, but their leading bytes are monotonic\n * within one Attempt. Conversation items are serialized in causal sequence\n * and the fixed schema also requires canonical identity order, so purely\n * random item IDs would make valid captures fail nondeterministically.\n */\n nextEntityOrdinal: number;\n readonly commands: CapturedCommandRuntime[];\n readonly commandLimitations: RunnerCollectionLimitations;\n readonly usage: UsageObservation[];\n readonly usageLimitations: RunnerCollectionLimitations;\n /** One immutable record is allocated at each physical SessionManager send exit. */\n readonly conversationTurns: CapturedConversationTurn[];\n readonly conversationLimitations: RunnerCollectionLimitations;\n failure?: RunnerObservabilityProducerError;\n}\ninterface CapturedConversationTurn {\n readonly turnId: TurnId;\n readonly sequence: PositiveSafeInteger;\n readonly outcome: ConversationTurn[\"outcome\"];\n readonly events: readonly StreamEvent[];\n}\nconst runnerAttemptRuntimeStates = new WeakMap<object, RunnerAttemptObservabilityRuntimeState>();\nconst runnerAttemptResultStates = new WeakMap<object, RunnerAttemptObservabilityRuntimeState>();\nconst runnerAttemptResultTurnIntervals = new WeakMap<object, ReadonlyMap<TurnId, IntervalId>>();\nconst runnerCommandHandleStates = new WeakMap<object, {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}>();\nconst runnerRunDiagnostics = new WeakMap<object, readonly DiagnosticRecord[]>();\nfunction runtimeState(runtime: RunnerAttemptObservabilityRuntime): RunnerAttemptObservabilityRuntimeState | undefined {\n return runnerAttemptRuntimeStates.get(runtime as object);\n}\nfunction markRuntimeFailure(runtime: RunnerAttemptObservabilityRuntimeState, failure: RunnerObservabilityProducerError): void {\n if (runtime.failure === undefined)\n runtime.failure = failure;\n}\nfunction mintRuntimeEntity<Kind extends ObservabilityEntityKind>(runtime: RunnerAttemptObservabilityRuntimeState, kind: Kind): ObservabilityEntityIdForKind<Kind> | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n const bytes = orderedRuntimeEntityEntropy(runtime, uuid);\n const id = bytes === undefined ? undefined : entityIdFromEntropy(kind, bytes);\n if (id === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n const minted = mintAttemptObservabilityEntity(runtime.capture, attemptTargetForEntity(kind, id));\n if (minted === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(kind));\n return undefined;\n }\n return id;\n}\n/**\n * The durable entity suffix remains mostly UUID entropy while a bounded\n * big-endian ordinal makes creation order lexicographic order. Every v1\n * Attempt collector has much smaller caps than this counter's range.\n */\nfunction orderedRuntimeEntityEntropy(runtime: RunnerAttemptObservabilityRuntimeState, uuid: string): Uint8Array | undefined {\n const bytes = uuidEntropyBytes(uuid);\n const ordinal = runtime.nextEntityOrdinal + 1;\n if (bytes === undefined\n || !Number.isSafeInteger(ordinal)\n || ordinal > 4294967295)\n return undefined;\n runtime.nextEntityOrdinal = ordinal;\n bytes[0] = (ordinal >>> 24) & 0xff;\n bytes[1] = (ordinal >>> 16) & 0xff;\n bytes[2] = (ordinal >>> 8) & 0xff;\n bytes[3] = ordinal & 0xff;\n return bytes;\n}\nfunction mintRuntimeCommand(runtime: RunnerAttemptObservabilityRuntimeState): {\n readonly commandId: CommandId;\n readonly entity: AttemptCapturedObservabilityEntity<CommandReferenceTarget>;\n} | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n const bytes = orderedRuntimeEntityEntropy(runtime, uuid);\n const commandId = bytes === undefined ? undefined : entityIdFromEntropy(\"command\", bytes);\n if (commandId === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n const entity = mintAttemptObservabilityEntity<CommandReferenceTarget>(runtime.capture, {\n family: \"niceeval.observability\" as const,\n kind: \"command\" as const,\n id: commandId,\n });\n if (entity === undefined) {\n markRuntimeFailure(runtime, producerEntityIdInvalid(\"command\"));\n return undefined;\n }\n return Object.freeze({ commandId, entity });\n}\nfunction makeAttemptEntityMinter(runtime: RunnerAttemptObservabilityRuntimeState): {\n readonly mint: AttemptEntityMinter;\n readonly seal: () => boolean;\n} {\n return Object.freeze({\n mint: <Kind extends ObservabilityEntityKind>(kind: Kind) => Effect.suspend(() => {\n if (runtime.failure !== undefined)\n return Effect.fail(runtime.failure);\n const id = mintRuntimeEntity(runtime, kind);\n return id === undefined\n ? Effect.fail(runtime.failure ?? producerEntityIdInvalid(kind))\n : Effect.succeed(id);\n }),\n seal: () => sealAttemptObservabilityCaptureIdentity(runtime.capture),\n });\n}\ntype RunObservabilityEntityKind = \"interval\" | \"diagnostic\";\ntype RunEntityMinter = <Kind extends RunObservabilityEntityKind>(kind: Kind) => Effect.Effect<ObservabilityEntityIdForKind<Kind>, RunnerObservabilityProducerError>;\nfunction runTargetForEntity<Kind extends RunObservabilityEntityKind>(kind: Kind, id: ObservabilityEntityIdForKind<Kind>): RunReferenceTarget {\n switch (kind) {\n case \"interval\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"interval\" as const,\n id: id as IntervalId,\n });\n case \"diagnostic\":\n return Object.freeze({\n family: \"niceeval.observability\" as const,\n kind: \"diagnostic\" as const,\n id: id as DiagnosticId,\n });\n }\n}\nfunction mintRunEntity<Kind extends RunObservabilityEntityKind>(capture: RunObservabilityCaptureIdentity, kind: Kind): ObservabilityEntityIdForKind<Kind> | undefined {\n let uuid: string;\n try {\n uuid = randomUUID();\n }\n catch {\n return undefined;\n }\n const bytes = uuidEntropyBytes(uuid);\n const id = bytes === undefined ? undefined : entityIdFromEntropy(kind, bytes);\n if (id === undefined)\n return undefined;\n const minted = mintRunObservabilityEntity(capture, runTargetForEntity(kind, id));\n return minted === undefined ? undefined : id;\n}\nfunction makeRunEntityMinter(capture: RunObservabilityCaptureIdentity): {\n readonly mint: RunEntityMinter;\n readonly seal: () => boolean;\n} {\n return Object.freeze({\n mint: <Kind extends RunObservabilityEntityKind>(kind: Kind) => Effect.suspend(() => {\n const id = mintRunEntity(capture, kind);\n return id === undefined\n ? Effect.fail(producerEntityIdInvalid(kind))\n : Effect.succeed(id);\n }),\n seal: () => sealRunObservabilityCaptureIdentity(capture),\n });\n}\n/** Creates one private capture for a real Runner Attempt. */\nexport function createRunnerAttemptObservabilityRuntime(input: {\n readonly providerName: string;\n readonly sensitiveValues: ReadonlySet<string>;\n}): RunnerAttemptObservabilityRuntime {\n const runtime = Object.freeze({\n [runnerAttemptObservabilityRuntimeTypeId]: () => undefined,\n }) as RunnerAttemptObservabilityRuntime;\n runnerAttemptRuntimeStates.set(runtime, {\n capture: makeAttemptObservabilityCaptureIdentity(),\n providerName: input.providerName,\n sensitiveValues: input.sensitiveValues,\n nextEntityOrdinal: 0,\n commands: [],\n commandLimitations: new RunnerCollectionLimitations(),\n usage: [],\n usageLimitations: new RunnerCollectionLimitations(),\n conversationTurns: [],\n conversationLimitations: new RunnerCollectionLimitations(),\n });\n return runtime;\n}\n/**\n * Associates the exact final EvalResult object with its Attempt-local\n * capture. Result shape stays public-contract-neutral; Record later looks up\n * this identity rather than reading an added field.\n */\nexport function bindRunnerAttemptObservabilityCapture(result: EvalResult, runtime: RunnerAttemptObservabilityRuntime): void {\n const state = runtimeState(runtime);\n if (state === undefined)\n return;\n const existing = runnerAttemptResultStates.get(result);\n if (existing !== undefined && existing !== state) {\n markRuntimeFailure(state, producerCaptureSealInvalid(\"attempt\"));\n return;\n }\n runnerAttemptResultStates.set(result, state);\n}\n/** Exact physical-turn timing joins produced during the same final seal. */\nexport function runnerAttemptConversationTimingForResult(result: EvalResult): ReadonlyMap<TurnId, IntervalId> | undefined {\n return runnerAttemptResultTurnIntervals.get(result);\n}\n/**\n * Captures the terminal fact of one physical public `t.send` at the exact\n * Effect Exit boundary. IDs are minted here, not reconstructed from the\n * later aggregate event stream, so repeated source locations remain distinct.\n */\nexport function captureRunnerPhysicalConversationTurn(input: {\n readonly runtime: RunnerAttemptObservabilityRuntime;\n readonly outcome: ConversationTurn[\"outcome\"];\n readonly events: readonly StreamEvent[];\n}): TurnId | undefined {\n const runtime = runtimeState(input.runtime);\n if (runtime === undefined || runtime.failure !== undefined)\n return undefined;\n if (runtime.conversationTurns.length >= MAX_CONVERSATION_TURNS) {\n runtime.conversationLimitations.addCap(\"conversation-item\", runtime.conversationTurns.length);\n return undefined;\n }\n const turnId = mintRuntimeEntity(runtime, \"turn\");\n if (turnId === undefined)\n return undefined;\n runtime.conversationTurns.push(Object.freeze({\n turnId,\n sequence: requiredPositive(runtime.conversationTurns.length + 1),\n outcome: input.outcome,\n events: Object.freeze([...input.events]),\n }));\n return turnId;\n}\n/**\n * Associates only the settled diagnostics that belong to this exact Run. The\n * invocation-wide timing recorder is intentionally not bound here: its facts\n * have no safe per-experiment owner attribution when an invocation has more\n * than one Run.\n */\nexport function bindRunnerRunObservabilityDiagnostics(input: {\n readonly run: AgentRun;\n readonly diagnostics: readonly DiagnosticRecord[];\n}): void {\n runnerRunDiagnostics.set(input.run, Object.freeze([...input.diagnostics]));\n}\nfunction commandManifestPhase(phase: LifecyclePhase): CommandManifest[\"phase\"] {\n switch (phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n return \"attempt.setup\";\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return \"sandbox.prepare\";\n case \"agent.ensure\":\n return \"agent.ensure\";\n case \"eval.run\":\n return \"eval.run\";\n case \"agent.run\":\n return \"sandbox.command\";\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n case \"experiment.teardown\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return \"attempt.teardown\";\n case \"assertions.evaluate\":\n case \"judge.precheck\":\n return \"eval.run\";\n case \"experiment.setup\":\n case \"sandbox.queue\":\n return \"attempt.setup\";\n }\n}\n/** Registers the manifest authority before the wrapped Sandbox call starts. */\nexport function captureRunnerCommandStart(input: {\n readonly runtime: RunnerAttemptObservabilityRuntime;\n readonly phase: LifecyclePhase;\n readonly invocationKind: \"argv\" | \"shell\";\n readonly command: string;\n readonly args?: readonly string[];\n readonly options?: unknown;\n}): RunnerCommandCaptureHandle | undefined {\n const runtime = runtimeState(input.runtime);\n if (runtime === undefined)\n return undefined;\n if (runtime.failure !== undefined)\n return undefined;\n if (runtime.commands.length >= MAX_COMMANDS) {\n runtime.commandLimitations.addCap(\"command-manifest\", runtime.commands.length);\n return undefined;\n }\n const minted = mintRuntimeCommand(runtime);\n if (minted === undefined)\n return undefined;\n const { commandId } = minted;\n const registered = registerCommandCapture(runtime.capture, minted.entity);\n if (registered === undefined || registeredCommandId(registered) !== commandId) {\n markRuntimeFailure(runtime, producerCommandRegistrationInvalid());\n return undefined;\n }\n const command: CapturedCommandRuntime = {\n commandId,\n registered,\n phase: input.phase,\n invocationKind: input.invocationKind,\n command: input.command,\n args: input.args === undefined ? undefined : [...input.args],\n options: input.options,\n };\n runtime.commands.push(command);\n const handle = Object.freeze({\n [runnerCommandCaptureHandleTypeId]: () => undefined,\n }) as RunnerCommandCaptureHandle;\n runnerCommandHandleStates.set(handle, Object.freeze({ runtime, command }));\n return handle;\n}\nfunction commandHandleState(handle: RunnerCommandCaptureHandle | undefined): {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n} | undefined {\n return handle === undefined ? undefined : runnerCommandHandleStates.get(handle as object);\n}\nfunction acceptRegisteredCommandResult(state: {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}): boolean {\n const registration = recordRegisteredCommandResult(state.runtime.capture, state.command.registered);\n if (registration.state !== \"recorded\") {\n markRuntimeFailure(state.runtime, producerCommandRegistrationInvalid());\n return false;\n }\n return true;\n}\nfunction recordTerminalCommandResult(state: {\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n readonly command: CapturedCommandRuntime;\n}, outcome: Exclude<CapturedCommandResult[\"outcome\"], {\n readonly kind: \"exited\";\n}>): void {\n if (!acceptRegisteredCommandResult(state))\n return;\n state.command.result = Object.freeze({\n outcome: Object.freeze(outcome),\n stdout: \"\",\n stderr: \"\",\n });\n}\n/** Records a real returned/CommandExitError result against its prior manifest. */\nexport function captureRunnerCommandResult(input: {\n readonly handle: RunnerCommandCaptureHandle | undefined;\n readonly exitCode: number;\n readonly stdout: unknown;\n readonly stderr: unknown;\n}): void {\n const state = commandHandleState(input.handle);\n if (state === undefined)\n return;\n if (!acceptRegisteredCommandResult(state))\n return;\n if (!Number.isSafeInteger(input.exitCode) || input.exitCode < -2147483648 || input.exitCode > 2147483647) {\n // A provider value without a valid command result is not a normal exit.\n // Keep the registered manifest with its explicit transport terminal fact.\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n state.command.result = Object.freeze({\n outcome: Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }),\n stdout: \"\",\n stderr: \"\",\n });\n return;\n }\n const stdout = typeof input.stdout === \"string\" ? input.stdout : \"\";\n const stderr = typeof input.stderr === \"string\" ? input.stderr : \"\";\n if (typeof input.stdout !== \"string\")\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n if (typeof input.stderr !== \"string\")\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n state.command.result = Object.freeze({\n outcome: Object.freeze({ kind: \"exited\" as const, exitCode: input.exitCode }),\n stdout,\n stderr,\n });\n}\n/** A command timeout is a real terminal fact, unlike external interruption. */\nexport function captureRunnerCommandTimeout(handle: RunnerCommandCaptureHandle | undefined): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, Object.freeze({\n kind: \"terminated\" as const,\n reason: \"timeout\" as const,\n }));\n}\n/** A command call interrupted after registration is durably terminal/cancelled. */\nexport function captureRunnerCommandInterrupted(handle: RunnerCommandCaptureHandle | undefined): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureInterrupted(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, Object.freeze({\n kind: \"terminated\" as const,\n reason: \"cancelled\" as const,\n }));\n}\n/** Retains a registered command when the provider cannot return a normal result. */\nexport function captureRunnerCommandCaptureFailed(handle: RunnerCommandCaptureHandle | undefined, reason: \"transport-lost\" | \"spawn-failed\" = \"transport-lost\"): void {\n const state = commandHandleState(handle);\n if (state === undefined)\n return;\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n state.runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(state, reason === \"spawn-failed\"\n ? Object.freeze({ kind: \"not-started\" as const, reason: \"spawn-failed\" as const })\n : Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }));\n}\nfunction usageNonNegativeInteger(value: unknown): NonNegativeSafeInteger | undefined {\n return typeof value === \"number\" ? makeNonNegativeSafeInteger(value) : undefined;\n}\nfunction canonicalDecimalFromNumber(value: unknown): string | undefined {\n if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0)\n return undefined;\n const source = String(value);\n const plain = source.includes(\"e\") || source.includes(\"E\")\n ? expandExponentialDecimal(source)\n : source;\n if (plain === undefined)\n return undefined;\n const normalized = plain.includes(\".\")\n ? plain.replace(/0+$/u, \"\").replace(/\\.$/u, \"\")\n : plain;\n return makeCanonicalDecimal(normalized);\n}\nfunction expandExponentialDecimal(value: string): string | undefined {\n const match = /^(\\d+)(?:\\.(\\d+))?[eE]([+-]?\\d+)$/u.exec(value);\n if (match === null)\n return undefined;\n const integer = match[1] ?? \"\";\n const fraction = match[2] ?? \"\";\n const exponent = Number(match[3]);\n if (!Number.isSafeInteger(exponent))\n return undefined;\n const digits = `${integer}${fraction}`.replace(/^0+/u, \"\") || \"0\";\n if (digits === \"0\")\n return \"0\";\n const decimalIndex = integer.length + exponent;\n if (decimalIndex <= 0)\n return `0.${\"0\".repeat(-decimalIndex)}${digits}`;\n if (decimalIndex >= digits.length)\n return `${digits}${\"0\".repeat(decimalIndex - digits.length)}`;\n return `${digits.slice(0, decimalIndex)}.${digits.slice(decimalIndex)}`;\n}\nfunction appendUsageObservation(runtime: RunnerAttemptObservabilityRuntimeState, create: (usageObservationId: UsageObservationId, provider: SafeIdentifier) => UsageObservation): void {\n if (runtime.usage.length >= MAX_USAGE_OBSERVATIONS) {\n runtime.usageLimitations.addCap(\"usage-observation\", runtime.usage.length);\n return;\n }\n const provider = makeSafeIdentifier(runtime.providerName);\n if (provider === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n return;\n }\n const usageObservationId = mintRuntimeEntity(runtime, \"usage-observation\");\n if (usageObservationId === undefined)\n return;\n runtime.usage.push(create(usageObservationId, provider));\n}\n/**\n * Captures only the exact Usage passed by SessionManager's terminal onTurn\n * callback. It never looks at an Attempt aggregate or derives a request from\n * a token count.\n */\nexport function captureRunnerTurnUsage(runtimeHandle: RunnerAttemptObservabilityRuntime, usage: Usage): void {\n const runtime = runtimeState(runtimeHandle);\n if (runtime === undefined || runtime.failure !== undefined)\n return;\n const tokenBuckets: readonly [\n keyof Pick<Usage, \"inputTokens\" | \"outputTokens\" | \"cacheReadTokens\" | \"cacheCreationTokens\" | \"reasoningTokens\">,\n Extract<UsageObservation, {\n readonly kind: \"token-bucket\";\n }>[\"bucket\"]\n ][] = [\n [\"inputTokens\", \"input\"],\n [\"outputTokens\", \"output\"],\n [\"cacheReadTokens\", \"cache-read\"],\n [\"cacheCreationTokens\", \"cache-write\"],\n [\"reasoningTokens\", \"reasoning\"],\n ];\n for (const [field, bucket] of tokenBuckets) {\n const raw = usage[field];\n if (raw === undefined)\n continue;\n const tokens = usageNonNegativeInteger(raw);\n if (tokens === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n continue;\n }\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"token-bucket\" as const,\n bucket,\n tokens,\n refs: Object.freeze([]),\n }));\n }\n if (usage.requests !== undefined) {\n const requests = usageNonNegativeInteger(usage.requests);\n if (requests === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n }\n else {\n for (let request = 0; request < requests; request += 1) {\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"request\" as const,\n requestKind: \"model\" as const,\n refs: Object.freeze([]),\n }));\n if (runtime.usage.length >= MAX_USAGE_OBSERVATIONS)\n break;\n }\n }\n }\n if (usage.costUSD !== undefined) {\n const amount = canonicalDecimalFromNumber(usage.costUSD);\n if (amount === undefined) {\n runtime.usageLimitations.addUnsupported(\"usage-observation\");\n }\n else {\n const currency = makeCurrencyCode(\"USD\");\n if (currency === undefined)\n throw new Error(\"USD must be a CurrencyCode\");\n appendUsageObservation(runtime, (usageObservationId, provider) => Object.freeze({\n usageObservationId,\n provider,\n kind: \"provider-cost\" as const,\n amount,\n currency,\n refs: Object.freeze([]),\n }));\n }\n }\n}\nfunction safeIdentifier(value: string): SafeIdentifier | undefined {\n return makeSafeIdentifier(value);\n}\nfunction sourceNativeToolName(value: string): SourceNativeToolName | undefined {\n return makeSourceNativeToolName(value);\n}\nfunction stableLabel(value: string): StableLabel | undefined {\n return makeStableLabel(value);\n}\nfunction eventCannotBePersisted(event: {\n readonly redacted?: readonly string[];\n readonly truncated?: readonly unknown[];\n}, limitations: RunnerCollectionLimitations): boolean {\n if ((event.redacted?.length ?? 0) > 0) {\n limitations.addRedacted(\"conversation-item\", event.redacted!.length);\n return true;\n }\n if ((event.truncated?.length ?? 0) > 0) {\n limitations.addUnsupported(\"conversation-item\");\n return true;\n }\n return false;\n}\nfunction hasConversationCapacity(input: {\n readonly itemCount: number;\n readonly hasTurn: boolean;\n readonly limitations: RunnerCollectionLimitations;\n}): boolean {\n if (input.itemCount >= MAX_CONVERSATION_ITEMS) {\n input.limitations.addCap(\"conversation-item\", input.itemCount);\n return false;\n }\n if (!input.hasTurn && input.itemCount >= MAX_CONVERSATION_TURNS) {\n input.limitations.addCap(\"conversation-item\", input.itemCount);\n return false;\n }\n return true;\n}\nfunction appendConversationTextLimitation(item: ConversationItem | undefined, text: RetainedText, limitations: RunnerCollectionLimitations): void {\n if (item !== undefined && text.omittedBytes !== undefined) {\n limitations.addConversationTextTruncated(item.itemId, text.retainedBytes, text.omittedBytes);\n }\n}\nfunction normalizeConversation(input: {\n readonly mint: AttemptEntityMinter;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture[\"conversation\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = input.runtime.conversationLimitations;\n const items: ConversationItem[] = [];\n let turnId: TurnId | undefined;\n const openTools = new Map<string, {\n readonly callId: CallId;\n readonly turnId: TurnId;\n }>();\n const openSubagents = new Map<string, {\n readonly label: SafeIdentifier;\n }>();\n const ensureTurn = (): Effect.Effect<TurnId | undefined, RunnerObservabilityProducerError> => {\n if (turnId !== undefined)\n return Effect.succeed(turnId);\n return Effect.succeed(undefined);\n };\n const appendItem = (create: (ids: {\n readonly itemId: ItemId;\n readonly turnId: TurnId;\n readonly sequence: PositiveSafeInteger;\n }) => ConversationItem): Effect.Effect<ConversationItem | undefined, RunnerObservabilityProducerError> => {\n if (!hasConversationCapacity({\n itemCount: items.length,\n hasTurn: turnId !== undefined,\n limitations,\n })) {\n return Effect.succeed(undefined);\n }\n return Effect.gen(function* () {\n const currentTurn = yield* ensureTurn();\n if (currentTurn === undefined)\n return undefined;\n const itemId = yield* input.mint(\"item\");\n const item = create(Object.freeze({\n itemId,\n turnId: currentTurn,\n sequence: requiredPositive(items.length + 1),\n }));\n items.push(item);\n return item;\n });\n };\n for (const capturedTurn of input.runtime.conversationTurns) {\n turnId = capturedTurn.turnId;\n for (const event of capturedTurn.events) {\n if (eventCannotBePersisted(event, limitations))\n continue;\n switch (event.type) {\n case \"message\": {\n const text = retainSafeText(event.text, MAX_CONVERSATION_TEXT_BYTES);\n if (text === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"message\" as const,\n role: event.role,\n text: text.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, text, limitations);\n break;\n }\n case \"operation.started\": {\n if (event.operation.kind === \"tool\") {\n // Conversation is the source-native execution record. Canonical\n // ToolName is useful to runtime assertions, but must never replace\n // or rescue the provider's real identity in durable evidence.\n const tool = sourceNativeToolName(event.operation.name);\n const summary = jsonSummary(event.operation.input);\n if (tool === undefined || summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n if (!hasConversationCapacity({\n itemCount: items.length,\n hasTurn: turnId !== undefined,\n limitations,\n }))\n continue;\n const callId = yield* input.mint(\"call\");\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"tool-call\" as const,\n callId,\n tool,\n inputSummary: summary.text,\n refs: Object.freeze([]),\n }));\n if (item !== undefined) {\n openTools.set(event.operationId, Object.freeze({ callId, turnId: item.turnId }));\n }\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n const label = safeIdentifier(event.operation.name);\n if (label === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"subagent\" as const,\n state: \"started\" as const,\n label,\n summary: makeBoundedSafeText(\"Subagent started.\", MAX_CONVERSATION_TEXT_BYTES)!,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openSubagents.set(event.operationId, Object.freeze({ label }));\n break;\n }\n case \"operation.finished\": {\n if (event.kind === \"tool\") {\n const open = openTools.get(event.operationId);\n const summary = event.output === undefined ? undefined : jsonSummary(event.output);\n if (open === undefined || summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n turnId: open.turnId,\n kind: \"tool-result\" as const,\n callId: open.callId,\n outcome: event.status,\n outputSummary: summary.text,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openTools.delete(event.operationId);\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n const open = openSubagents.get(event.operationId);\n if (open === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"subagent\" as const,\n state: event.status,\n label: open.label,\n summary: makeBoundedSafeText(event.status === \"completed\" ? \"Subagent completed.\" : \"Subagent failed.\", MAX_CONVERSATION_TEXT_BYTES)!,\n refs: Object.freeze([]),\n }));\n if (item !== undefined)\n openSubagents.delete(event.operationId);\n break;\n }\n case \"skill.loaded\": {\n const skill = safeIdentifier(event.skill);\n if (skill === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"skill-load\" as const,\n skill,\n outcome: \"loaded\" as const,\n refs: Object.freeze([]),\n }));\n break;\n }\n case \"input.requested\": {\n const source = event.request.prompt ?? event.request.display;\n const summary = source === undefined\n ? (event.request.input === undefined ? undefined : jsonSummary(event.request.input))\n : retainSafeText(source, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"input-request\" as const,\n state: \"requested\" as const,\n promptSummary: summary.text,\n responseSummary: null,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n // StreamEvent has no corresponding response event, so null cannot\n // claim a complete request/response capture.\n limitations.addCaptureFailed(\"adapter\", \"conversation-item\");\n break;\n }\n case \"context.injected\": {\n const source = event.source;\n const summary = retainSafeText(event.text, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined ||\n (source !== \"system\" && source !== \"memory\" && source !== \"skill\" && source !== \"user\")) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"context-injection\" as const,\n source,\n summary: summary.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n case \"error\": {\n const redacted = redactSensitiveText(event.message, input.runtime.sensitiveValues);\n if (redacted !== event.message)\n limitations.addRedacted(\"conversation-text\");\n const summary = retainSafeText(redacted, MAX_CONVERSATION_TEXT_BYTES);\n if (summary === undefined) {\n limitations.addUnsupported(\"conversation-item\");\n continue;\n }\n const item = yield* appendItem((ids) => Object.freeze({\n ...ids,\n kind: \"conversation-error\" as const,\n code: makeSafeIdentifier(\"stream-error\")!,\n summary: summary.text,\n refs: Object.freeze([]),\n }));\n appendConversationTextLimitation(item, summary, limitations);\n break;\n }\n // Thinking can contain hidden reasoning, and compaction has no safe\n // item count in StreamEvent. Both are deliberately retained only as\n // structured partial coverage, never as invented summaries.\n case \"thinking\":\n case \"compaction\":\n limitations.addUnsupported(\"conversation-item\");\n break;\n }\n }\n }\n if (openTools.size > 0 || openSubagents.size > 0) {\n limitations.addUnsupported(\"conversation-item\", openTools.size + openSubagents.size);\n }\n const turns: readonly ConversationTurn[] = Object.freeze(input.runtime.conversationTurns.map((capturedTurn) => Object.freeze({\n turnId: capturedTurn.turnId,\n sequence: capturedTurn.sequence,\n outcome: capturedTurn.outcome,\n refs: Object.freeze([]),\n })));\n return Object.freeze({\n collection: limitations.collection(),\n turns,\n items: Object.freeze([...items]),\n });\n });\n}\nfunction commandSafeText(input: {\n readonly commandId: CommandId;\n readonly value: string;\n readonly maximumBytes: number;\n readonly target: \"command-manifest\" | \"command-stdout\" | \"command-stderr\";\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): SafeText {\n const redacted = redactSensitiveText(input.value, input.runtime.sensitiveValues);\n if (redacted !== input.value)\n input.runtime.commandLimitations.addRedacted(input.target);\n const retained = retainSafeText(redacted, input.maximumBytes);\n if (retained === undefined) {\n // A registered command must retain its manifest even when a provider text\n // field cannot be represented safely. The partial collection records the\n // replacement rather than dropping the command.\n input.runtime.commandLimitations.addCaptureFailed(\"command-capture\", input.target);\n const replacement = makeBoundedSafeText(\"[unavailable]\", input.maximumBytes);\n if (replacement === undefined) {\n throw new Error(\"The fixed unavailable command marker must be SafeText\");\n }\n return replacement;\n }\n if (retained.omittedBytes !== undefined) {\n input.runtime.commandLimitations.addCommandManifestTextTruncated(input.commandId, retained.retainedBytes, retained.omittedBytes);\n }\n return retained.text;\n}\nfunction isProjectRelativeCommandPath(value: string): boolean {\n return (makeBoundedSafeText(value, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES) !== undefined &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n !value.includes(\"\\\\\") &&\n !value.includes(\":\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\"));\n}\nfunction commandWorkingDirectory(options: unknown, runtime: RunnerAttemptObservabilityRuntimeState): CommandManifest[\"workingDirectory\"] {\n const candidate = options as Partial<Pick<CommandOptions, \"cwd\">> | undefined;\n const cwd = candidate?.cwd;\n if (cwd === undefined || cwd === \".\")\n return Object.freeze({ kind: \"sandbox-default\" as const });\n if (typeof cwd !== \"string\") {\n runtime.commandLimitations.addUnsupported(\"command-manifest\");\n return Object.freeze({ kind: \"redacted\" as const });\n }\n const redacted = redactSensitiveText(cwd, runtime.sensitiveValues);\n if (redacted !== cwd)\n runtime.commandLimitations.addRedacted(\"command-manifest\");\n if (isProjectRelativeCommandPath(redacted)) {\n return Object.freeze({ kind: \"project-relative\" as const, path: redacted });\n }\n // Absolute, dot-segment and otherwise unsafe cwd values are deliberately\n // not normalized into an apparently portable path.\n runtime.commandLimitations.addRedacted(\"command-manifest\");\n return Object.freeze({ kind: \"redacted\" as const });\n}\nfunction commandManifest(command: CapturedCommandRuntime, runtime: RunnerAttemptObservabilityRuntimeState): CommandManifest {\n const phase = commandManifestPhase(command.phase);\n const workingDirectory = commandWorkingDirectory(command.options, runtime);\n if (command.invocationKind === \"shell\") {\n const script = commandSafeText({\n commandId: command.commandId,\n value: command.command,\n maximumBytes: MAX_COMMAND_SHELL_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n return Object.freeze({\n phase,\n invocation: Object.freeze({ kind: \"shell\" as const, command: script }),\n workingDirectory,\n });\n }\n const sourceArguments = command.args ?? [];\n if (sourceArguments.length > MAX_COMMAND_ARGUMENTS) {\n runtime.commandLimitations.addUnsupported(\"command-manifest\");\n }\n const executable = commandSafeText({\n commandId: command.commandId,\n value: command.command,\n maximumBytes: MAX_COMMAND_EXECUTABLE_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n const arguments_: SafeText[] = [];\n for (const raw of sourceArguments.slice(0, MAX_COMMAND_ARGUMENTS)) {\n const argument = commandSafeText({\n commandId: command.commandId,\n value: raw,\n maximumBytes: MAX_COMMAND_ARGUMENT_BYTES,\n target: \"command-manifest\",\n runtime,\n });\n arguments_.push(argument);\n }\n return Object.freeze({\n phase,\n invocation: Object.freeze({\n kind: \"argv\" as const,\n executable,\n arguments: Object.freeze([...arguments_]),\n }),\n workingDirectory,\n });\n}\nfunction stripUnsafeCommandControls(value: string): {\n readonly text: string;\n readonly count: number;\n} {\n let text = \"\";\n let count = 0;\n for (const scalar of value) {\n const code = scalar.codePointAt(0);\n if (code !== undefined &&\n ((code >= 0 && code <= 0x1f && code !== 0x0a) || (code >= 0x7f && code <= 0x9f))) {\n count += 1;\n continue;\n }\n text += scalar;\n }\n return Object.freeze({ text, count });\n}\nfunction emptyCommandStream(): NormalizedCommandStreamCapture {\n const text = makeBoundedSafeText(\"\", MAX_COMMAND_STREAM_BYTES);\n if (text === undefined)\n throw new Error(\"An empty command stream must be SafeText\");\n return Object.freeze({ text, totalSafeUtf8Bytes: requiredNonNegative(0) });\n}\nfunction commandStream(input: {\n readonly commandId: CommandId;\n readonly stream: \"stdout\" | \"stderr\";\n readonly value: string;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): NormalizedCommandStreamCapture {\n const target = input.stream === \"stdout\" ? \"command-stdout\" as const : \"command-stderr\" as const;\n const redacted = redactSensitiveText(input.value, input.runtime.sensitiveValues);\n if (redacted !== input.value)\n input.runtime.commandLimitations.addRedacted(target);\n const stripped = stripUnsafeCommandControls(redacted);\n if (stripped.count > 0) {\n input.runtime.commandLimitations.addUnsafeCommandControlStripped(input.commandId, input.stream, stripped.count);\n }\n const retained = retainSafeText(stripped.text, MAX_COMMAND_STREAM_BYTES);\n if (retained === undefined) {\n input.runtime.commandLimitations.addCaptureFailed(\"command-capture\", target);\n return emptyCommandStream();\n }\n if (retained.omittedBytes !== undefined) {\n input.runtime.commandLimitations.addCommandStreamTruncated(input.commandId, input.stream, retained.retainedBytes, retained.omittedBytes);\n }\n const totalSafeUtf8Bytes = retained.omittedBytes === undefined\n ? retained.retainedBytes\n : requiredNonNegative(retained.retainedBytes + retained.omittedBytes);\n return Object.freeze({ text: retained.text, totalSafeUtf8Bytes });\n}\nfunction normalizeCommands(runtime: RunnerAttemptObservabilityRuntimeState): NormalizedAttemptObservabilityCapture[\"commands\"] {\n const commands: NormalizedCommandObservationCapture[] = [];\n for (const captured of runtime.commands) {\n if (captured.result === undefined) {\n // The manifest was registered before the sandbox call. If its normal\n // result never arrived, retain it with the only accurate fallback: the\n // transport did not provide a terminal command result.\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-manifest\");\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stdout\");\n runtime.commandLimitations.addCaptureFailed(\"command-capture\", \"command-stderr\");\n recordTerminalCommandResult(Object.freeze({ runtime, command: captured }), Object.freeze({ kind: \"terminated\" as const, reason: \"transport-lost\" as const }));\n }\n const result = captured.result;\n if (result === undefined) {\n markRuntimeFailure(runtime, producerCommandRegistrationInvalid());\n continue;\n }\n const manifest = commandManifest(captured, runtime);\n const stdout = commandStream({\n commandId: captured.commandId,\n stream: \"stdout\",\n value: result.stdout,\n runtime,\n });\n const stderr = commandStream({\n commandId: captured.commandId,\n stream: \"stderr\",\n value: result.stderr,\n runtime,\n });\n commands.push(Object.freeze({\n commandId: captured.commandId,\n manifest,\n result: Object.freeze({ outcome: result.outcome, stdout, stderr }),\n refs: Object.freeze([]),\n }));\n }\n return Object.freeze({\n collection: runtime.commandLimitations.collection(),\n commands: Object.freeze([...commands].sort((left, right) => compareObservabilityText(left.commandId, right.commandId))),\n });\n}\nfunction normalizeUsage(input: {\n readonly result: EvalResult;\n readonly runtime: RunnerAttemptObservabilityRuntimeState;\n}): NormalizedAttemptObservabilityCapture[\"usage\"] {\n // EvalResult.usage remains an aggregate for legacy consumers. Only records\n // captured from actual Session onTurn values above enter this family.\n if (input.result.evidenceCoverage.usage.status === \"unavailable\") {\n input.runtime.usageLimitations.addUnsupported(\"usage-observation\");\n }\n else if (input.result.evidenceCoverage.usage.status === \"partial\") {\n input.runtime.usageLimitations.addCaptureFailed(\"usage-capture\", \"usage-observation\");\n }\n if (input.result.retryAttempts?.some((attempt) => attempt.usage !== undefined) === true) {\n // Retry attempts carry real Usage, but Session's terminal onTurn callback\n // did not expose a separate turn for them. Do not reconstruct them from\n // the aggregate; state the missing atomic capture instead.\n input.runtime.usageLimitations.addCaptureFailed(\"usage-capture\", \"usage-observation\");\n }\n return Object.freeze({\n collection: input.runtime.usageLimitations.collection(),\n observations: Object.freeze([...input.runtime.usage].sort((left, right) => compareObservabilityText(left.usageObservationId, right.usageObservationId))),\n });\n}\ntype AttemptTimingProjection = {\n readonly kind: \"attempt\";\n readonly phase: AttemptTimingInterval[\"phase\"];\n readonly label: StableLabel | ReturnType<typeof formatTurnLabel>;\n} | {\n readonly kind: \"outside-attempt-domain\";\n} | {\n readonly kind: \"unsupported\";\n};\nfunction attemptTimingProjection(phase: string): AttemptTimingProjection {\n const label = stableLabel(phase);\n if (label === undefined)\n return Object.freeze({ kind: \"unsupported\" as const });\n switch (phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n case \"sandbox.queue\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"attempt.setup\" as const, label });\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"sandbox.prepare\" as const, label });\n case \"agent.ensure\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"agent.ensure\" as const, label });\n case \"eval.run\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"eval.run\" as const, label });\n case \"assertions.evaluate\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"assertion.evaluate\" as const, label });\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return Object.freeze({ kind: \"attempt\" as const, phase: \"attempt.teardown\" as const, label });\n case \"judge.precheck\":\n case \"experiment.setup\":\n case \"experiment.teardown\":\n case \"agent.run\":\n return Object.freeze({ kind: \"outside-attempt-domain\" as const });\n default:\n return Object.freeze({ kind: \"unsupported\" as const });\n }\n}\nfunction validPhaseDuration(value: PhaseTiming): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(value.durationMs);\n}\nfunction validPhaseStartOffset(value: PhaseTiming): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(value.startOffsetMs);\n}\nfunction timingActivityProjection(activity: TimingActivity): {\n readonly phase: AttemptTimingInterval[\"phase\"];\n readonly label: StableLabel | ReturnType<typeof formatTurnLabel>;\n} | undefined {\n const phase = (() => {\n switch (activity.key) {\n case \"agent.turn\":\n return \"agent.send\" as const;\n case \"sandbox.command\":\n return \"sandbox.command\" as const;\n case \"sandbox.prepare\":\n return \"sandbox.prepare\" as const;\n case \"workspace.diff.export\":\n return \"attempt.teardown\" as const;\n default:\n return undefined;\n }\n })();\n if (phase === undefined)\n return undefined;\n // Runner's activity label is human-facing and can contain spaces or other\n // SafeText punctuation. Standard activities retain a stable key when their\n // display label cannot cross the durable boundary. Native agent turns keep\n // their canonical slash coordinate so the Record writer never invents a\n // dot-encoded historical label.\n const label = activity.key === \"agent.turn\"\n && activity.sessionIndex !== undefined\n && activity.turnIndex !== undefined\n ? formatTurnLabel(activity.sessionIndex, activity.turnIndex)\n : stableLabel(activity.label) ?? stableLabel(activity.key);\n if (label === undefined)\n return undefined;\n return Object.freeze({ phase, label });\n}\nfunction validTimingActivityStart(activity: TimingActivity): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(activity.startOffsetMs);\n}\nfunction validTimingActivityDuration(activity: TimingActivity): NonNegativeSafeInteger | undefined {\n return makeNonNegativeSafeInteger(activity.durationMs);\n}\nfunction timingSpanContains(input: {\n readonly parentStartOffsetMs: NonNegativeSafeInteger;\n readonly parentDurationMs: NonNegativeSafeInteger;\n readonly childStartOffsetMs: NonNegativeSafeInteger;\n readonly childDurationMs: NonNegativeSafeInteger;\n}): boolean {\n const parentEnd = input.parentStartOffsetMs + input.parentDurationMs;\n const childEnd = input.childStartOffsetMs + input.childDurationMs;\n return (Number.isSafeInteger(parentEnd) &&\n Number.isSafeInteger(childEnd) &&\n input.parentStartOffsetMs <= input.childStartOffsetMs &&\n childEnd <= parentEnd);\n}\ninterface NormalizedAttemptTimingWithTurnIntervals {\n readonly timing: NormalizedAttemptObservabilityCapture[\"timing\"];\n readonly intervalByTurnId: ReadonlyMap<TurnId, IntervalId>;\n}\nfunction normalizeAttemptTiming(input: {\n readonly result: EvalResult;\n readonly mint: AttemptEntityMinter;\n readonly turns: readonly CapturedConversationTurn[];\n}): Effect.Effect<NormalizedAttemptTimingWithTurnIntervals, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n const turnsById = new Map<string, CapturedConversationTurn>(input.turns.map((turn) => [turn.turnId, turn] as const));\n const intervalByTurnId = new Map<TurnId, IntervalId>();\n const ambiguousTurnIntervals = new Set<TurnId>();\n const phases = input.result.phases;\n if (phases === undefined) {\n limitations.addCaptureFailed(\"timing-capture\", \"timing-interval\");\n return Object.freeze({\n timing: Object.freeze({ collection: limitations.collection(), intervals: Object.freeze([]) }),\n intervalByTurnId: new Map(),\n });\n }\n const intervals: AttemptTimingInterval[] = [];\n const appendActivities = (activities: readonly TimingActivity[] | undefined, parent: {\n readonly intervalId: IntervalId;\n readonly startOffsetMs: NonNegativeSafeInteger;\n /** Offset in the Runner's unfiltered phase clock. */\n readonly sourceStartOffsetMs: NonNegativeSafeInteger;\n readonly durationMs: NonNegativeSafeInteger;\n } | undefined, ancestors: ReadonlySet<TimingActivity>): Effect.Effect<void, RunnerObservabilityProducerError> => Effect.gen(function* () {\n for (const activity of activities ?? []) {\n if (ancestors.has(activity)) {\n limitations.addUnsupported(\"timing-interval\");\n continue;\n }\n const projection = timingActivityProjection(activity);\n const sourceStartOffsetMs = validTimingActivityStart(activity);\n const durationMs = validTimingActivityDuration(activity);\n const relativeStartOffsetMs = parent === undefined || sourceStartOffsetMs === undefined\n ? sourceStartOffsetMs\n : makeNonNegativeSafeInteger(sourceStartOffsetMs - parent.sourceStartOffsetMs);\n const translatedStartOffsetMs = parent === undefined || relativeStartOffsetMs === undefined\n ? relativeStartOffsetMs\n : makeNonNegativeSafeInteger(parent.startOffsetMs + relativeStartOffsetMs);\n // A known activity with safe source-clock values remains a fact even\n // when this parent-relative conversion cannot be proven. Persist its\n // original interval as a root rather than turning a missing causal\n // edge into an unsupported-input limitation.\n const startOffsetMs = translatedStartOffsetMs ?? sourceStartOffsetMs;\n if (projection === undefined\n || sourceStartOffsetMs === undefined\n || startOffsetMs === undefined\n || durationMs === undefined) {\n limitations.addUnsupported(\"timing-interval\");\n continue;\n }\n if (intervals.length >= MAX_TIMING_INTERVALS) {\n limitations.addCap(\"timing-interval\", intervals.length);\n continue;\n }\n const intervalId = yield* input.mint(\"interval\");\n const parentIntervalId = parent === undefined || translatedStartOffsetMs === undefined\n ? null\n : timingSpanContains({\n parentStartOffsetMs: parent.startOffsetMs,\n parentDurationMs: parent.durationMs,\n childStartOffsetMs: startOffsetMs,\n childDurationMs: durationMs,\n })\n ? parent.intervalId\n : null;\n intervals.push(Object.freeze({\n intervalId,\n phase: projection.phase,\n label: projection.label,\n startOffsetMs,\n durationMs,\n parentIntervalId,\n outcome: activity.failed ? \"failed\" as const : \"completed\" as const,\n refs: Object.freeze([]),\n }));\n if (activity.key === \"agent.turn\" && activity.turnId !== undefined) {\n const turnId = turnsById.get(activity.turnId)?.turnId;\n if (turnId !== undefined) {\n if (intervalByTurnId.has(turnId) || ambiguousTurnIntervals.has(turnId)) {\n intervalByTurnId.delete(turnId);\n ambiguousTurnIntervals.add(turnId);\n }\n else {\n intervalByTurnId.set(turnId, intervalId);\n }\n }\n }\n const nextAncestors = new Set(ancestors);\n nextAncestors.add(activity);\n yield* appendActivities(activity.children, Object.freeze({\n intervalId,\n startOffsetMs,\n sourceStartOffsetMs,\n durationMs,\n }), nextAncestors);\n }\n });\n // `phases` also carries a few known Run-owned anchors for first-dispatched\n // work. Keep their raw clock for child translation, but do not let them\n // create gaps in the Attempt execution-duration clock.\n let attemptOffset: NonNegativeSafeInteger | undefined = requiredNonNegative(0);\n for (const source of phases) {\n const duration = validPhaseDuration(source);\n const sourceStartOffsetMs = validPhaseStartOffset(source);\n const projection = attemptTimingProjection(source.name);\n if (duration === undefined\n || sourceStartOffsetMs === undefined\n || projection.kind === \"unsupported\"\n || attemptOffset === undefined) {\n limitations.addUnsupported(\"timing-interval\");\n }\n else if (projection.kind === \"attempt\" && intervals.length >= MAX_TIMING_INTERVALS) {\n limitations.addCap(\"timing-interval\", intervals.length);\n }\n else if (projection.kind === \"attempt\") {\n const intervalId = yield* input.mint(\"interval\");\n intervals.push(Object.freeze({\n intervalId,\n phase: projection.phase,\n label: projection.label,\n startOffsetMs: attemptOffset,\n durationMs: duration,\n parentIntervalId: null,\n outcome: source.failed ? \"failed\" as const : \"completed\" as const,\n refs: Object.freeze([]),\n }));\n yield* appendActivities(source.children, Object.freeze({\n intervalId,\n startOffsetMs: attemptOffset,\n sourceStartOffsetMs,\n durationMs: duration,\n }), new Set());\n }\n if (duration === undefined\n || sourceStartOffsetMs === undefined\n || attemptOffset === undefined) {\n attemptOffset = undefined;\n }\n else {\n if (projection.kind !== \"outside-attempt-domain\") {\n attemptOffset = makeNonNegativeSafeInteger(attemptOffset + duration);\n }\n }\n }\n return Object.freeze({\n timing: Object.freeze({\n collection: limitations.collection(),\n // The durable timing family canonically orders by opaque entity id; the\n // offsets retain the Runner's actual lifecycle order.\n intervals: Object.freeze([...intervals].sort((left, right) => compareObservabilityText(left.intervalId, right.intervalId))),\n }),\n intervalByTurnId: new Map(intervalByTurnId),\n });\n });\n}\nfunction attemptDiagnosticPhase(origin: TimingOrigin | undefined): AttemptDiagnostic[\"phase\"] {\n if (origin === undefined || origin.scope !== \"attempt\")\n return \"collection\";\n switch (origin.phase) {\n case \"sandbox.create\":\n case \"workspace.baseline\":\n case \"agent.setup\":\n case \"telemetry.configure\":\n return \"attempt.setup\";\n case \"sandbox.prepare\":\n case \"sandbox.prepare.eval\":\n case \"sandbox.prepare.group\":\n case \"sandbox.prepare.experiment\":\n return \"sandbox.prepare\";\n case \"agent.ensure\":\n return \"agent.ensure\";\n case \"eval.run\":\n return \"eval.run\";\n case \"agent.run\":\n return \"agent.send\";\n case \"assertions.evaluate\":\n return \"assertion.evaluate\";\n case \"agent.teardown\":\n case \"sandbox.cleanup\":\n case \"sandbox.suspend\":\n case \"sandbox.stop\":\n return \"attempt.teardown\";\n case \"judge.precheck\":\n case \"experiment.setup\":\n case \"experiment.teardown\":\n case \"sandbox.queue\":\n case \"workspace.diff\":\n case \"telemetry.collect\":\n return \"collection\";\n }\n}\nfunction normalizeAttemptDiagnostics(input: {\n readonly result: EvalResult;\n readonly mint: AttemptEntityMinter;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture[\"diagnostics\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n const diagnostics: AttemptDiagnostic[] = [];\n const append = (value: {\n readonly code: string;\n readonly detail: string;\n readonly kind: AttemptDiagnostic[\"kind\"];\n readonly origin?: DiagnosticRecord[\"origin\"];\n }): Effect.Effect<void, RunnerObservabilityProducerError> => {\n const code = makeSafeIdentifier(value.code);\n if (code === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n return Effect.void;\n }\n const retainedSummary = makeBoundedSafeText(value.detail, MAX_DIAGNOSTIC_SUMMARY_BYTES);\n if (retainedSummary === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n }\n if (diagnostics.length >= MAX_DIAGNOSTICS) {\n limitations.addCap(\"diagnostic\", diagnostics.length);\n return Effect.void;\n }\n return Effect.map(input.mint(\"diagnostic\"), (diagnosticId) => {\n diagnostics.push(Object.freeze({\n diagnosticId: diagnosticId as DiagnosticId,\n kind: value.kind,\n code,\n phase: attemptDiagnosticPhase(value.origin),\n // The result's one-line detail is already Runner-redacted. Causes,\n // stacks, paths, and arbitrary context remain outside this durable\n // family. An unsafe or oversized detail is deliberately replaced by\n // a generic bounded summary and represented as partial coverage.\n summary: retainedSummary ?? makeBoundedSafeText(value.kind === \"execution-error\"\n ? \"Runner recorded an execution error.\"\n : \"Runner recorded an advisory diagnostic.\", MAX_DIAGNOSTIC_SUMMARY_BYTES)!,\n causes: Object.freeze([]),\n context: Object.freeze([]),\n redaction: Object.freeze({ state: \"none\" as const }),\n sourceFrame: null,\n refs: Object.freeze([]),\n }));\n });\n };\n if (input.result.error !== undefined) {\n yield* append(Object.freeze({\n code: input.result.error.code,\n detail: input.result.error.message,\n kind: \"execution-error\" as const,\n origin: input.result.error.origin,\n }));\n }\n for (const diagnostic of input.result.diagnostics ?? []) {\n yield* append(Object.freeze({\n code: diagnostic.code,\n detail: diagnostic.detail,\n kind: diagnostic.level === \"error\" ? \"execution-error\" as const : \"advisory\" as const,\n ...(diagnostic.origin === undefined ? {} : { origin: diagnostic.origin }),\n }));\n }\n return Object.freeze({\n collection: limitations.collection(),\n diagnostics: Object.freeze([...diagnostics].sort((left, right) => compareObservabilityText(left.diagnosticId, right.diagnosticId))),\n });\n });\n}\nfunction runDiagnosticPhase(origin: TimingOrigin | undefined): RunDiagnostic[\"phase\"] {\n // Runner's existing experiment diagnostic accumulator predates the\n // owner-local Attachment and represents its lifecycle anchor as an Attempt\n // origin. Its phase is still a real Run fact; no timing-node or provider\n // attribute is inferred here.\n switch (origin?.scope === \"attempt\" ? origin.phase : undefined) {\n case \"judge.precheck\":\n case \"experiment.setup\":\n return \"run.setup\";\n case \"sandbox.queue\":\n return \"run.dispatch\";\n case \"experiment.teardown\":\n return \"run.teardown\";\n default:\n return \"collection\";\n }\n}\nfunction normalizeRunDiagnostics(input: {\n readonly diagnostics: readonly DiagnosticRecord[] | undefined;\n readonly mint: RunEntityMinter;\n}): Effect.Effect<NormalizedRunObservabilityCapture[\"diagnostics\"], RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const limitations = new RunnerCollectionLimitations();\n if (input.diagnostics === undefined) {\n limitations.addCaptureFailed(\"run-teardown\", \"diagnostic\");\n return Object.freeze({ collection: limitations.collection(), diagnostics: Object.freeze([]) });\n }\n const diagnostics: RunDiagnostic[] = [];\n for (const source of input.diagnostics) {\n const code = makeSafeIdentifier(source.code);\n if (code === undefined) {\n limitations.addUnsupported(\"diagnostic\");\n continue;\n }\n const summary = makeBoundedSafeText(source.detail, MAX_DIAGNOSTIC_SUMMARY_BYTES);\n if (summary === undefined)\n limitations.addUnsupported(\"diagnostic\");\n if (diagnostics.length >= MAX_DIAGNOSTICS) {\n limitations.addCap(\"diagnostic\", diagnostics.length);\n continue;\n }\n const diagnosticId = yield* input.mint(\"diagnostic\");\n diagnostics.push(Object.freeze({\n diagnosticId: diagnosticId as DiagnosticId,\n kind: source.level === \"error\" ? \"execution-error\" as const : \"advisory\" as const,\n code,\n phase: runDiagnosticPhase(source.origin),\n summary: summary ?? makeBoundedSafeText(source.level === \"error\"\n ? \"Runner recorded an execution error.\"\n : \"Runner recorded an advisory diagnostic.\", MAX_DIAGNOSTIC_SUMMARY_BYTES)!,\n causes: Object.freeze([]),\n context: Object.freeze([]),\n redaction: Object.freeze({ state: \"none\" as const }),\n sourceFrame: null,\n refs: Object.freeze([]),\n }));\n }\n return Object.freeze({\n collection: limitations.collection(),\n diagnostics: Object.freeze([...diagnostics].sort((left, right) => compareObservabilityText(left.diagnosticId, right.diagnosticId))),\n });\n });\n}\n/**\n * Normalizes only facts already sealed by Runner. It never reads legacy\n * result.json, raw transcript/provider data, Report/Sample data, or paths.\n */\nexport function createRunnerAttemptObservabilityCapture(input: {\n readonly result: EvalResult;\n readonly sealed: SealedAttemptAssertions;\n}): Effect.Effect<NormalizedAttemptObservabilityCapture, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const runtime = runnerAttemptResultStates.get(input.result);\n if (runtime === undefined)\n return yield* Effect.fail(producerCaptureMissing());\n if (runtime.failure !== undefined)\n return yield* Effect.fail(runtime.failure);\n const minter = makeAttemptEntityMinter(runtime);\n const commands = normalizeCommands(runtime);\n const usage = normalizeUsage({ result: input.result, runtime });\n const timingNormalization = yield* normalizeAttemptTiming({\n result: input.result,\n mint: minter.mint,\n turns: runtime.conversationTurns,\n });\n if (runtime.conversationTurns.some((turn) => !timingNormalization.intervalByTurnId.has(turn.turnId))) {\n runtime.conversationLimitations.addCaptureFailed(\"timing-capture\", \"conversation-item\");\n }\n const conversation = yield* normalizeConversation({\n mint: minter.mint,\n runtime,\n });\n const diagnostics = yield* normalizeAttemptDiagnostics({ result: input.result, mint: minter.mint });\n if (runtime.failure !== undefined)\n return yield* Effect.fail(runtime.failure);\n if (!minter.seal())\n return yield* Effect.fail(producerCaptureSealInvalid(\"attempt\"));\n runnerAttemptResultTurnIntervals.set(input.result, new Map(timingNormalization.intervalByTurnId));\n return Object.freeze({\n conversation,\n commands,\n usage,\n timing: timingNormalization.timing,\n diagnostics,\n });\n });\n}\n/**\n * The generic Record adapter receives only per-experiment facts that Runner\n * can safely attribute to one Run. Invocation-wide timing remains partial:\n * its single clock cannot be copied into every Run without inventing owner\n * attribution. Settled Run diagnostics are bound by run.ts immediately before\n * this same publish boundary.\n */\nexport function createRunnerRunObservabilityCapture(input: {\n readonly run: AgentRun;\n}): Effect.Effect<NormalizedRunObservabilityCapture, RunnerObservabilityProducerError> {\n return Effect.gen(function* () {\n const capture = makeRunObservabilityCaptureIdentity();\n const minter = makeRunEntityMinter(capture);\n const timingLimitations = new RunnerCollectionLimitations();\n timingLimitations.addCaptureFailed(\"run-teardown\", \"timing-interval\");\n const diagnostics = yield* normalizeRunDiagnostics({\n diagnostics: runnerRunDiagnostics.get(input.run),\n mint: minter.mint,\n });\n if (!minter.seal())\n return yield* Effect.fail(producerCaptureSealInvalid(\"run\"));\n return Object.freeze({\n timing: Object.freeze({\n collection: timingLimitations.collection(),\n intervals: Object.freeze([]),\n }),\n diagnostics,\n });\n });\n}\n"]}
|