niceeval 0.13.2 → 0.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/bub.cjs +4 -4
- package/dist/agents/bub.cjs.map +1 -1
- package/dist/agents/bub.d.cts +2 -2
- package/dist/agents/bub.d.mts +2 -2
- package/dist/agents/bub.d.ts +2 -2
- package/dist/agents/claude-code-native.cjs +213 -0
- package/dist/agents/claude-code-native.cjs.map +1 -0
- package/dist/agents/claude-code-native.d.cts +5 -0
- package/dist/agents/claude-code-native.d.mts +5 -0
- package/dist/agents/claude-code-native.d.ts +5 -0
- package/dist/agents/claude-code-native.js +6 -0
- package/dist/agents/claude-code-native.js.map +1 -0
- package/dist/agents/claude-code.cjs +26 -80
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/codex-app-server.cjs +314 -0
- package/dist/agents/codex-app-server.cjs.map +1 -0
- package/dist/agents/codex-app-server.d.cts +9 -0
- package/dist/agents/codex-app-server.d.mts +9 -0
- package/dist/agents/codex-app-server.d.ts +9 -0
- package/dist/agents/codex-app-server.js +6 -0
- package/dist/agents/codex-app-server.js.map +1 -0
- package/dist/agents/codex.cjs +19 -68
- package/dist/agents/codex.cjs.map +1 -1
- package/dist/agents/codex.d.cts +3 -3
- package/dist/agents/codex.d.mts +3 -3
- package/dist/agents/codex.d.ts +3 -3
- package/dist/agents/index.cjs +3 -1
- package/dist/agents/index.cjs.map +1 -1
- package/dist/agents/index.d.cts +1 -0
- package/dist/agents/index.d.mts +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.js +84 -82
- package/dist/agents/index.mjs +84 -82
- package/dist/agents/managed-jsonl.cjs +207 -0
- package/dist/agents/managed-jsonl.cjs.map +1 -0
- package/dist/agents/managed-jsonl.d.cts +39 -0
- package/dist/agents/managed-jsonl.d.mts +39 -0
- package/dist/agents/managed-jsonl.d.ts +39 -0
- package/dist/agents/managed-jsonl.js +6 -0
- package/dist/agents/managed-jsonl.js.map +1 -0
- package/dist/agents/managed-process.cjs +31 -0
- package/dist/agents/managed-process.cjs.map +1 -0
- package/dist/agents/managed-process.d.cts +3 -0
- package/dist/agents/managed-process.d.mts +3 -0
- package/dist/agents/managed-process.d.ts +3 -0
- package/dist/agents/managed-process.js +6 -0
- package/dist/agents/managed-process.js.map +1 -0
- package/dist/agents/omp.cjs +18 -1
- package/dist/agents/omp.cjs.map +1 -1
- package/dist/agents/sdk-streams.cjs +11 -4
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +8 -0
- package/dist/agents/types.d.mts +8 -0
- package/dist/agents/types.d.ts +8 -0
- package/dist/analysis/bindings.cjs +74 -19
- package/dist/analysis/bindings.cjs.map +1 -1
- package/dist/analysis/bindings.d.cts +534 -156
- package/dist/analysis/bindings.d.mts +534 -156
- package/dist/analysis/bindings.d.ts +534 -156
- package/dist/analysis/domain-view.cjs.map +1 -1
- package/dist/analysis/domain-view.d.cts +137 -8
- package/dist/analysis/domain-view.d.mts +137 -8
- package/dist/analysis/domain-view.d.ts +137 -8
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +1 -1
- package/dist/analysis/index.d.mts +1 -1
- package/dist/analysis/index.d.ts +1 -1
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +62 -0
- package/dist/assertions/api.d.mts +62 -0
- package/dist/assertions/api.d.ts +62 -0
- package/dist/assertions/judge.cjs +56 -5
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/match.cjs +66 -42
- package/dist/assertions/match.cjs.map +1 -1
- package/dist/assertions/match.d.cts +13 -0
- package/dist/assertions/match.d.mts +13 -0
- package/dist/assertions/match.d.ts +13 -0
- package/dist/assertions/record/attachment.cjs +104 -33
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/attachment.d.cts +294 -57
- package/dist/assertions/record/attachment.d.mts +294 -57
- package/dist/assertions/record/attachment.d.ts +294 -57
- package/dist/assertions/record/codec.cjs +91 -17
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/codec.d.cts +280 -52
- package/dist/assertions/record/codec.d.mts +280 -52
- package/dist/assertions/record/codec.d.ts +280 -52
- package/dist/assertions/record/index.js +2 -0
- package/dist/assertions/record/model.cjs +16 -0
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +120 -13
- package/dist/assertions/record/model.d.mts +120 -13
- package/dist/assertions/record/model.d.ts +120 -13
- package/dist/assertions/record/model.js +2 -0
- package/dist/assertions/record/producer.cjs +70 -50
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +8 -7
- package/dist/assertions/record/producer.d.mts +8 -7
- package/dist/assertions/record/producer.d.ts +8 -7
- package/dist/assertions/runtime.cjs +49 -7
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/cli/application.cjs +40 -0
- package/dist/cli/application.cjs.map +1 -0
- package/dist/cli/application.d.cts +129 -0
- package/dist/cli/application.d.mts +129 -0
- package/dist/cli/application.d.ts +129 -0
- package/dist/cli/application.js +24 -0
- package/dist/cli/application.js.map +1 -0
- package/dist/cli/bootstrap.cjs +10 -4
- package/dist/cli/bootstrap.cjs.map +1 -1
- package/dist/cli/node-application.cjs +123 -0
- package/dist/cli/node-application.cjs.map +1 -0
- package/dist/cli/node-application.d.cts +14 -0
- package/dist/cli/node-application.d.mts +14 -0
- package/dist/cli/node-application.d.ts +14 -0
- package/dist/cli/node-application.js +26 -0
- package/dist/cli/node-application.js.map +1 -0
- package/dist/cli/program.cjs +2807 -0
- package/dist/cli/program.cjs.map +1 -0
- package/dist/cli/program.d.cts +352 -0
- package/dist/cli/program.d.mts +352 -0
- package/dist/cli/program.d.ts +352 -0
- package/dist/cli/program.js +36 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/project-configuration.cjs +134 -0
- package/dist/cli/project-configuration.cjs.map +1 -0
- package/dist/cli/project-configuration.d.cts +64 -0
- package/dist/cli/project-configuration.d.mts +64 -0
- package/dist/cli/project-configuration.d.ts +64 -0
- package/dist/cli/project-configuration.js +22 -0
- package/dist/cli/project-configuration.js.map +1 -0
- package/dist/cli/record.cjs +20 -4
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +3 -3
- package/dist/cli/record.d.mts +3 -3
- package/dist/cli/record.d.ts +3 -3
- package/dist/cli.cjs +19 -3130
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +2 -148
- package/dist/cli.d.mts +2 -148
- package/dist/cli.d.ts +2 -148
- package/dist/cli.js +22 -30
- package/dist/context/assert-first.cjs +21 -15
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +1 -0
- package/dist/context/assert-first.d.mts +1 -0
- package/dist/context/assert-first.d.ts +1 -0
- package/dist/context/attempt-resources.cjs +13 -0
- package/dist/context/attempt-resources.cjs.map +1 -0
- package/dist/context/attempt-resources.d.cts +3 -0
- package/dist/context/attempt-resources.d.mts +3 -0
- package/dist/context/attempt-resources.d.ts +3 -0
- package/dist/context/attempt-resources.js +8 -0
- package/dist/context/attempt-resources.js.map +1 -0
- package/dist/context/session.cjs +4 -3
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +1 -0
- package/dist/context/session.d.mts +1 -0
- package/dist/context/session.d.ts +1 -0
- package/dist/eval/record/verdict.cjs +3 -2
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/experiment/host/index.cjs +1 -6
- package/dist/experiment/host/index.cjs.map +1 -1
- package/dist/experiment/host/index.d.cts +1 -0
- package/dist/experiment/host/index.d.mts +1 -0
- package/dist/experiment/host/index.d.ts +1 -0
- package/dist/load-config.cjs +13 -4
- package/dist/load-config.cjs.map +1 -1
- package/dist/load-config.d.cts +4 -3
- package/dist/load-config.d.mts +4 -3
- package/dist/load-config.d.ts +4 -3
- package/dist/load-config.js +4 -2
- package/dist/o11y/parsers/codex.cjs +29 -7
- package/dist/o11y/parsers/codex.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +0 -2
- package/dist/record/codec/core.d.mts +0 -2
- package/dist/record/codec/core.d.ts +0 -2
- package/dist/record/codec/identifiers.cjs +2 -3
- package/dist/record/codec/identifiers.cjs.map +1 -1
- package/dist/record/codec/identifiers.d.cts +1 -2
- package/dist/record/codec/identifiers.d.mts +1 -2
- package/dist/record/codec/identifiers.d.ts +1 -2
- package/dist/record/codec/identifiers.js +10 -12
- package/dist/record/codec/index.js +42 -44
- package/dist/record/definition/attachment.cjs +1 -0
- package/dist/record/definition/attachment.cjs.map +1 -1
- package/dist/record/definition/attachment.d.cts +14 -0
- package/dist/record/definition/attachment.d.mts +14 -0
- package/dist/record/definition/attachment.d.ts +14 -0
- package/dist/record/family/assertions-v1.cjs +104 -0
- package/dist/record/family/assertions-v1.cjs.map +1 -0
- package/dist/record/family/assertions-v1.d.cts +2 -0
- package/dist/record/family/assertions-v1.d.mts +2 -0
- package/dist/record/family/assertions-v1.d.ts +2 -0
- package/dist/record/family/assertions-v1.js +6 -0
- package/dist/record/family/assertions-v1.js.map +1 -0
- package/dist/record/family/assertions.cjs +16 -5
- package/dist/record/family/assertions.cjs.map +1 -1
- package/dist/record/family/assertions.d.cts +510 -56
- package/dist/record/family/assertions.d.mts +510 -56
- package/dist/record/family/assertions.d.ts +510 -56
- package/dist/record/family/assertions.js +14 -10
- package/dist/record/family/catalog.cjs +17 -1
- package/dist/record/family/catalog.cjs.map +1 -1
- package/dist/record/family/catalog.d.cts +1292 -104
- package/dist/record/family/catalog.d.mts +1292 -104
- package/dist/record/family/catalog.d.ts +1292 -104
- package/dist/record/family/catalog.js +22 -20
- package/dist/record/family/index.js +144 -138
- package/dist/record/family/observability-v1.cjs +5 -0
- package/dist/record/family/observability-v1.cjs.map +1 -1
- package/dist/record/family/observability.cjs +1 -1
- package/dist/record/family/observability.cjs.map +1 -1
- package/dist/record/host/runtime.cjs +323 -173
- package/dist/record/host/runtime.cjs.map +1 -1
- package/dist/record/host/types.cjs.map +1 -1
- package/dist/record/host/types.d.cts +9 -7
- package/dist/record/host/types.d.mts +9 -7
- package/dist/record/host/types.d.ts +9 -7
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +1 -2
- package/dist/record/model/core.d.mts +1 -2
- package/dist/record/model/core.d.ts +1 -2
- package/dist/record/model/definition.cjs +1 -2
- package/dist/record/model/definition.cjs.map +1 -1
- package/dist/record/model/definition.d.cts +1 -7
- package/dist/record/model/definition.d.mts +1 -7
- package/dist/record/model/definition.d.ts +1 -7
- package/dist/record/model/identifiers.cjs +2 -3
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +1 -3
- package/dist/record/model/identifiers.d.mts +1 -3
- package/dist/record/model/identifiers.d.ts +1 -3
- package/dist/record/model/identifiers.js +36 -38
- package/dist/record/model/index.js +60 -62
- package/dist/record/platform/node.cjs +17 -7
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +8 -3
- package/dist/record/platform/services.d.mts +8 -3
- package/dist/record/platform/services.d.ts +8 -3
- package/dist/record/reader/format.cjs +16 -65
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +5 -9
- package/dist/record/reader/format.d.mts +5 -9
- package/dist/record/reader/format.d.ts +5 -9
- package/dist/record/reader/index.js +10 -8
- package/dist/record/reader/runtime.cjs +63 -32
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +40 -4
- package/dist/record/reader/runtime.d.mts +40 -4
- package/dist/record/reader/runtime.d.ts +40 -4
- package/dist/record/reader/runtime.js +6 -4
- package/dist/report/assets/enhance.js +5 -5
- package/dist/report/assets/styles.css +190 -24
- package/dist/report/built-in/result-components.cjs +8 -5
- package/dist/report/built-in/result-components.cjs.map +1 -1
- package/dist/report/built-in/standard.cjs +3 -0
- package/dist/report/built-in/standard.cjs.map +1 -1
- package/dist/report/built-in/standard.d.cts +2 -0
- package/dist/report/built-in/standard.d.mts +2 -0
- package/dist/report/built-in/standard.d.ts +2 -0
- package/dist/report/client-dist/app.js +53 -0
- package/dist/report/components/attempt-detail/compute.cjs +108 -231
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -1
- package/dist/report/components/attempt-detail/compute.d.cts +11 -45
- package/dist/report/components/attempt-detail/compute.d.mts +11 -45
- package/dist/report/components/attempt-detail/compute.d.ts +11 -45
- package/dist/report/components/attempt-detail/compute.js +2 -4
- package/dist/report/components/attempt-detail/content.cjs +4 -4
- package/dist/report/components/attempt-detail/content.cjs.map +1 -1
- package/dist/report/components/attempt-detail/validate.cjs +47 -4
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -1
- package/dist/report/components/entity-lists/compute.cjs +9 -15
- package/dist/report/components/entity-lists/compute.cjs.map +1 -1
- package/dist/report/components/entity-lists/content.cjs +53 -40
- package/dist/report/components/entity-lists/content.cjs.map +1 -1
- package/dist/report/components/entity-lists/index.cjs +1 -3
- package/dist/report/components/entity-lists/index.cjs.map +1 -1
- package/dist/report/components/experiment-detail/compute.cjs +4 -6
- package/dist/report/components/experiment-detail/compute.cjs.map +1 -1
- package/dist/report/components/summaries/index.cjs +5 -1
- package/dist/report/components/summaries/index.cjs.map +1 -1
- package/dist/report/definition/cell.cjs +14 -7
- package/dist/report/definition/cell.cjs.map +1 -1
- package/dist/report/definition/cell.d.cts +4 -0
- package/dist/report/definition/cell.d.mts +4 -0
- package/dist/report/definition/cell.d.ts +4 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs +96 -0
- package/dist/report/definition/primitives/assertion-evidence.cjs.map +1 -0
- package/dist/report/definition/primitives/assertion-evidence.d.cts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.mts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.d.ts +11 -0
- package/dist/report/definition/primitives/assertion-evidence.js +6 -0
- package/dist/report/definition/primitives/assertion-evidence.js.map +1 -0
- package/dist/report/definition/primitives/conversation.cjs +7 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -1
- package/dist/report/definition/primitives/conversation.d.cts +2 -0
- package/dist/report/definition/primitives/conversation.d.mts +2 -0
- package/dist/report/definition/primitives/conversation.d.ts +2 -0
- package/dist/report/definition/primitives/turn-trace.cjs +53 -3
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -1
- package/dist/report/definition/primitives.cjs +14 -1
- package/dist/report/definition/primitives.cjs.map +1 -1
- package/dist/report/definition/report.cjs +16 -8
- package/dist/report/definition/report.cjs.map +1 -1
- package/dist/report/definition/report.d.cts +6 -0
- package/dist/report/definition/report.d.mts +6 -0
- package/dist/report/definition/report.d.ts +6 -0
- package/dist/report/definition/table-text.cjs +12 -3
- package/dist/report/definition/table-text.cjs.map +1 -1
- package/dist/report/definition/table-text.d.cts +6 -1
- package/dist/report/definition/table-text.d.mts +6 -1
- package/dist/report/definition/table-text.d.ts +6 -1
- package/dist/report/execution/model.cjs +6 -14
- package/dist/report/execution/model.cjs.map +1 -1
- package/dist/report/execution/model.d.cts +5 -10
- package/dist/report/execution/model.d.mts +5 -10
- package/dist/report/execution/model.d.ts +5 -10
- package/dist/report/execution/model.js +6 -6
- package/dist/report/execution/paths.cjs +0 -11
- package/dist/report/execution/paths.cjs.map +1 -1
- package/dist/report/execution/paths.d.cts +0 -1
- package/dist/report/execution/paths.d.mts +0 -1
- package/dist/report/execution/paths.d.ts +0 -1
- package/dist/report/execution/paths.js +6 -8
- package/dist/report/host/execute.cjs +13 -22
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +1 -4
- package/dist/report/host/execute.d.mts +1 -4
- package/dist/report/host/execute.d.ts +1 -4
- package/dist/report/host/from-record.cjs +3 -0
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/from-record.d.cts +4 -1
- package/dist/report/host/from-record.d.mts +4 -1
- package/dist/report/host/from-record.d.ts +4 -1
- package/dist/report/host/site-assets.cjs +1 -2
- package/dist/report/host/site-assets.cjs.map +1 -1
- package/dist/report/host/site-assets.d.cts +0 -1
- package/dist/report/host/site-assets.d.mts +0 -1
- package/dist/report/host/site-assets.d.ts +0 -1
- package/dist/report/host/site-assets.js +2 -4
- package/dist/report/host/static.cjs +71 -346
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/host/static.d.cts +1 -3
- package/dist/report/host/static.d.mts +1 -3
- package/dist/report/host/static.d.ts +1 -3
- package/dist/report/host/static.js +2 -2
- package/dist/report/host/view-session.cjs.map +1 -1
- package/dist/report/host/view-session.d.cts +1 -1
- package/dist/report/host/view-session.d.mts +1 -1
- package/dist/report/host/view-session.d.ts +1 -1
- package/dist/report/model/locale.cjs +1 -1
- package/dist/report/model/locale.cjs.map +1 -1
- package/dist/report/model/locale.d.cts +1 -1
- package/dist/report/model/locale.d.mts +1 -1
- package/dist/report/model/locale.d.ts +1 -1
- package/dist/report/model/pricing.cjs +2 -2
- package/dist/report/model/pricing.cjs.map +1 -1
- package/dist/report/react/enhance.js +5 -5
- package/dist/report/react/styles.css +190 -24
- package/dist/runner/adoption.cjs +4 -7
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/attempt-resources.cjs +60 -0
- package/dist/runner/attempt-resources.cjs.map +1 -0
- package/dist/runner/attempt-resources.d.cts +13 -0
- package/dist/runner/attempt-resources.d.mts +13 -0
- package/dist/runner/attempt-resources.d.ts +13 -0
- package/dist/runner/attempt-resources.js +6 -0
- package/dist/runner/attempt-resources.js.map +1 -0
- package/dist/runner/attempt.cjs +37 -3
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/feedback/failure.cjs +77 -2
- package/dist/runner/feedback/failure.cjs.map +1 -1
- package/dist/runner/feedback/failure.d.cts +2 -1
- package/dist/runner/feedback/failure.d.mts +2 -1
- package/dist/runner/feedback/failure.d.ts +2 -1
- package/dist/runner/project-current.cjs +2 -13
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/project-current.d.cts +4 -2
- package/dist/runner/project-current.d.mts +4 -2
- package/dist/runner/project-current.d.ts +4 -2
- package/dist/runner/reporters/braintrust.cjs +7 -7
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reuse-readback.cjs +3 -4
- package/dist/runner/reuse-readback.cjs.map +1 -1
- package/dist/runner/run.cjs +5 -2
- package/dist/runner/run.cjs.map +1 -1
- package/dist/sandbox/backend.cjs +32 -2
- package/dist/sandbox/backend.cjs.map +1 -1
- package/dist/sandbox/backend.d.cts +12 -1
- package/dist/sandbox/backend.d.mts +12 -1
- package/dist/sandbox/backend.d.ts +12 -1
- package/dist/sandbox/backend.js +28 -22
- package/dist/sandbox/docker.cjs +140 -0
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +3 -1
- package/dist/sandbox/docker.d.mts +3 -1
- package/dist/sandbox/docker.d.ts +3 -1
- package/dist/sandbox/e2b.cjs +42 -0
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/e2b.d.cts +2 -0
- package/dist/sandbox/e2b.d.mts +2 -0
- package/dist/sandbox/e2b.d.ts +2 -0
- package/dist/sandbox/local.cjs +64 -0
- package/dist/sandbox/local.cjs.map +1 -1
- package/dist/sandbox/local.d.cts +3 -1
- package/dist/sandbox/local.d.mts +3 -1
- package/dist/sandbox/local.d.ts +3 -1
- package/dist/sandbox/managed-process.cjs +49 -0
- package/dist/sandbox/managed-process.cjs.map +1 -0
- package/dist/sandbox/managed-process.d.cts +11 -0
- package/dist/sandbox/managed-process.d.mts +11 -0
- package/dist/sandbox/managed-process.d.ts +11 -0
- package/dist/sandbox/managed-process.js +6 -0
- package/dist/sandbox/managed-process.js.map +1 -0
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +24 -0
- package/dist/sandbox/types.d.mts +24 -0
- package/dist/sandbox/types.d.ts +24 -0
- package/dist/sandbox/vercel.cjs +1 -0
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sandbox/vercel.d.cts +1 -0
- package/dist/sandbox/vercel.d.mts +1 -0
- package/dist/sandbox/vercel.d.ts +1 -0
- package/dist/view/server.cjs +2 -37
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +0 -3
- package/dist/view/server.d.mts +0 -3
- package/dist/view/server.d.ts +0 -3
- package/docs-site/zh/reference/builtin-agents.mdx +7 -7
- package/docs-site/zh/reference/official-adapters.mdx +4 -4
- package/docs-site/zh/reference/report-components.mdx +2 -2
- package/docs-site/zh/tutorials/configuration.mdx +2 -2
- package/docs-site/zh/tutorials/deploy-report-site.mdx +24 -2
- package/docs-site/zh/tutorials/publish-report.mdx +4 -4
- package/docs-site/zh/tutorials/sandbox-agent.mdx +5 -5
- package/docs-site/zh/tutorials/theming.mdx +2 -2
- package/package.json +4 -6
- package/dist/record/migration/index.cjs +0 -5
- package/dist/record/migration/index.cjs.map +0 -1
- package/dist/record/migration/index.d.cts +0 -11
- package/dist/record/migration/index.d.mts +0 -11
- package/dist/record/migration/index.d.ts +0 -11
- package/dist/record/migration/index.js +0 -6
- package/dist/record/migration/index.js.map +0 -1
- package/dist/report/host/site-runtime.cjs +0 -92
- package/dist/report/host/site-runtime.cjs.map +0 -1
- package/dist/report/host/site-runtime.d.cts +0 -9
- package/dist/report/host/site-runtime.d.mts +0 -9
- package/dist/report/host/site-runtime.d.ts +0 -9
- package/dist/report/host/site-runtime.js +0 -10
- package/dist/report/host/site-runtime.js.map +0 -1
- package/dist/view/client-dist/app.css +0 -2
- package/dist/view/client-dist/app.js +0 -49
- package/dist/view/data.cjs +0 -3
- package/dist/view/data.cjs.map +0 -1
- package/dist/view/data.d.cts +0 -9
- package/dist/view/data.d.mts +0 -9
- package/dist/view/data.d.ts +0 -9
- package/dist/view/data.js +0 -4
- package/dist/view/data.js.map +0 -1
- package/dist/view/index.cjs +0 -24
- package/dist/view/index.cjs.map +0 -1
- package/dist/view/index.d.cts +0 -9
- package/dist/view/index.d.mts +0 -9
- package/dist/view/index.d.ts +0 -9
- package/dist/view/index.js +0 -28
- package/dist/view/index.js.map +0 -1
- package/dist/view/report-view-cache.cjs +0 -200
- package/dist/view/report-view-cache.cjs.map +0 -1
- package/dist/view/report-view-cache.d.cts +0 -67
- package/dist/view/report-view-cache.d.mts +0 -67
- package/dist/view/report-view-cache.d.ts +0 -67
- package/dist/view/report-view-cache.js +0 -8
- package/dist/view/report-view-cache.js.map +0 -1
- package/dist/view/shared/types.cjs +0 -3
- package/dist/view/shared/types.cjs.map +0 -1
- package/dist/view/shared/types.d.cts +0 -51
- package/dist/view/shared/types.d.mts +0 -51
- package/dist/view/shared/types.d.ts +0 -51
- package/dist/view/shared/types.js +0 -4
- package/dist/view/shared/types.js.map +0 -1
- package/dist/view/site.cjs +0 -32
- package/dist/view/site.cjs.map +0 -1
- package/dist/view/site.d.cts +0 -24
- package/dist/view/site.d.mts +0 -24
- package/dist/view/site.d.ts +0 -24
- package/dist/view/site.js +0 -8
- package/dist/view/site.js.map +0 -1
- package/dist/view/styles.css +0 -170
- package/dist/view/template.html +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.js","sourceRoot":"","sources":["observability.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { Schema } from \"effect\";\nimport { CanonicalProjectRelativePathSchema, Sha256DigestSchema, SourceItemIdSchema, } from \"../codec/identifiers.ts\";\nimport { RecordBlobRefSchema, type RecordBlobRef, } from \"../attachment/blob-ref.ts\";\nimport { recordAttachmentIssue, type RecordAttachmentIssue } from \"../attachment/errors.ts\";\nimport { defineRecordAttachment } from \"../definition/index.ts\";\nimport type { SourcesAttachment } from \"./sources.ts\";\nimport { MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_STREAM_BYTES, } from \"../../o11y/record/limits.ts\";\nimport { isCanonicalTurnLabel } from \"../../shared/turn-label.ts\";\nimport { FixedAttachmentValueLimits, NonNegativeSafeIntegerSchema, EmptyArraySchema, PositiveSafeIntegerSchema, SafeIdentifierSchema, SafeTextSchema, isCanonicalIdentitySequence, } from \"./common.ts\";\nconst ObservabilityTargetSchema = Schema.Literal(\"conversation\", \"command\", \"usage\", \"timing\", \"diagnostic\");\nconst ObservabilityLimitationSchema = Schema.Union(Schema.Struct({\n code: Schema.Literal(\"capture-failed\", \"capture-interrupted\"),\n stage: Schema.Literal(\"adapter\", \"command-capture\", \"usage-capture\", \"timing-capture\", \"diagnostic-capture\", \"attempt-finalizer\", \"run-teardown\"),\n target: ObservabilityTargetSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"collection-cap-reached\", \"unsupported-input\"),\n target: ObservabilityTargetSchema,\n omittedAtLeast: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"text-truncated\", \"redacted\"),\n target: ObservabilityTargetSchema,\n replacementOrOmittedCount: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"stream-truncated\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n retainedBytes: NonNegativeSafeIntegerSchema,\n omittedBytes: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"invalid-utf8-replaced\", \"unsafe-control-stripped\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n count: PositiveSafeIntegerSchema,\n}));\nconst ObservabilityCollectionStateSchema = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"complete\"),\n limitations: EmptyArraySchema,\n}), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n limitations: Schema.NonEmptyArray(ObservabilityLimitationSchema),\n}));\nconst ConversationTurnSchema = Schema.Struct({\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n});\nconst ConversationItemBase = {\n itemId: SafeIdentifierSchema,\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n} as const;\nconst ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-call\"),\n callId: SafeIdentifierSchema,\n tool: SafeIdentifierSchema,\n inputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-result\"),\n callId: SafeIdentifierSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"thinking-summary\", \"compaction\", \"context-injection\"),\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: SafeTextSchema,\n responseSummary: Schema.NullOr(SafeTextSchema),\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"skill-load\", \"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}));\nexport const AttemptConversationCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n}).pipe(Schema.filter((value) => {\n // Conversation is temporal. Producers retain turns and items in their\n // observed sequence, so canonicality is unique identity plus a strictly\n // increasing sequence (not lexical ordering of ids such as turn-9 and\n // turn-10).\n if (new Set(value.turns.map((turn) => turn.turnId)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.itemId)).size !== value.items.length)\n return false;\n const turnIds = new Set(value.turns.map((turn) => turn.turnId));\n if (new Set(value.turns.map((turn) => turn.sequence)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.sequence)).size !== value.items.length)\n return false;\n if (value.turns.some((turn, index) => index > 0 && value.turns[index - 1]!.sequence >= turn.sequence))\n return false;\n if (value.items.some((item, index) => index > 0 && value.items[index - 1]!.sequence >= item.sequence))\n return false;\n const callIds = new Map<string, {\n readonly turnId: string;\n readonly sequence: number;\n }>();\n for (const item of value.items) {\n if (!turnIds.has(item.turnId))\n return false;\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.set(item.callId, { turnId: item.turnId, sequence: item.sequence });\n }\n }\n // Resolve every call first, then validate results by their explicit\n // sequence.\n const resultIds = new Set<string>();\n for (const item of value.items) {\n if (item.kind === \"tool-result\") {\n const call = callIds.get(item.callId);\n if (call === undefined || resultIds.has(item.callId) ||\n call.turnId !== item.turnId || item.sequence <= call.sequence)\n return false;\n resultIds.add(item.callId);\n }\n }\n return value.collection.state !== \"complete\" || [...callIds.keys()].every((id) => resultIds.has(id));\n}, {\n identifier: \"AttemptConversationCollection\",\n description: \"canonical turns/items with matched tool calls in a complete collection\",\n}));\nconst CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"inline\"), text: SafeTextSchema }), Schema.Struct({ kind: Schema.Literal(\"blob\"), ref: RecordBlobRefSchema })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n /** Digest of the exact retained safe bytes, whether inline or blob-backed. */\n sha256: Sha256DigestSchema,\n}).pipe(Schema.filter((value) => {\n if (value.totalSafeUtf8Bytes < value.retainedBytes ||\n value.retainedBytes > MAX_COMMAND_STREAM_BYTES)\n return false;\n if (value.storage.kind !== \"inline\")\n return true;\n return value.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES &&\n new TextEncoder().encode(value.storage.text).byteLength === value.retainedBytes;\n}, {\n identifier: \"CommandStream\",\n description: \"a stream whose retained bytes cannot exceed the observed safe bytes\",\n}));\nconst CommandObservationSchema = Schema.Struct({\n commandId: SafeIdentifierSchema,\n manifest: Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: SafeTextSchema,\n arguments: Schema.Array(SafeTextSchema),\n }), Schema.Struct({ kind: Schema.Literal(\"shell\"), command: SafeTextSchema })),\n workingDirectory: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: CanonicalProjectRelativePathSchema,\n }), Schema.Struct({ kind: Schema.Literal(\"redacted\") })),\n }),\n result: Schema.Struct({\n outcome: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value))),\n }), Schema.Struct({\n kind: Schema.Literal(\"terminated\"),\n reason: Schema.Literal(\"timeout\", \"cancelled\", \"transport-lost\"),\n }), Schema.Struct({\n kind: Schema.Literal(\"not-started\"),\n reason: Schema.Literal(\"spawn-failed\", \"cancelled-before-start\"),\n })),\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n }),\n});\nfunction hasStreamTruncationLimitation(limitations: readonly unknown[], commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n if (totalSafeUtf8Bytes === retainedBytes)\n return true;\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return limitations.some((limitation) => {\n if (typeof limitation !== \"object\" || limitation === null)\n return false;\n const candidate = limitation as Record<string, unknown>;\n return candidate.code === \"stream-truncated\" &&\n candidate.commandId === commandId &&\n candidate.stream === stream &&\n candidate.retainedBytes === retainedBytes &&\n candidate.omittedBytes === omittedBytes;\n });\n}\nfunction hasCanonicalCommandsCollection(value: {\n readonly collection: {\n readonly limitations: readonly unknown[];\n };\n readonly commands: readonly Schema.Schema.Type<typeof CommandObservationSchema>[];\n}): boolean {\n if (value.commands.length > 256 ||\n !isCanonicalIdentitySequence(value.commands.map((command) => command.commandId)))\n return false;\n for (const command of value.commands) {\n for (const [streamName, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if ((stream.storage.kind === \"inline\") !==\n (stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES) ||\n !hasStreamTruncationLimitation(value.collection.limitations, command.commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes))\n return false;\n }\n }\n return true;\n}\nexport const AttemptCommandsCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n commands: Schema.Array(CommandObservationSchema),\n}).pipe(Schema.filter(hasCanonicalCommandsCollection, {\n identifier: \"AttemptCommandsCollection\",\n description: \"canonical command identities\",\n}));\nconst UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"token-bucket\"),\n provider: SafeIdentifierSchema,\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"request\"),\n provider: SafeIdentifierSchema,\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"provider-cost\"),\n provider: SafeIdentifierSchema,\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$/.test(value))),\n currency: Schema.String.pipe(Schema.filter((value) => /^[A-Z]{3}$/.test(value))),\n}));\nexport const AttemptUsageCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n observations: Schema.Array(UsageObservationSchema),\n}).pipe(Schema.filter((value) => isCanonicalIdentitySequence(value.observations.map((observation) => observation.usageObservationId)), { identifier: \"AttemptUsageCollection\", description: \"canonical usage identities\" }));\nconst AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nconst RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\ninterface TimingEntryForValidation {\n readonly intervalId: string;\n readonly parentIntervalId: string | null;\n readonly outcome: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n}\ninterface TimingCollectionForValidation {\n readonly collection: {\n readonly state: string;\n };\n readonly intervals: readonly TimingEntryForValidation[];\n}\nfunction isTimingEntryForValidation(value: unknown): value is TimingEntryForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"intervalId\" in value &&\n typeof value.intervalId === \"string\" &&\n \"parentIntervalId\" in value &&\n (typeof value.parentIntervalId === \"string\" || value.parentIntervalId === null) &&\n \"outcome\" in value &&\n typeof value.outcome === \"string\" &&\n \"startOffsetMs\" in value &&\n typeof value.startOffsetMs === \"number\" &&\n \"durationMs\" in value &&\n typeof value.durationMs === \"number\");\n}\nfunction isTimingCollectionForValidation(value: unknown): value is TimingCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"collection\" in value &&\n typeof value.collection === \"object\" &&\n value.collection !== null &&\n \"state\" in value.collection &&\n typeof value.collection.state === \"string\" &&\n \"intervals\" in value &&\n Array.isArray(value.intervals) &&\n value.intervals.every(isTimingEntryForValidation));\n}\nfunction hasCanonicalTimingCollection(value: unknown): boolean {\n if (!isTimingCollectionForValidation(value))\n return false;\n if (!isCanonicalIdentitySequence(value.intervals.map((entry) => entry.intervalId))) {\n return false;\n }\n const byId = new Map(value.intervals.map((entry) => [entry.intervalId, entry] as const));\n for (const entry of value.intervals) {\n const end = entry.startOffsetMs + entry.durationMs;\n if (!Number.isSafeInteger(end))\n return false;\n if (entry.parentIntervalId === null)\n continue;\n const parent = byId.get(entry.parentIntervalId);\n if (parent === undefined)\n return false;\n const parentEnd = parent.startOffsetMs + parent.durationMs;\n if (!Number.isSafeInteger(parentEnd) || entry.startOffsetMs < parent.startOffsetMs ||\n end > parentEnd)\n return false;\n const visited = new Set<string>([entry.intervalId]);\n let cursor: TimingEntryForValidation | undefined = parent;\n while (cursor !== undefined && cursor.parentIntervalId !== null) {\n if (visited.has(cursor.intervalId))\n return false;\n visited.add(cursor.intervalId);\n cursor = byId.get(cursor.parentIntervalId);\n if (cursor === undefined)\n return false;\n }\n }\n return (value.collection.state !== \"complete\" ||\n value.intervals.every((entry) => entry.outcome !== \"unknown\"));\n}\nfunction timingCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const interval = Schema.Struct({\n intervalId: SafeIdentifierSchema,\n phase,\n label: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nconst CanonicalTurnLabelSchema = Schema.String.pipe(Schema.filter(isCanonicalTurnLabel, {\n identifier: \"CanonicalTurnLabel\",\n description: \"a canonical turnN or sessionK/turnN timing label\",\n}));\nfunction attemptTimingCollectionSchema<Label extends Schema.Schema.AnyNoContext>(agentSendLabel: Label) {\n const intervalBase = {\n intervalId: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n } as const;\n const interval = Schema.Union(Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"agent.send\"),\n label: agentSendLabel,\n }), Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"),\n label: SafeIdentifierSchema,\n }));\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nexport const AttemptTimingCollectionSchema = attemptTimingCollectionSchema(Schema.Union(SafeIdentifierSchema, CanonicalTurnLabelSchema));\n/** Exact historical v1 timing shape: every label was a SafeIdentifier. */\nexport const AttemptTimingCollectionV1Schema = attemptTimingCollectionSchema(SafeIdentifierSchema);\nexport const RunTimingCollectionSchema = timingCollectionSchema(RunTimingPhaseSchema);\nconst SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceItemIdSchema,\n sha256: Sha256DigestSchema,\n start: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n end: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n});\ninterface DiagnosticForValidation {\n readonly diagnosticId: string;\n}\ninterface DiagnosticsCollectionForValidation {\n readonly diagnostics: readonly DiagnosticForValidation[];\n}\nfunction isDiagnosticForValidation(value: unknown): value is DiagnosticForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnosticId\" in value &&\n typeof value.diagnosticId === \"string\");\n}\nfunction isDiagnosticsCollectionForValidation(value: unknown): value is DiagnosticsCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnostics\" in value &&\n Array.isArray(value.diagnostics) &&\n value.diagnostics.every(isDiagnosticForValidation));\n}\nfunction hasCanonicalDiagnosticsCollection(value: unknown): boolean {\n return (isDiagnosticsCollectionForValidation(value) &&\n isCanonicalIdentitySequence(value.diagnostics.map((diagnostic) => diagnostic.diagnosticId)));\n}\nfunction diagnosticsCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const diagnostic = Schema.Struct({\n diagnosticId: SafeIdentifierSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase,\n summary: SafeTextSchema,\n causes: Schema.Array(Schema.Struct({ code: SafeIdentifierSchema, summary: SafeTextSchema })),\n redaction: Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({ state: Schema.Literal(\"applied\"), replacements: PositiveSafeIntegerSchema })),\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n diagnostics: Schema.Array(diagnostic),\n }).pipe(Schema.filter(hasCanonicalDiagnosticsCollection, { identifier: \"DiagnosticsCollection\", description: \"canonical diagnostic identities\" }));\n}\nexport const AttemptDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"));\nexport const RunDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\"));\n/** Exact Attempt owner payload for the one fixed Observability family. */\nexport const AttemptObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact historical v1 payload; only the agent.send label domain differs from v2. */\nexport const AttemptObservabilityAttachmentV1Schema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionV1Schema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact Run owner payload for the same fixed Observability family. */\nexport const RunObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"run\")).pipe(Schema.fromKey(\"owner-kind\")),\n timing: Schema.propertySignature(RunTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(RunDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\nexport type AttemptObservabilityAttachment = Schema.Schema.Type<typeof AttemptObservabilityAttachmentSchema>;\nexport type RunObservabilityAttachment = Schema.Schema.Type<typeof RunObservabilityAttachmentSchema>;\nexport type ObservabilityAttachment = AttemptObservabilityAttachment | RunObservabilityAttachment;\nfunction commandStreamBlobRefs(stream: Schema.Schema.Type<typeof CommandStreamSchema>): readonly RecordBlobRef[] {\n return stream.storage.kind === \"blob\" ? [stream.storage.ref] : [];\n}\n/** Complete closure projection for `niceeval.observability`. */\nexport function observabilityBlobRefs(payload: ObservabilityAttachment): readonly RecordBlobRef[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n return Object.freeze(payload.commands.commands.flatMap((command) => [\n ...commandStreamBlobRefs(command.result.stdout),\n ...commandStreamBlobRefs(command.result.stderr),\n ]));\n}\nfunction commandStreamIntegrityIssues(stream: Schema.Schema.Type<typeof CommandStreamSchema>, blobs: ReadonlyMap<RecordBlobRef, Uint8Array>, path: readonly string[]): readonly RecordAttachmentIssue[] {\n const bytes = stream.storage.kind === \"inline\"\n ? new TextEncoder().encode(stream.storage.text)\n : blobs.get(stream.storage.ref);\n if (bytes === undefined) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n if (stream.storage.kind === \"blob\") {\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f]/.test(text)) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n catch {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n if (bytes.byteLength !== stream.retainedBytes || stream.totalSafeUtf8Bytes < bytes.byteLength) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"retainedBytes\"]),\n ]);\n }\n if (createHash(\"sha256\").update(bytes).digest(\"hex\") !== stream.sha256) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"sha256\"]),\n ]);\n }\n return Object.freeze([]);\n}\n/** Own-closure checks shared by the writer seal and the reader materializer. */\nexport function observabilityAttachmentIntegrityIssues(payload: ObservabilityAttachment, blobs: readonly {\n readonly ref: RecordBlobRef;\n readonly bytes: Uint8Array;\n}[]): readonly RecordAttachmentIssue[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n const bytesByRef = new Map<RecordBlobRef, Uint8Array>(blobs.map((blob) => [blob.ref, blob.bytes] as const));\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, command] of payload.commands.commands.entries()) {\n issues.push(...commandStreamIntegrityIssues(command.result.stdout, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stdout\"]));\n issues.push(...commandStreamIntegrityIssues(command.result.stderr, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stderr\"]));\n }\n return Object.freeze(issues);\n}\n/**\n * The Sources closure belongs to the origin Run, so this cross-family join is\n * deliberately performed by Host's common seal/read boundary rather than by\n * a family-local reader special case.\n */\nexport function observabilitySourceFrameIntegrityIssues(payload: ObservabilityAttachment, sources: SourcesAttachment): readonly RecordAttachmentIssue[] {\n const sourceById = new Map(sources.items.map((item) => [item.sourceItemId, item] as const));\n const diagnostics = payload.diagnostics.diagnostics;\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, diagnostic] of diagnostics.entries()) {\n const frame = diagnostic.sourceFrame;\n if (frame === null)\n continue;\n const source = sourceById.get(frame.sourceItemId);\n if (source === undefined || source.sha256 !== frame.sha256) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n continue;\n }\n const startsAfterEnd = frame.start.line > frame.end.line ||\n (frame.start.line === frame.end.line && frame.start.column > frame.end.column);\n if (startsAfterEnd) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n }\n }\n return Object.freeze(issues);\n}\nconst AttemptObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 4000,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 64 * 1024 * 1024,\n});\nconst RunObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 256,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 16 * 1024 * 1024,\n});\n/** One family declaration owns both Observability owner payloads. */\nexport const observabilityRecordAttachment = defineRecordAttachment({\n family: \"niceeval.observability\",\n current: {\n schemaVersion: 2,\n owners: {\n attempt: {\n schema: AttemptObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: AttemptObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n run: {\n schema: RunObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: RunObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n },\n },\n maintenance: () => __niceevalDynamicImport(\"./observability-v1.cjs\").then(({ observabilityV1Maintenance }) => observabilityV1Maintenance),\n adjacentMigrationLinks: Object.freeze([\n Object.freeze({ fromSchemaVersion: 1, toSchemaVersion: 2 }),\n ]),\n});\n"]}
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["observability.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { Schema } from \"effect\";\nimport { CanonicalProjectRelativePathSchema, Sha256DigestSchema, SourceItemIdSchema, } from \"../codec/identifiers.ts\";\nimport { RecordBlobRefSchema, type RecordBlobRef, } from \"../attachment/blob-ref.ts\";\nimport { recordAttachmentIssue, type RecordAttachmentIssue } from \"../attachment/errors.ts\";\nimport { defineRecordAttachment } from \"../definition/index.ts\";\nimport type { SourcesAttachment } from \"./sources.ts\";\nimport { MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_STREAM_BYTES, } from \"../../o11y/record/limits.ts\";\nimport { isCanonicalTurnLabel } from \"../../shared/turn-label.ts\";\nimport { FixedAttachmentValueLimits, NonNegativeSafeIntegerSchema, EmptyArraySchema, PositiveSafeIntegerSchema, SafeIdentifierSchema, SafeTextSchema, isCanonicalIdentitySequence, } from \"./common.ts\";\nconst ObservabilityTargetSchema = Schema.Literal(\"conversation\", \"command\", \"usage\", \"timing\", \"diagnostic\");\nconst ObservabilityLimitationSchema = Schema.Union(Schema.Struct({\n code: Schema.Literal(\"capture-failed\", \"capture-interrupted\"),\n stage: Schema.Literal(\"adapter\", \"command-capture\", \"usage-capture\", \"timing-capture\", \"diagnostic-capture\", \"attempt-finalizer\", \"run-teardown\"),\n target: ObservabilityTargetSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"collection-cap-reached\", \"unsupported-input\"),\n target: ObservabilityTargetSchema,\n omittedAtLeast: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"text-truncated\", \"redacted\"),\n target: ObservabilityTargetSchema,\n replacementOrOmittedCount: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"stream-truncated\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n retainedBytes: NonNegativeSafeIntegerSchema,\n omittedBytes: PositiveSafeIntegerSchema,\n}), Schema.Struct({\n code: Schema.Literal(\"invalid-utf8-replaced\", \"unsafe-control-stripped\"),\n commandId: SafeIdentifierSchema,\n stream: Schema.Literal(\"stdout\", \"stderr\"),\n count: PositiveSafeIntegerSchema,\n}));\nconst ObservabilityCollectionStateSchema = Schema.Union(Schema.Struct({\n state: Schema.Literal(\"complete\"),\n limitations: EmptyArraySchema,\n}), Schema.Struct({\n state: Schema.Literal(\"partial\"),\n limitations: Schema.NonEmptyArray(ObservabilityLimitationSchema),\n}));\nconst ConversationTurnSchema = Schema.Struct({\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n});\nconst ConversationItemBase = {\n itemId: SafeIdentifierSchema,\n turnId: SafeIdentifierSchema,\n sequence: PositiveSafeIntegerSchema,\n} as const;\nconst ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-call\"),\n callId: SafeIdentifierSchema,\n tool: SafeIdentifierSchema,\n inputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"tool-result\"),\n callId: SafeIdentifierSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"thinking-summary\", \"compaction\", \"context-injection\"),\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: SafeTextSchema,\n responseSummary: Schema.NullOr(SafeTextSchema),\n}), Schema.Struct({\n ...ConversationItemBase,\n kind: Schema.Literal(\"skill-load\", \"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: SafeTextSchema,\n}));\nexport const AttemptConversationCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n}).pipe(Schema.filter((value) => {\n // Conversation is temporal. Producers retain turns and items in their\n // observed sequence, so canonicality is unique identity plus a strictly\n // increasing sequence (not lexical ordering of ids such as turn-9 and\n // turn-10).\n if (new Set(value.turns.map((turn) => turn.turnId)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.itemId)).size !== value.items.length)\n return false;\n const turnIds = new Set(value.turns.map((turn) => turn.turnId));\n if (new Set(value.turns.map((turn) => turn.sequence)).size !== value.turns.length)\n return false;\n if (new Set(value.items.map((item) => item.sequence)).size !== value.items.length)\n return false;\n if (value.turns.some((turn, index) => index > 0 && value.turns[index - 1]!.sequence >= turn.sequence))\n return false;\n if (value.items.some((item, index) => index > 0 && value.items[index - 1]!.sequence >= item.sequence))\n return false;\n const callIds = new Map<string, {\n readonly turnId: string;\n readonly sequence: number;\n }>();\n for (const item of value.items) {\n if (!turnIds.has(item.turnId))\n return false;\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.set(item.callId, { turnId: item.turnId, sequence: item.sequence });\n }\n }\n // Resolve every call first, then validate results by their explicit\n // sequence.\n const resultIds = new Set<string>();\n for (const item of value.items) {\n if (item.kind === \"tool-result\") {\n const call = callIds.get(item.callId);\n if (call === undefined || resultIds.has(item.callId) ||\n call.turnId !== item.turnId || item.sequence <= call.sequence)\n return false;\n resultIds.add(item.callId);\n }\n }\n return value.collection.state !== \"complete\" || [...callIds.keys()].every((id) => resultIds.has(id));\n}, {\n identifier: \"AttemptConversationCollection\",\n description: \"canonical turns/items with matched tool calls in a complete collection\",\n}));\nconst CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"inline\"), text: SafeTextSchema }), Schema.Struct({ kind: Schema.Literal(\"blob\"), ref: RecordBlobRefSchema })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n /** Digest of the exact retained safe bytes, whether inline or blob-backed. */\n sha256: Sha256DigestSchema,\n}).pipe(Schema.filter((value) => {\n if (value.totalSafeUtf8Bytes < value.retainedBytes ||\n value.retainedBytes > MAX_COMMAND_STREAM_BYTES)\n return false;\n if (value.storage.kind !== \"inline\")\n return true;\n return value.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES &&\n new TextEncoder().encode(value.storage.text).byteLength === value.retainedBytes;\n}, {\n identifier: \"CommandStream\",\n description: \"a stream whose retained bytes cannot exceed the observed safe bytes\",\n}));\nconst CommandObservationSchema = Schema.Struct({\n commandId: SafeIdentifierSchema,\n manifest: Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: SafeTextSchema,\n arguments: Schema.Array(SafeTextSchema),\n }), Schema.Struct({ kind: Schema.Literal(\"shell\"), command: SafeTextSchema })),\n workingDirectory: Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: CanonicalProjectRelativePathSchema,\n }), Schema.Struct({ kind: Schema.Literal(\"redacted\") })),\n }),\n result: Schema.Struct({\n outcome: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value))),\n }), Schema.Struct({\n kind: Schema.Literal(\"terminated\"),\n reason: Schema.Literal(\"timeout\", \"cancelled\", \"transport-lost\"),\n }), Schema.Struct({\n kind: Schema.Literal(\"not-started\"),\n reason: Schema.Literal(\"spawn-failed\", \"cancelled-before-start\"),\n })),\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n }),\n});\nfunction hasStreamTruncationLimitation(limitations: readonly unknown[], commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n if (totalSafeUtf8Bytes === retainedBytes)\n return true;\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return limitations.some((limitation) => {\n if (typeof limitation !== \"object\" || limitation === null)\n return false;\n const candidate = limitation as Record<string, unknown>;\n return candidate.code === \"stream-truncated\" &&\n candidate.commandId === commandId &&\n candidate.stream === stream &&\n candidate.retainedBytes === retainedBytes &&\n candidate.omittedBytes === omittedBytes;\n });\n}\nfunction hasCanonicalCommandsCollection(value: {\n readonly collection: {\n readonly limitations: readonly unknown[];\n };\n readonly commands: readonly Schema.Schema.Type<typeof CommandObservationSchema>[];\n}): boolean {\n if (value.commands.length > 256 ||\n !isCanonicalIdentitySequence(value.commands.map((command) => command.commandId)))\n return false;\n for (const command of value.commands) {\n for (const [streamName, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if ((stream.storage.kind === \"inline\") !==\n (stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES) ||\n !hasStreamTruncationLimitation(value.collection.limitations, command.commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes))\n return false;\n }\n }\n return true;\n}\nexport const AttemptCommandsCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n commands: Schema.Array(CommandObservationSchema),\n}).pipe(Schema.filter(hasCanonicalCommandsCollection, {\n identifier: \"AttemptCommandsCollection\",\n description: \"canonical command identities\",\n}));\nconst UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"token-bucket\"),\n provider: SafeIdentifierSchema,\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"request\"),\n provider: SafeIdentifierSchema,\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: SafeIdentifierSchema,\n kind: Schema.Literal(\"provider-cost\"),\n provider: SafeIdentifierSchema,\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$/.test(value))),\n currency: Schema.String.pipe(Schema.filter((value) => /^[A-Z]{3}$/.test(value))),\n}));\nexport const AttemptUsageCollectionSchema = Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n observations: Schema.Array(UsageObservationSchema),\n}).pipe(Schema.filter((value) => isCanonicalIdentitySequence(value.observations.map((observation) => observation.usageObservationId)), { identifier: \"AttemptUsageCollection\", description: \"canonical usage identities\" }));\nconst AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nconst RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\ninterface TimingEntryForValidation {\n readonly intervalId: string;\n readonly parentIntervalId: string | null;\n readonly outcome: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n}\ninterface TimingCollectionForValidation {\n readonly collection: {\n readonly state: string;\n };\n readonly intervals: readonly TimingEntryForValidation[];\n}\nfunction isTimingEntryForValidation(value: unknown): value is TimingEntryForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"intervalId\" in value &&\n typeof value.intervalId === \"string\" &&\n \"parentIntervalId\" in value &&\n (typeof value.parentIntervalId === \"string\" || value.parentIntervalId === null) &&\n \"outcome\" in value &&\n typeof value.outcome === \"string\" &&\n \"startOffsetMs\" in value &&\n typeof value.startOffsetMs === \"number\" &&\n \"durationMs\" in value &&\n typeof value.durationMs === \"number\");\n}\nfunction isTimingCollectionForValidation(value: unknown): value is TimingCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"collection\" in value &&\n typeof value.collection === \"object\" &&\n value.collection !== null &&\n \"state\" in value.collection &&\n typeof value.collection.state === \"string\" &&\n \"intervals\" in value &&\n Array.isArray(value.intervals) &&\n value.intervals.every(isTimingEntryForValidation));\n}\nfunction hasCanonicalTimingCollection(value: unknown): boolean {\n if (!isTimingCollectionForValidation(value))\n return false;\n if (!isCanonicalIdentitySequence(value.intervals.map((entry) => entry.intervalId))) {\n return false;\n }\n const byId = new Map(value.intervals.map((entry) => [entry.intervalId, entry] as const));\n for (const entry of value.intervals) {\n const end = entry.startOffsetMs + entry.durationMs;\n if (!Number.isSafeInteger(end))\n return false;\n if (entry.parentIntervalId === null)\n continue;\n const parent = byId.get(entry.parentIntervalId);\n if (parent === undefined)\n return false;\n const parentEnd = parent.startOffsetMs + parent.durationMs;\n if (!Number.isSafeInteger(parentEnd) || entry.startOffsetMs < parent.startOffsetMs ||\n end > parentEnd)\n return false;\n const visited = new Set<string>([entry.intervalId]);\n let cursor: TimingEntryForValidation | undefined = parent;\n while (cursor !== undefined && cursor.parentIntervalId !== null) {\n if (visited.has(cursor.intervalId))\n return false;\n visited.add(cursor.intervalId);\n cursor = byId.get(cursor.parentIntervalId);\n if (cursor === undefined)\n return false;\n }\n }\n return (value.collection.state !== \"complete\" ||\n value.intervals.every((entry) => entry.outcome !== \"unknown\"));\n}\nfunction timingCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const interval = Schema.Struct({\n intervalId: SafeIdentifierSchema,\n phase,\n label: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nconst CanonicalTurnLabelSchema = Schema.String.pipe(Schema.filter(isCanonicalTurnLabel, {\n identifier: \"CanonicalTurnLabel\",\n description: \"a canonical turnN or sessionK/turnN timing label\",\n}));\nfunction attemptTimingCollectionSchema<Label extends Schema.Schema.AnyNoContext>(agentSendLabel: Label) {\n const intervalBase = {\n intervalId: SafeIdentifierSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(SafeIdentifierSchema),\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\"),\n } as const;\n const interval = Schema.Union(Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"agent.send\"),\n label: agentSendLabel,\n }), Schema.Struct({\n ...intervalBase,\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"),\n label: SafeIdentifierSchema,\n }));\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n intervals: Schema.Array(interval),\n }).pipe(Schema.filter(hasCanonicalTimingCollection, { identifier: \"TimingCollection\", description: \"canonical timing intervals with valid parents\" }));\n}\nexport const AttemptTimingCollectionSchema = attemptTimingCollectionSchema(Schema.Union(SafeIdentifierSchema, CanonicalTurnLabelSchema));\n/** Exact historical v1 timing shape: every label was a SafeIdentifier. */\nexport const AttemptTimingCollectionV1Schema = attemptTimingCollectionSchema(SafeIdentifierSchema);\nexport const RunTimingCollectionSchema = timingCollectionSchema(RunTimingPhaseSchema);\nconst SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceItemIdSchema,\n sha256: Sha256DigestSchema,\n start: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n end: Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n }),\n});\ninterface DiagnosticForValidation {\n readonly diagnosticId: string;\n}\ninterface DiagnosticsCollectionForValidation {\n readonly diagnostics: readonly DiagnosticForValidation[];\n}\nfunction isDiagnosticForValidation(value: unknown): value is DiagnosticForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnosticId\" in value &&\n typeof value.diagnosticId === \"string\");\n}\nfunction isDiagnosticsCollectionForValidation(value: unknown): value is DiagnosticsCollectionForValidation {\n return (typeof value === \"object\" &&\n value !== null &&\n \"diagnostics\" in value &&\n Array.isArray(value.diagnostics) &&\n value.diagnostics.every(isDiagnosticForValidation));\n}\nfunction hasCanonicalDiagnosticsCollection(value: unknown): boolean {\n return (isDiagnosticsCollectionForValidation(value) &&\n isCanonicalIdentitySequence(value.diagnostics.map((diagnostic) => diagnostic.diagnosticId)));\n}\nfunction diagnosticsCollectionSchema<Phase extends Schema.Schema.AnyNoContext>(phase: Phase) {\n const diagnostic = Schema.Struct({\n diagnosticId: SafeIdentifierSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase,\n summary: SafeTextSchema,\n causes: Schema.Array(Schema.Struct({ code: SafeIdentifierSchema, summary: SafeTextSchema })),\n redaction: Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({ state: Schema.Literal(\"applied\"), replacements: PositiveSafeIntegerSchema })),\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n });\n return Schema.Struct({\n collection: ObservabilityCollectionStateSchema,\n diagnostics: Schema.Array(diagnostic),\n }).pipe(Schema.filter(hasCanonicalDiagnosticsCollection, { identifier: \"DiagnosticsCollection\", description: \"canonical diagnostic identities\" }));\n}\nexport const AttemptDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\"));\nexport const RunDiagnosticsCollectionSchema = diagnosticsCollectionSchema(Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\"));\n/** Exact Attempt owner payload for the one fixed Observability family. */\nexport const AttemptObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact historical v1 payload; only the agent.send label domain differs from v2. */\nexport const AttemptObservabilityAttachmentV1Schema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"attempt\")).pipe(Schema.fromKey(\"owner-kind\")),\n conversation: Schema.propertySignature(AttemptConversationCollectionSchema).pipe(Schema.fromKey(\"conversation-data\")),\n commands: Schema.propertySignature(AttemptCommandsCollectionSchema).pipe(Schema.fromKey(\"commands-data\")),\n usage: Schema.propertySignature(AttemptUsageCollectionSchema).pipe(Schema.fromKey(\"usage-data\")),\n timing: Schema.propertySignature(AttemptTimingCollectionV1Schema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(AttemptDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\n/** Exact Run owner payload for the same fixed Observability family. */\nexport const RunObservabilityAttachmentSchema = Schema.Struct({\n owner: Schema.propertySignature(Schema.Literal(\"run\")).pipe(Schema.fromKey(\"owner-kind\")),\n timing: Schema.propertySignature(RunTimingCollectionSchema).pipe(Schema.fromKey(\"timing-data\")),\n diagnostics: Schema.propertySignature(RunDiagnosticsCollectionSchema).pipe(Schema.fromKey(\"diagnostics-data\")),\n});\nexport type AttemptObservabilityAttachment = Schema.Schema.Type<typeof AttemptObservabilityAttachmentSchema>;\nexport type RunObservabilityAttachment = Schema.Schema.Type<typeof RunObservabilityAttachmentSchema>;\nexport type ObservabilityAttachment = AttemptObservabilityAttachment | RunObservabilityAttachment;\nfunction commandStreamBlobRefs(stream: Schema.Schema.Type<typeof CommandStreamSchema>): readonly RecordBlobRef[] {\n return stream.storage.kind === \"blob\" ? [stream.storage.ref] : [];\n}\n/** Complete closure projection for `niceeval.observability`. */\nexport function observabilityBlobRefs(payload: ObservabilityAttachment): readonly RecordBlobRef[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n return Object.freeze(payload.commands.commands.flatMap((command) => [\n ...commandStreamBlobRefs(command.result.stdout),\n ...commandStreamBlobRefs(command.result.stderr),\n ]));\n}\nfunction commandStreamIntegrityIssues(stream: Schema.Schema.Type<typeof CommandStreamSchema>, blobs: ReadonlyMap<RecordBlobRef, Uint8Array>, path: readonly string[]): readonly RecordAttachmentIssue[] {\n const bytes = stream.storage.kind === \"inline\"\n ? new TextEncoder().encode(stream.storage.text)\n : blobs.get(stream.storage.ref);\n if (bytes === undefined) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n if (stream.storage.kind === \"blob\") {\n try {\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n if (/[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f]/.test(text)) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n catch {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"storage\"]),\n ]);\n }\n }\n if (bytes.byteLength !== stream.retainedBytes || stream.totalSafeUtf8Bytes < bytes.byteLength) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"retainedBytes\"]),\n ]);\n }\n if (createHash(\"sha256\").update(bytes).digest(\"hex\") !== stream.sha256) {\n return Object.freeze([\n recordAttachmentIssue(\"record-attachment-materialized-invalid\", [...path, \"sha256\"]),\n ]);\n }\n return Object.freeze([]);\n}\n/** Own-closure checks shared by the writer seal and the reader materializer. */\nexport function observabilityAttachmentIntegrityIssues(payload: ObservabilityAttachment, blobs: readonly {\n readonly ref: RecordBlobRef;\n readonly bytes: Uint8Array;\n}[]): readonly RecordAttachmentIssue[] {\n if (!(\"commands\" in payload))\n return Object.freeze([]);\n const bytesByRef = new Map<RecordBlobRef, Uint8Array>(blobs.map((blob) => [blob.ref, blob.bytes] as const));\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, command] of payload.commands.commands.entries()) {\n issues.push(...commandStreamIntegrityIssues(command.result.stdout, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stdout\"]));\n issues.push(...commandStreamIntegrityIssues(command.result.stderr, bytesByRef, [\"commands\", \"commands\", String(index), \"result\", \"stderr\"]));\n }\n return Object.freeze(issues);\n}\n/**\n * The Sources closure belongs to the origin Run, so this cross-family join is\n * deliberately performed by Host's common seal/read boundary rather than by\n * a family-local reader special case.\n */\nexport function observabilitySourceFrameIntegrityIssues(payload: ObservabilityAttachment, sources: SourcesAttachment): readonly RecordAttachmentIssue[] {\n const sourceById = new Map(sources.items.map((item) => [item.sourceItemId, item] as const));\n const diagnostics = payload.diagnostics.diagnostics;\n const issues: RecordAttachmentIssue[] = [];\n for (const [index, diagnostic] of diagnostics.entries()) {\n const frame = diagnostic.sourceFrame;\n if (frame === null)\n continue;\n const source = sourceById.get(frame.sourceItemId);\n if (source === undefined || source.sha256 !== frame.sha256) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n continue;\n }\n const startsAfterEnd = frame.start.line > frame.end.line ||\n (frame.start.line === frame.end.line && frame.start.column > frame.end.column);\n if (startsAfterEnd) {\n issues.push(recordAttachmentIssue(\"record-attachment-materialized-invalid\", [\"diagnostics\", \"diagnostics\", String(index), \"sourceFrame\"]));\n }\n }\n return Object.freeze(issues);\n}\nconst AttemptObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 4000,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 64 * 1024 * 1024,\n});\nconst RunObservabilityBlobBudget = Object.freeze({\n maximumBlobs: 256,\n maximumBlobBytes: 16 * 1024 * 1024,\n maximumTotalBytes: 16 * 1024 * 1024,\n});\n/** One family declaration owns both Observability owner payloads. */\nexport const observabilityRecordAttachment = defineRecordAttachment({\n family: \"niceeval.observability\",\n current: {\n schemaVersion: 2,\n owners: {\n attempt: {\n schema: AttemptObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: AttemptObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n run: {\n schema: RunObservabilityAttachmentSchema,\n limits: FixedAttachmentValueLimits,\n blobs: {\n refs: observabilityBlobRefs,\n budget: RunObservabilityBlobBudget,\n verify: observabilityAttachmentIntegrityIssues,\n },\n },\n },\n },\n maintenance: () => __niceevalDynamicImport(\"./observability-v1.cjs\").then(({ observabilityV1Maintenance }) => observabilityV1Maintenance),\n adjacentMigrationLinks: Object.freeze([\n Object.freeze({ fromSchemaVersion: 1, toSchemaVersion: 2, rewritePayload: false }),\n ]),\n});\n"]}
|