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
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,uEAAuE;AACvE,yCAA2G;AAAlG,uGAAA,UAAU,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAIrF,qCAA8D;AAArD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC1C,6CAA6C;AAC7C,6EAA6E;AAC7E,8DAAiG;AAAxF,wHAAA,oBAAoB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA","sourcesContent":["// niceeval 公开导出(import { … } from \"niceeval\")。\n// Agent/Adapter 相关见 \"niceeval/adapter\";Sandbox 相关见 \"niceeval/sandbox\"。\nexport { defineEval, defineScoreEval, defineEvalGroup, defineConfig, defineExperiment } from \"./define.ts\";\nexport type { AssertionEntryId } from \"./assertions/identity.ts\";\nexport type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from \"./assertions/workspace-diff.ts\";\nexport type { PostRunBooleanAssertionHandle } from \"./assertions/api.ts\";\nexport { requireEnv, getEnv, stripComments } from \"./util.ts\";\n// 执行失败分类:抛出点糖衣类(声明死因波及多远)+ 结构守卫。判据、分类链与止损语义见\n// docs/feature/error-classification/README.md;`niceeval/adapter` 复导出同一份词表类型。\nexport { ExperimentFatalError, EvalFatalError, failureClassOf } from \"./shared/failure-class.ts\";\n// 类型(eval 作者会用到;跑哪个 agent / 用哪个 sandbox 见对应子路径)\nexport type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from \"./types.ts\";\nexport type { ParsedTranscript } from \"./o11y/parsers/index.ts\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,uEAAuE;AACvE,yCAA2G;AAAlG,uGAAA,UAAU,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAIrF,qCAA8D;AAArD,qGAAA,UAAU,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC1C,6CAA6C;AAC7C,6EAA6E;AAC7E,8DAAiG;AAAxF,wHAAA,oBAAoB,OAAA;AAAE,kHAAA,cAAc,OAAA;AAAE,kHAAA,cAAc,OAAA","sourcesContent":["// niceeval 公开导出(import { … } from \"niceeval\")。\n// Agent/Adapter 相关见 \"niceeval/adapter\";Sandbox 相关见 \"niceeval/sandbox\"。\nexport { defineEval, defineScoreEval, defineEvalGroup, defineConfig, defineExperiment } from \"./define.ts\";\nexport type { AssertionEntryId } from \"./assertions/identity.ts\";\nexport type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspaceDiffHunks, AgentWorkspaceDiffPolicy, AgentWorkspaceDiff, AgentWorkspaceDiffWindow, AgentWorkspaceDiffWindowChange, } from \"./assertions/workspace-diff.ts\";\nexport type { PostRunBooleanAssertionHandle } from \"./assertions/api.ts\";\nexport { requireEnv, getEnv, stripComments } from \"./util.ts\";\n// 执行失败分类:抛出点糖衣类(声明死因波及多远)+ 结构守卫。判据、分类链与止损语义见\n// docs/feature/error-classification/README.md;`niceeval/adapter` 复导出同一份词表类型。\nexport { ExperimentFatalError, EvalFatalError, failureClassOf } from \"./shared/failure-class.ts\";\n// 类型(eval 作者会用到;跑哪个 agent / 用哪个 sandbox 见对应子路径)\nexport type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from \"./types.ts\";\nexport type { ParsedTranscript } from \"./o11y/parsers/index.ts\";\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -4,5 +4,5 @@ export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspac
|
|
|
4
4
|
export type { PostRunBooleanAssertionHandle } from "./assertions/api.cjs";
|
|
5
5
|
export { requireEnv, getEnv, stripComments } from "./util.cjs";
|
|
6
6
|
export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.cjs";
|
|
7
|
-
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.cjs";
|
|
7
|
+
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.cjs";
|
|
8
8
|
export type { ParsedTranscript } from "./o11y/parsers/index.cjs";
|
package/dist/index.d.mts
CHANGED
|
@@ -4,5 +4,5 @@ export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspac
|
|
|
4
4
|
export type { PostRunBooleanAssertionHandle } from "./assertions/api.mjs";
|
|
5
5
|
export { requireEnv, getEnv, stripComments } from "./util.mjs";
|
|
6
6
|
export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.mjs";
|
|
7
|
-
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.mjs";
|
|
7
|
+
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.mjs";
|
|
8
8
|
export type { ParsedTranscript } from "./o11y/parsers/index.mjs";
|
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export type { AgentSendWindowIdentity, AgentWorkspaceDiffEndpoint, AgentWorkspac
|
|
|
4
4
|
export type { PostRunBooleanAssertionHandle } from "./assertions/api.js";
|
|
5
5
|
export { requireEnv, getEnv, stripComments } from "./util.js";
|
|
6
6
|
export { ExperimentFatalError, EvalFatalError, failureClassOf } from "./shared/failure-class.js";
|
|
7
|
-
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.js";
|
|
7
|
+
export type { StreamEvent, ToolName, JsonValue, JsonMatch, Usage, Turn, EvidenceCoverageStatus, EvidenceCoverageEntry, EvidenceCoverage, TurnEvidenceCoverage, TurnInput, InputFile, AnswerValue, InputResponse, RespondAnswer, TurnHandle, SessionHandle, TestContext, ScoreTestContext, Verdict, EvalAuthorFields, EvalInput, ScoreEvalInput, EvalDefinition, AnyEvalDefinition, EvalGroupMember, EvalGroupInput, EvalGroupDefinition, EvaluationKind, EvalDescriptor, ExperimentAuthorFields, SharedStateConfig, ExperimentInput, ExperimentDefinition, ExperimentHook, ExperimentHookContext, Config, LocalizedText, JudgeConfig, JudgeDeclaration, JudgeMaterial, Reporter, ReporterEvent, EvalResult, AcceptedDifference, AcceptedResult, RetryAttemptRecord, InvocationSummary, InvocationShape, DiagnosticRecord, ExperimentRunInfo, SandboxRunInfo, ScriptResult, CommandResult, CalledToolAtLeast, CalledToolCount, CalledToolOptions, InputRequest, InputRequestFilter, O11ySummary, TraceSpan, SpanKind, DerivedFacts, FailureClass, FailureScope, AttemptFailureInfo, AttemptFailureClassifier, ExternalCause, ExternalCauseFact, ExternalCauseLink, ExternalCauseScalar, } from "./types.js";
|
|
8
8
|
export type { ParsedTranscript } from "./o11y/parsers/index.js";
|
|
@@ -159,7 +159,7 @@ function parseHermesTranscript(raw) {
|
|
|
159
159
|
events.push({ type: "message", role: "assistant", text: content });
|
|
160
160
|
}
|
|
161
161
|
else if (content?.trim() && role === "user" && !Array.isArray(toolCallsRaw)) {
|
|
162
|
-
//
|
|
162
|
+
// 用户消息不进行为断言主路径;保留会污染显式 message 值断言。跳过。
|
|
163
163
|
}
|
|
164
164
|
const reasoning = str(msg.reasoning) ?? str(msg.reasoning_content);
|
|
165
165
|
if (reasoning?.trim())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["hermes.ts"],"names":[],"mappings":"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","sourcesContent":["// Hermes sessions export / state.db 消息行解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/hermes/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const HERMES_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n terminal: \"shell\",\n read_file: \"file_read\",\n write_file: \"file_write\",\n edit_file: \"file_edit\",\n web_extract: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, HERMES_TOOL_ALIASES);\n}\n/** Hermes 的 terminal tool 给的是工具 arguments,不是可验证的 native argv。 */\nfunction commandProjectionForHermesTool(name: string) {\n return name.toLowerCase() === \"terminal\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\n/**\n * Hermes 以 `skill_view({ name })` 表示实际加载了一个已安装 Skill。它不是普通\n * 文件读取:对应的标准事件是 `skill.loaded`,这样判分和 execution 读面都无需猜工具文本。\n */\nfunction skillNameFromToolCall(name: string, input: JsonValue): string | undefined {\n if (name.toLowerCase() !== \"skill_view\")\n return undefined;\n return str(get(input, \"name\"));\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction optionalNum(obj: unknown, ...keys: string[]): number | undefined {\n for (const key of keys) {\n const value = get(obj, key);\n if (typeof value === \"number\" && Number.isFinite(value))\n return value;\n }\n return undefined;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction parseJsonField(value: unknown): unknown {\n if (typeof value !== \"string\")\n return value;\n try {\n return JSON.parse(value);\n }\n catch {\n return value;\n }\n}\n/**\n * Hermes sessions export JSONL(一行一 session,或一行一 message)→ 标准事件 + usage。\n */\nexport function parseHermesTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let observedCostUSD = 0;\n let hasObservedCostUSD = false;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n // `skill_view` 已转成 skill.loaded 后,其 tool result 不再重发成孤立 action 节点。\n const skillCallIds = new Set<string>();\n const nextSynthId = (): string => `hm_${++synth}`;\n if (!raw?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const ingestSessionMeta = (obj: globalThis.Record<string, unknown>): void => {\n inputTokens += num(obj, \"input_tokens\", \"inputTokens\");\n outputTokens += num(obj, \"output_tokens\", \"outputTokens\");\n cacheReadTokens += num(obj, \"cache_read_tokens\", \"cacheReadTokens\");\n cacheCreationTokens += num(obj, \"cache_write_tokens\", \"cacheWriteTokens\", \"cacheCreationTokens\");\n // estimated_cost_usd is an estimate owned by Hermes and is deliberately\n // not relabeled as provider-observed Usage.costUSD.\n const actual = optionalNum(obj, \"actual_cost_usd\", \"actualCostUsd\");\n if (actual !== undefined) {\n observedCostUSD += actual;\n hasObservedCostUSD = true;\n }\n const apiCalls = num(obj, \"api_call_count\", \"apiCallCount\");\n if (apiCalls)\n requests += apiCalls;\n };\n const ingestMessage = (msg: globalThis.Record<string, unknown>): void => {\n const role = str(msg.role) ?? \"assistant\";\n const content = str(msg.content);\n if (role === \"tool\" || str(msg.tool_call_id) || str(msg.toolCallId)) {\n const callId = str(msg.tool_call_id) ?? str(msg.toolCallId) ?? nextSynthId();\n if (skillCallIds.has(callId))\n return;\n const success = msg.is_error !== true && msg.isError !== true;\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (content ?? get(msg, \"output\") ?? null) as JsonValue,\n status: success ? \"completed\" : \"failed\",\n });\n return;\n }\n const toolCallsRaw = parseJsonField(msg.tool_calls ?? msg.toolCalls);\n if (Array.isArray(toolCallsRaw)) {\n for (const call of toolCallsRaw) {\n const fn = get(call, \"function\") as globalThis.Record<string, unknown> | undefined;\n const name = str(get(fn, \"name\")) ?? str(get(call, \"name\")) ?? str(msg.tool_name) ?? \"unknown\";\n const callId = str(get(call, \"id\")) ?? nextSynthId();\n const args = coerceArgs(get(fn, \"arguments\") ?? get(call, \"arguments\") ?? get(call, \"input\"));\n const skill = skillNameFromToolCall(name, args);\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n skillCallIds.add(callId);\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: args,\n tool: normalizeToolName(name),\n command: commandProjectionForHermesTool(name),\n },\n });\n }\n }\n if (content?.trim() && role !== \"user\" && role !== \"system\") {\n events.push({ type: \"message\", role: \"assistant\", text: content });\n }\n else if (content?.trim() && role === \"user\" && !Array.isArray(toolCallsRaw)) {\n // 用户消息不进行为断言主路径;保留会污染 messageIncludes。跳过。\n }\n const reasoning = str(msg.reasoning) ?? str(msg.reasoning_content);\n if (reasoning?.trim())\n events.push({ type: \"thinking\", text: reasoning });\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let obj: globalThis.Record<string, unknown>;\n try {\n obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 整 session 导出:带 messages[]\n if (Array.isArray(obj.messages)) {\n ingestSessionMeta(obj);\n for (const m of obj.messages) {\n if (m && typeof m === \"object\")\n ingestMessage(m as globalThis.Record<string, unknown>);\n }\n continue;\n }\n // 单行 message\n if (str(obj.role)) {\n ingestMessage(obj);\n continue;\n }\n // sqlite dump 行:{session_id, role, content, tool_calls, ...}\n if (str(obj.session_id) || str(obj.sessionId)) {\n ingestMessage(obj);\n continue;\n }\n ingestSessionMeta(obj);\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (hasObservedCostUSD)\n usage.costUSD = observedCostUSD;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n/** 从 export / stdout 文本里抠 session id。 */\nexport function sessionIdFromHermesOutput(raw: string | undefined): string | undefined {\n if (!raw)\n return undefined;\n for (const line of raw.split(\"\\n\")) {\n const resume = line.match(/hermes\\s+(?:chat\\s+)?(?:--resume|-r)\\s+(\\S+)/i);\n if (resume?.[1])\n return resume[1].replace(/[\"'`]/g, \"\");\n const labeled = line.match(/Session:\\s*([A-Za-z0-9_-]+)/i);\n if (labeled?.[1])\n return labeled[1];\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"{\"))\n continue;\n try {\n const obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n const id = str(obj.id) ?? str(obj.session_id) ?? str(obj.sessionId);\n if (id && (Array.isArray(obj.messages) || str(obj.source)))\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["hermes.ts"],"names":[],"mappings":"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","sourcesContent":["// Hermes sessions export / state.db 消息行解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/hermes/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const HERMES_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n terminal: \"shell\",\n read_file: \"file_read\",\n write_file: \"file_write\",\n edit_file: \"file_edit\",\n web_extract: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, HERMES_TOOL_ALIASES);\n}\n/** Hermes 的 terminal tool 给的是工具 arguments,不是可验证的 native argv。 */\nfunction commandProjectionForHermesTool(name: string) {\n return name.toLowerCase() === \"terminal\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\n/**\n * Hermes 以 `skill_view({ name })` 表示实际加载了一个已安装 Skill。它不是普通\n * 文件读取:对应的标准事件是 `skill.loaded`,这样判分和 execution 读面都无需猜工具文本。\n */\nfunction skillNameFromToolCall(name: string, input: JsonValue): string | undefined {\n if (name.toLowerCase() !== \"skill_view\")\n return undefined;\n return str(get(input, \"name\"));\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction optionalNum(obj: unknown, ...keys: string[]): number | undefined {\n for (const key of keys) {\n const value = get(obj, key);\n if (typeof value === \"number\" && Number.isFinite(value))\n return value;\n }\n return undefined;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction parseJsonField(value: unknown): unknown {\n if (typeof value !== \"string\")\n return value;\n try {\n return JSON.parse(value);\n }\n catch {\n return value;\n }\n}\n/**\n * Hermes sessions export JSONL(一行一 session,或一行一 message)→ 标准事件 + usage。\n */\nexport function parseHermesTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let observedCostUSD = 0;\n let hasObservedCostUSD = false;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n // `skill_view` 已转成 skill.loaded 后,其 tool result 不再重发成孤立 action 节点。\n const skillCallIds = new Set<string>();\n const nextSynthId = (): string => `hm_${++synth}`;\n if (!raw?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const ingestSessionMeta = (obj: globalThis.Record<string, unknown>): void => {\n inputTokens += num(obj, \"input_tokens\", \"inputTokens\");\n outputTokens += num(obj, \"output_tokens\", \"outputTokens\");\n cacheReadTokens += num(obj, \"cache_read_tokens\", \"cacheReadTokens\");\n cacheCreationTokens += num(obj, \"cache_write_tokens\", \"cacheWriteTokens\", \"cacheCreationTokens\");\n // estimated_cost_usd is an estimate owned by Hermes and is deliberately\n // not relabeled as provider-observed Usage.costUSD.\n const actual = optionalNum(obj, \"actual_cost_usd\", \"actualCostUsd\");\n if (actual !== undefined) {\n observedCostUSD += actual;\n hasObservedCostUSD = true;\n }\n const apiCalls = num(obj, \"api_call_count\", \"apiCallCount\");\n if (apiCalls)\n requests += apiCalls;\n };\n const ingestMessage = (msg: globalThis.Record<string, unknown>): void => {\n const role = str(msg.role) ?? \"assistant\";\n const content = str(msg.content);\n if (role === \"tool\" || str(msg.tool_call_id) || str(msg.toolCallId)) {\n const callId = str(msg.tool_call_id) ?? str(msg.toolCallId) ?? nextSynthId();\n if (skillCallIds.has(callId))\n return;\n const success = msg.is_error !== true && msg.isError !== true;\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (content ?? get(msg, \"output\") ?? null) as JsonValue,\n status: success ? \"completed\" : \"failed\",\n });\n return;\n }\n const toolCallsRaw = parseJsonField(msg.tool_calls ?? msg.toolCalls);\n if (Array.isArray(toolCallsRaw)) {\n for (const call of toolCallsRaw) {\n const fn = get(call, \"function\") as globalThis.Record<string, unknown> | undefined;\n const name = str(get(fn, \"name\")) ?? str(get(call, \"name\")) ?? str(msg.tool_name) ?? \"unknown\";\n const callId = str(get(call, \"id\")) ?? nextSynthId();\n const args = coerceArgs(get(fn, \"arguments\") ?? get(call, \"arguments\") ?? get(call, \"input\"));\n const skill = skillNameFromToolCall(name, args);\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n skillCallIds.add(callId);\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: args,\n tool: normalizeToolName(name),\n command: commandProjectionForHermesTool(name),\n },\n });\n }\n }\n if (content?.trim() && role !== \"user\" && role !== \"system\") {\n events.push({ type: \"message\", role: \"assistant\", text: content });\n }\n else if (content?.trim() && role === \"user\" && !Array.isArray(toolCallsRaw)) {\n // 用户消息不进行为断言主路径;保留会污染显式 message 值断言。跳过。\n }\n const reasoning = str(msg.reasoning) ?? str(msg.reasoning_content);\n if (reasoning?.trim())\n events.push({ type: \"thinking\", text: reasoning });\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let obj: globalThis.Record<string, unknown>;\n try {\n obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 整 session 导出:带 messages[]\n if (Array.isArray(obj.messages)) {\n ingestSessionMeta(obj);\n for (const m of obj.messages) {\n if (m && typeof m === \"object\")\n ingestMessage(m as globalThis.Record<string, unknown>);\n }\n continue;\n }\n // 单行 message\n if (str(obj.role)) {\n ingestMessage(obj);\n continue;\n }\n // sqlite dump 行:{session_id, role, content, tool_calls, ...}\n if (str(obj.session_id) || str(obj.sessionId)) {\n ingestMessage(obj);\n continue;\n }\n ingestSessionMeta(obj);\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (hasObservedCostUSD)\n usage.costUSD = observedCostUSD;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n/** 从 export / stdout 文本里抠 session id。 */\nexport function sessionIdFromHermesOutput(raw: string | undefined): string | undefined {\n if (!raw)\n return undefined;\n for (const line of raw.split(\"\\n\")) {\n const resume = line.match(/hermes\\s+(?:chat\\s+)?(?:--resume|-r)\\s+(\\S+)/i);\n if (resume?.[1])\n return resume[1].replace(/[\"'`]/g, \"\");\n const labeled = line.match(/Session:\\s*([A-Za-z0-9_-]+)/i);\n if (labeled?.[1])\n return labeled[1];\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"{\"))\n continue;\n try {\n const obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n const id = str(obj.id) ?? str(obj.session_id) ?? str(obj.sessionId);\n if (id && (Array.isArray(obj.messages) || str(obj.source)))\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n"]}
|
package/dist/o11y/prices.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$source": "models.dev",
|
|
3
3
|
"$asOf": 1786948001963,
|
|
4
4
|
"$modelRequest": 0,
|
|
5
|
-
"$note": "per-1M-token USD prices;
|
|
5
|
+
"$note": "per-1M-token USD prices; vendored snapshot from models.dev",
|
|
6
6
|
"prices": {
|
|
7
7
|
"@cf/aisingapore/gemma-sea-lion-v4-27b-it": {
|
|
8
8
|
"in": 0.351,
|
|
@@ -9,6 +9,7 @@ exports.makeAttemptDiagnosticsAttachmentFamilyValidation = makeAttemptDiagnostic
|
|
|
9
9
|
exports.makeRunTimingAttachmentFamilyValidation = makeRunTimingAttachmentFamilyValidation;
|
|
10
10
|
exports.makeRunDiagnosticsAttachmentFamilyValidation = makeRunDiagnosticsAttachmentFamilyValidation;
|
|
11
11
|
const effect_1 = require("effect");
|
|
12
|
+
const turn_label_ts_1 = require("../../shared/turn-label.cjs");
|
|
12
13
|
const codec_ts_1 = require("../../sources/codec.cjs");
|
|
13
14
|
const codec_ts_2 = require("./codec.cjs");
|
|
14
15
|
const limits_ts_1 = require("./limits.cjs");
|
|
@@ -390,16 +391,24 @@ exports.UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(effect_1.Sc
|
|
|
390
391
|
exports.AttemptTimingPhaseSchema = effect_1.Schema.Literal("attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown");
|
|
391
392
|
exports.RunTimingPhaseSchema = effect_1.Schema.Literal("run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown");
|
|
392
393
|
const TimingOutcomeSchema = effect_1.Schema.Literal("completed", "failed", "cancelled", "interrupted", "unknown");
|
|
393
|
-
|
|
394
|
+
const CanonicalTurnLabelSchema = effect_1.Schema.String.pipe(effect_1.Schema.filter((value) => (0, turn_label_ts_1.isCanonicalTurnLabel)(value), { identifier: "CanonicalTurnLabel" }));
|
|
395
|
+
const AttemptTimingIntervalBase = {
|
|
394
396
|
intervalId: codec_ts_2.IntervalIdSchema,
|
|
395
|
-
phase: exports.AttemptTimingPhaseSchema,
|
|
396
|
-
label: codec_ts_2.StableLabelSchema,
|
|
397
397
|
startOffsetMs: codec_ts_2.NonNegativeSafeIntegerSchema,
|
|
398
398
|
durationMs: codec_ts_2.NonNegativeSafeIntegerSchema,
|
|
399
399
|
parentIntervalId: effect_1.Schema.NullOr(codec_ts_2.IntervalIdSchema),
|
|
400
400
|
outcome: TimingOutcomeSchema,
|
|
401
401
|
refs: codec_ts_2.AttemptTimingReferencesSchema,
|
|
402
|
+
};
|
|
403
|
+
const AttemptTimingIntervalStructuralSchema = effect_1.Schema.Struct({
|
|
404
|
+
...AttemptTimingIntervalBase,
|
|
405
|
+
phase: exports.AttemptTimingPhaseSchema,
|
|
406
|
+
label: effect_1.Schema.Union(codec_ts_2.StableLabelSchema, CanonicalTurnLabelSchema),
|
|
402
407
|
});
|
|
408
|
+
exports.AttemptTimingIntervalSchema = AttemptTimingIntervalStructuralSchema.pipe(effect_1.Schema.filter((interval) => interval.phase === "agent.send" || (0, model_ts_1.isStableLabel)(interval.label), {
|
|
409
|
+
identifier: "AttemptTimingInterval",
|
|
410
|
+
description: "canonical turn labels are reserved for agent.send intervals",
|
|
411
|
+
}));
|
|
403
412
|
exports.RunTimingIntervalSchema = effect_1.Schema.Struct({
|
|
404
413
|
intervalId: codec_ts_2.IntervalIdSchema,
|
|
405
414
|
phase: exports.RunTimingPhaseSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"families.js","sourceRoot":"","sources":["families.ts"],"names":[],"mappings":";;;AAknBA,8GA8BC;AACD,sGAeC;AACD,gGAaC;AACD,kGAUC;AACD,4GAUC;AACD,0FAUC;AACD,oGAUC;AA1tBD,mCAAgC;AAEhC,qDAAqF;AACrF,yCAAwmB;AACxmB,2CAAsrB;AACtrB,yCAAgV;AAChV,mDAAsJ;AACtJ,SAAS,WAAW,CAAQ,MAAwB;IAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC;AACD,SAAS,WAAW,CAAC,KAAa,EAAE,YAAoB;IACpD,MAAM,MAAM,GAAG,IAAA,6BAAkB,EAAC,KAAK,CAAC,CAAC;IACzC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,YAAY,CAAC;AAC1D,CAAC;AACD,SAAS,qBAAqB,CAAO,MAAuB,EAAE,IAA6B;IACvF,IAAI,QAA4B,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAA,mCAAwB,EAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1F,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,QAAQ,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,SAAS,mBAAmB,CAAC,UAAsB,EAAE,OAA0B;IAC3E,OAAO,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,2BAAgB,EAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAC3H,CAAC;AACD,SAAS,wBAAwB,CAAC,UAAsB,EAAE,SAAiB,EAAE,MAA2B,EAAE,aAAqB,EAAE,kBAA0B;IACvJ,MAAM,YAAY,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACxD,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,kBAAkB;QACrF,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,UAAU,CAAC,MAAM,KAAK,MAAM;QAC5B,UAAU,CAAC,aAAa,KAAK,aAAa;QAC1C,UAAU,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;AAClD,CAAC;AACD,SAAS,qBAAqB,CAAC,KAAa;IACxC,OAAO,CAAC,IAAA,qBAAU,EAAC,KAAK,CAAC;QACrB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,IAAI,CAAC;QAC9F,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,mDAAuC,CAAC,CAAC;AAC/F,CAAC;AACD,MAAM,yBAAyB,GAAG,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;IACtF,UAAU,EAAE,kCAAkC;IAC9C,WAAW,EAAE,uDAAuD;CACvE,CAAC,CAAC,CAAC;AACJ,MAAM,cAAc,GAAG,eAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;IAC9F,KAAK,IAAI,CAAC,UAAU;IACpB,KAAK,IAAI,UAAU,EAAE;IACrB,UAAU,EAAE,8BAA8B;IAC1C,WAAW,EAAE,mCAAmC;CACnD,CAAC,CAAC,CAAC;AACJ,4FAA4F;AAC5F,MAAM,2BAA2B,GAAuD,eAAM,CAAC,OAAO,CAAgB,CAAC,KAAK,EAA0B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;AACtM,MAAM,0BAA0B,GAAG;IAC/B,MAAM,EAAE,uBAAY;IACpB,MAAM,EAAE,uBAAY;IACpB,QAAQ,EAAE,oCAAyB;IACnC,IAAI,EAAE,uCAA4B;CAC5B,CAAC;AACE,QAAA,sBAAsB,GAAG,eAAM,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,uBAAY;IACpB,QAAQ,EAAE,oCAAyB;IACnC,OAAO,EAAE,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC;IAC1E,IAAI,EAAE,uCAA4B;CACrC,CAAC,CAAC;AACU,QAAA,sBAAsB,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;IAC7D,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;IACzC,IAAI,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CAC3D,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,MAAM,EAAE,uBAAY;IACpB,IAAI,EAAE,qCAA0B;IAChC,YAAY,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CACnE,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,MAAM,EAAE,uBAAY;IACpB,OAAO,EAAE,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;IACvE,aAAa,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CACpE,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxC,OAAO,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CAC9D,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IACvD,KAAK,EAAE,+BAAoB;IAC3B,OAAO,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CAC9D,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;IAC3D,aAAa,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;IACjE,eAAe,EAAE,eAAM,CAAC,MAAM,CAAC,IAAA,gCAAqB,EAAC,uCAA2B,CAAC,CAAC;CACrF,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,KAAK,EAAE,+BAAoB;IAC3B,OAAO,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC9C,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACzC,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IAC3D,OAAO,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CAC9D,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,OAAO,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;IAC3D,kBAAkB,EAAE,uCAA4B;CACnD,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,GAAG,0BAA0B;IAC7B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC1C,IAAI,EAAE,+BAAoB;IAC1B,OAAO,EAAE,IAAA,gCAAqB,EAAC,uCAA2B,CAAC;CAC9D,CAAC,CAAC,CAAC;AAGJ,SAAS,uBAAuB,CAAC,IAAsB;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACzE,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,KAAK,aAAa;YACd,OAAO,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAClF,KAAK,kBAAkB,CAAC;QACxB,KAAK,UAAU,CAAC;QAChB,KAAK,mBAAmB,CAAC;QACzB,KAAK,YAAY,CAAC;QAClB,KAAK,oBAAoB;YACrB,OAAO,WAAW,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5E,KAAK,eAAe;YAChB,OAAO,WAAW,CAAC;gBACf,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,UAAU;gBACvD,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,IAAI;oBAC7B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC;aACrE,CAAC,CAAC;QACP,KAAK,YAAY;YACb,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC;AACD,SAAS,iCAAiC,CAAC,KAAwE;IAC/G,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,kCAAsB;QAC3C,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,kCAAsB;QAC3C,CAAC,WAAW,CAAC,KAAK,EAAE,6CAAiC,CAAC;QACtD,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1D,OAAO,KAAK,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,QAAsC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS;YACtB,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;gBAC9B,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;oBAChC,IAAA,mCAAwB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBACxB,OAAO,KAAK,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,UAAU;QACrC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;QACrD,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;QACrF,OAAO,IAAI,KAAK,SAAS,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;AACP,CAAC;AACD,MAAM,sCAAsC,GAAG,eAAM,CAAC,MAAM,CAAC;IACzD,UAAU,EAAE,2BAAgB;IAC5B,KAAK,EAAE,eAAM,CAAC,KAAK,CAAC,8BAAsB,CAAC;IAC3C,KAAK,EAAE,eAAM,CAAC,KAAK,CAAC,8BAAsB,CAAC;CAC9C,CAAC,CAAC;AACU,QAAA,4BAA4B,GAAG,sCAAsC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE;IACrI,UAAU,EAAE,qCAAqC;IACjD,WAAW,EAAE,8CAA8C;CAC9D,CAAC,CAAC,CAAC;AAEJ,MAAM,uBAAuB,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,UAAU,EAAE,IAAA,gCAAqB,EAAC,wCAA4B,CAAC;IAC/D,SAAS,EAAE,eAAM,CAAC,KAAK,CAAC,IAAA,gCAAqB,EAAC,sCAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,iCAAqB,EAAE;QACtJ,UAAU,EAAE,+BAA+B;QAC3C,WAAW,EAAE,mCAAmC;KACnD,CAAC,CAAC;CACN,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,OAAO,EAAE,IAAA,gCAAqB,EAAC,mCAAuB,CAAC;CAC1D,CAAC,CAAC,CAAC;AACJ,MAAM,6BAA6B,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACzH,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxC,IAAI,EAAE,yBAAyB;CAClC,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,QAAA,qBAAqB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;IAC5H,UAAU,EAAE,uBAAuB;IACnC,gBAAgB,EAAE,6BAA6B;CAClD,CAAC,CAAC;AACU,QAAA,mBAAmB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;QAChC,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,yBAAc;KACvB,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5B,GAAG,EAAE,2BAA2B;KACnC,CAAC,CAAC;IACH,aAAa,EAAE,uCAA4B;IAC3C,kBAAkB,EAAE,uCAA4B;CACnD,CAAC,CAAC;AACU,QAAA,oBAAoB,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,QAAQ,EAAE,cAAc;CAC3B,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC;CACnE,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,aAAa,CAAC;IACnC,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,cAAc,EAAE,wBAAwB,CAAC;CACnE,CAAC,CAAC,CAAC;AACS,QAAA,mBAAmB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,4BAAoB;IAC7B,MAAM,EAAE,2BAAmB;IAC3B,MAAM,EAAE,2BAAmB;CAC9B,CAAC,CAAC;AACU,QAAA,wBAAwB,GAAG,eAAM,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,0BAAe;IAC1B,QAAQ,EAAE,6BAAqB;IAC/B,MAAM,EAAE,2BAAmB;IAC3B,IAAI,EAAE,mCAAwB;CACjC,CAAC,CAAC;AACH,MAAM,kCAAkC,GAAG,eAAM,CAAC,MAAM,CAAC;IACrD,UAAU,EAAE,2BAAgB;IAC5B,QAAQ,EAAE,eAAM,CAAC,KAAK,CAAC,gCAAwB,CAAC;CACnD,CAAC,CAAC;AAKH,SAAS,wBAAwB,CAAC,MAAqB,EAAE,UAAsB,EAAE,SAAiB,EAAE,UAA+B;IAC/H,IAAI,MAAM,CAAC,aAAa,GAAG,oCAAwB;QAC/C,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QACvE,IAAI,KAAK,KAAK,MAAM,CAAC,aAAa;YAC9B,MAAM,CAAC,aAAa,GAAG,2CAA+B,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YACnC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,2CAA+B;YACzD,CAAC,CAAC,MAAM,CAAC,aAAa,GAAG,2CAA+B,CAAC;IACjE,CAAC;IACD,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACxH,CAAC;AACD,SAAS,0BAA0B,CAAC,QAAyB;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;QAClD,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QACpE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,kBAAkB;QACnE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,WAAW,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACvG,CAAC;AACD,SAAS,6BAA6B,CAAC,KAAoE;IACvG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,wBAAY;QACpC,CAAC,WAAW,CAAC,KAAK,EAAE,yCAA6B,CAAC;QAClD,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE;YACnC,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;SACnB,CAAC;QACF,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI;YACzB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACjC,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SAC3B,EAAE,CAAC;YACT,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/E,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,YAAY,IAAI,MAAM,CAAC,aAAa,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAI,YAAY,GAAG,sCAA0B;QACzC,OAAO,KAAK,CAAC;IACjB,OAAO,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;QACrD,IAAI,UAAU,CAAC,IAAI,KAAK,gBAAgB,IAAI,UAAU,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QACjG,OAAO,OAAO,KAAK,SAAS,IAAI,0BAA0B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC;IACvI,CAAC,CAAC,CAAC;AACP,CAAC;AACY,QAAA,wBAAwB,GAAG,kCAAkC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE;IACzH,UAAU,EAAE,iCAAiC;IAC7C,WAAW,EAAE,0CAA0C;CAC1D,CAAC,CAAC,CAAC;AAES,QAAA,sBAAsB,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;IAC7D,kBAAkB,EAAE,mCAAwB;IAC5C,QAAQ,EAAE,+BAAoB;IAC9B,IAAI,EAAE,gCAAqB;IAC3B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACpC,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC;IAC5F,MAAM,EAAE,uCAA4B;CACvC,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,kBAAkB,EAAE,mCAAwB;IAC5C,QAAQ,EAAE,+BAAoB;IAC9B,IAAI,EAAE,gCAAqB;IAC3B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,WAAW,EAAE,eAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;CAC/C,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IACd,kBAAkB,EAAE,mCAAwB;IAC5C,QAAQ,EAAE,+BAAoB;IAC9B,IAAI,EAAE,gCAAqB;IAC3B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,MAAM,EAAE,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wCAAwC,CAAC,IAAI,CAAC,KAAK,CAAC;QACpG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE;QAClD,UAAU,EAAE,+BAA+B;QAC3C,WAAW,EAAE,yCAAyC;KACzD,CAAC,CAAC;IACH,QAAQ,EAAE,6BAAkB;CAC/B,CAAC,CAAC,CAAC;AACJ,MAAM,+BAA+B,GAAG,eAAM,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,2BAAgB;IAC5B,YAAY,EAAE,eAAM,CAAC,KAAK,CAAC,8BAAsB,CAAC;CACrD,CAAC,CAAC;AAEH,SAAS,0BAA0B,CAAC,KAAiE;IACjG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,IAAI,kCAAsB;QACvD,WAAW,CAAC,KAAK,EAAE,sCAA0B,CAAC;QAC9C,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAC5D,qBAAqB,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACpG,CAAC;AACY,QAAA,qBAAqB,GAAG,+BAA+B,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE;IAChH,UAAU,EAAE,8BAA8B;IAC1C,WAAW,EAAE,uCAAuC;CACvD,CAAC,CAAC,CAAC;AAES,QAAA,wBAAwB,GAAG,eAAM,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;AACrM,QAAA,oBAAoB,GAAG,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAC7H,MAAM,mBAAmB,GAAG,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC5F,QAAA,2BAA2B,GAAG,eAAM,CAAC,MAAM,CAAC;IACrD,UAAU,EAAE,2BAAgB;IAC5B,KAAK,EAAE,gCAAwB;IAC/B,KAAK,EAAE,4BAAiB;IACxB,aAAa,EAAE,uCAA4B;IAC3C,UAAU,EAAE,uCAA4B;IACxC,gBAAgB,EAAE,eAAM,CAAC,MAAM,CAAC,2BAAgB,CAAC;IACjD,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,wCAA6B;CACtC,CAAC,CAAC;AACU,QAAA,uBAAuB,GAAG,eAAM,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,2BAAgB;IAC5B,KAAK,EAAE,4BAAoB;IAC3B,KAAK,EAAE,4BAAiB;IACxB,aAAa,EAAE,uCAA4B;IAC3C,UAAU,EAAE,uCAA4B;IACxC,gBAAgB,EAAE,eAAM,CAAC,MAAM,CAAC,2BAAgB,CAAC;IACjD,OAAO,EAAE,mBAAmB;IAC5B,IAAI,EAAE,oCAAyB;CAClC,CAAC,CAAC;AAGH,SAAS,SAAS,CAAC,KAAa,EAAE,QAAgB;IAC9C,MAAM,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC7B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AACD,SAAS,qBAAqB,CAK3B,SAA8B;IAC7B,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpE,OAAO,KAAK,CAAC;IACjB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC,CAAC,CAAC;IAC5F,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,GAAG,KAAK,SAAS;YACjB,OAAO,KAAK,CAAC;QACjB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACzD,IAAI,KAAK,GAAa,QAAQ,CAAC;QAC/B,OAAO,KAAK,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAClE,IAAI,SAAS,KAAK,SAAS;gBACvB,QAAQ,KAAK,SAAS;gBACtB,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa;gBAC1C,QAAQ,GAAG,SAAS,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC;QACnB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,MAAM,uCAAuC,GAAG,eAAM,CAAC,MAAM,CAAC;IAC1D,UAAU,EAAE,2BAAgB;IAC5B,SAAS,EAAE,eAAM,CAAC,KAAK,CAAC,mCAA2B,CAAC;CACvD,CAAC,CAAC;AACH,SAAS,kCAAkC,CAAC,KAAyE;IACjH,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,gCAAoB;QAClD,WAAW,CAAC,KAAK,EAAE,uCAA2B,CAAC;QAC/C,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC1D,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC;YAChE,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AACY,QAAA,6BAA6B,GAAG,uCAAuC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,kCAAkC,EAAE;IACxI,UAAU,EAAE,sCAAsC;IAClD,WAAW,EAAE,0CAA0C;CAC1D,CAAC,CAAC,CAAC;AAEJ,MAAM,mCAAmC,GAAG,eAAM,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,2BAAgB;IAC5B,SAAS,EAAE,eAAM,CAAC,KAAK,CAAC,+BAAuB,CAAC;CACnD,CAAC,CAAC;AACH,SAAS,8BAA8B,CAAC,KAAqE;IACzG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,gCAAoB;QAClD,WAAW,CAAC,KAAK,EAAE,uCAA2B,CAAC;QAC/C,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC;QAC1D,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC;YAChE,KAAK,CAAC,UAAU,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AACY,QAAA,yBAAyB,GAAG,mCAAmC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE;IAC5H,UAAU,EAAE,kCAAkC;IAC9C,WAAW,EAAE,sCAAsC;CACtD,CAAC,CAAC,CAAC;AAES,QAAA,4BAA4B,GAAG,eAAM,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;AACvN,QAAA,wBAAwB,GAAG,eAAM,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;AAClI,QAAA,oBAAoB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,oCAAyB;IAC/B,MAAM,EAAE,oCAAyB;CACpC,CAAC,CAAC;AACU,QAAA,iBAAiB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC3C,YAAY,EAAE,iCAAsB;IACpC,MAAM,EAAE,6BAAkB;IAC1B,KAAK,EAAE,4BAAoB;IAC3B,GAAG,EAAE,4BAAoB;CAC5B,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,+BAAoB;IAC1B,OAAO,EAAE,IAAA,gCAAqB,EAAC,8CAAkC,CAAC;CACrE,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,eAAM,CAAC,MAAM,CAAC;IAC3G,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,mBAAmB,EAAE,uCAA4B;IACjD,iBAAiB,EAAE,uCAA4B;IAC/C,mBAAmB,EAAE,uCAA4B;CACpD,CAAC,CAAC,CAAC;AACJ,MAAM,4BAA4B,GAAG,eAAM,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,eAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,sBAAsB,CAAC;IACxI,OAAO,EAAE,uCAA4B;IACrC,eAAe,EAAE,uCAA4B;CAChD,CAAC,CAAC;AACH,MAAM,+BAA+B,GAAG,eAAM,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,QAAQ,EAAE,+BAAoB;CACjC,CAAC,CAAC;AACH;;;;GAIG;AACH,MAAM,oCAAoC,GAAG,eAAM,CAAC,MAAM,CAAC;IACvD,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE,uCAA4B,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAA0C,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;CAC7I,CAAC,CAAC;AACH,MAAM,gCAAgC,GAAG,eAAM,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,MAAM,EAAE,mCAAwB,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAsC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;CACrI,CAAC,CAAC;AACH,MAAM,mCAAmC,GAAG,eAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,4BAA4B,EAAE,+BAA+B,CAAC,CAAC;AAC9J,MAAM,+BAA+B,GAAG,eAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,4BAA4B,EAAE,+BAA+B,CAAC,CAAC;AACzI,QAAA,uBAAuB,GAAG,eAAM,CAAC,MAAM,CAAC;IACjD,YAAY,EAAE,6BAAkB;IAChC,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACnD,IAAI,EAAE,+BAAoB;IAC1B,KAAK,EAAE,oCAA4B;IACnC,OAAO,EAAE,IAAA,gCAAqB,EAAC,wCAA4B,CAAC;IAC5D,MAAM,EAAE,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C,OAAO,EAAE,eAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC;IAC1D,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,eAAM,CAAC,MAAM,CAAC,yBAAiB,CAAC;IAC7C,IAAI,EAAE,6CAAkC;CAC3C,CAAC,CAAC;AACU,QAAA,mBAAmB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,6BAAkB;IAChC,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACnD,IAAI,EAAE,+BAAoB;IAC1B,KAAK,EAAE,gCAAwB;IAC/B,OAAO,EAAE,IAAA,gCAAqB,EAAC,wCAA4B,CAAC;IAC5D,MAAM,EAAE,eAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C,OAAO,EAAE,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC;IACtD,SAAS,EAAE,yBAAyB;IACpC,WAAW,EAAE,eAAM,CAAC,MAAM,CAAC,yBAAiB,CAAC;IAC7C,IAAI,EAAE,yCAA8B;CACvC,CAAC,CAAC;AAOH,SAAS,2BAA2B,CAAC,IAAoB,EAAE,KAAqB;IAC5E,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/F,CAAC;AACD,SAAS,uBAAuB,CAAC,UAKhC;IACG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,iCAAqB;QAChD,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,wCAA4B,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS;QACxC,UAAU,CAAC,SAAS,CAAC,mBAAmB,KAAK,CAAC;QAC9C,UAAU,CAAC,SAAS,CAAC,iBAAiB,KAAK,CAAC;QAC5C,UAAU,CAAC,SAAS,CAAC,mBAAmB,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,WAAW,KAAK,IAAI;QACnC,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/F,CAAC;AACD,MAAM,4CAA4C,GAAG,eAAM,CAAC,MAAM,CAAC;IAC/D,UAAU,EAAE,2BAAgB;IAC5B,WAAW,EAAE,eAAM,CAAC,KAAK,CAAC,+BAAuB,CAAC;CACrD,CAAC,CAAC;AACH,SAAS,uCAAuC,CAAC,KAA8E;IAC3H,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,2BAAe;QAC/C,WAAW,CAAC,KAAK,EAAE,4CAAgC,CAAC;QACpD,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;QACrD,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QACjF,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC1D,CAAC;AACY,QAAA,kCAAkC,GAAG,4CAA4C,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE;IACvJ,UAAU,EAAE,2CAA2C;IACvD,WAAW,EAAE,qDAAqD;CACrE,CAAC,CAAC,CAAC;AAEJ,MAAM,wCAAwC,GAAG,eAAM,CAAC,MAAM,CAAC;IAC3D,UAAU,EAAE,2BAAgB;IAC5B,WAAW,EAAE,eAAM,CAAC,KAAK,CAAC,2BAAmB,CAAC;CACjD,CAAC,CAAC;AACH,SAAS,mCAAmC,CAAC,KAA0E;IACnH,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,2BAAe;QAC/C,WAAW,CAAC,KAAK,EAAE,4CAAgC,CAAC;QACpD,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC;QACrD,qBAAqB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QACjF,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC1D,CAAC;AACY,QAAA,8BAA8B,GAAG,wCAAwC,CAAC,IAAI,CAAC,eAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;IAC3I,UAAU,EAAE,uCAAuC;IACnD,WAAW,EAAE,iDAAiD;CACjE,CAAC,CAAC,CAAC;AAEJ,MAAM,iCAAiC,GAAG,wBAAiC,CAAC;AAC5E,MAAM,6BAA6B,GAAG,wBAAiC,CAAC;AACxE,MAAM,0BAA0B,GAAG,wBAAiC,CAAC;AACrE,MAAM,2BAA2B,GAAG,wBAAiC,CAAC;AACtE,MAAM,gCAAgC,GAAG,wBAAiC,CAAC;AAC3E,MAAM,uBAAuB,GAAG,wBAAiC,CAAC;AAClE,MAAM,4BAA4B,GAAG,wBAAiC,CAAC;AACvE,8EAA8E;AAC9E,SAAgB,iDAAiD,CAAC,OAA+B;IAC7F,MAAM,QAAQ,GAA6B;QACvC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,MAAM,EAAE,iCAAiC;YACzC,IAAI,EAAE,MAAe;YACrB,EAAE,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACzC,MAAM,EAAE,iCAAiC;YACzC,IAAI,EAAE,MAAe;YACrB,EAAE,EAAE,IAAI,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;YACxD,CAAC,CAAC;gBACE,MAAM,CAAC,MAAM,CAAC;oBACV,MAAM,EAAE,iCAAiC;oBACzC,IAAI,EAAE,MAAe;oBACrB,EAAE,EAAE,IAAI,CAAC,MAAM;iBAClB,CAAC;aACL;YACD,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;IACF,OAAO,IAAA,wDAAwC,EAAC;QAC5C,QAAQ,EAAE,iCAAiC;QAC3C,QAAQ;QACR,UAAU,EAAE;YACR,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACzF,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5F;KACJ,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,6CAA6C,CAAC,KAK7D;IACG,OAAO,IAAA,wDAAwC,EAAC;QAC5C,QAAQ,EAAE,6BAA6B;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACpD,MAAM,EAAE,6BAA6B;YACrC,IAAI,EAAE,SAAkB;YACxB,EAAE,EAAE,OAAO,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KAClH,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,0CAA0C,CAAC,OAAwB;IAC/E,OAAO,IAAA,wDAAwC,EAAC;QAC5C,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9D,MAAM,EAAE,0BAA0B;YAClC,IAAI,EAAE,mBAA4B;YAClC,EAAE,EAAE,WAAW,CAAC,kBAAkB;SACrC,CAAC,CAAC;QACH,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAChE,QAAQ,EAAE,WAAW,CAAC,kBAAkB;YACxC,IAAI,EAAE,WAAW,CAAC,IAAI;SACzB,CAAC,CAAC;KACN,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,2CAA2C,CAAC,OAAgC;IACxF,OAAO,IAAA,wDAAwC,EAAC;QAC5C,QAAQ,EAAE,2BAA2B;QACrC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,MAAM,EAAE,2BAA2B;YACnC,IAAI,EAAE,UAAmB;YACzB,EAAE,EAAE,QAAQ,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KACzH,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,gDAAgD,CAAC,OAAqC;IAClG,OAAO,IAAA,wDAAwC,EAAC;QAC5C,QAAQ,EAAE,gCAAgC;QAC1C,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5D,MAAM,EAAE,gCAAgC;YACxC,IAAI,EAAE,YAAqB;YAC3B,EAAE,EAAE,UAAU,CAAC,YAAY;SAC9B,CAAC,CAAC;QACH,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;KACnI,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,uCAAuC,CAAC,OAA4B;IAChF,OAAO,IAAA,oDAAoC,EAAC;QACxC,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACxD,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,UAAmB;YACzB,EAAE,EAAE,QAAQ,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KACzH,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,4CAA4C,CAAC,OAAiC;IAC1F,OAAO,IAAA,oDAAoC,EAAC;QACxC,QAAQ,EAAE,4BAA4B;QACtC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5D,MAAM,EAAE,4BAA4B;YACpC,IAAI,EAAE,YAAqB;YAC3B,EAAE,EAAE,UAAU,CAAC,YAAY;SAC9B,CAAC,CAAC;QACH,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;KACnI,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { Schema } from \"effect\";\nimport type { RecordBlobRef } from \"../../record/attachment/index.ts\";\nimport { Sha256DigestSchema, SourceFileItemIdSchema, } from \"../../sources/codec.ts\";\nimport { AttemptDiagnosticsReferencesSchema, AttemptReferenceTargetSchema, AttemptTimingReferencesSchema, CollectionSchema, CommandsReferencesSchema, ConversationReferencesSchema, CurrencyCodeSchema, NonNegativeSafeIntegerSchema, PositiveSafeIntegerSchema, RunDiagnosticsReferencesSchema, RunReferenceTargetSchema, RunTimingReferencesSchema, SafeIdentifierSchema, SafeTextSchema, SourceNativeToolNameSchema, StableLabelSchema, UsageObservationIdSchema, UsageReferencesSchema, boundedSafeTextSchema, CallIdSchema, CommandIdSchema, DiagnosticIdSchema, IntervalIdSchema, ItemIdSchema, TurnIdSchema, } from \"./codec.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS_ATTACHMENT_BYTES, MAX_COMMANDS_CLOSURE_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ATTACHMENT_BYTES, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_CAUSES, MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES, MAX_DIAGNOSTIC_CONTEXT_ITEMS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS_ATTACHMENT_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_ATTACHMENT_BYTES, MAX_TIMING_INTERVALS, MAX_USAGE_ATTACHMENT_BYTES, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { ATTEMPT_OBSERVABILITY_FAMILY_SCHEMA_IDS, RUN_OBSERVABILITY_FAMILY_SCHEMA_IDS, compareObservabilityText, isSafeText, jsonUtf8ByteLength, limitationTarget, type AttemptDiagnosticsReferences, type AttemptReferenceTarget, type Collection, type CommandId, type CommandsReferences, type RunDiagnosticsReferences, } from \"./model.ts\";\nimport { makeAttemptObservabilityFamilyValidation, makeRunObservabilityFamilyValidation, type ObservabilityFamilyValidation, } from \"./validation.ts\";\nfunction freezeArray<Value>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...values]);\n}\nfunction payloadFits(value: object, maximumBytes: number): boolean {\n const length = jsonUtf8ByteLength(value);\n return length !== undefined && length <= maximumBytes;\n}\nfunction isStrictlyOrderedById<Item>(values: readonly Item[], idOf: (value: Item) => string): boolean {\n let previous: string | undefined;\n const seen = new Set<string>();\n for (const value of values) {\n const id = idOf(value);\n if (seen.has(id) || (previous !== undefined && compareObservabilityText(previous, id) >= 0)) {\n return false;\n }\n seen.add(id);\n previous = id;\n }\n return true;\n}\nfunction isAllowedCollection(collection: Collection, targets: readonly string[]): boolean {\n return collection.limitations.every((limitation) => targets.some((target) => limitationTarget(limitation) === target));\n}\nfunction hasExactStreamTruncation(collection: Collection, commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return collection.limitations.some((limitation) => limitation.code === \"stream-truncated\" &&\n limitation.commandId === commandId &&\n limitation.stream === stream &&\n limitation.retainedBytes === retainedBytes &&\n limitation.omittedBytes === omittedBytes);\n}\nfunction isProjectRelativePath(value: string): boolean {\n return (isSafeText(value) &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\") &&\n new TextEncoder().encode(value).byteLength <= MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES);\n}\nconst ProjectRelativePathSchema = Schema.String.pipe(Schema.filter(isProjectRelativePath, {\n identifier: \"ObservabilityProjectRelativePath\",\n description: \"a portable project-relative path without dot segments\",\n}));\nconst ExitCodeSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) &&\n value >= -2147483648 &&\n value <= 2147483647, {\n identifier: \"ObservabilityCommandExitCode\",\n description: \"a signed 32-bit command exit code\",\n}));\n/** Record's opaque ref position is the only non-JSON value in a durable command payload. */\nconst RecordBlobRefPositionSchema: Schema.Schema<RecordBlobRef, RecordBlobRef, never> = Schema.declare<RecordBlobRef>((value): value is RecordBlobRef => typeof value === \"object\" && value !== null);\nconst ConversationItemBaseFields = {\n itemId: ItemIdSchema,\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n refs: ConversationReferencesSchema,\n} as const;\nexport const ConversationTurnSchema = Schema.Struct({\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n refs: ConversationReferencesSchema,\n});\nexport const ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-call\"),\n callId: CallIdSchema,\n tool: SourceNativeToolNameSchema,\n inputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-result\"),\n callId: CallIdSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"thinking-summary\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n responseSummary: Schema.NullOr(boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES)),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"skill-load\"),\n skill: SafeIdentifierSchema,\n outcome: Schema.Literal(\"loaded\", \"failed\"),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"context-injection\"),\n source: Schema.Literal(\"system\", \"memory\", \"skill\", \"user\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"compaction\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n compactedItemCount: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}));\nexport type ConversationTurn = Schema.Schema.Type<typeof ConversationTurnSchema>;\nexport type ConversationItem = Schema.Schema.Type<typeof ConversationItemSchema>;\nfunction conversationTextLengths(item: ConversationItem): readonly number[] {\n switch (item.kind) {\n case \"message\":\n return freezeArray([new TextEncoder().encode(item.text).byteLength]);\n case \"tool-call\":\n return freezeArray([new TextEncoder().encode(item.inputSummary).byteLength]);\n case \"tool-result\":\n return freezeArray([new TextEncoder().encode(item.outputSummary).byteLength]);\n case \"thinking-summary\":\n case \"subagent\":\n case \"context-injection\":\n case \"compaction\":\n case \"conversation-error\":\n return freezeArray([new TextEncoder().encode(item.summary).byteLength]);\n case \"input-request\":\n return freezeArray([\n new TextEncoder().encode(item.promptSummary).byteLength,\n ...(item.responseSummary === null\n ? []\n : [new TextEncoder().encode(item.responseSummary).byteLength]),\n ]);\n case \"skill-load\":\n return freezeArray([]);\n }\n}\nfunction isCanonicalConversationAttachment(value: Schema.Schema.Type<typeof ConversationAttachmentStructuralSchema>): boolean {\n if (value.turns.length > MAX_CONVERSATION_TURNS ||\n value.items.length > MAX_CONVERSATION_ITEMS ||\n !payloadFits(value, MAX_CONVERSATION_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\"conversation-item\", \"conversation-text\"])) {\n return false;\n }\n if (!isStrictlyOrderedById(value.turns, (turn) => turn.turnId))\n return false;\n const turnIds = new Set<string>();\n const turnSequences = new Set<number>();\n for (const turn of value.turns) {\n turnIds.add(turn.turnId);\n if (turnSequences.has(turn.sequence))\n return false;\n turnSequences.add(turn.sequence);\n }\n const itemIds = new Set<string>();\n const itemSequences = new Set<number>();\n const callIds = new Set<string>();\n const resultCallIds = new Set<string>();\n let previous: ConversationItem | undefined;\n for (const item of value.items) {\n if (itemIds.has(item.itemId) ||\n itemSequences.has(item.sequence) ||\n !turnIds.has(item.turnId)) {\n return false;\n }\n if (previous !== undefined &&\n (previous.sequence > item.sequence ||\n (previous.sequence === item.sequence &&\n compareObservabilityText(previous.itemId, item.itemId) >= 0))) {\n return false;\n }\n itemIds.add(item.itemId);\n itemSequences.add(item.sequence);\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.add(item.callId);\n }\n if (item.kind === \"tool-result\") {\n if (!callIds.has(item.callId) || resultCallIds.has(item.callId))\n return false;\n resultCallIds.add(item.callId);\n }\n previous = item;\n }\n if (value.collection.state === \"complete\" &&\n [...callIds].some((callId) => !resultCallIds.has(callId))) {\n return false;\n }\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"conversation-text\") {\n return true;\n }\n const item = value.items.find((candidate) => candidate.itemId === limitation.itemId);\n return item !== undefined && conversationTextLengths(item).some((length) => length === limitation.retainedBytes);\n });\n}\nconst ConversationAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n});\nexport const ConversationAttachmentSchema = ConversationAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalConversationAttachment, {\n identifier: \"ObservabilityConversationAttachment\",\n description: \"a canonical, bounded conversation attachment\",\n}));\nexport type ConversationAttachment = Schema.Schema.Type<typeof ConversationAttachmentSchema>;\nconst CommandInvocationSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: boundedSafeTextSchema(MAX_COMMAND_EXECUTABLE_BYTES),\n arguments: Schema.Array(boundedSafeTextSchema(MAX_COMMAND_ARGUMENT_BYTES)).pipe(Schema.filter((arguments_) => arguments_.length <= MAX_COMMAND_ARGUMENTS, {\n identifier: \"ObservabilityCommandArguments\",\n description: \"at most 64 safe command arguments\",\n })),\n}), Schema.Struct({\n kind: Schema.Literal(\"shell\"),\n command: boundedSafeTextSchema(MAX_COMMAND_SHELL_BYTES),\n}));\nconst CommandWorkingDirectorySchema = Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: ProjectRelativePathSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"redacted\") }));\nexport const CommandManifestSchema = Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: CommandInvocationSchema,\n workingDirectory: CommandWorkingDirectorySchema,\n});\nexport const CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"inline\"),\n text: SafeTextSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: RecordBlobRefPositionSchema,\n })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n});\nexport const CommandOutcomeSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: ExitCodeSchema,\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}));\nexport const CommandResultSchema = Schema.Struct({\n outcome: CommandOutcomeSchema,\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n});\nexport const CommandObservationSchema = Schema.Struct({\n commandId: CommandIdSchema,\n manifest: CommandManifestSchema,\n result: CommandResultSchema,\n refs: CommandsReferencesSchema,\n});\nconst CommandsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n commands: Schema.Array(CommandObservationSchema),\n});\nexport type CommandManifest = Schema.Schema.Type<typeof CommandManifestSchema>;\nexport type CommandStream = Schema.Schema.Type<typeof CommandStreamSchema>;\nexport type CommandResult = Schema.Schema.Type<typeof CommandResultSchema>;\nexport type CommandObservation = Schema.Schema.Type<typeof CommandObservationSchema>;\nfunction isCanonicalCommandStream(stream: CommandStream, collection: Collection, commandId: string, streamName: \"stdout\" | \"stderr\"): boolean {\n if (stream.retainedBytes > MAX_COMMAND_STREAM_BYTES ||\n stream.totalSafeUtf8Bytes < stream.retainedBytes) {\n return false;\n }\n if (stream.storage.kind === \"inline\") {\n const bytes = new TextEncoder().encode(stream.storage.text).byteLength;\n if (bytes !== stream.retainedBytes ||\n stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES) {\n return false;\n }\n }\n if (stream.totalSafeUtf8Bytes === stream.retainedBytes) {\n return stream.storage.kind === \"inline\"\n ? stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES\n : stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES;\n }\n return hasExactStreamTruncation(collection, commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes);\n}\nfunction commandManifestTextLengths(manifest: CommandManifest): readonly number[] {\n const encoder = new TextEncoder();\n const invocation = manifest.invocation.kind === \"argv\"\n ? [manifest.invocation.executable, ...manifest.invocation.arguments]\n : [manifest.invocation.command];\n const directory = manifest.workingDirectory.kind === \"project-relative\"\n ? [manifest.workingDirectory.path]\n : [];\n return freezeArray([...invocation, ...directory].map((value) => encoder.encode(value).byteLength));\n}\nfunction isCanonicalCommandsAttachment(value: Schema.Schema.Type<typeof CommandsAttachmentStructuralSchema>): boolean {\n if (value.commands.length > MAX_COMMANDS ||\n !payloadFits(value, MAX_COMMANDS_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\n \"command-manifest\",\n \"command-stdout\",\n \"command-stderr\",\n ]) ||\n !isStrictlyOrderedById(value.commands, (command) => command.commandId)) {\n return false;\n }\n let closureBytes = 0;\n for (const command of value.commands) {\n for (const [name, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if (!isCanonicalCommandStream(stream, value.collection, command.commandId, name)) {\n return false;\n }\n if (stream.storage.kind === \"blob\") {\n closureBytes += stream.retainedBytes;\n }\n }\n }\n if (closureBytes > MAX_COMMANDS_CLOSURE_BYTES)\n return false;\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"command-manifest\") {\n return true;\n }\n const command = value.commands.find((candidate) => candidate.commandId === limitation.commandId);\n return command !== undefined && commandManifestTextLengths(command.manifest).some((length) => length === limitation.retainedBytes);\n });\n}\nexport const CommandsAttachmentSchema = CommandsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalCommandsAttachment, {\n identifier: \"ObservabilityCommandsAttachment\",\n description: \"a canonical, bounded commands attachment\",\n}));\nexport type CommandsAttachment = Schema.Schema.Type<typeof CommandsAttachmentSchema>;\nexport const UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"token-bucket\"),\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"request\"),\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"provider-cost\"),\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$/u.test(value) &&\n new TextEncoder().encode(value).byteLength <= 64, {\n identifier: \"ObservabilityCanonicalDecimal\",\n description: \"a non-negative canonical decimal string\",\n })),\n currency: CurrencyCodeSchema,\n}));\nconst UsageAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n observations: Schema.Array(UsageObservationSchema),\n});\nexport type UsageObservation = Schema.Schema.Type<typeof UsageObservationSchema>;\nfunction isCanonicalUsageAttachment(value: Schema.Schema.Type<typeof UsageAttachmentStructuralSchema>): boolean {\n return (value.observations.length <= MAX_USAGE_OBSERVATIONS &&\n payloadFits(value, MAX_USAGE_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"usage-observation\"]) &&\n isStrictlyOrderedById(value.observations, (observation) => observation.usageObservationId));\n}\nexport const UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalUsageAttachment, {\n identifier: \"ObservabilityUsageAttachment\",\n description: \"a canonical, bounded usage attachment\",\n}));\nexport type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;\nexport const AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nexport const RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\nconst TimingOutcomeSchema = Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\");\nexport const AttemptTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: AttemptTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: AttemptTimingReferencesSchema,\n});\nexport const RunTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: RunTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: RunTimingReferencesSchema,\n});\nexport type AttemptTimingInterval = Schema.Schema.Type<typeof AttemptTimingIntervalSchema>;\nexport type RunTimingInterval = Schema.Schema.Type<typeof RunTimingIntervalSchema>;\nfunction timingEnd(start: number, duration: number): number | undefined {\n const end = start + duration;\n return Number.isSafeInteger(end) ? end : undefined;\n}\nfunction isCanonicalTimingTree<Interval extends {\n readonly intervalId: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n readonly parentIntervalId: string | null;\n}>(intervals: readonly Interval[]): boolean {\n if (!isStrictlyOrderedById(intervals, (interval) => interval.intervalId))\n return false;\n const byId = new Map(intervals.map((interval) => [interval.intervalId, interval] as const));\n for (const interval of intervals) {\n const end = timingEnd(interval.startOffsetMs, interval.durationMs);\n if (end === undefined)\n return false;\n const ancestors = new Set<string>([interval.intervalId]);\n let child: Interval = interval;\n while (child.parentIntervalId !== null) {\n const parent = byId.get(child.parentIntervalId);\n if (parent === undefined || ancestors.has(parent.intervalId)) {\n return false;\n }\n const parentEnd = timingEnd(parent.startOffsetMs, parent.durationMs);\n const childEnd = timingEnd(child.startOffsetMs, child.durationMs);\n if (parentEnd === undefined ||\n childEnd === undefined ||\n parent.startOffsetMs > child.startOffsetMs ||\n childEnd > parentEnd) {\n return false;\n }\n ancestors.add(parent.intervalId);\n child = parent;\n }\n }\n return true;\n}\nconst AttemptTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(AttemptTimingIntervalSchema),\n});\nfunction isCanonicalAttemptTimingAttachment(value: Schema.Schema.Type<typeof AttemptTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const AttemptTimingAttachmentSchema = AttemptTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptTimingAttachment, {\n identifier: \"ObservabilityAttemptTimingAttachment\",\n description: \"a canonical, bounded attempt timing tree\",\n}));\nexport type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;\nconst RunTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(RunTimingIntervalSchema),\n});\nfunction isCanonicalRunTimingAttachment(value: Schema.Schema.Type<typeof RunTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const RunTimingAttachmentSchema = RunTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunTimingAttachment, {\n identifier: \"ObservabilityRunTimingAttachment\",\n description: \"a canonical, bounded run timing tree\",\n}));\nexport type RunTimingAttachment = Schema.Schema.Type<typeof RunTimingAttachmentSchema>;\nexport const AttemptDiagnosticPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\", \"collection\");\nexport const RunDiagnosticPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\", \"collection\");\nexport const SourcePositionSchema = Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n});\nexport const SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceFileItemIdSchema,\n sha256: Sha256DigestSchema,\n start: SourcePositionSchema,\n end: SourcePositionSchema,\n});\nconst SafeDiagnosticCauseSchema = Schema.Struct({\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES),\n});\nconst DiagnosticRedactionSchema = Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({\n state: Schema.Literal(\"applied\"),\n summaryReplacements: NonNegativeSafeIntegerSchema,\n causeReplacements: NonNegativeSafeIntegerSchema,\n contextReplacements: NonNegativeSafeIntegerSchema,\n}));\nconst DiagnosticLimitContextSchema = Schema.Struct({\n kind: Schema.Literal(\"limit\"),\n limit: Schema.Literal(\"conversation-items\", \"commands\", \"usage-observations\", \"timing-intervals\", \"diagnostics\", \"command-stream-bytes\"),\n maximum: NonNegativeSafeIntegerSchema,\n observedAtLeast: NonNegativeSafeIntegerSchema,\n});\nconst DiagnosticProviderContextSchema = Schema.Struct({\n kind: Schema.Literal(\"provider\"),\n provider: SafeIdentifierSchema,\n});\n/**\n * The entity context is a single target rather than an array. Schema's generic\n * ref-array constructors cannot express the exclusion while preserving the\n * direct triple, so these declarations keep the exact input check local.\n */\nconst AttemptDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: AttemptReferenceTargetSchema.pipe(Schema.filter((target): target is AttemptDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst RunDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: RunReferenceTargetSchema.pipe(Schema.filter((target): target is RunDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst AttemptDiagnosticContextExactSchema = Schema.Union(AttemptDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nconst RunDiagnosticContextExactSchema = Schema.Union(RunDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nexport const AttemptDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: AttemptDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(AttemptDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: AttemptDiagnosticsReferencesSchema,\n});\nexport const RunDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: RunDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(RunDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: RunDiagnosticsReferencesSchema,\n});\nexport type SourcePosition = Schema.Schema.Type<typeof SourcePositionSchema>;\nexport type SourceFrame = Schema.Schema.Type<typeof SourceFrameSchema>;\nexport type SafeDiagnosticCause = Schema.Schema.Type<typeof SafeDiagnosticCauseSchema>;\nexport type DiagnosticRedaction = Schema.Schema.Type<typeof DiagnosticRedactionSchema>;\nexport type AttemptDiagnostic = Schema.Schema.Type<typeof AttemptDiagnosticSchema>;\nexport type RunDiagnostic = Schema.Schema.Type<typeof RunDiagnosticSchema>;\nfunction sourcePositionBeforeOrEqual(left: SourcePosition, right: SourcePosition): boolean {\n return left.line < right.line || (left.line === right.line && left.column <= right.column);\n}\nfunction hasValidDiagnosticShape(diagnostic: {\n readonly causes: readonly SafeDiagnosticCause[];\n readonly context: readonly unknown[];\n readonly redaction: DiagnosticRedaction;\n readonly sourceFrame: SourceFrame | null;\n}): boolean {\n if (diagnostic.causes.length > MAX_DIAGNOSTIC_CAUSES ||\n diagnostic.context.length > MAX_DIAGNOSTIC_CONTEXT_ITEMS) {\n return false;\n }\n if (diagnostic.redaction.state === \"applied\" &&\n diagnostic.redaction.summaryReplacements === 0 &&\n diagnostic.redaction.causeReplacements === 0 &&\n diagnostic.redaction.contextReplacements === 0) {\n return false;\n }\n return (diagnostic.sourceFrame === null ||\n sourcePositionBeforeOrEqual(diagnostic.sourceFrame.start, diagnostic.sourceFrame.end));\n}\nconst AttemptDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(AttemptDiagnosticSchema),\n});\nfunction isCanonicalAttemptDiagnosticsAttachment(value: Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const AttemptDiagnosticsAttachmentSchema = AttemptDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptDiagnosticsAttachment, {\n identifier: \"ObservabilityAttemptDiagnosticsAttachment\",\n description: \"a canonical, bounded attempt diagnostics attachment\",\n}));\nexport type AttemptDiagnosticsAttachment = Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentSchema>;\nconst RunDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(RunDiagnosticSchema),\n});\nfunction isCanonicalRunDiagnosticsAttachment(value: Schema.Schema.Type<typeof RunDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const RunDiagnosticsAttachmentSchema = RunDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunDiagnosticsAttachment, {\n identifier: \"ObservabilityRunDiagnosticsAttachment\",\n description: \"a canonical, bounded run diagnostics attachment\",\n}));\nexport type RunDiagnosticsAttachment = Schema.Schema.Type<typeof RunDiagnosticsAttachmentSchema>;\nconst attemptConversationFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptCommandsFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptUsageFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\nconst runTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst runDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\n/** Semantic cross-family facts intentionally remain independent of writes. */\nexport function makeAttemptConversationAttachmentFamilyValidation(payload: ConversationAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n const entities: AttemptReferenceTarget[] = [\n ...payload.turns.map((turn) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"turn\" as const,\n id: turn.turnId,\n })),\n ...payload.items.map((item) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"item\" as const,\n id: item.itemId,\n })),\n ...payload.items.flatMap((item) => item.kind === \"tool-call\"\n ? [\n Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"call\" as const,\n id: item.callId,\n }),\n ]\n : []),\n ];\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptConversationFamilySchemaId,\n entities,\n references: [\n ...payload.turns.map((turn) => Object.freeze({ sourceId: turn.turnId, refs: turn.refs })),\n ...payload.items.map((item) => Object.freeze({ sourceId: item.itemId, refs: item.refs })),\n ],\n });\n}\nexport function makeAttemptCommandsAttachmentFamilyValidation(input: {\n readonly commands: readonly {\n readonly commandId: CommandId;\n readonly refs: readonly CommandsReferences[];\n }[];\n}): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptCommandsFamilySchemaId,\n entities: input.commands.map((command) => Object.freeze({\n family: attemptCommandsFamilySchemaId,\n kind: \"command\" as const,\n id: command.commandId,\n })),\n references: input.commands.map((command) => Object.freeze({ sourceId: command.commandId, refs: command.refs })),\n });\n}\nexport function makeAttemptUsageAttachmentFamilyValidation(payload: UsageAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptUsageFamilySchemaId,\n entities: payload.observations.map((observation) => Object.freeze({\n family: attemptUsageFamilySchemaId,\n kind: \"usage-observation\" as const,\n id: observation.usageObservationId,\n })),\n references: payload.observations.map((observation) => Object.freeze({\n sourceId: observation.usageObservationId,\n refs: observation.refs,\n })),\n });\n}\nexport function makeAttemptTimingAttachmentFamilyValidation(payload: AttemptTimingAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: attemptTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeAttemptDiagnosticsAttachmentFamilyValidation(payload: AttemptDiagnosticsAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: attemptDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\nexport function makeRunTimingAttachmentFamilyValidation(payload: RunTimingAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: runTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeRunDiagnosticsAttachmentFamilyValidation(payload: RunDiagnosticsAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: runDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"families.js","sourceRoot":"","sources":["families.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema } from \"effect\";\nimport { isCanonicalTurnLabel } from \"../../shared/turn-label.ts\";\nimport type { RecordBlobRef } from \"../../record/attachment/index.ts\";\nimport { Sha256DigestSchema, SourceFileItemIdSchema, } from \"../../sources/codec.ts\";\nimport { AttemptDiagnosticsReferencesSchema, AttemptReferenceTargetSchema, AttemptTimingReferencesSchema, CollectionSchema, CommandsReferencesSchema, ConversationReferencesSchema, CurrencyCodeSchema, NonNegativeSafeIntegerSchema, PositiveSafeIntegerSchema, RunDiagnosticsReferencesSchema, RunReferenceTargetSchema, RunTimingReferencesSchema, SafeIdentifierSchema, SafeTextSchema, SourceNativeToolNameSchema, StableLabelSchema, UsageObservationIdSchema, UsageReferencesSchema, boundedSafeTextSchema, CallIdSchema, CommandIdSchema, DiagnosticIdSchema, IntervalIdSchema, ItemIdSchema, TurnIdSchema, } from \"./codec.ts\";\nimport { MAX_COMMAND_ARGUMENT_BYTES, MAX_COMMAND_ARGUMENTS, MAX_COMMAND_EXECUTABLE_BYTES, MAX_COMMAND_INLINE_STREAM_BYTES, MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES, MAX_COMMAND_SHELL_BYTES, MAX_COMMAND_STREAM_BYTES, MAX_COMMANDS_ATTACHMENT_BYTES, MAX_COMMANDS_CLOSURE_BYTES, MAX_COMMANDS, MAX_CONVERSATION_ATTACHMENT_BYTES, MAX_CONVERSATION_ITEMS, MAX_CONVERSATION_TEXT_BYTES, MAX_CONVERSATION_TURNS, MAX_DIAGNOSTIC_CAUSES, MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES, MAX_DIAGNOSTIC_CONTEXT_ITEMS, MAX_DIAGNOSTIC_SUMMARY_BYTES, MAX_DIAGNOSTICS_ATTACHMENT_BYTES, MAX_DIAGNOSTICS, MAX_TIMING_ATTACHMENT_BYTES, MAX_TIMING_INTERVALS, MAX_USAGE_ATTACHMENT_BYTES, MAX_USAGE_OBSERVATIONS, } from \"./limits.ts\";\nimport { ATTEMPT_OBSERVABILITY_FAMILY_SCHEMA_IDS, RUN_OBSERVABILITY_FAMILY_SCHEMA_IDS, compareObservabilityText, isSafeText, isStableLabel, jsonUtf8ByteLength, limitationTarget, type AttemptDiagnosticsReferences, type AttemptReferenceTarget, type Collection, type CommandId, type CommandsReferences, type RunDiagnosticsReferences, } from \"./model.ts\";\nimport { makeAttemptObservabilityFamilyValidation, makeRunObservabilityFamilyValidation, type ObservabilityFamilyValidation, } from \"./validation.ts\";\nfunction freezeArray<Value>(values: readonly Value[]): readonly Value[] {\n return Object.freeze([...values]);\n}\nfunction payloadFits(value: object, maximumBytes: number): boolean {\n const length = jsonUtf8ByteLength(value);\n return length !== undefined && length <= maximumBytes;\n}\nfunction isStrictlyOrderedById<Item>(values: readonly Item[], idOf: (value: Item) => string): boolean {\n let previous: string | undefined;\n const seen = new Set<string>();\n for (const value of values) {\n const id = idOf(value);\n if (seen.has(id) || (previous !== undefined && compareObservabilityText(previous, id) >= 0)) {\n return false;\n }\n seen.add(id);\n previous = id;\n }\n return true;\n}\nfunction isAllowedCollection(collection: Collection, targets: readonly string[]): boolean {\n return collection.limitations.every((limitation) => targets.some((target) => limitationTarget(limitation) === target));\n}\nfunction hasExactStreamTruncation(collection: Collection, commandId: string, stream: \"stdout\" | \"stderr\", retainedBytes: number, totalSafeUtf8Bytes: number): boolean {\n const omittedBytes = totalSafeUtf8Bytes - retainedBytes;\n return collection.limitations.some((limitation) => limitation.code === \"stream-truncated\" &&\n limitation.commandId === commandId &&\n limitation.stream === stream &&\n limitation.retainedBytes === retainedBytes &&\n limitation.omittedBytes === omittedBytes);\n}\nfunction isProjectRelativePath(value: string): boolean {\n return (isSafeText(value) &&\n value.length > 0 &&\n !value.startsWith(\"/\") &&\n value.split(\"/\").every((segment) => segment.length > 0 && segment !== \".\" && segment !== \"..\") &&\n new TextEncoder().encode(value).byteLength <= MAX_COMMAND_PROJECT_RELATIVE_PATH_BYTES);\n}\nconst ProjectRelativePathSchema = Schema.String.pipe(Schema.filter(isProjectRelativePath, {\n identifier: \"ObservabilityProjectRelativePath\",\n description: \"a portable project-relative path without dot segments\",\n}));\nconst ExitCodeSchema = Schema.JsonNumber.pipe(Schema.filter((value) => Number.isSafeInteger(value) &&\n value >= -2147483648 &&\n value <= 2147483647, {\n identifier: \"ObservabilityCommandExitCode\",\n description: \"a signed 32-bit command exit code\",\n}));\n/** Record's opaque ref position is the only non-JSON value in a durable command payload. */\nconst RecordBlobRefPositionSchema: Schema.Schema<RecordBlobRef, RecordBlobRef, never> = Schema.declare<RecordBlobRef>((value): value is RecordBlobRef => typeof value === \"object\" && value !== null);\nconst ConversationItemBaseFields = {\n itemId: ItemIdSchema,\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n refs: ConversationReferencesSchema,\n} as const;\nexport const ConversationTurnSchema = Schema.Struct({\n turnId: TurnIdSchema,\n sequence: PositiveSafeIntegerSchema,\n outcome: Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\"),\n refs: ConversationReferencesSchema,\n});\nexport const ConversationItemSchema = Schema.Union(Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"message\"),\n role: Schema.Literal(\"user\", \"assistant\"),\n text: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-call\"),\n callId: CallIdSchema,\n tool: SourceNativeToolNameSchema,\n inputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"tool-result\"),\n callId: CallIdSchema,\n outcome: Schema.Literal(\"completed\", \"rejected\", \"failed\", \"cancelled\"),\n outputSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"thinking-summary\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"subagent\"),\n state: Schema.Literal(\"started\", \"completed\", \"failed\"),\n label: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"input-request\"),\n state: Schema.Literal(\"requested\", \"answered\", \"cancelled\"),\n promptSummary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n responseSummary: Schema.NullOr(boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES)),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"skill-load\"),\n skill: SafeIdentifierSchema,\n outcome: Schema.Literal(\"loaded\", \"failed\"),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"context-injection\"),\n source: Schema.Literal(\"system\", \"memory\", \"skill\", \"user\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"compaction\"),\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n compactedItemCount: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n ...ConversationItemBaseFields,\n kind: Schema.Literal(\"conversation-error\"),\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_CONVERSATION_TEXT_BYTES),\n}));\nexport type ConversationTurn = Schema.Schema.Type<typeof ConversationTurnSchema>;\nexport type ConversationItem = Schema.Schema.Type<typeof ConversationItemSchema>;\nfunction conversationTextLengths(item: ConversationItem): readonly number[] {\n switch (item.kind) {\n case \"message\":\n return freezeArray([new TextEncoder().encode(item.text).byteLength]);\n case \"tool-call\":\n return freezeArray([new TextEncoder().encode(item.inputSummary).byteLength]);\n case \"tool-result\":\n return freezeArray([new TextEncoder().encode(item.outputSummary).byteLength]);\n case \"thinking-summary\":\n case \"subagent\":\n case \"context-injection\":\n case \"compaction\":\n case \"conversation-error\":\n return freezeArray([new TextEncoder().encode(item.summary).byteLength]);\n case \"input-request\":\n return freezeArray([\n new TextEncoder().encode(item.promptSummary).byteLength,\n ...(item.responseSummary === null\n ? []\n : [new TextEncoder().encode(item.responseSummary).byteLength]),\n ]);\n case \"skill-load\":\n return freezeArray([]);\n }\n}\nfunction isCanonicalConversationAttachment(value: Schema.Schema.Type<typeof ConversationAttachmentStructuralSchema>): boolean {\n if (value.turns.length > MAX_CONVERSATION_TURNS ||\n value.items.length > MAX_CONVERSATION_ITEMS ||\n !payloadFits(value, MAX_CONVERSATION_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\"conversation-item\", \"conversation-text\"])) {\n return false;\n }\n if (!isStrictlyOrderedById(value.turns, (turn) => turn.turnId))\n return false;\n const turnIds = new Set<string>();\n const turnSequences = new Set<number>();\n for (const turn of value.turns) {\n turnIds.add(turn.turnId);\n if (turnSequences.has(turn.sequence))\n return false;\n turnSequences.add(turn.sequence);\n }\n const itemIds = new Set<string>();\n const itemSequences = new Set<number>();\n const callIds = new Set<string>();\n const resultCallIds = new Set<string>();\n let previous: ConversationItem | undefined;\n for (const item of value.items) {\n if (itemIds.has(item.itemId) ||\n itemSequences.has(item.sequence) ||\n !turnIds.has(item.turnId)) {\n return false;\n }\n if (previous !== undefined &&\n (previous.sequence > item.sequence ||\n (previous.sequence === item.sequence &&\n compareObservabilityText(previous.itemId, item.itemId) >= 0))) {\n return false;\n }\n itemIds.add(item.itemId);\n itemSequences.add(item.sequence);\n if (item.kind === \"tool-call\") {\n if (callIds.has(item.callId))\n return false;\n callIds.add(item.callId);\n }\n if (item.kind === \"tool-result\") {\n if (!callIds.has(item.callId) || resultCallIds.has(item.callId))\n return false;\n resultCallIds.add(item.callId);\n }\n previous = item;\n }\n if (value.collection.state === \"complete\" &&\n [...callIds].some((callId) => !resultCallIds.has(callId))) {\n return false;\n }\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"conversation-text\") {\n return true;\n }\n const item = value.items.find((candidate) => candidate.itemId === limitation.itemId);\n return item !== undefined && conversationTextLengths(item).some((length) => length === limitation.retainedBytes);\n });\n}\nconst ConversationAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n turns: Schema.Array(ConversationTurnSchema),\n items: Schema.Array(ConversationItemSchema),\n});\nexport const ConversationAttachmentSchema = ConversationAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalConversationAttachment, {\n identifier: \"ObservabilityConversationAttachment\",\n description: \"a canonical, bounded conversation attachment\",\n}));\nexport type ConversationAttachment = Schema.Schema.Type<typeof ConversationAttachmentSchema>;\nconst CommandInvocationSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"argv\"),\n executable: boundedSafeTextSchema(MAX_COMMAND_EXECUTABLE_BYTES),\n arguments: Schema.Array(boundedSafeTextSchema(MAX_COMMAND_ARGUMENT_BYTES)).pipe(Schema.filter((arguments_) => arguments_.length <= MAX_COMMAND_ARGUMENTS, {\n identifier: \"ObservabilityCommandArguments\",\n description: \"at most 64 safe command arguments\",\n })),\n}), Schema.Struct({\n kind: Schema.Literal(\"shell\"),\n command: boundedSafeTextSchema(MAX_COMMAND_SHELL_BYTES),\n}));\nconst CommandWorkingDirectorySchema = Schema.Union(Schema.Struct({ kind: Schema.Literal(\"sandbox-default\") }), Schema.Struct({\n kind: Schema.Literal(\"project-relative\"),\n path: ProjectRelativePathSchema,\n}), Schema.Struct({ kind: Schema.Literal(\"redacted\") }));\nexport const CommandManifestSchema = Schema.Struct({\n phase: Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"sandbox.command\", \"attempt.teardown\"),\n invocation: CommandInvocationSchema,\n workingDirectory: CommandWorkingDirectorySchema,\n});\nexport const CommandStreamSchema = Schema.Struct({\n storage: Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"inline\"),\n text: SafeTextSchema,\n }), Schema.Struct({\n kind: Schema.Literal(\"blob\"),\n ref: RecordBlobRefPositionSchema,\n })),\n retainedBytes: NonNegativeSafeIntegerSchema,\n totalSafeUtf8Bytes: NonNegativeSafeIntegerSchema,\n});\nexport const CommandOutcomeSchema = Schema.Union(Schema.Struct({\n kind: Schema.Literal(\"exited\"),\n exitCode: ExitCodeSchema,\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}));\nexport const CommandResultSchema = Schema.Struct({\n outcome: CommandOutcomeSchema,\n stdout: CommandStreamSchema,\n stderr: CommandStreamSchema,\n});\nexport const CommandObservationSchema = Schema.Struct({\n commandId: CommandIdSchema,\n manifest: CommandManifestSchema,\n result: CommandResultSchema,\n refs: CommandsReferencesSchema,\n});\nconst CommandsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n commands: Schema.Array(CommandObservationSchema),\n});\nexport type CommandManifest = Schema.Schema.Type<typeof CommandManifestSchema>;\nexport type CommandStream = Schema.Schema.Type<typeof CommandStreamSchema>;\nexport type CommandResult = Schema.Schema.Type<typeof CommandResultSchema>;\nexport type CommandObservation = Schema.Schema.Type<typeof CommandObservationSchema>;\nfunction isCanonicalCommandStream(stream: CommandStream, collection: Collection, commandId: string, streamName: \"stdout\" | \"stderr\"): boolean {\n if (stream.retainedBytes > MAX_COMMAND_STREAM_BYTES ||\n stream.totalSafeUtf8Bytes < stream.retainedBytes) {\n return false;\n }\n if (stream.storage.kind === \"inline\") {\n const bytes = new TextEncoder().encode(stream.storage.text).byteLength;\n if (bytes !== stream.retainedBytes ||\n stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES) {\n return false;\n }\n }\n if (stream.totalSafeUtf8Bytes === stream.retainedBytes) {\n return stream.storage.kind === \"inline\"\n ? stream.retainedBytes <= MAX_COMMAND_INLINE_STREAM_BYTES\n : stream.retainedBytes > MAX_COMMAND_INLINE_STREAM_BYTES;\n }\n return hasExactStreamTruncation(collection, commandId, streamName, stream.retainedBytes, stream.totalSafeUtf8Bytes);\n}\nfunction commandManifestTextLengths(manifest: CommandManifest): readonly number[] {\n const encoder = new TextEncoder();\n const invocation = manifest.invocation.kind === \"argv\"\n ? [manifest.invocation.executable, ...manifest.invocation.arguments]\n : [manifest.invocation.command];\n const directory = manifest.workingDirectory.kind === \"project-relative\"\n ? [manifest.workingDirectory.path]\n : [];\n return freezeArray([...invocation, ...directory].map((value) => encoder.encode(value).byteLength));\n}\nfunction isCanonicalCommandsAttachment(value: Schema.Schema.Type<typeof CommandsAttachmentStructuralSchema>): boolean {\n if (value.commands.length > MAX_COMMANDS ||\n !payloadFits(value, MAX_COMMANDS_ATTACHMENT_BYTES) ||\n !isAllowedCollection(value.collection, [\n \"command-manifest\",\n \"command-stdout\",\n \"command-stderr\",\n ]) ||\n !isStrictlyOrderedById(value.commands, (command) => command.commandId)) {\n return false;\n }\n let closureBytes = 0;\n for (const command of value.commands) {\n for (const [name, stream] of [\n [\"stdout\", command.result.stdout],\n [\"stderr\", command.result.stderr],\n ] as const) {\n if (!isCanonicalCommandStream(stream, value.collection, command.commandId, name)) {\n return false;\n }\n if (stream.storage.kind === \"blob\") {\n closureBytes += stream.retainedBytes;\n }\n }\n }\n if (closureBytes > MAX_COMMANDS_CLOSURE_BYTES)\n return false;\n return value.collection.limitations.every((limitation) => {\n if (limitation.code !== \"text-truncated\" || limitation.target !== \"command-manifest\") {\n return true;\n }\n const command = value.commands.find((candidate) => candidate.commandId === limitation.commandId);\n return command !== undefined && commandManifestTextLengths(command.manifest).some((length) => length === limitation.retainedBytes);\n });\n}\nexport const CommandsAttachmentSchema = CommandsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalCommandsAttachment, {\n identifier: \"ObservabilityCommandsAttachment\",\n description: \"a canonical, bounded commands attachment\",\n}));\nexport type CommandsAttachment = Schema.Schema.Type<typeof CommandsAttachmentSchema>;\nexport const UsageObservationSchema = Schema.Union(Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"token-bucket\"),\n bucket: Schema.Literal(\"input\", \"output\", \"cache-read\", \"cache-write\", \"reasoning\", \"other\"),\n tokens: NonNegativeSafeIntegerSchema,\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"request\"),\n requestKind: Schema.Literal(\"model\", \"tool\"),\n}), Schema.Struct({\n usageObservationId: UsageObservationIdSchema,\n provider: SafeIdentifierSchema,\n refs: UsageReferencesSchema,\n kind: Schema.Literal(\"provider-cost\"),\n amount: Schema.String.pipe(Schema.filter((value) => /^(?:0|[1-9][0-9]*)(?:\\.[0-9]*[1-9])?$/u.test(value) &&\n new TextEncoder().encode(value).byteLength <= 64, {\n identifier: \"ObservabilityCanonicalDecimal\",\n description: \"a non-negative canonical decimal string\",\n })),\n currency: CurrencyCodeSchema,\n}));\nconst UsageAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n observations: Schema.Array(UsageObservationSchema),\n});\nexport type UsageObservation = Schema.Schema.Type<typeof UsageObservationSchema>;\nfunction isCanonicalUsageAttachment(value: Schema.Schema.Type<typeof UsageAttachmentStructuralSchema>): boolean {\n return (value.observations.length <= MAX_USAGE_OBSERVATIONS &&\n payloadFits(value, MAX_USAGE_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"usage-observation\"]) &&\n isStrictlyOrderedById(value.observations, (observation) => observation.usageObservationId));\n}\nexport const UsageAttachmentSchema = UsageAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalUsageAttachment, {\n identifier: \"ObservabilityUsageAttachment\",\n description: \"a canonical, bounded usage attachment\",\n}));\nexport type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;\nexport const AttemptTimingPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\");\nexport const RunTimingPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\");\nconst TimingOutcomeSchema = Schema.Literal(\"completed\", \"failed\", \"cancelled\", \"interrupted\", \"unknown\");\nconst CanonicalTurnLabelSchema = Schema.String.pipe(Schema.filter((value): value is string => isCanonicalTurnLabel(value), { identifier: \"CanonicalTurnLabel\" }));\nconst AttemptTimingIntervalBase = {\n intervalId: IntervalIdSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: AttemptTimingReferencesSchema,\n} as const;\nconst AttemptTimingIntervalStructuralSchema = Schema.Struct({\n ...AttemptTimingIntervalBase,\n phase: AttemptTimingPhaseSchema,\n label: Schema.Union(StableLabelSchema, CanonicalTurnLabelSchema),\n});\nexport const AttemptTimingIntervalSchema = AttemptTimingIntervalStructuralSchema.pipe(Schema.filter((interval) => interval.phase === \"agent.send\" || isStableLabel(interval.label), {\n identifier: \"AttemptTimingInterval\",\n description: \"canonical turn labels are reserved for agent.send intervals\",\n}));\nexport const RunTimingIntervalSchema = Schema.Struct({\n intervalId: IntervalIdSchema,\n phase: RunTimingPhaseSchema,\n label: StableLabelSchema,\n startOffsetMs: NonNegativeSafeIntegerSchema,\n durationMs: NonNegativeSafeIntegerSchema,\n parentIntervalId: Schema.NullOr(IntervalIdSchema),\n outcome: TimingOutcomeSchema,\n refs: RunTimingReferencesSchema,\n});\nexport type AttemptTimingInterval = Schema.Schema.Type<typeof AttemptTimingIntervalSchema>;\nexport type RunTimingInterval = Schema.Schema.Type<typeof RunTimingIntervalSchema>;\nfunction timingEnd(start: number, duration: number): number | undefined {\n const end = start + duration;\n return Number.isSafeInteger(end) ? end : undefined;\n}\nfunction isCanonicalTimingTree<Interval extends {\n readonly intervalId: string;\n readonly startOffsetMs: number;\n readonly durationMs: number;\n readonly parentIntervalId: string | null;\n}>(intervals: readonly Interval[]): boolean {\n if (!isStrictlyOrderedById(intervals, (interval) => interval.intervalId))\n return false;\n const byId = new Map(intervals.map((interval) => [interval.intervalId, interval] as const));\n for (const interval of intervals) {\n const end = timingEnd(interval.startOffsetMs, interval.durationMs);\n if (end === undefined)\n return false;\n const ancestors = new Set<string>([interval.intervalId]);\n let child: Interval = interval;\n while (child.parentIntervalId !== null) {\n const parent = byId.get(child.parentIntervalId);\n if (parent === undefined || ancestors.has(parent.intervalId)) {\n return false;\n }\n const parentEnd = timingEnd(parent.startOffsetMs, parent.durationMs);\n const childEnd = timingEnd(child.startOffsetMs, child.durationMs);\n if (parentEnd === undefined ||\n childEnd === undefined ||\n parent.startOffsetMs > child.startOffsetMs ||\n childEnd > parentEnd) {\n return false;\n }\n ancestors.add(parent.intervalId);\n child = parent;\n }\n }\n return true;\n}\nconst AttemptTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(AttemptTimingIntervalSchema),\n});\nfunction isCanonicalAttemptTimingAttachment(value: Schema.Schema.Type<typeof AttemptTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const AttemptTimingAttachmentSchema = AttemptTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptTimingAttachment, {\n identifier: \"ObservabilityAttemptTimingAttachment\",\n description: \"a canonical, bounded attempt timing tree\",\n}));\nexport type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;\nconst RunTimingAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n intervals: Schema.Array(RunTimingIntervalSchema),\n});\nfunction isCanonicalRunTimingAttachment(value: Schema.Schema.Type<typeof RunTimingAttachmentStructuralSchema>): boolean {\n return (value.intervals.length <= MAX_TIMING_INTERVALS &&\n payloadFits(value, MAX_TIMING_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"timing-interval\"]) &&\n isCanonicalTimingTree(value.intervals) &&\n (!value.intervals.some((interval) => interval.outcome === \"unknown\") ||\n value.collection.state === \"partial\"));\n}\nexport const RunTimingAttachmentSchema = RunTimingAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunTimingAttachment, {\n identifier: \"ObservabilityRunTimingAttachment\",\n description: \"a canonical, bounded run timing tree\",\n}));\nexport type RunTimingAttachment = Schema.Schema.Type<typeof RunTimingAttachmentSchema>;\nexport const AttemptDiagnosticPhaseSchema = Schema.Literal(\"attempt.setup\", \"sandbox.prepare\", \"agent.ensure\", \"eval.run\", \"agent.send\", \"sandbox.command\", \"assertion.evaluate\", \"verdict.fold\", \"attempt.teardown\", \"collection\");\nexport const RunDiagnosticPhaseSchema = Schema.Literal(\"run.setup\", \"run.discovery\", \"run.plan\", \"run.dispatch\", \"run.teardown\", \"collection\");\nexport const SourcePositionSchema = Schema.Struct({\n line: PositiveSafeIntegerSchema,\n column: PositiveSafeIntegerSchema,\n});\nexport const SourceFrameSchema = Schema.Struct({\n sourceItemId: SourceFileItemIdSchema,\n sha256: Sha256DigestSchema,\n start: SourcePositionSchema,\n end: SourcePositionSchema,\n});\nconst SafeDiagnosticCauseSchema = Schema.Struct({\n code: SafeIdentifierSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_CAUSE_SUMMARY_BYTES),\n});\nconst DiagnosticRedactionSchema = Schema.Union(Schema.Struct({ state: Schema.Literal(\"none\") }), Schema.Struct({\n state: Schema.Literal(\"applied\"),\n summaryReplacements: NonNegativeSafeIntegerSchema,\n causeReplacements: NonNegativeSafeIntegerSchema,\n contextReplacements: NonNegativeSafeIntegerSchema,\n}));\nconst DiagnosticLimitContextSchema = Schema.Struct({\n kind: Schema.Literal(\"limit\"),\n limit: Schema.Literal(\"conversation-items\", \"commands\", \"usage-observations\", \"timing-intervals\", \"diagnostics\", \"command-stream-bytes\"),\n maximum: NonNegativeSafeIntegerSchema,\n observedAtLeast: NonNegativeSafeIntegerSchema,\n});\nconst DiagnosticProviderContextSchema = Schema.Struct({\n kind: Schema.Literal(\"provider\"),\n provider: SafeIdentifierSchema,\n});\n/**\n * The entity context is a single target rather than an array. Schema's generic\n * ref-array constructors cannot express the exclusion while preserving the\n * direct triple, so these declarations keep the exact input check local.\n */\nconst AttemptDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: AttemptReferenceTargetSchema.pipe(Schema.filter((target): target is AttemptDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst RunDiagnosticEntityContextSchema = Schema.Struct({\n kind: Schema.Literal(\"entity\"),\n target: RunReferenceTargetSchema.pipe(Schema.filter((target): target is RunDiagnosticsReferences => target.kind !== \"diagnostic\")),\n});\nconst AttemptDiagnosticContextExactSchema = Schema.Union(AttemptDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nconst RunDiagnosticContextExactSchema = Schema.Union(RunDiagnosticEntityContextSchema, DiagnosticLimitContextSchema, DiagnosticProviderContextSchema);\nexport const AttemptDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: AttemptDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(AttemptDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: AttemptDiagnosticsReferencesSchema,\n});\nexport const RunDiagnosticSchema = Schema.Struct({\n diagnosticId: DiagnosticIdSchema,\n kind: Schema.Literal(\"advisory\", \"execution-error\"),\n code: SafeIdentifierSchema,\n phase: RunDiagnosticPhaseSchema,\n summary: boundedSafeTextSchema(MAX_DIAGNOSTIC_SUMMARY_BYTES),\n causes: Schema.Array(SafeDiagnosticCauseSchema),\n context: Schema.Array(RunDiagnosticContextExactSchema),\n redaction: DiagnosticRedactionSchema,\n sourceFrame: Schema.NullOr(SourceFrameSchema),\n refs: RunDiagnosticsReferencesSchema,\n});\nexport type SourcePosition = Schema.Schema.Type<typeof SourcePositionSchema>;\nexport type SourceFrame = Schema.Schema.Type<typeof SourceFrameSchema>;\nexport type SafeDiagnosticCause = Schema.Schema.Type<typeof SafeDiagnosticCauseSchema>;\nexport type DiagnosticRedaction = Schema.Schema.Type<typeof DiagnosticRedactionSchema>;\nexport type AttemptDiagnostic = Schema.Schema.Type<typeof AttemptDiagnosticSchema>;\nexport type RunDiagnostic = Schema.Schema.Type<typeof RunDiagnosticSchema>;\nfunction sourcePositionBeforeOrEqual(left: SourcePosition, right: SourcePosition): boolean {\n return left.line < right.line || (left.line === right.line && left.column <= right.column);\n}\nfunction hasValidDiagnosticShape(diagnostic: {\n readonly causes: readonly SafeDiagnosticCause[];\n readonly context: readonly unknown[];\n readonly redaction: DiagnosticRedaction;\n readonly sourceFrame: SourceFrame | null;\n}): boolean {\n if (diagnostic.causes.length > MAX_DIAGNOSTIC_CAUSES ||\n diagnostic.context.length > MAX_DIAGNOSTIC_CONTEXT_ITEMS) {\n return false;\n }\n if (diagnostic.redaction.state === \"applied\" &&\n diagnostic.redaction.summaryReplacements === 0 &&\n diagnostic.redaction.causeReplacements === 0 &&\n diagnostic.redaction.contextReplacements === 0) {\n return false;\n }\n return (diagnostic.sourceFrame === null ||\n sourcePositionBeforeOrEqual(diagnostic.sourceFrame.start, diagnostic.sourceFrame.end));\n}\nconst AttemptDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(AttemptDiagnosticSchema),\n});\nfunction isCanonicalAttemptDiagnosticsAttachment(value: Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const AttemptDiagnosticsAttachmentSchema = AttemptDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalAttemptDiagnosticsAttachment, {\n identifier: \"ObservabilityAttemptDiagnosticsAttachment\",\n description: \"a canonical, bounded attempt diagnostics attachment\",\n}));\nexport type AttemptDiagnosticsAttachment = Schema.Schema.Type<typeof AttemptDiagnosticsAttachmentSchema>;\nconst RunDiagnosticsAttachmentStructuralSchema = Schema.Struct({\n collection: CollectionSchema,\n diagnostics: Schema.Array(RunDiagnosticSchema),\n});\nfunction isCanonicalRunDiagnosticsAttachment(value: Schema.Schema.Type<typeof RunDiagnosticsAttachmentStructuralSchema>): boolean {\n return (value.diagnostics.length <= MAX_DIAGNOSTICS &&\n payloadFits(value, MAX_DIAGNOSTICS_ATTACHMENT_BYTES) &&\n isAllowedCollection(value.collection, [\"diagnostic\"]) &&\n isStrictlyOrderedById(value.diagnostics, (diagnostic) => diagnostic.diagnosticId) &&\n value.diagnostics.every(hasValidDiagnosticShape));\n}\nexport const RunDiagnosticsAttachmentSchema = RunDiagnosticsAttachmentStructuralSchema.pipe(Schema.filter(isCanonicalRunDiagnosticsAttachment, {\n identifier: \"ObservabilityRunDiagnosticsAttachment\",\n description: \"a canonical, bounded run diagnostics attachment\",\n}));\nexport type RunDiagnosticsAttachment = Schema.Schema.Type<typeof RunDiagnosticsAttachmentSchema>;\nconst attemptConversationFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptCommandsFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptUsageFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst attemptDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\nconst runTimingFamilySchemaId = \"niceeval.observability\" as const;\nconst runDiagnosticsFamilySchemaId = \"niceeval.observability\" as const;\n/** Semantic cross-family facts intentionally remain independent of writes. */\nexport function makeAttemptConversationAttachmentFamilyValidation(payload: ConversationAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n const entities: AttemptReferenceTarget[] = [\n ...payload.turns.map((turn) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"turn\" as const,\n id: turn.turnId,\n })),\n ...payload.items.map((item) => Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"item\" as const,\n id: item.itemId,\n })),\n ...payload.items.flatMap((item) => item.kind === \"tool-call\"\n ? [\n Object.freeze({\n family: attemptConversationFamilySchemaId,\n kind: \"call\" as const,\n id: item.callId,\n }),\n ]\n : []),\n ];\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptConversationFamilySchemaId,\n entities,\n references: [\n ...payload.turns.map((turn) => Object.freeze({ sourceId: turn.turnId, refs: turn.refs })),\n ...payload.items.map((item) => Object.freeze({ sourceId: item.itemId, refs: item.refs })),\n ],\n });\n}\nexport function makeAttemptCommandsAttachmentFamilyValidation(input: {\n readonly commands: readonly {\n readonly commandId: CommandId;\n readonly refs: readonly CommandsReferences[];\n }[];\n}): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptCommandsFamilySchemaId,\n entities: input.commands.map((command) => Object.freeze({\n family: attemptCommandsFamilySchemaId,\n kind: \"command\" as const,\n id: command.commandId,\n })),\n references: input.commands.map((command) => Object.freeze({ sourceId: command.commandId, refs: command.refs })),\n });\n}\nexport function makeAttemptUsageAttachmentFamilyValidation(payload: UsageAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptUsageFamilySchemaId,\n entities: payload.observations.map((observation) => Object.freeze({\n family: attemptUsageFamilySchemaId,\n kind: \"usage-observation\" as const,\n id: observation.usageObservationId,\n })),\n references: payload.observations.map((observation) => Object.freeze({\n sourceId: observation.usageObservationId,\n refs: observation.refs,\n })),\n });\n}\nexport function makeAttemptTimingAttachmentFamilyValidation(payload: AttemptTimingAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: attemptTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeAttemptDiagnosticsAttachmentFamilyValidation(payload: AttemptDiagnosticsAttachment): ObservabilityFamilyValidation<\"attempt\"> {\n return makeAttemptObservabilityFamilyValidation({\n schemaId: attemptDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: attemptDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\nexport function makeRunTimingAttachmentFamilyValidation(payload: RunTimingAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runTimingFamilySchemaId,\n entities: payload.intervals.map((interval) => Object.freeze({\n family: runTimingFamilySchemaId,\n kind: \"interval\" as const,\n id: interval.intervalId,\n })),\n references: payload.intervals.map((interval) => Object.freeze({ sourceId: interval.intervalId, refs: interval.refs })),\n });\n}\nexport function makeRunDiagnosticsAttachmentFamilyValidation(payload: RunDiagnosticsAttachment): ObservabilityFamilyValidation<\"run\"> {\n return makeRunObservabilityFamilyValidation({\n schemaId: runDiagnosticsFamilySchemaId,\n entities: payload.diagnostics.map((diagnostic) => Object.freeze({\n family: runDiagnosticsFamilySchemaId,\n kind: \"diagnostic\" as const,\n id: diagnostic.diagnosticId,\n })),\n references: payload.diagnostics.map((diagnostic) => Object.freeze({ sourceId: diagnostic.diagnosticId, refs: diagnostic.refs })),\n });\n}\n"]}
|
|
@@ -3136,10 +3136,10 @@ export declare const UsageAttachmentSchema: Schema.filter<Schema.Struct<{
|
|
|
3136
3136
|
export type UsageAttachment = Schema.Schema.Type<typeof UsageAttachmentSchema>;
|
|
3137
3137
|
export declare const AttemptTimingPhaseSchema: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
|
|
3138
3138
|
export declare const RunTimingPhaseSchema: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
|
|
3139
|
-
export declare const AttemptTimingIntervalSchema: Schema.Struct<{
|
|
3140
|
-
intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
|
|
3139
|
+
export declare const AttemptTimingIntervalSchema: Schema.filter<Schema.Struct<{
|
|
3141
3140
|
phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
|
|
3142
|
-
label: Schema.Schema<import("./model.cjs").StableLabel, string, never>;
|
|
3141
|
+
label: Schema.Union<[Schema.Schema<import("./model.cjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
|
|
3142
|
+
intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
|
|
3143
3143
|
startOffsetMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
|
|
3144
3144
|
durationMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
|
|
3145
3145
|
parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.cjs").IntervalId, string, never>>;
|
|
@@ -3229,7 +3229,7 @@ export declare const AttemptTimingIntervalSchema: Schema.Struct<{
|
|
|
3229
3229
|
readonly family: "niceeval.observability";
|
|
3230
3230
|
readonly id: string;
|
|
3231
3231
|
})[], never>>;
|
|
3232
|
-
}
|
|
3232
|
+
}>>;
|
|
3233
3233
|
export declare const RunTimingIntervalSchema: Schema.Struct<{
|
|
3234
3234
|
intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
|
|
3235
3235
|
phase: Schema.Literal<["run.setup", "run.discovery", "run.plan", "run.dispatch", "run.teardown"]>;
|
|
@@ -3329,10 +3329,10 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
|
|
|
3329
3329
|
replacementCount: Schema.Schema<import("./model.cjs").PositiveSafeInteger, number, never>;
|
|
3330
3330
|
}>]>>>;
|
|
3331
3331
|
}>]>>;
|
|
3332
|
-
intervals: Schema.Array$<Schema.Struct<{
|
|
3333
|
-
intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
|
|
3332
|
+
intervals: Schema.Array$<Schema.filter<Schema.Struct<{
|
|
3334
3333
|
phase: Schema.Literal<["attempt.setup", "sandbox.prepare", "agent.ensure", "eval.run", "agent.send", "sandbox.command", "assertion.evaluate", "verdict.fold", "attempt.teardown"]>;
|
|
3335
|
-
label: Schema.Schema<import("./model.cjs").StableLabel, string, never>;
|
|
3334
|
+
label: Schema.Union<[Schema.Schema<import("./model.cjs").StableLabel, string, never>, Schema.refine<string, Schema.Schema<string, string, never>>]>;
|
|
3335
|
+
intervalId: Schema.Schema<import("./model.cjs").IntervalId, string, never>;
|
|
3336
3336
|
startOffsetMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
|
|
3337
3337
|
durationMs: Schema.Schema<import("./model.cjs").NonNegativeSafeInteger, number, never>;
|
|
3338
3338
|
parentIntervalId: Schema.NullOr<Schema.Schema<import("./model.cjs").IntervalId, string, never>>;
|
|
@@ -3422,7 +3422,7 @@ export declare const AttemptTimingAttachmentSchema: Schema.filter<Schema.Struct<
|
|
|
3422
3422
|
readonly family: "niceeval.observability";
|
|
3423
3423
|
readonly id: string;
|
|
3424
3424
|
})[], never>>;
|
|
3425
|
-
}
|
|
3425
|
+
}>>>;
|
|
3426
3426
|
}>>;
|
|
3427
3427
|
export type AttemptTimingAttachment = Schema.Schema.Type<typeof AttemptTimingAttachmentSchema>;
|
|
3428
3428
|
export declare const RunTimingAttachmentSchema: Schema.filter<Schema.Struct<{
|