niceeval 0.12.2-canary.31 → 0.13.0
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 +10 -10
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/bin/niceeval.js +15 -0
- package/dist/agents/claude-code.cjs +9 -1
- package/dist/agents/claude-code.cjs.map +1 -1
- package/dist/agents/post-setup.cjs +0 -2
- package/dist/agents/post-setup.cjs.map +1 -1
- package/dist/agents/provisioner.cjs +2 -13
- package/dist/agents/provisioner.cjs.map +1 -1
- package/dist/agents/provisioner.d.cts +0 -5
- package/dist/agents/provisioner.d.mts +0 -5
- package/dist/agents/provisioner.d.ts +0 -5
- package/dist/agents/provisioner.js +22 -26
- package/dist/agents/sdk-streams.cjs +2 -1
- package/dist/agents/sdk-streams.cjs.map +1 -1
- package/dist/agents/types.cjs.map +1 -1
- package/dist/agents/types.d.cts +2 -10
- package/dist/agents/types.d.mts +2 -10
- package/dist/agents/types.d.ts +2 -10
- package/dist/analysis/api.cjs +689 -0
- package/dist/analysis/api.cjs.map +1 -0
- package/dist/analysis/api.d.cts +126 -0
- package/dist/analysis/api.d.mts +126 -0
- package/dist/analysis/api.d.ts +126 -0
- package/dist/analysis/api.js +24 -0
- package/dist/analysis/api.js.map +1 -0
- package/dist/analysis/bindings.cjs +617 -0
- package/dist/analysis/bindings.cjs.map +1 -0
- package/dist/analysis/bindings.d.cts +8313 -0
- package/dist/analysis/bindings.d.mts +8313 -0
- package/dist/analysis/bindings.d.ts +8313 -0
- package/dist/analysis/bindings.js +22 -0
- package/dist/analysis/bindings.js.map +1 -0
- package/dist/analysis/contracts.cjs +39 -0
- package/dist/analysis/contracts.cjs.map +1 -0
- package/dist/analysis/contracts.d.cts +293 -0
- package/dist/analysis/contracts.d.mts +293 -0
- package/dist/analysis/contracts.d.ts +293 -0
- package/dist/analysis/contracts.js +12 -0
- package/dist/analysis/contracts.js.map +1 -0
- package/dist/analysis/cost-decimal.cjs +177 -0
- package/dist/analysis/cost-decimal.cjs.map +1 -0
- package/dist/analysis/cost-decimal.d.cts +51 -0
- package/dist/analysis/cost-decimal.d.mts +51 -0
- package/dist/analysis/cost-decimal.d.ts +51 -0
- package/dist/analysis/cost-decimal.js +28 -0
- package/dist/analysis/cost-decimal.js.map +1 -0
- package/dist/analysis/cost-projection.cjs +430 -0
- package/dist/analysis/cost-projection.cjs.map +1 -0
- package/dist/analysis/cost-projection.d.cts +37 -0
- package/dist/analysis/cost-projection.d.mts +37 -0
- package/dist/analysis/cost-projection.d.ts +37 -0
- package/dist/analysis/cost-projection.js +10 -0
- package/dist/analysis/cost-projection.js.map +1 -0
- package/dist/analysis/cost.cjs +814 -0
- package/dist/analysis/cost.cjs.map +1 -0
- package/dist/analysis/cost.d.cts +310 -0
- package/dist/analysis/cost.d.mts +310 -0
- package/dist/analysis/cost.d.ts +310 -0
- package/dist/analysis/cost.js +26 -0
- package/dist/analysis/cost.js.map +1 -0
- package/dist/analysis/definitions.cjs +346 -0
- package/dist/analysis/definitions.cjs.map +1 -0
- package/dist/analysis/definitions.d.cts +230 -0
- package/dist/analysis/definitions.d.mts +230 -0
- package/dist/analysis/definitions.d.ts +230 -0
- package/dist/analysis/definitions.js +70 -0
- package/dist/analysis/definitions.js.map +1 -0
- package/dist/analysis/domain-view.cjs +3 -0
- package/dist/analysis/domain-view.cjs.map +1 -0
- package/dist/analysis/domain-view.d.cts +367 -0
- package/dist/analysis/domain-view.d.mts +367 -0
- package/dist/analysis/domain-view.d.ts +367 -0
- package/dist/analysis/domain-view.js +4 -0
- package/dist/analysis/domain-view.js.map +1 -0
- package/dist/analysis/file-changes.cjs +225 -0
- package/dist/analysis/file-changes.cjs.map +1 -0
- package/dist/analysis/file-changes.d.cts +30 -0
- package/dist/analysis/file-changes.d.mts +30 -0
- package/dist/analysis/file-changes.d.ts +30 -0
- package/dist/analysis/file-changes.js +6 -0
- package/dist/analysis/file-changes.js.map +1 -0
- package/dist/analysis/host.cjs +8 -0
- package/dist/analysis/host.cjs.map +1 -0
- package/dist/analysis/host.d.cts +19 -0
- package/dist/analysis/host.d.mts +19 -0
- package/dist/analysis/host.d.ts +19 -0
- package/dist/analysis/host.js +6 -0
- package/dist/analysis/host.js.map +1 -0
- package/dist/analysis/host.mjs +6 -0
- package/dist/analysis/host.mjs.map +1 -0
- package/dist/analysis/index.cjs +45 -8
- package/dist/analysis/index.cjs.map +1 -1
- package/dist/analysis/index.d.cts +10 -2
- package/dist/analysis/index.d.mts +10 -2
- package/dist/analysis/index.d.ts +10 -2
- package/dist/analysis/index.js +70 -6
- package/dist/analysis/index.mjs +70 -6
- package/dist/assertions/api.cjs.map +1 -1
- package/dist/assertions/api.d.cts +1 -1
- package/dist/assertions/api.d.mts +1 -1
- package/dist/assertions/api.d.ts +1 -1
- package/dist/assertions/diff.cjs +2 -2
- package/dist/assertions/diff.cjs.map +1 -1
- package/dist/assertions/diff.d.cts +2 -2
- package/dist/assertions/diff.d.mts +2 -2
- package/dist/assertions/diff.d.ts +2 -2
- package/dist/assertions/judge.cjs +11 -10
- package/dist/assertions/judge.cjs.map +1 -1
- package/dist/assertions/record/attachment.cjs +64 -81
- package/dist/assertions/record/attachment.cjs.map +1 -1
- package/dist/assertions/record/attachment.d.cts +88 -143
- package/dist/assertions/record/attachment.d.mts +88 -143
- package/dist/assertions/record/attachment.d.ts +88 -143
- package/dist/assertions/record/attachment.js +12 -16
- package/dist/assertions/record/codec.cjs +178 -100
- package/dist/assertions/record/codec.cjs.map +1 -1
- package/dist/assertions/record/codec.d.cts +75 -56
- package/dist/assertions/record/codec.d.mts +75 -56
- package/dist/assertions/record/codec.d.ts +75 -56
- package/dist/assertions/record/codec.js +36 -32
- package/dist/assertions/record/diff.cjs +545 -134
- package/dist/assertions/record/diff.cjs.map +1 -1
- package/dist/assertions/record/diff.d.cts +73 -25
- package/dist/assertions/record/diff.d.mts +73 -25
- package/dist/assertions/record/diff.d.ts +73 -25
- package/dist/assertions/record/diff.js +12 -14
- package/dist/assertions/record/index.js +70 -72
- package/dist/assertions/record/model.cjs.map +1 -1
- package/dist/assertions/record/model.d.cts +62 -70
- package/dist/assertions/record/model.d.mts +62 -70
- package/dist/assertions/record/model.d.ts +62 -70
- package/dist/assertions/record/producer.cjs +5 -2
- package/dist/assertions/record/producer.cjs.map +1 -1
- package/dist/assertions/record/producer.d.cts +18 -18
- package/dist/assertions/record/producer.d.mts +18 -18
- package/dist/assertions/record/producer.d.ts +18 -18
- package/dist/assertions/record/producer.js +2 -2
- package/dist/assertions/runtime.cjs +14 -9
- package/dist/assertions/runtime.cjs.map +1 -1
- package/dist/assertions/workspace-diff.cjs +18 -4
- package/dist/assertions/workspace-diff.cjs.map +1 -1
- package/dist/assertions/workspace-diff.d.cts +3 -1
- package/dist/assertions/workspace-diff.d.mts +3 -1
- package/dist/assertions/workspace-diff.d.ts +3 -1
- package/dist/assertions/workspace-diff.js +14 -12
- package/dist/attempt-locator-resolution.cjs +33 -38
- package/dist/attempt-locator-resolution.cjs.map +1 -1
- package/dist/attempt-locator-resolution.d.cts +15 -8
- package/dist/attempt-locator-resolution.d.mts +15 -8
- package/dist/attempt-locator-resolution.d.ts +15 -8
- package/dist/cli/record.cjs +16 -89
- package/dist/cli/record.cjs.map +1 -1
- package/dist/cli/record.d.cts +2 -9
- package/dist/cli/record.d.mts +2 -9
- package/dist/cli/record.d.ts +2 -9
- package/dist/cli/record.js +2 -6
- package/dist/cli.cjs +609 -245
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +6 -5
- package/dist/cli.d.mts +6 -5
- package/dist/cli.d.ts +6 -5
- package/dist/context/assert-first.cjs +13 -4
- package/dist/context/assert-first.cjs.map +1 -1
- package/dist/context/assert-first.d.cts +3 -4
- package/dist/context/assert-first.d.mts +3 -4
- package/dist/context/assert-first.d.ts +3 -4
- package/dist/context/send-retry.cjs +18 -21
- package/dist/context/send-retry.cjs.map +1 -1
- package/dist/context/send-retry.d.cts +0 -3
- package/dist/context/send-retry.d.mts +0 -3
- package/dist/context/send-retry.d.ts +0 -3
- package/dist/context/session.cjs +46 -42
- package/dist/context/session.cjs.map +1 -1
- package/dist/context/session.d.cts +4 -6
- package/dist/context/session.d.mts +4 -6
- package/dist/context/session.d.ts +4 -6
- package/dist/coordination/host/index.cjs +10 -0
- package/dist/coordination/host/index.cjs.map +1 -0
- package/dist/coordination/host/index.d.cts +6 -0
- package/dist/coordination/host/index.d.mts +6 -0
- package/dist/coordination/host/index.d.ts +6 -0
- package/dist/coordination/host/index.js +6 -0
- package/dist/coordination/host/index.mjs +6 -0
- package/dist/coordination/host/runtime.cjs +57 -0
- package/dist/coordination/host/runtime.cjs.map +1 -0
- package/dist/coordination/host/runtime.d.cts +13 -0
- package/dist/coordination/host/runtime.d.mts +13 -0
- package/dist/coordination/host/runtime.d.ts +13 -0
- package/dist/coordination/host/runtime.js +8 -0
- package/dist/coordination/host/types.cjs.map +1 -0
- package/dist/coordination/host/types.d.cts +37 -0
- package/dist/coordination/host/types.d.mts +37 -0
- package/dist/coordination/host/types.d.ts +37 -0
- package/dist/coordination/identity.cjs +48 -0
- package/dist/coordination/identity.cjs.map +1 -0
- package/dist/coordination/identity.d.cts +14 -0
- package/dist/coordination/identity.d.mts +14 -0
- package/dist/coordination/identity.d.ts +14 -0
- package/dist/coordination/identity.js +6 -0
- package/dist/coordination/index.cjs +23 -0
- package/dist/coordination/index.cjs.map +1 -0
- package/dist/coordination/index.d.cts +6 -0
- package/dist/coordination/index.d.mts +6 -0
- package/dist/coordination/index.d.ts +6 -0
- package/dist/coordination/index.js +16 -0
- package/dist/coordination/platform/index.cjs +18 -0
- package/dist/coordination/platform/index.cjs.map +1 -0
- package/dist/coordination/platform/index.d.cts +1 -0
- package/dist/coordination/platform/index.d.mts +1 -0
- package/dist/coordination/platform/index.d.ts +1 -0
- package/dist/coordination/platform/index.js +6 -0
- package/dist/coordination/platform/node.cjs +251 -0
- package/dist/coordination/platform/node.cjs.map +1 -0
- package/dist/coordination/platform/node.d.cts +3 -0
- package/dist/coordination/platform/node.d.mts +3 -0
- package/dist/coordination/platform/node.d.ts +3 -0
- package/dist/coordination/platform/node.js +6 -0
- package/dist/coordination/platform/node.js.map +1 -0
- package/dist/coordination/record-leases.cjs +22 -0
- package/dist/coordination/record-leases.cjs.map +1 -0
- package/dist/coordination/record-leases.d.cts +39 -0
- package/dist/coordination/record-leases.d.mts +39 -0
- package/dist/coordination/record-leases.d.ts +39 -0
- package/dist/coordination/record-leases.js +10 -0
- package/dist/coordination/record-leases.js.map +1 -0
- package/dist/eval/experiment-id.cjs +1 -5
- package/dist/eval/experiment-id.cjs.map +1 -1
- package/dist/eval/experiment-id.d.cts +0 -2
- package/dist/eval/experiment-id.d.mts +0 -2
- package/dist/eval/experiment-id.d.ts +0 -2
- package/dist/eval/experiment-id.js +0 -4
- package/dist/eval/record/attachment.cjs +7 -47
- package/dist/eval/record/attachment.cjs.map +1 -1
- package/dist/eval/record/attachment.d.cts +8 -24
- package/dist/eval/record/attachment.d.mts +8 -24
- package/dist/eval/record/attachment.d.ts +8 -24
- package/dist/eval/record/attachment.js +4 -10
- package/dist/eval/record/coherence.cjs +6 -6
- package/dist/eval/record/coherence.cjs.map +1 -1
- package/dist/eval/record/coherence.d.cts +16 -16
- package/dist/eval/record/coherence.d.mts +16 -16
- package/dist/eval/record/coherence.d.ts +16 -16
- package/dist/eval/record/coherence.js +2 -2
- package/dist/eval/record/eligibility.cjs +53 -135
- package/dist/eval/record/eligibility.cjs.map +1 -1
- package/dist/eval/record/eligibility.d.cts +38 -140
- package/dist/eval/record/eligibility.d.mts +38 -140
- package/dist/eval/record/eligibility.d.ts +38 -140
- package/dist/eval/record/eligibility.js +16 -38
- package/dist/eval/record/evaluation-plan.cjs +18 -23
- package/dist/eval/record/evaluation-plan.cjs.map +1 -1
- package/dist/eval/record/evaluation-plan.d.cts +6 -9
- package/dist/eval/record/evaluation-plan.d.mts +6 -9
- package/dist/eval/record/evaluation-plan.d.ts +6 -9
- package/dist/eval/record/evaluation-plan.js +2 -2
- package/dist/eval/record/evaluation-record.cjs +161 -454
- package/dist/eval/record/evaluation-record.cjs.map +1 -1
- package/dist/eval/record/evaluation-record.d.cts +67 -128
- package/dist/eval/record/evaluation-record.d.mts +67 -128
- package/dist/eval/record/evaluation-record.d.ts +67 -128
- package/dist/eval/record/evaluation-record.js +16 -16
- package/dist/eval/record/evaluation.cjs +59 -174
- package/dist/eval/record/evaluation.cjs.map +1 -1
- package/dist/eval/record/evaluation.d.cts +43 -119
- package/dist/eval/record/evaluation.d.mts +43 -119
- package/dist/eval/record/evaluation.d.ts +43 -119
- package/dist/eval/record/evaluation.js +20 -32
- package/dist/eval/record/index.js +144 -238
- package/dist/eval/record/membership-provenance.cjs +58 -191
- package/dist/eval/record/membership-provenance.cjs.map +1 -1
- package/dist/eval/record/membership-provenance.d.cts +83 -659
- package/dist/eval/record/membership-provenance.d.mts +83 -659
- package/dist/eval/record/membership-provenance.d.ts +83 -659
- package/dist/eval/record/membership-provenance.js +34 -54
- package/dist/eval/record/score.cjs +58 -170
- package/dist/eval/record/score.cjs.map +1 -1
- package/dist/eval/record/score.d.cts +36 -104
- package/dist/eval/record/score.d.mts +36 -104
- package/dist/eval/record/score.d.ts +36 -104
- package/dist/eval/record/score.js +22 -40
- package/dist/eval/record/sealed-assertion.cjs +10 -10
- package/dist/eval/record/sealed-assertion.cjs.map +1 -1
- package/dist/eval/record/sealed-assertion.d.cts +12 -12
- package/dist/eval/record/sealed-assertion.d.mts +12 -12
- package/dist/eval/record/sealed-assertion.d.ts +12 -12
- package/dist/eval/record/sealed-assertion.js +10 -10
- package/dist/eval/record/verdict.cjs +42 -64
- package/dist/eval/record/verdict.cjs.map +1 -1
- package/dist/eval/record/verdict.d.cts +35 -48
- package/dist/eval/record/verdict.d.mts +35 -48
- package/dist/eval/record/verdict.d.ts +35 -48
- package/dist/eval/record/verdict.js +16 -32
- package/dist/experiment/host/index.cjs +210 -0
- package/dist/experiment/host/index.cjs.map +1 -0
- package/dist/experiment/host/index.d.cts +125 -0
- package/dist/experiment/host/index.d.mts +125 -0
- package/dist/experiment/host/index.d.ts +125 -0
- package/dist/experiment/host/index.js +6 -0
- package/dist/experiment/host/index.mjs +6 -0
- package/dist/experiment/host/index.mjs.map +1 -0
- package/dist/fresh-import.cjs +33 -119
- package/dist/fresh-import.cjs.map +1 -1
- package/dist/i18n/en.cjs +10 -5
- package/dist/i18n/en.cjs.map +1 -1
- package/dist/i18n/en.d.cts +9 -4
- package/dist/i18n/en.d.mts +9 -4
- package/dist/i18n/en.d.ts +9 -4
- package/dist/index.cjs +1 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.mts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +18 -20
- package/dist/index.mjs +18 -20
- package/dist/o11y/cost.cjs +16 -6
- package/dist/o11y/cost.cjs.map +1 -1
- package/dist/o11y/parsers/bub.cjs +16 -4
- package/dist/o11y/parsers/bub.cjs.map +1 -1
- package/dist/o11y/parsers/hermes.cjs +19 -6
- package/dist/o11y/parsers/hermes.cjs.map +1 -1
- package/dist/o11y/parsers/openclaw.cjs +5 -10
- package/dist/o11y/parsers/openclaw.cjs.map +1 -1
- package/dist/o11y/parsers/opencode.cjs +6 -11
- package/dist/o11y/parsers/opencode.cjs.map +1 -1
- package/dist/o11y/prices.json +1335 -557
- package/dist/o11y/record/capture.cjs +38 -38
- package/dist/o11y/record/capture.cjs.map +1 -1
- package/dist/o11y/record/capture.d.cts +25 -25
- package/dist/o11y/record/capture.d.mts +25 -25
- package/dist/o11y/record/capture.d.ts +25 -25
- package/dist/o11y/record/capture.js +26 -26
- package/dist/o11y/record/codec.cjs +139 -140
- package/dist/o11y/record/codec.cjs.map +1 -1
- package/dist/o11y/record/codec.d.cts +262 -266
- package/dist/o11y/record/codec.d.mts +262 -266
- package/dist/o11y/record/codec.d.ts +262 -266
- package/dist/o11y/record/codec.js +58 -60
- package/dist/o11y/record/errors.cjs +20 -20
- package/dist/o11y/record/errors.cjs.map +1 -1
- package/dist/o11y/record/errors.d.cts +18 -18
- package/dist/o11y/record/errors.d.mts +18 -18
- package/dist/o11y/record/errors.d.ts +18 -18
- package/dist/o11y/record/errors.js +20 -20
- package/dist/o11y/record/families.cjs +269 -264
- package/dist/o11y/record/families.cjs.map +1 -1
- package/dist/o11y/record/families.d.cts +1589 -1573
- package/dist/o11y/record/families.d.mts +1589 -1573
- package/dist/o11y/record/families.d.ts +1589 -1573
- package/dist/o11y/record/families.js +64 -64
- package/dist/o11y/record/family-projectors.cjs +31 -58
- package/dist/o11y/record/family-projectors.cjs.map +1 -1
- package/dist/o11y/record/family-projectors.d.cts +2933 -34
- package/dist/o11y/record/family-projectors.d.mts +2933 -34
- package/dist/o11y/record/family-projectors.d.ts +2933 -34
- package/dist/o11y/record/family-projectors.js +10 -4
- package/dist/o11y/record/family-writers.cjs +207 -336
- package/dist/o11y/record/family-writers.cjs.map +1 -1
- package/dist/o11y/record/family-writers.d.cts +637 -5260
- package/dist/o11y/record/family-writers.d.mts +637 -5260
- package/dist/o11y/record/family-writers.d.ts +637 -5260
- package/dist/o11y/record/family-writers.js +14 -56
- package/dist/o11y/record/index.js +446 -484
- package/dist/o11y/record/limits.cjs +45 -45
- package/dist/o11y/record/limits.cjs.map +1 -1
- package/dist/o11y/record/limits.d.cts +32 -32
- package/dist/o11y/record/limits.d.mts +32 -32
- package/dist/o11y/record/limits.d.ts +32 -32
- package/dist/o11y/record/limits.js +64 -64
- package/dist/o11y/record/model.cjs +271 -277
- package/dist/o11y/record/model.cjs.map +1 -1
- package/dist/o11y/record/model.d.cts +160 -186
- package/dist/o11y/record/model.d.mts +160 -186
- package/dist/o11y/record/model.d.ts +160 -186
- package/dist/o11y/record/model.js +154 -154
- package/dist/o11y/record/runner-producer.cjs +649 -520
- package/dist/o11y/record/runner-producer.cjs.map +1 -1
- package/dist/o11y/record/runner-producer.d.cts +39 -25
- package/dist/o11y/record/runner-producer.d.mts +39 -25
- package/dist/o11y/record/runner-producer.d.ts +39 -25
- package/dist/o11y/record/runner-producer.js +26 -22
- package/dist/o11y/record/validation.cjs +75 -75
- package/dist/o11y/record/validation.cjs.map +1 -1
- package/dist/o11y/record/validation.d.cts +35 -35
- package/dist/o11y/record/validation.d.mts +35 -35
- package/dist/o11y/record/validation.d.ts +35 -35
- package/dist/o11y/record/validation.js +24 -24
- package/dist/o11y/types.cjs.map +1 -1
- package/dist/o11y/types.d.cts +7 -5
- package/dist/o11y/types.d.mts +7 -5
- package/dist/o11y/types.d.ts +7 -5
- package/dist/plugin/contracts.cjs.map +1 -1
- package/dist/plugin/contracts.d.cts +0 -3
- package/dist/plugin/contracts.d.mts +0 -3
- package/dist/plugin/contracts.d.ts +0 -3
- package/dist/plugins/record/attachment.cjs +0 -59
- package/dist/plugins/record/attachment.cjs.map +1 -1
- package/dist/plugins/record/attachment.d.cts +6 -14
- package/dist/plugins/record/attachment.d.mts +6 -14
- package/dist/plugins/record/attachment.d.ts +6 -14
- package/dist/plugins/record/attachment.js +0 -16
- package/dist/plugins/record/capability.cjs +0 -255
- package/dist/plugins/record/capability.cjs.map +1 -1
- package/dist/plugins/record/capability.d.cts +1 -93
- package/dist/plugins/record/capability.d.mts +1 -93
- package/dist/plugins/record/capability.d.ts +1 -93
- package/dist/plugins/record/capability.js +0 -22
- package/dist/plugins/record/codec.cjs +0 -241
- package/dist/plugins/record/codec.cjs.map +1 -1
- package/dist/plugins/record/codec.d.cts +2 -28
- package/dist/plugins/record/codec.d.mts +2 -28
- package/dist/plugins/record/codec.d.ts +2 -28
- package/dist/plugins/record/codec.js +0 -44
- package/dist/plugins/record/index.cjs +0 -51
- package/dist/plugins/record/index.cjs.map +1 -1
- package/dist/plugins/record/index.d.cts +5 -9
- package/dist/plugins/record/index.d.mts +5 -9
- package/dist/plugins/record/index.d.ts +5 -9
- package/dist/plugins/record/index.js +0 -90
- package/dist/plugins/record/migration.cjs +0 -30
- package/dist/plugins/record/migration.cjs.map +1 -1
- package/dist/plugins/record/migration.d.cts +3 -20
- package/dist/plugins/record/migration.d.mts +3 -20
- package/dist/plugins/record/migration.d.ts +3 -20
- package/dist/plugins/record/migration.js +0 -2
- package/dist/plugins/record/model.cjs.map +1 -1
- package/dist/plugins/record/model.d.cts +2 -93
- package/dist/plugins/record/model.d.mts +2 -93
- package/dist/plugins/record/model.d.ts +2 -93
- package/dist/plugins/record/provenance.cjs +0 -316
- package/dist/plugins/record/provenance.cjs.map +1 -1
- package/dist/plugins/record/provenance.d.cts +1 -78
- package/dist/plugins/record/provenance.d.mts +1 -78
- package/dist/plugins/record/provenance.d.ts +1 -78
- package/dist/plugins/record/provenance.js +0 -20
- package/dist/record/attachment/blob-policy.cjs +3 -0
- package/dist/record/attachment/blob-policy.cjs.map +1 -0
- package/dist/record/attachment/blob-policy.d.cts +18 -0
- package/dist/record/attachment/blob-policy.d.mts +18 -0
- package/dist/record/attachment/blob-policy.d.ts +18 -0
- package/dist/record/attachment/blob-policy.js +4 -0
- package/dist/record/attachment/blob-policy.js.map +1 -0
- package/dist/record/attachment/blob-ref.cjs +42 -0
- package/dist/record/attachment/blob-ref.cjs.map +1 -0
- package/dist/record/attachment/blob-ref.d.cts +22 -0
- package/dist/record/attachment/blob-ref.d.mts +22 -0
- package/dist/record/attachment/blob-ref.d.ts +22 -0
- package/dist/record/attachment/blob-ref.js +14 -0
- package/dist/record/attachment/blob-ref.js.map +1 -0
- package/dist/record/attachment/errors.cjs +6 -34
- package/dist/record/attachment/errors.cjs.map +1 -1
- package/dist/record/attachment/errors.d.cts +2 -24
- package/dist/record/attachment/errors.d.mts +2 -24
- package/dist/record/attachment/errors.d.ts +2 -24
- package/dist/record/attachment/errors.js +4 -10
- package/dist/record/attachment/index.cjs +2 -8
- package/dist/record/attachment/index.cjs.map +1 -1
- package/dist/record/attachment/index.d.cts +3 -3
- package/dist/record/attachment/index.d.mts +3 -3
- package/dist/record/attachment/index.d.ts +3 -3
- package/dist/record/attachment/index.js +6 -18
- package/dist/record/attachment/internal.cjs +5 -14
- package/dist/record/attachment/internal.cjs.map +1 -1
- package/dist/record/attachment/internal.d.cts +3 -2
- package/dist/record/attachment/internal.d.mts +3 -2
- package/dist/record/attachment/internal.d.ts +3 -2
- package/dist/record/attachment/internal.js +12 -30
- package/dist/record/attachment/runtime.cjs +155 -745
- package/dist/record/attachment/runtime.cjs.map +1 -1
- package/dist/record/attachment/runtime.d.cts +25 -68
- package/dist/record/attachment/runtime.d.mts +25 -68
- package/dist/record/attachment/runtime.d.ts +25 -68
- package/dist/record/attachment/runtime.js +16 -48
- package/dist/record/attachment/types.cjs +3 -26
- package/dist/record/attachment/types.cjs.map +1 -1
- package/dist/record/attachment/types.d.cts +33 -132
- package/dist/record/attachment/types.d.mts +33 -132
- package/dist/record/attachment/types.d.ts +33 -132
- package/dist/record/attachment/types.js +10 -22
- package/dist/record/codec/core.cjs +102 -85
- package/dist/record/codec/core.cjs.map +1 -1
- package/dist/record/codec/core.d.cts +205 -55
- package/dist/record/codec/core.d.mts +205 -55
- package/dist/record/codec/core.d.ts +205 -55
- package/dist/record/codec/core.js +50 -42
- package/dist/record/codec/identifiers.cjs +24 -2
- package/dist/record/codec/identifiers.cjs.map +1 -1
- package/dist/record/codec/identifiers.d.cts +11 -2
- package/dist/record/codec/identifiers.d.mts +11 -2
- package/dist/record/codec/identifiers.d.ts +11 -2
- package/dist/record/codec/identifiers.js +36 -18
- package/dist/record/codec/index.js +86 -60
- package/dist/record/definition/attachment.cjs +108 -0
- package/dist/record/definition/attachment.cjs.map +1 -0
- package/dist/record/definition/attachment.d.cts +77 -0
- package/dist/record/definition/attachment.d.mts +77 -0
- package/dist/record/definition/attachment.d.ts +77 -0
- package/dist/record/definition/attachment.js +8 -0
- package/dist/record/definition/attachment.js.map +1 -0
- package/dist/record/definition/canonical.cjs +271 -0
- package/dist/record/definition/canonical.cjs.map +1 -0
- package/dist/record/definition/canonical.d.cts +38 -0
- package/dist/record/definition/canonical.d.mts +38 -0
- package/dist/record/definition/canonical.d.ts +38 -0
- package/dist/record/definition/canonical.js +10 -0
- package/dist/record/definition/canonical.js.map +1 -0
- package/dist/record/definition/core.cjs +13 -0
- package/dist/record/definition/core.cjs.map +1 -0
- package/dist/record/definition/core.d.cts +10 -0
- package/dist/record/definition/core.d.mts +10 -0
- package/dist/record/definition/core.d.ts +10 -0
- package/dist/record/definition/core.js +6 -0
- package/dist/record/definition/core.js.map +1 -0
- package/dist/record/definition/index.cjs +21 -0
- package/dist/record/definition/index.cjs.map +1 -0
- package/dist/record/definition/index.d.cts +4 -0
- package/dist/record/definition/index.d.mts +4 -0
- package/dist/record/definition/index.d.ts +4 -0
- package/dist/record/definition/index.js +16 -0
- package/dist/record/definition/index.js.map +1 -0
- package/dist/record/definition/schema-codec.cjs +347 -0
- package/dist/record/definition/schema-codec.cjs.map +1 -0
- package/dist/record/definition/schema-codec.d.cts +48 -0
- package/dist/record/definition/schema-codec.d.mts +48 -0
- package/dist/record/definition/schema-codec.d.ts +48 -0
- package/dist/record/definition/schema-codec.js +8 -0
- package/dist/record/definition/schema-codec.js.map +1 -0
- package/dist/record/errors/record-errors.cjs +2 -2
- package/dist/record/errors/record-errors.cjs.map +1 -1
- package/dist/record/errors/record-errors.d.cts +2 -2
- package/dist/record/errors/record-errors.d.mts +2 -2
- package/dist/record/errors/record-errors.d.ts +2 -2
- package/dist/record/family/artifacts.cjs +83 -0
- package/dist/record/family/artifacts.cjs.map +1 -0
- package/dist/record/family/artifacts.d.cts +225 -0
- package/dist/record/family/artifacts.d.mts +225 -0
- package/dist/record/family/artifacts.d.ts +225 -0
- package/dist/record/family/artifacts.js +14 -0
- package/dist/record/family/artifacts.js.map +1 -0
- package/dist/record/family/assertions.cjs +172 -0
- package/dist/record/family/assertions.cjs.map +1 -0
- package/dist/record/family/assertions.d.cts +292 -0
- package/dist/record/family/assertions.d.mts +292 -0
- package/dist/record/family/assertions.d.ts +292 -0
- package/dist/record/family/assertions.js +20 -0
- package/dist/record/family/assertions.js.map +1 -0
- package/dist/record/family/catalog.cjs +91 -0
- package/dist/record/family/catalog.cjs.map +1 -0
- package/dist/record/family/catalog.d.cts +3653 -0
- package/dist/record/family/catalog.d.mts +3653 -0
- package/dist/record/family/catalog.d.ts +3653 -0
- package/dist/record/family/catalog.js +34 -0
- package/dist/record/family/catalog.js.map +1 -0
- package/dist/record/family/common.cjs +80 -0
- package/dist/record/family/common.cjs.map +1 -0
- package/dist/record/family/common.d.cts +44 -0
- package/dist/record/family/common.d.mts +44 -0
- package/dist/record/family/common.d.ts +44 -0
- package/dist/record/family/common.js +28 -0
- package/dist/record/family/common.js.map +1 -0
- package/dist/record/family/file-changes.cjs +278 -0
- package/dist/record/family/file-changes.cjs.map +1 -0
- package/dist/record/family/file-changes.d.cts +643 -0
- package/dist/record/family/file-changes.d.mts +643 -0
- package/dist/record/family/file-changes.d.ts +643 -0
- package/dist/record/family/file-changes.js +32 -0
- package/dist/record/family/file-changes.js.map +1 -0
- package/dist/record/family/index.cjs +24 -0
- package/dist/record/family/index.cjs.map +1 -0
- package/dist/record/family/index.d.cts +7 -0
- package/dist/record/family/index.d.mts +7 -0
- package/dist/record/family/index.d.ts +7 -0
- package/dist/record/family/index.js +148 -0
- package/dist/record/family/index.js.map +1 -0
- package/dist/record/family/observability.cjs +511 -0
- package/dist/record/family/observability.cjs.map +1 -0
- package/dist/record/family/observability.d.cts +2879 -0
- package/dist/record/family/observability.d.mts +2879 -0
- package/dist/record/family/observability.d.ts +2879 -0
- package/dist/record/family/observability.js +30 -0
- package/dist/record/family/observability.js.map +1 -0
- package/dist/record/family/source-navigation.cjs +215 -0
- package/dist/record/family/source-navigation.cjs.map +1 -0
- package/dist/record/family/source-navigation.d.cts +330 -0
- package/dist/record/family/source-navigation.d.mts +330 -0
- package/dist/record/family/source-navigation.d.ts +330 -0
- package/dist/record/family/source-navigation.js +24 -0
- package/dist/record/family/source-navigation.js.map +1 -0
- package/dist/record/family/sources.cjs +82 -0
- package/dist/record/family/sources.cjs.map +1 -0
- package/dist/record/family/sources.d.cts +81 -0
- package/dist/record/family/sources.d.mts +81 -0
- package/dist/record/family/sources.d.ts +81 -0
- package/dist/record/family/sources.js +14 -0
- package/dist/record/family/sources.js.map +1 -0
- package/dist/record/host/index.cjs +11 -0
- package/dist/record/host/index.cjs.map +1 -0
- package/dist/record/host/index.d.cts +7 -0
- package/dist/record/host/index.d.mts +7 -0
- package/dist/record/host/index.d.ts +7 -0
- package/dist/record/host/index.js +6 -0
- package/dist/record/host/index.js.map +1 -0
- package/dist/record/host/index.mjs +6 -0
- package/dist/record/host/index.mjs.map +1 -0
- package/dist/record/host/runtime.cjs +1696 -0
- package/dist/record/host/runtime.cjs.map +1 -0
- package/dist/record/host/runtime.d.cts +2 -0
- package/dist/record/host/runtime.d.mts +2 -0
- package/dist/record/host/runtime.d.ts +2 -0
- package/dist/record/host/runtime.js +6 -0
- package/dist/record/host/types.cjs +9 -0
- package/dist/record/host/types.cjs.map +1 -0
- package/dist/record/host/types.d.cts +259 -0
- package/dist/record/host/types.d.mts +259 -0
- package/dist/record/host/types.d.ts +259 -0
- package/dist/record/host/types.js +14 -0
- package/dist/record/host/types.js.map +1 -0
- package/dist/record/index.cjs +19 -52
- package/dist/record/index.cjs.map +1 -1
- package/dist/record/index.d.cts +14 -11
- package/dist/record/index.d.mts +14 -11
- package/dist/record/index.d.ts +14 -11
- package/dist/record/index.js +16 -310
- package/dist/record/index.mjs +20 -0
- package/dist/record/index.mjs.map +1 -0
- package/dist/record/maintenance/runtime.cjs +9 -11
- package/dist/record/maintenance/runtime.cjs.map +1 -1
- package/dist/record/maintenance/runtime.d.cts +4 -5
- package/dist/record/maintenance/runtime.d.mts +4 -5
- package/dist/record/maintenance/runtime.d.ts +4 -5
- package/dist/record/maintenance/types.cjs.map +1 -1
- package/dist/record/maintenance/types.d.cts +7 -8
- package/dist/record/maintenance/types.d.mts +7 -8
- package/dist/record/maintenance/types.d.ts +7 -8
- package/dist/record/migration/index.cjs +2 -25
- package/dist/record/migration/index.cjs.map +1 -1
- package/dist/record/migration/index.d.cts +11 -8
- package/dist/record/migration/index.d.mts +11 -8
- package/dist/record/migration/index.d.ts +11 -8
- package/dist/record/migration/index.js +2 -44
- package/dist/record/model/core.cjs +1 -4
- package/dist/record/model/core.cjs.map +1 -1
- package/dist/record/model/core.d.cts +59 -39
- package/dist/record/model/core.d.mts +59 -39
- package/dist/record/model/core.d.ts +59 -39
- package/dist/record/model/definition.cjs +147 -0
- package/dist/record/model/definition.cjs.map +1 -0
- package/dist/record/model/definition.d.cts +463 -0
- package/dist/record/model/definition.d.mts +463 -0
- package/dist/record/model/definition.d.ts +463 -0
- package/dist/record/model/definition.js +40 -0
- package/dist/record/model/definition.js.map +1 -0
- package/dist/record/model/identifiers.cjs +52 -10
- package/dist/record/model/identifiers.cjs.map +1 -1
- package/dist/record/model/identifiers.d.cts +44 -3
- package/dist/record/model/identifiers.d.mts +44 -3
- package/dist/record/model/identifiers.d.ts +44 -3
- package/dist/record/model/identifiers.js +62 -36
- package/dist/record/model/index.cjs +1 -0
- package/dist/record/model/index.cjs.map +1 -1
- package/dist/record/model/index.d.cts +1 -0
- package/dist/record/model/index.d.mts +1 -0
- package/dist/record/model/index.d.ts +1 -0
- package/dist/record/model/index.js +86 -48
- package/dist/record/model/read-state.cjs.map +1 -1
- package/dist/record/model/read-state.d.cts +6 -9
- package/dist/record/model/read-state.d.mts +6 -9
- package/dist/record/model/read-state.d.ts +6 -9
- package/dist/record/model/run-context.cjs +80 -0
- package/dist/record/model/run-context.cjs.map +1 -0
- package/dist/record/model/run-context.d.cts +30 -0
- package/dist/record/model/run-context.d.mts +30 -0
- package/dist/record/model/run-context.d.ts +30 -0
- package/dist/record/model/run-context.js +14 -0
- package/dist/record/model/run-context.js.map +1 -0
- package/dist/record/model/validation.cjs +155 -54
- package/dist/record/model/validation.cjs.map +1 -1
- package/dist/record/model/validation.d.cts +16 -11
- package/dist/record/model/validation.d.mts +16 -11
- package/dist/record/model/validation.d.ts +16 -11
- package/dist/record/model/validation.js +10 -8
- package/dist/record/platform/errors.cjs +2 -8
- package/dist/record/platform/errors.cjs.map +1 -1
- package/dist/record/platform/errors.d.cts +3 -13
- package/dist/record/platform/errors.d.mts +3 -13
- package/dist/record/platform/errors.d.ts +3 -13
- package/dist/record/platform/errors.js +0 -2
- package/dist/record/platform/index.js +38 -48
- package/dist/record/platform/node.cjs +3 -142
- package/dist/record/platform/node.cjs.map +1 -1
- package/dist/record/platform/node.d.cts +2 -4
- package/dist/record/platform/node.d.mts +2 -4
- package/dist/record/platform/node.d.ts +2 -4
- package/dist/record/platform/node.js +0 -4
- package/dist/record/platform/root.cjs +0 -11
- package/dist/record/platform/root.cjs.map +1 -1
- package/dist/record/platform/root.d.cts +0 -2
- package/dist/record/platform/root.d.mts +0 -2
- package/dist/record/platform/root.d.ts +0 -2
- package/dist/record/platform/services.cjs +1 -7
- package/dist/record/platform/services.cjs.map +1 -1
- package/dist/record/platform/services.d.cts +2 -29
- package/dist/record/platform/services.d.mts +2 -29
- package/dist/record/platform/services.d.ts +2 -29
- package/dist/record/platform/services.js +2 -6
- package/dist/record/reader/errors.cjs.map +1 -1
- package/dist/record/reader/errors.d.cts +3 -2
- package/dist/record/reader/errors.d.mts +3 -2
- package/dist/record/reader/errors.d.ts +3 -2
- package/dist/record/reader/format.cjs +26 -40
- package/dist/record/reader/format.cjs.map +1 -1
- package/dist/record/reader/format.d.cts +6 -7
- package/dist/record/reader/format.d.mts +6 -7
- package/dist/record/reader/format.d.ts +6 -7
- package/dist/record/reader/index.js +22 -30
- package/dist/record/reader/runtime.cjs +112 -636
- package/dist/record/reader/runtime.cjs.map +1 -1
- package/dist/record/reader/runtime.d.cts +43 -12
- package/dist/record/reader/runtime.d.mts +43 -12
- package/dist/record/reader/runtime.d.ts +43 -12
- package/dist/record/reader/runtime.js +6 -10
- package/dist/record/reader/types.cjs +3 -6
- package/dist/record/reader/types.cjs.map +1 -1
- package/dist/record/reader/types.d.cts +3 -42
- package/dist/record/reader/types.d.mts +3 -42
- package/dist/record/reader/types.d.ts +3 -42
- package/dist/record/reader/types.js +0 -4
- package/dist/record/writer/errors.cjs +7 -0
- package/dist/record/writer/errors.cjs.map +1 -1
- package/dist/record/writer/errors.d.cts +5 -0
- package/dist/record/writer/errors.d.mts +5 -0
- package/dist/record/writer/errors.d.ts +5 -0
- package/dist/record/writer/errors.js +6 -4
- package/dist/record/writer/index.cjs +0 -1
- package/dist/record/writer/index.cjs.map +1 -1
- package/dist/record/writer/index.d.cts +0 -1
- package/dist/record/writer/index.d.mts +0 -1
- package/dist/record/writer/index.d.ts +0 -1
- package/dist/record/writer/index.js +10 -10
- package/dist/record/writer/types.cjs.map +1 -1
- package/dist/record/writer/types.d.cts +12 -17
- package/dist/record/writer/types.d.mts +12 -17
- package/dist/record/writer/types.d.ts +12 -17
- package/dist/report/assets/colors.cjs +70 -0
- package/dist/report/assets/colors.cjs.map +1 -0
- package/dist/report/assets/colors.d.cts +22 -0
- package/dist/report/assets/colors.d.mts +22 -0
- package/dist/report/assets/colors.d.ts +22 -0
- package/dist/report/assets/colors.js +18 -0
- package/dist/report/assets/colors.js.map +1 -0
- package/dist/report/assets/enhance.js +466 -0
- package/dist/report/assets/series-encoding.cjs +116 -0
- package/dist/report/assets/series-encoding.cjs.map +1 -0
- package/dist/report/assets/series-encoding.d.cts +36 -0
- package/dist/report/assets/series-encoding.d.mts +36 -0
- package/dist/report/assets/series-encoding.d.ts +36 -0
- package/dist/report/assets/series-encoding.js +22 -0
- package/dist/report/assets/series-encoding.js.map +1 -0
- package/dist/report/assets/styles.css +2678 -0
- package/dist/report/built-in/analysis-values.cjs +28 -0
- package/dist/report/built-in/analysis-values.cjs.map +1 -0
- package/dist/report/built-in/analysis-values.d.cts +41 -0
- package/dist/report/built-in/analysis-values.d.mts +41 -0
- package/dist/report/built-in/analysis-values.d.ts +41 -0
- package/dist/report/built-in/analysis-values.js +10 -0
- package/dist/report/built-in/analysis-values.js.map +1 -0
- package/dist/report/built-in/attempt-overview.cjs +62 -384
- package/dist/report/built-in/attempt-overview.cjs.map +1 -1
- package/dist/report/built-in/attempt-overview.d.cts +4 -8
- package/dist/report/built-in/attempt-overview.d.mts +4 -8
- package/dist/report/built-in/attempt-overview.d.ts +4 -8
- package/dist/report/built-in/execution.cjs +40 -747
- package/dist/report/built-in/execution.cjs.map +1 -1
- package/dist/report/built-in/execution.d.cts +10 -19
- package/dist/report/built-in/execution.d.mts +10 -19
- package/dist/report/built-in/execution.d.ts +10 -19
- package/dist/report/built-in/index.cjs +15 -28
- package/dist/report/built-in/index.cjs.map +1 -1
- package/dist/report/built-in/index.d.cts +4 -6
- package/dist/report/built-in/index.d.mts +4 -6
- package/dist/report/built-in/index.d.ts +4 -6
- package/dist/report/built-in/index.js +22 -31
- package/dist/report/built-in/index.mjs +22 -31
- package/dist/report/built-in/machine.cjs +41 -0
- package/dist/report/built-in/machine.cjs.map +1 -0
- package/dist/report/built-in/machine.d.cts +29 -0
- package/dist/report/built-in/machine.d.mts +29 -0
- package/dist/report/built-in/machine.d.ts +29 -0
- package/dist/report/built-in/machine.js +8 -0
- package/dist/report/built-in/machine.js.map +1 -0
- package/dist/report/built-in/overview.cjs +38 -200
- package/dist/report/built-in/overview.cjs.map +1 -1
- package/dist/report/built-in/overview.d.cts +5 -5
- package/dist/report/built-in/overview.d.mts +5 -5
- package/dist/report/built-in/overview.d.ts +5 -5
- package/dist/report/built-in/overview.js +0 -2
- package/dist/report/built-in/result-components.cjs +325 -0
- package/dist/report/built-in/result-components.cjs.map +1 -0
- package/dist/report/built-in/result-components.d.cts +94 -0
- package/dist/report/built-in/result-components.d.mts +94 -0
- package/dist/report/built-in/result-components.d.ts +94 -0
- package/dist/report/built-in/result-components.js +24 -0
- package/dist/report/built-in/result-components.js.map +1 -0
- package/dist/report/built-in/run-membership-overview.cjs +48 -184
- package/dist/report/built-in/run-membership-overview.cjs.map +1 -1
- package/dist/report/built-in/run-membership-overview.d.cts +5 -5
- package/dist/report/built-in/run-membership-overview.d.mts +5 -5
- package/dist/report/built-in/run-membership-overview.d.ts +5 -5
- package/dist/report/built-in/sandbox-history.cjs +31 -372
- package/dist/report/built-in/sandbox-history.cjs.map +1 -1
- package/dist/report/built-in/sandbox-history.d.cts +5 -8
- package/dist/report/built-in/sandbox-history.d.mts +5 -8
- package/dist/report/built-in/sandbox-history.d.ts +5 -8
- package/dist/report/built-in/source.cjs +40 -150
- package/dist/report/built-in/source.cjs.map +1 -1
- package/dist/report/built-in/source.d.cts +10 -11
- package/dist/report/built-in/source.d.mts +10 -11
- package/dist/report/built-in/source.d.ts +10 -11
- package/dist/report/built-in/source.js +1 -0
- package/dist/report/built-in/standard.cjs +135 -0
- package/dist/report/built-in/standard.cjs.map +1 -0
- package/dist/report/built-in/standard.d.cts +91 -0
- package/dist/report/built-in/standard.d.mts +91 -0
- package/dist/report/built-in/standard.d.ts +91 -0
- package/dist/report/built-in/standard.js +17 -0
- package/dist/report/built-in/standard.js.map +1 -0
- package/dist/report/components/attempt-detail/compute.cjs +763 -0
- package/dist/report/components/attempt-detail/compute.cjs.map +1 -0
- package/dist/report/components/attempt-detail/compute.d.cts +370 -0
- package/dist/report/components/attempt-detail/compute.d.mts +370 -0
- package/dist/report/components/attempt-detail/compute.d.ts +370 -0
- package/dist/report/components/attempt-detail/compute.js +46 -0
- package/dist/report/components/attempt-detail/compute.js.map +1 -0
- package/dist/report/components/attempt-detail/content.cjs +411 -0
- package/dist/report/components/attempt-detail/content.cjs.map +1 -0
- package/dist/report/components/attempt-detail/content.d.cts +34 -0
- package/dist/report/components/attempt-detail/content.d.mts +34 -0
- package/dist/report/components/attempt-detail/content.d.ts +34 -0
- package/dist/report/components/attempt-detail/content.js +30 -0
- package/dist/report/components/attempt-detail/content.js.map +1 -0
- package/dist/report/components/attempt-detail/index.cjs +314 -0
- package/dist/report/components/attempt-detail/index.cjs.map +1 -0
- package/dist/report/components/attempt-detail/index.d.cts +27 -0
- package/dist/report/components/attempt-detail/index.d.mts +27 -0
- package/dist/report/components/attempt-detail/index.d.ts +27 -0
- package/dist/report/components/attempt-detail/index.js +34 -0
- package/dist/report/components/attempt-detail/index.js.map +1 -0
- package/dist/report/components/attempt-detail/validate.cjs +497 -0
- package/dist/report/components/attempt-detail/validate.cjs.map +1 -0
- package/dist/report/components/attempt-detail/validate.d.cts +14 -0
- package/dist/report/components/attempt-detail/validate.d.mts +14 -0
- package/dist/report/components/attempt-detail/validate.d.ts +14 -0
- package/dist/report/components/attempt-detail/validate.js +30 -0
- package/dist/report/components/attempt-detail/validate.js.map +1 -0
- package/dist/report/components/entity-lists/compute.cjs +426 -0
- package/dist/report/components/entity-lists/compute.cjs.map +1 -0
- package/dist/report/components/entity-lists/compute.d.cts +107 -0
- package/dist/report/components/entity-lists/compute.d.mts +107 -0
- package/dist/report/components/entity-lists/compute.d.ts +107 -0
- package/dist/report/components/entity-lists/compute.js +12 -0
- package/dist/report/components/entity-lists/compute.js.map +1 -0
- package/dist/report/components/entity-lists/content.cjs +275 -0
- package/dist/report/components/entity-lists/content.cjs.map +1 -0
- package/dist/report/components/entity-lists/content.d.cts +4 -0
- package/dist/report/components/entity-lists/content.d.mts +4 -0
- package/dist/report/components/entity-lists/content.d.ts +4 -0
- package/dist/report/components/entity-lists/content.js +8 -0
- package/dist/report/components/entity-lists/content.js.map +1 -0
- package/dist/report/components/entity-lists/index.cjs +48 -0
- package/dist/report/components/entity-lists/index.cjs.map +1 -0
- package/dist/report/components/entity-lists/index.d.cts +39 -0
- package/dist/report/components/entity-lists/index.d.mts +39 -0
- package/dist/report/components/entity-lists/index.d.ts +39 -0
- package/dist/report/components/entity-lists/index.js +22 -0
- package/dist/report/components/entity-lists/index.js.map +1 -0
- package/dist/report/components/experiment-detail/compute.cjs +228 -0
- package/dist/report/components/experiment-detail/compute.cjs.map +1 -0
- package/dist/report/components/experiment-detail/compute.d.cts +72 -0
- package/dist/report/components/experiment-detail/compute.d.mts +72 -0
- package/dist/report/components/experiment-detail/compute.d.ts +72 -0
- package/dist/report/components/experiment-detail/compute.js +6 -0
- package/dist/report/components/experiment-detail/compute.js.map +1 -0
- package/dist/report/components/experiment-detail/index.cjs +84 -0
- package/dist/report/components/experiment-detail/index.cjs.map +1 -0
- package/dist/report/components/experiment-detail/index.d.cts +13 -0
- package/dist/report/components/experiment-detail/index.d.mts +13 -0
- package/dist/report/components/experiment-detail/index.d.ts +13 -0
- package/dist/report/components/experiment-detail/index.js +6 -0
- package/dist/report/components/experiment-detail/index.js.map +1 -0
- package/dist/report/components/site-components/HeroCard.cjs +38 -0
- package/dist/report/components/site-components/HeroCard.cjs.map +1 -0
- package/dist/report/components/site-components/HeroCard.d.cts +14 -0
- package/dist/report/components/site-components/HeroCard.d.mts +14 -0
- package/dist/report/components/site-components/HeroCard.d.ts +14 -0
- package/dist/report/components/site-components/HeroCard.js +6 -0
- package/dist/report/components/site-components/HeroCard.js.map +1 -0
- package/dist/report/components/site-components/PoweredBy.cjs +12 -0
- package/dist/report/components/site-components/PoweredBy.cjs.map +1 -0
- package/dist/report/components/site-components/PoweredBy.d.cts +5 -0
- package/dist/report/components/site-components/PoweredBy.d.mts +5 -0
- package/dist/report/components/site-components/PoweredBy.d.ts +5 -0
- package/dist/report/components/site-components/PoweredBy.js +8 -0
- package/dist/report/components/site-components/PoweredBy.js.map +1 -0
- package/dist/report/components/site-components/compute.cjs +130 -0
- package/dist/report/components/site-components/compute.cjs.map +1 -0
- package/dist/report/components/site-components/compute.d.cts +36 -0
- package/dist/report/components/site-components/compute.d.mts +36 -0
- package/dist/report/components/site-components/compute.d.ts +36 -0
- package/dist/report/components/site-components/compute.js +16 -0
- package/dist/report/components/site-components/compute.js.map +1 -0
- package/dist/report/components/site-components/content.cjs +9 -0
- package/dist/report/components/site-components/content.cjs.map +1 -0
- package/dist/report/components/site-components/content.d.cts +118 -0
- package/dist/report/components/site-components/content.d.mts +118 -0
- package/dist/report/components/site-components/content.d.ts +118 -0
- package/dist/report/components/site-components/content.js +12 -0
- package/dist/report/components/site-components/content.js.map +1 -0
- package/dist/report/components/site-components/faces.cjs +33 -0
- package/dist/report/components/site-components/faces.cjs.map +1 -0
- package/dist/report/components/site-components/faces.d.cts +9 -0
- package/dist/report/components/site-components/faces.d.mts +9 -0
- package/dist/report/components/site-components/faces.d.ts +9 -0
- package/dist/report/components/site-components/faces.js +6 -0
- package/dist/report/components/site-components/faces.js.map +1 -0
- package/dist/report/components/site-components/hero-types.cjs +3 -0
- package/dist/report/components/site-components/hero-types.cjs.map +1 -0
- package/dist/report/components/site-components/hero-types.d.cts +17 -0
- package/dist/report/components/site-components/hero-types.d.mts +17 -0
- package/dist/report/components/site-components/hero-types.d.ts +17 -0
- package/dist/report/components/site-components/hero-types.js +4 -0
- package/dist/report/components/site-components/hero-types.js.map +1 -0
- package/dist/report/components/site-components/index.cjs +90 -0
- package/dist/report/components/site-components/index.cjs.map +1 -0
- package/dist/report/components/site-components/index.d.cts +58 -0
- package/dist/report/components/site-components/index.d.mts +58 -0
- package/dist/report/components/site-components/index.d.ts +58 -0
- package/dist/report/components/site-components/index.js +26 -0
- package/dist/report/components/site-components/index.js.map +1 -0
- package/dist/report/components/site-components/projections.cjs +86 -0
- package/dist/report/components/site-components/projections.cjs.map +1 -0
- package/dist/report/components/site-components/projections.d.cts +11 -0
- package/dist/report/components/site-components/projections.d.mts +11 -0
- package/dist/report/components/site-components/projections.d.ts +11 -0
- package/dist/report/components/site-components/projections.js +12 -0
- package/dist/report/components/site-components/projections.js.map +1 -0
- package/dist/report/components/site-components/scope-warnings.cjs +89 -0
- package/dist/report/components/site-components/scope-warnings.cjs.map +1 -0
- package/dist/report/components/site-components/scope-warnings.d.cts +34 -0
- package/dist/report/components/site-components/scope-warnings.d.mts +34 -0
- package/dist/report/components/site-components/scope-warnings.d.ts +34 -0
- package/dist/report/components/site-components/scope-warnings.js +8 -0
- package/dist/report/components/site-components/scope-warnings.js.map +1 -0
- package/dist/report/components/site-components/snapshot-diagnostics.cjs +43 -0
- package/dist/report/components/site-components/snapshot-diagnostics.cjs.map +1 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.cts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.mts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.d.ts +15 -0
- package/dist/report/components/site-components/snapshot-diagnostics.js +8 -0
- package/dist/report/components/site-components/snapshot-diagnostics.js.map +1 -0
- package/dist/report/components/site-components/validators.cjs +140 -0
- package/dist/report/components/site-components/validators.cjs.map +1 -0
- package/dist/report/components/site-components/validators.d.cts +9 -0
- package/dist/report/components/site-components/validators.d.mts +9 -0
- package/dist/report/components/site-components/validators.d.ts +9 -0
- package/dist/report/components/site-components/validators.js +16 -0
- package/dist/report/components/site-components/validators.js.map +1 -0
- package/dist/report/components/summaries/compute.cjs +224 -0
- package/dist/report/components/summaries/compute.cjs.map +1 -0
- package/dist/report/components/summaries/compute.d.cts +78 -0
- package/dist/report/components/summaries/compute.d.mts +78 -0
- package/dist/report/components/summaries/compute.d.ts +78 -0
- package/dist/report/components/summaries/compute.js +10 -0
- package/dist/report/components/summaries/compute.js.map +1 -0
- package/dist/report/components/summaries/index.cjs +68 -0
- package/dist/report/components/summaries/index.cjs.map +1 -0
- package/dist/report/components/summaries/index.d.cts +42 -0
- package/dist/report/components/summaries/index.d.mts +42 -0
- package/dist/report/components/summaries/index.d.ts +42 -0
- package/dist/report/components/summaries/index.js +12 -0
- package/dist/report/components/summaries/index.js.map +1 -0
- package/dist/report/components/summaries/stability-overview.cjs +27 -0
- package/dist/report/components/summaries/stability-overview.cjs.map +1 -0
- package/dist/report/components/summaries/stability-overview.d.cts +19 -0
- package/dist/report/components/summaries/stability-overview.d.mts +19 -0
- package/dist/report/components/summaries/stability-overview.d.ts +19 -0
- package/dist/report/components/summaries/stability-overview.js +6 -0
- package/dist/report/components/summaries/stability-overview.js.map +1 -0
- package/dist/report/definition/cell.cjs +90 -0
- package/dist/report/definition/cell.cjs.map +1 -0
- package/dist/report/definition/cell.d.cts +99 -0
- package/dist/report/definition/cell.d.mts +99 -0
- package/dist/report/definition/cell.d.ts +99 -0
- package/dist/report/definition/cell.js +8 -0
- package/dist/report/definition/cell.js.map +1 -0
- package/dist/report/definition/grid-layout.cjs +151 -0
- package/dist/report/definition/grid-layout.cjs.map +1 -0
- package/dist/report/definition/grid-layout.d.cts +77 -0
- package/dist/report/definition/grid-layout.d.mts +77 -0
- package/dist/report/definition/grid-layout.d.ts +77 -0
- package/dist/report/definition/grid-layout.js +20 -0
- package/dist/report/definition/grid-layout.js.map +1 -0
- package/dist/report/definition/primitives/callouts-logic.cjs +113 -0
- package/dist/report/definition/primitives/callouts-logic.cjs.map +1 -0
- package/dist/report/definition/primitives/callouts-logic.d.cts +26 -0
- package/dist/report/definition/primitives/callouts-logic.d.mts +26 -0
- package/dist/report/definition/primitives/callouts-logic.d.ts +26 -0
- package/dist/report/definition/primitives/callouts-logic.js +20 -0
- package/dist/report/definition/primitives/callouts-logic.js.map +1 -0
- package/dist/report/definition/primitives/callouts.cjs +105 -0
- package/dist/report/definition/primitives/callouts.cjs.map +1 -0
- package/dist/report/definition/primitives/callouts.d.cts +9 -0
- package/dist/report/definition/primitives/callouts.d.mts +9 -0
- package/dist/report/definition/primitives/callouts.d.ts +9 -0
- package/dist/report/definition/primitives/callouts.js +6 -0
- package/dist/report/definition/primitives/callouts.js.map +1 -0
- package/dist/report/definition/primitives/chart-map.cjs +138 -0
- package/dist/report/definition/primitives/chart-map.cjs.map +1 -0
- package/dist/report/definition/primitives/chart-map.d.cts +77 -0
- package/dist/report/definition/primitives/chart-map.d.mts +77 -0
- package/dist/report/definition/primitives/chart-map.d.ts +77 -0
- package/dist/report/definition/primitives/chart-map.js +12 -0
- package/dist/report/definition/primitives/chart-map.js.map +1 -0
- package/dist/report/definition/primitives/chart.cjs +651 -0
- package/dist/report/definition/primitives/chart.cjs.map +1 -0
- package/dist/report/definition/primitives/chart.d.cts +43 -0
- package/dist/report/definition/primitives/chart.d.mts +43 -0
- package/dist/report/definition/primitives/chart.d.ts +43 -0
- package/dist/report/definition/primitives/chart.js +8 -0
- package/dist/report/definition/primitives/chart.js.map +1 -0
- package/dist/report/definition/primitives/conversation.cjs +255 -0
- package/dist/report/definition/primitives/conversation.cjs.map +1 -0
- package/dist/report/definition/primitives/conversation.d.cts +71 -0
- package/dist/report/definition/primitives/conversation.d.mts +71 -0
- package/dist/report/definition/primitives/conversation.d.ts +71 -0
- package/dist/report/definition/primitives/conversation.js +16 -0
- package/dist/report/definition/primitives/conversation.js.map +1 -0
- package/dist/report/definition/primitives/copy-block.cjs +55 -0
- package/dist/report/definition/primitives/copy-block.cjs.map +1 -0
- package/dist/report/definition/primitives/copy-block.d.cts +19 -0
- package/dist/report/definition/primitives/copy-block.d.mts +19 -0
- package/dist/report/definition/primitives/copy-block.d.ts +19 -0
- package/dist/report/definition/primitives/copy-block.js +6 -0
- package/dist/report/definition/primitives/copy-block.js.map +1 -0
- package/dist/report/definition/primitives/diff-lines.cjs +163 -0
- package/dist/report/definition/primitives/diff-lines.cjs.map +1 -0
- package/dist/report/definition/primitives/diff-lines.d.cts +68 -0
- package/dist/report/definition/primitives/diff-lines.d.mts +68 -0
- package/dist/report/definition/primitives/diff-lines.d.ts +68 -0
- package/dist/report/definition/primitives/diff-lines.js +28 -0
- package/dist/report/definition/primitives/diff-lines.js.map +1 -0
- package/dist/report/definition/primitives/diff-view.cjs +155 -0
- package/dist/report/definition/primitives/diff-view.cjs.map +1 -0
- package/dist/report/definition/primitives/diff-view.d.cts +14 -0
- package/dist/report/definition/primitives/diff-view.d.mts +14 -0
- package/dist/report/definition/primitives/diff-view.d.ts +14 -0
- package/dist/report/definition/primitives/diff-view.js +8 -0
- package/dist/report/definition/primitives/diff-view.js.map +1 -0
- package/dist/report/definition/primitives/downloads.cjs +89 -0
- package/dist/report/definition/primitives/downloads.cjs.map +1 -0
- package/dist/report/definition/primitives/downloads.d.cts +28 -0
- package/dist/report/definition/primitives/downloads.d.mts +28 -0
- package/dist/report/definition/primitives/downloads.d.ts +28 -0
- package/dist/report/definition/primitives/downloads.js +8 -0
- package/dist/report/definition/primitives/downloads.js.map +1 -0
- package/dist/report/definition/primitives/markdown.cjs +290 -0
- package/dist/report/definition/primitives/markdown.cjs.map +1 -0
- package/dist/report/definition/primitives/markdown.d.cts +29 -0
- package/dist/report/definition/primitives/markdown.d.mts +29 -0
- package/dist/report/definition/primitives/markdown.d.ts +29 -0
- package/dist/report/definition/primitives/markdown.js +16 -0
- package/dist/report/definition/primitives/markdown.js.map +1 -0
- package/dist/report/definition/primitives/marks.cjs +96 -0
- package/dist/report/definition/primitives/marks.cjs.map +1 -0
- package/dist/report/definition/primitives/marks.d.cts +125 -0
- package/dist/report/definition/primitives/marks.d.mts +125 -0
- package/dist/report/definition/primitives/marks.d.ts +125 -0
- package/dist/report/definition/primitives/marks.js +14 -0
- package/dist/report/definition/primitives/marks.js.map +1 -0
- package/dist/report/definition/primitives/points-dataset.cjs +147 -0
- package/dist/report/definition/primitives/points-dataset.cjs.map +1 -0
- package/dist/report/definition/primitives/points-dataset.d.cts +17 -0
- package/dist/report/definition/primitives/points-dataset.d.mts +17 -0
- package/dist/report/definition/primitives/points-dataset.d.ts +17 -0
- package/dist/report/definition/primitives/points-dataset.js +6 -0
- package/dist/report/definition/primitives/points-dataset.js.map +1 -0
- package/dist/report/definition/primitives/shared.cjs +131 -0
- package/dist/report/definition/primitives/shared.cjs.map +1 -0
- package/dist/report/definition/primitives/shared.d.cts +67 -0
- package/dist/report/definition/primitives/shared.d.mts +67 -0
- package/dist/report/definition/primitives/shared.d.ts +67 -0
- package/dist/report/definition/primitives/shared.js +34 -0
- package/dist/report/definition/primitives/shared.js.map +1 -0
- package/dist/report/definition/primitives/source-view.cjs +204 -0
- package/dist/report/definition/primitives/source-view.cjs.map +1 -0
- package/dist/report/definition/primitives/source-view.d.cts +47 -0
- package/dist/report/definition/primitives/source-view.d.mts +47 -0
- package/dist/report/definition/primitives/source-view.d.ts +47 -0
- package/dist/report/definition/primitives/source-view.js +8 -0
- package/dist/report/definition/primitives/source-view.js.map +1 -0
- package/dist/report/definition/primitives/text-panel-state.cjs +38 -0
- package/dist/report/definition/primitives/text-panel-state.cjs.map +1 -0
- package/dist/report/definition/primitives/text-panel-state.d.cts +9 -0
- package/dist/report/definition/primitives/text-panel-state.d.mts +9 -0
- package/dist/report/definition/primitives/text-panel-state.d.ts +9 -0
- package/dist/report/definition/primitives/text-panel-state.js +12 -0
- package/dist/report/definition/primitives/text-panel-state.js.map +1 -0
- package/dist/report/definition/primitives/tool-evidence.cjs +95 -0
- package/dist/report/definition/primitives/tool-evidence.cjs.map +1 -0
- package/dist/report/definition/primitives/tool-evidence.d.cts +11 -0
- package/dist/report/definition/primitives/tool-evidence.d.mts +11 -0
- package/dist/report/definition/primitives/tool-evidence.d.ts +11 -0
- package/dist/report/definition/primitives/tool-evidence.js +6 -0
- package/dist/report/definition/primitives/tool-evidence.js.map +1 -0
- package/dist/report/definition/primitives/turn-trace.cjs +205 -0
- package/dist/report/definition/primitives/turn-trace.cjs.map +1 -0
- package/dist/report/definition/primitives/turn-trace.d.cts +8 -0
- package/dist/report/definition/primitives/turn-trace.d.mts +8 -0
- package/dist/report/definition/primitives/turn-trace.d.ts +8 -0
- package/dist/report/definition/primitives/turn-trace.js +6 -0
- package/dist/report/definition/primitives/turn-trace.js.map +1 -0
- package/dist/report/definition/primitives/waterfall.cjs +206 -0
- package/dist/report/definition/primitives/waterfall.cjs.map +1 -0
- package/dist/report/definition/primitives/waterfall.d.cts +34 -0
- package/dist/report/definition/primitives/waterfall.d.mts +34 -0
- package/dist/report/definition/primitives/waterfall.d.ts +34 -0
- package/dist/report/definition/primitives/waterfall.js +8 -0
- package/dist/report/definition/primitives/waterfall.js.map +1 -0
- package/dist/report/definition/primitives.cjs +826 -0
- package/dist/report/definition/primitives.cjs.map +1 -0
- package/dist/report/definition/primitives.d.cts +194 -0
- package/dist/report/definition/primitives.d.mts +194 -0
- package/dist/report/definition/primitives.d.ts +194 -0
- package/dist/report/definition/primitives.js +84 -0
- package/dist/report/definition/primitives.js.map +1 -0
- package/dist/report/definition/report.cjs +778 -0
- package/dist/report/definition/report.cjs.map +1 -0
- package/dist/report/definition/report.d.cts +203 -0
- package/dist/report/definition/report.d.mts +203 -0
- package/dist/report/definition/report.d.ts +203 -0
- package/dist/report/definition/report.js +16 -0
- package/dist/report/definition/report.js.map +1 -0
- package/dist/report/definition/table-text.cjs +184 -0
- package/dist/report/definition/table-text.cjs.map +1 -0
- package/dist/report/definition/table-text.d.cts +14 -0
- package/dist/report/definition/table-text.d.mts +14 -0
- package/dist/report/definition/table-text.d.ts +14 -0
- package/dist/report/definition/table-text.js +6 -0
- package/dist/report/definition/table-text.js.map +1 -0
- package/dist/report/definition/tree.cjs +685 -0
- package/dist/report/definition/tree.cjs.map +1 -0
- package/dist/report/definition/tree.d.cts +165 -0
- package/dist/report/definition/tree.d.mts +165 -0
- package/dist/report/definition/tree.d.ts +165 -0
- package/dist/report/definition/tree.js +44 -0
- package/dist/report/definition/tree.js.map +1 -0
- package/dist/report/execution/machine.cjs +587 -0
- package/dist/report/execution/machine.cjs.map +1 -0
- package/dist/report/execution/machine.d.cts +291 -0
- package/dist/report/execution/machine.d.mts +291 -0
- package/dist/report/execution/machine.d.ts +291 -0
- package/dist/report/execution/machine.js +36 -0
- package/dist/report/execution/machine.js.map +1 -0
- package/dist/report/execution/model.cjs +91 -463
- package/dist/report/execution/model.cjs.map +1 -1
- package/dist/report/execution/model.d.cts +57 -39
- package/dist/report/execution/model.d.mts +57 -39
- package/dist/report/execution/model.d.ts +57 -39
- package/dist/report/execution/model.js +36 -12
- package/dist/report/execution/paths.cjs +182 -0
- package/dist/report/execution/paths.cjs.map +1 -0
- package/dist/report/execution/paths.d.cts +27 -0
- package/dist/report/execution/paths.d.mts +27 -0
- package/dist/report/execution/paths.d.ts +27 -0
- package/dist/report/execution/paths.js +20 -0
- package/dist/report/execution/paths.js.map +1 -0
- package/dist/report/extension/assets.cjs +143 -0
- package/dist/report/extension/assets.cjs.map +1 -0
- package/dist/report/extension/assets.d.cts +17 -0
- package/dist/report/extension/assets.d.mts +17 -0
- package/dist/report/extension/assets.d.ts +17 -0
- package/dist/report/extension/assets.js +10 -0
- package/dist/report/extension/assets.js.map +1 -0
- package/dist/report/extension/define.cjs +119 -0
- package/dist/report/extension/define.cjs.map +1 -0
- package/dist/report/extension/define.d.cts +11 -0
- package/dist/report/extension/define.d.mts +11 -0
- package/dist/report/extension/define.d.ts +11 -0
- package/dist/report/extension/define.js +6 -0
- package/dist/report/extension/define.js.map +1 -0
- package/dist/report/extension/index.cjs +10 -0
- package/dist/report/extension/index.cjs.map +1 -0
- package/dist/report/extension/index.d.cts +6 -0
- package/dist/report/extension/index.d.mts +6 -0
- package/dist/report/extension/index.d.ts +6 -0
- package/dist/report/extension/index.js +10 -0
- package/dist/report/extension/index.js.map +1 -0
- package/dist/report/extension/index.mjs +10 -0
- package/dist/report/extension/index.mjs.map +1 -0
- package/dist/report/extension/meta.cjs +59 -0
- package/dist/report/extension/meta.cjs.map +1 -0
- package/dist/report/extension/meta.d.cts +13 -0
- package/dist/report/extension/meta.d.mts +13 -0
- package/dist/report/extension/meta.d.ts +13 -0
- package/dist/report/extension/meta.js +12 -0
- package/dist/report/extension/meta.js.map +1 -0
- package/dist/report/extension/types.cjs +3 -0
- package/dist/report/extension/types.cjs.map +1 -0
- package/dist/report/extension/types.d.cts +44 -0
- package/dist/report/extension/types.d.mts +44 -0
- package/dist/report/extension/types.d.ts +44 -0
- package/dist/report/extension/types.js +4 -0
- package/dist/report/extension/types.js.map +1 -0
- package/dist/report/host/execute.cjs +457 -1238
- package/dist/report/host/execute.cjs.map +1 -1
- package/dist/report/host/execute.d.cts +66 -19
- package/dist/report/host/execute.d.mts +66 -19
- package/dist/report/host/execute.d.ts +66 -19
- package/dist/report/host/execute.js +10 -2
- package/dist/report/host/from-record.cjs +441 -27
- package/dist/report/host/from-record.cjs.map +1 -1
- package/dist/report/host/from-record.d.cts +62 -30
- package/dist/report/host/from-record.d.mts +62 -30
- package/dist/report/host/from-record.d.ts +62 -30
- package/dist/report/host/from-record.js +8 -4
- package/dist/report/host/index.cjs +31 -18
- package/dist/report/host/index.cjs.map +1 -1
- package/dist/report/host/index.d.cts +20 -11
- package/dist/report/host/index.d.mts +20 -11
- package/dist/report/host/index.d.ts +20 -11
- package/dist/report/host/index.js +2 -20
- package/dist/report/host/index.mjs +6 -0
- package/dist/report/host/index.mjs.map +1 -0
- package/dist/report/host/machine.cjs +102 -0
- package/dist/report/host/machine.cjs.map +1 -0
- package/dist/report/host/machine.d.cts +7 -0
- package/dist/report/host/machine.d.mts +7 -0
- package/dist/report/host/machine.d.ts +7 -0
- package/dist/report/host/machine.js +6 -0
- package/dist/report/host/machine.js.map +1 -0
- package/dist/report/host/node/loader.cjs +40 -19
- package/dist/report/host/node/loader.cjs.map +1 -1
- package/dist/report/host/node/loader.d.cts +8 -7
- package/dist/report/host/node/loader.d.mts +8 -7
- package/dist/report/host/node/loader.d.ts +8 -7
- package/dist/report/host/node.cjs +1 -1
- package/dist/report/host/node.cjs.map +1 -1
- package/dist/report/host/node.d.cts +3 -3
- package/dist/report/host/node.d.mts +3 -3
- package/dist/report/host/node.d.ts +3 -3
- package/dist/report/host/progress.cjs +41 -0
- package/dist/report/host/progress.cjs.map +1 -0
- package/dist/report/host/progress.d.cts +22 -0
- package/dist/report/host/progress.d.mts +22 -0
- package/dist/report/host/progress.d.ts +22 -0
- package/dist/report/host/progress.js +8 -0
- package/dist/report/host/progress.js.map +1 -0
- package/dist/report/host/show-target.cjs +214 -0
- package/dist/report/host/show-target.cjs.map +1 -0
- package/dist/report/host/show-target.d.cts +107 -0
- package/dist/report/host/show-target.d.mts +107 -0
- package/dist/report/host/show-target.d.ts +107 -0
- package/dist/report/host/show-target.js +8 -0
- package/dist/report/host/show-target.js.map +1 -0
- package/dist/report/host/site-assets.cjs +11 -0
- package/dist/report/host/site-assets.cjs.map +1 -0
- package/dist/report/host/site-assets.d.cts +7 -0
- package/dist/report/host/site-assets.d.mts +7 -0
- package/dist/report/host/site-assets.d.ts +7 -0
- package/dist/report/host/site-assets.js +8 -0
- package/dist/report/host/site-assets.js.map +1 -0
- package/dist/report/host/site-runtime.cjs +91 -0
- package/dist/report/host/site-runtime.cjs.map +1 -0
- package/dist/report/host/site-runtime.d.cts +9 -0
- package/dist/report/host/site-runtime.d.mts +9 -0
- package/dist/report/host/site-runtime.d.ts +9 -0
- package/dist/report/host/site-runtime.js +10 -0
- package/dist/report/host/site-runtime.js.map +1 -0
- package/dist/report/host/static.cjs +694 -99
- package/dist/report/host/static.cjs.map +1 -1
- package/dist/report/host/static.d.cts +36 -19
- package/dist/report/host/static.d.mts +36 -19
- package/dist/report/host/static.d.ts +36 -19
- package/dist/report/host/static.js +14 -4
- package/dist/report/host/target-route.cjs +58 -0
- package/dist/report/host/target-route.cjs.map +1 -0
- package/dist/report/host/target-route.d.cts +15 -0
- package/dist/report/host/target-route.d.mts +15 -0
- package/dist/report/host/target-route.d.ts +15 -0
- package/dist/report/host/target-route.js +8 -0
- package/dist/report/host/target-route.js.map +1 -0
- package/dist/report/host/view-session.cjs +68 -51
- package/dist/report/host/view-session.cjs.map +1 -1
- package/dist/report/host/view-session.d.cts +38 -44
- package/dist/report/host/view-session.d.mts +38 -44
- package/dist/report/host/view-session.d.ts +38 -44
- package/dist/report/index.cjs +111 -52
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.d.cts +39 -11
- package/dist/report/index.d.mts +39 -11
- package/dist/report/index.d.ts +39 -11
- package/dist/report/index.js +188 -116
- package/dist/report/index.mjs +188 -116
- package/dist/report/library/details.cjs +166 -0
- package/dist/report/library/details.cjs.map +1 -0
- package/dist/report/library/details.d.cts +29 -0
- package/dist/report/library/details.d.mts +29 -0
- package/dist/report/library/details.d.ts +29 -0
- package/dist/report/library/details.js +18 -0
- package/dist/report/library/details.js.map +1 -0
- package/dist/report/model/aggregate.cjs +243 -0
- package/dist/report/model/aggregate.cjs.map +1 -0
- package/dist/report/model/aggregate.d.cts +88 -0
- package/dist/report/model/aggregate.d.mts +88 -0
- package/dist/report/model/aggregate.d.ts +88 -0
- package/dist/report/model/aggregate.js +26 -0
- package/dist/report/model/aggregate.js.map +1 -0
- package/dist/report/model/chart/math.cjs +206 -0
- package/dist/report/model/chart/math.cjs.map +1 -0
- package/dist/report/model/chart/math.d.cts +73 -0
- package/dist/report/model/chart/math.d.mts +73 -0
- package/dist/report/model/chart/math.d.ts +73 -0
- package/dist/report/model/chart/math.js +14 -0
- package/dist/report/model/chart/math.js.map +1 -0
- package/dist/report/model/chart/plot.cjs +94 -0
- package/dist/report/model/chart/plot.cjs.map +1 -0
- package/dist/report/model/chart/plot.d.cts +52 -0
- package/dist/report/model/chart/plot.d.mts +52 -0
- package/dist/report/model/chart/plot.d.ts +52 -0
- package/dist/report/model/chart/plot.js +8 -0
- package/dist/report/model/chart/plot.js.map +1 -0
- package/dist/report/model/conversions.cjs +100 -0
- package/dist/report/model/conversions.cjs.map +1 -0
- package/dist/report/model/conversions.d.cts +40 -0
- package/dist/report/model/conversions.d.mts +40 -0
- package/dist/report/model/conversions.d.ts +40 -0
- package/dist/report/model/conversions.js +24 -0
- package/dist/report/model/conversions.js.map +1 -0
- package/dist/report/model/dataset.cjs +255 -0
- package/dist/report/model/dataset.cjs.map +1 -0
- package/dist/report/model/dataset.d.cts +33 -0
- package/dist/report/model/dataset.d.mts +33 -0
- package/dist/report/model/dataset.d.ts +33 -0
- package/dist/report/model/dataset.js +22 -0
- package/dist/report/model/dataset.js.map +1 -0
- package/dist/report/model/format.cjs +377 -0
- package/dist/report/model/format.cjs.map +1 -0
- package/dist/report/model/format.d.cts +98 -0
- package/dist/report/model/format.d.mts +98 -0
- package/dist/report/model/format.d.ts +98 -0
- package/dist/report/model/format.js +38 -0
- package/dist/report/model/format.js.map +1 -0
- package/dist/report/model/locale.cjs +437 -0
- package/dist/report/model/locale.cjs.map +1 -0
- package/dist/report/model/locale.d.cts +220 -0
- package/dist/report/model/locale.d.mts +220 -0
- package/dist/report/model/locale.d.ts +220 -0
- package/dist/report/model/locale.js +20 -0
- package/dist/report/model/locale.js.map +1 -0
- package/dist/report/model/metrics.cjs +254 -0
- package/dist/report/model/metrics.cjs.map +1 -0
- package/dist/report/model/metrics.d.cts +73 -0
- package/dist/report/model/metrics.d.mts +73 -0
- package/dist/report/model/metrics.d.ts +73 -0
- package/dist/report/model/metrics.js +26 -0
- package/dist/report/model/metrics.js.map +1 -0
- package/dist/report/model/pricing.cjs +126 -0
- package/dist/report/model/pricing.cjs.map +1 -0
- package/dist/report/model/pricing.d.cts +37 -0
- package/dist/report/model/pricing.d.mts +37 -0
- package/dist/report/model/pricing.d.ts +37 -0
- package/dist/report/model/pricing.js +16 -0
- package/dist/report/model/pricing.js.map +1 -0
- package/dist/report/model/text-layout.cjs +8 -0
- package/dist/report/model/text-layout.cjs.map +1 -1
- package/dist/report/model/text-layout.d.cts +7 -0
- package/dist/report/model/text-layout.d.mts +7 -0
- package/dist/report/model/text-layout.d.ts +7 -0
- package/dist/report/model/text-layout.js +30 -18
- package/dist/report/model/types.cjs +3 -0
- package/dist/report/model/types.cjs.map +1 -0
- package/dist/report/model/types.d.cts +64 -0
- package/dist/report/model/types.d.mts +64 -0
- package/dist/report/model/types.d.ts +64 -0
- package/dist/report/model/types.js +4 -0
- package/dist/report/model/types.js.map +1 -0
- package/dist/report/presentation.cjs +219 -0
- package/dist/report/presentation.cjs.map +1 -0
- package/dist/report/presentation.d.cts +114 -0
- package/dist/report/presentation.d.mts +114 -0
- package/dist/report/presentation.d.ts +114 -0
- package/dist/report/presentation.js +18 -0
- package/dist/report/react/enhance.js +466 -0
- package/dist/report/react/index.cjs +40 -0
- package/dist/report/react/index.cjs.map +1 -0
- package/dist/report/react/index.d.cts +9 -0
- package/dist/report/react/index.d.mts +9 -0
- package/dist/report/react/index.d.ts +9 -0
- package/dist/report/react/index.js +64 -0
- package/dist/report/react/index.js.map +1 -0
- package/dist/report/react/index.mjs +64 -0
- package/dist/report/react/index.mjs.map +1 -0
- package/dist/report/react/styles.css +2678 -0
- package/dist/report/runtime/resolved-page.cjs +317 -0
- package/dist/report/runtime/resolved-page.cjs.map +1 -0
- package/dist/report/runtime/resolved-page.d.cts +133 -0
- package/dist/report/runtime/resolved-page.d.mts +133 -0
- package/dist/report/runtime/resolved-page.d.ts +133 -0
- package/dist/report/runtime/resolved-page.js +14 -0
- package/dist/report/runtime/resolved-page.js.map +1 -0
- package/dist/report/runtime/text.cjs +32 -0
- package/dist/report/runtime/text.cjs.map +1 -0
- package/dist/report/runtime/text.d.cts +24 -0
- package/dist/report/runtime/text.d.mts +24 -0
- package/dist/report/runtime/text.d.ts +24 -0
- package/dist/report/runtime/text.js +8 -0
- package/dist/report/runtime/text.js.map +1 -0
- package/dist/report/runtime/web.cjs +31 -0
- package/dist/report/runtime/web.cjs.map +1 -0
- package/dist/report/runtime/web.d.cts +21 -0
- package/dist/report/runtime/web.d.mts +21 -0
- package/dist/report/runtime/web.d.ts +21 -0
- package/dist/report/runtime/web.js +8 -0
- package/dist/report/runtime/web.js.map +1 -0
- package/dist/report/theme.cjs +141 -0
- package/dist/report/theme.cjs.map +1 -0
- package/dist/report/theme.d.cts +57 -0
- package/dist/report/theme.d.mts +57 -0
- package/dist/report/theme.d.ts +57 -0
- package/dist/report/theme.js +20 -0
- package/dist/runner/accept.cjs +74 -87
- package/dist/runner/accept.cjs.map +1 -1
- package/dist/runner/accept.d.cts +14 -17
- package/dist/runner/accept.d.mts +14 -17
- package/dist/runner/accept.d.ts +14 -17
- package/dist/runner/accept.js +4 -8
- package/dist/runner/adoption.cjs +346 -408
- package/dist/runner/adoption.cjs.map +1 -1
- package/dist/runner/adoption.d.cts +132 -116
- package/dist/runner/adoption.d.mts +132 -116
- package/dist/runner/adoption.d.ts +132 -116
- package/dist/runner/adoption.js +42 -46
- package/dist/runner/attempt.cjs +175 -74
- package/dist/runner/attempt.cjs.map +1 -1
- package/dist/runner/attempt.d.cts +1 -1
- package/dist/runner/attempt.d.mts +1 -1
- package/dist/runner/attempt.d.ts +1 -1
- package/dist/runner/cleanup-timeout.cjs +12 -6
- package/dist/runner/cleanup-timeout.cjs.map +1 -1
- package/dist/runner/cleanup-timeout.d.cts +5 -5
- package/dist/runner/cleanup-timeout.d.mts +5 -5
- package/dist/runner/cleanup-timeout.d.ts +5 -5
- package/dist/runner/execution-identity.cjs +25 -0
- package/dist/runner/execution-identity.cjs.map +1 -0
- package/dist/runner/execution-identity.d.cts +39 -0
- package/dist/runner/execution-identity.d.mts +39 -0
- package/dist/runner/execution-identity.d.ts +39 -0
- package/dist/runner/execution-identity.js +8 -0
- package/dist/runner/execution-identity.js.map +1 -0
- package/dist/runner/feedback/failure.cjs +0 -2
- package/dist/runner/feedback/failure.cjs.map +1 -1
- package/dist/runner/feedback/human.cjs +47 -20
- package/dist/runner/feedback/human.cjs.map +1 -1
- package/dist/runner/feedback/index.cjs.map +1 -1
- package/dist/runner/feedback/index.d.cts +1 -1
- package/dist/runner/feedback/index.d.mts +1 -1
- package/dist/runner/feedback/index.d.ts +1 -1
- package/dist/runner/feedback/json.cjs +29 -7
- package/dist/runner/feedback/json.cjs.map +1 -1
- package/dist/runner/feedback/json.d.cts +14 -1
- package/dist/runner/feedback/json.d.mts +14 -1
- package/dist/runner/feedback/json.d.ts +14 -1
- package/dist/runner/feedback/reducer.cjs +3 -1
- package/dist/runner/feedback/reducer.cjs.map +1 -1
- package/dist/runner/feedback/sink.cjs +1 -1
- package/dist/runner/feedback/sink.cjs.map +1 -1
- package/dist/runner/feedback/sink.d.cts +6 -6
- package/dist/runner/feedback/sink.d.mts +6 -6
- package/dist/runner/feedback/sink.d.ts +6 -6
- package/dist/runner/fingerprint.cjs +8 -2
- package/dist/runner/fingerprint.cjs.map +1 -1
- package/dist/runner/fingerprint.d.cts +9 -0
- package/dist/runner/fingerprint.d.mts +9 -0
- package/dist/runner/fingerprint.d.ts +9 -0
- package/dist/runner/fingerprint.js +4 -2
- package/dist/runner/gate-lease.cjs +24 -12
- package/dist/runner/gate-lease.cjs.map +1 -1
- package/dist/runner/ledger.cjs +27 -5
- package/dist/runner/ledger.cjs.map +1 -1
- package/dist/runner/lock.cjs +24 -11
- package/dist/runner/lock.cjs.map +1 -1
- package/dist/runner/project-current.cjs +63 -0
- package/dist/runner/project-current.cjs.map +1 -1
- package/dist/runner/project-current.d.cts +2 -0
- package/dist/runner/project-current.d.mts +2 -0
- package/dist/runner/project-current.d.ts +2 -0
- package/dist/runner/record.cjs +659 -667
- package/dist/runner/record.cjs.map +1 -1
- package/dist/runner/record.d.cts +54 -81
- package/dist/runner/record.d.mts +54 -81
- package/dist/runner/record.d.ts +54 -81
- package/dist/runner/rename-experiment.cjs +95 -54
- package/dist/runner/rename-experiment.cjs.map +1 -1
- package/dist/runner/rename-experiment.d.cts +19 -21
- package/dist/runner/rename-experiment.d.mts +19 -21
- package/dist/runner/rename-experiment.d.ts +19 -21
- package/dist/runner/rename-experiment.js +2 -4
- package/dist/runner/report.cjs +7 -2
- package/dist/runner/report.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.cjs +4 -16
- package/dist/runner/reporters/braintrust.cjs.map +1 -1
- package/dist/runner/reporters/braintrust.d.cts +22 -5
- package/dist/runner/reporters/braintrust.d.mts +22 -5
- package/dist/runner/reporters/braintrust.d.ts +22 -5
- package/dist/runner/reuse-plan.cjs +256 -435
- package/dist/runner/reuse-plan.cjs.map +1 -1
- package/dist/runner/reuse-plan.d.cts +43 -63
- package/dist/runner/reuse-plan.d.mts +43 -63
- package/dist/runner/reuse-plan.d.ts +43 -63
- package/dist/runner/reuse-plan.js +6 -8
- package/dist/runner/reuse-readback.cjs +157 -170
- package/dist/runner/reuse-readback.cjs.map +1 -1
- package/dist/runner/reuse-readback.d.cts +46 -62
- package/dist/runner/reuse-readback.d.mts +46 -62
- package/dist/runner/reuse-readback.d.ts +46 -62
- package/dist/runner/reuse-readback.js +0 -2
- package/dist/runner/run.cjs +110 -135
- package/dist/runner/run.cjs.map +1 -1
- package/dist/runner/run.d.cts +1 -1
- package/dist/runner/run.d.mts +1 -1
- package/dist/runner/run.d.ts +1 -1
- package/dist/runner/sandbox-pool.cjs +55 -43
- package/dist/runner/sandbox-pool.cjs.map +1 -1
- package/dist/runner/sandbox-record-producer.cjs +21 -6
- package/dist/runner/sandbox-record-producer.cjs.map +1 -1
- package/dist/runner/sandbox-record-producer.d.cts +6 -4
- package/dist/runner/sandbox-record-producer.d.mts +6 -4
- package/dist/runner/sandbox-record-producer.d.ts +6 -4
- package/dist/runner/sandbox-record-producer.js +4 -0
- package/dist/runner/source-producer.cjs +208 -268
- package/dist/runner/source-producer.cjs.map +1 -1
- package/dist/runner/source-producer.d.cts +32 -17
- package/dist/runner/source-producer.d.mts +32 -17
- package/dist/runner/source-producer.d.ts +32 -17
- package/dist/runner/source-producer.js +6 -4
- package/dist/runner/timing.cjs +13 -9
- package/dist/runner/timing.cjs.map +1 -1
- package/dist/runner/types.cjs +3 -2
- package/dist/runner/types.cjs.map +1 -1
- package/dist/runner/types.d.cts +34 -52
- package/dist/runner/types.d.mts +34 -52
- package/dist/runner/types.d.ts +34 -52
- package/dist/runner/types.js +30 -28
- package/dist/sample/analysis.cjs +925 -919
- package/dist/sample/analysis.cjs.map +1 -1
- package/dist/sample/analysis.d.cts +32 -144
- package/dist/sample/analysis.d.mts +32 -144
- package/dist/sample/analysis.d.ts +32 -144
- package/dist/sample/analysis.js +14 -26
- package/dist/sample/capability.cjs +761 -0
- package/dist/sample/capability.cjs.map +1 -0
- package/dist/sample/capability.d.cts +189 -0
- package/dist/sample/capability.d.mts +189 -0
- package/dist/sample/capability.d.ts +189 -0
- package/dist/sample/capability.js +36 -0
- package/dist/sample/capability.js.map +1 -0
- package/dist/sample/index.cjs +9 -13
- package/dist/sample/index.cjs.map +1 -1
- package/dist/sample/index.d.cts +2 -2
- package/dist/sample/index.d.mts +2 -2
- package/dist/sample/index.d.ts +2 -2
- package/dist/sample/index.js +10 -24
- package/dist/sandbox/build-coordinator.cjs +146 -147
- package/dist/sandbox/build-coordinator.cjs.map +1 -1
- package/dist/sandbox/case-types.cjs.map +1 -1
- package/dist/sandbox/case-types.d.cts +6 -0
- package/dist/sandbox/case-types.d.mts +6 -0
- package/dist/sandbox/case-types.d.ts +6 -0
- package/dist/sandbox/commands.cjs.map +1 -1
- package/dist/sandbox/commands.d.cts +0 -2
- package/dist/sandbox/commands.d.mts +0 -2
- package/dist/sandbox/commands.d.ts +0 -2
- package/dist/sandbox/compose.cjs +212 -153
- package/dist/sandbox/compose.cjs.map +1 -1
- package/dist/sandbox/compose.d.cts +11 -2
- package/dist/sandbox/compose.d.mts +11 -2
- package/dist/sandbox/compose.d.ts +11 -2
- package/dist/sandbox/compose.js +32 -30
- package/dist/sandbox/docker.cjs +59 -38
- package/dist/sandbox/docker.cjs.map +1 -1
- package/dist/sandbox/docker.d.cts +2 -1
- package/dist/sandbox/docker.d.mts +2 -1
- package/dist/sandbox/docker.d.ts +2 -1
- package/dist/sandbox/e2b.cjs +30 -18
- package/dist/sandbox/e2b.cjs.map +1 -1
- package/dist/sandbox/index.cjs +2 -2
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.d.cts +2 -2
- package/dist/sandbox/index.d.mts +2 -2
- package/dist/sandbox/index.d.ts +2 -2
- package/dist/sandbox/index.js +52 -52
- package/dist/sandbox/index.mjs +52 -52
- package/dist/sandbox/io-retry.cjs +18 -14
- package/dist/sandbox/io-retry.cjs.map +1 -1
- package/dist/sandbox/io-retry.d.cts +7 -4
- package/dist/sandbox/io-retry.d.mts +7 -4
- package/dist/sandbox/io-retry.d.ts +7 -4
- package/dist/sandbox/keep.cjs +79 -52
- package/dist/sandbox/keep.cjs.map +1 -1
- package/dist/sandbox/layer.cjs.map +1 -1
- package/dist/sandbox/layer.d.cts +3 -3
- package/dist/sandbox/layer.d.mts +3 -3
- package/dist/sandbox/layer.d.ts +3 -3
- package/dist/sandbox/paths.cjs +96 -12
- package/dist/sandbox/paths.cjs.map +1 -1
- package/dist/sandbox/paths.d.cts +16 -0
- package/dist/sandbox/paths.d.mts +16 -0
- package/dist/sandbox/paths.d.ts +16 -0
- package/dist/sandbox/paths.js +10 -8
- package/dist/sandbox/prepare-commands.cjs +0 -5
- package/dist/sandbox/prepare-commands.cjs.map +1 -1
- package/dist/sandbox/prepare-commands.d.cts +1 -1
- package/dist/sandbox/prepare-commands.d.mts +1 -1
- package/dist/sandbox/prepare-commands.d.ts +1 -1
- package/dist/sandbox/record/attachment.cjs +16 -53
- package/dist/sandbox/record/attachment.cjs.map +1 -1
- package/dist/sandbox/record/attachment.d.cts +11 -15
- package/dist/sandbox/record/attachment.d.mts +11 -15
- package/dist/sandbox/record/attachment.d.ts +11 -15
- package/dist/sandbox/record/attachment.js +2 -6
- package/dist/sandbox/record/codec.cjs +17 -17
- package/dist/sandbox/record/codec.cjs.map +1 -1
- package/dist/sandbox/record/codec.d.cts +12 -12
- package/dist/sandbox/record/codec.d.mts +12 -12
- package/dist/sandbox/record/codec.d.ts +12 -12
- package/dist/sandbox/record/codec.js +4 -4
- package/dist/sandbox/record/model.cjs +7 -7
- package/dist/sandbox/record/model.cjs.map +1 -1
- package/dist/sandbox/record/model.d.cts +13 -13
- package/dist/sandbox/record/model.d.mts +13 -13
- package/dist/sandbox/record/model.d.ts +13 -13
- package/dist/sandbox/record/model.js +6 -6
- package/dist/sandbox/record/projector.cjs +16 -25
- package/dist/sandbox/record/projector.cjs.map +1 -1
- package/dist/sandbox/record/projector.d.cts +4 -18
- package/dist/sandbox/record/projector.d.mts +4 -18
- package/dist/sandbox/record/projector.d.ts +4 -18
- package/dist/sandbox/record/projector.js +2 -2
- package/dist/sandbox/registry.cjs +19 -9
- package/dist/sandbox/registry.cjs.map +1 -1
- package/dist/sandbox/request-executor.cjs +63 -0
- package/dist/sandbox/request-executor.cjs.map +1 -0
- package/dist/sandbox/request-executor.d.cts +16 -0
- package/dist/sandbox/request-executor.d.mts +16 -0
- package/dist/sandbox/request-executor.d.ts +16 -0
- package/dist/sandbox/request-executor.js +8 -0
- package/dist/sandbox/request-executor.js.map +1 -0
- package/dist/sandbox/retry.cjs +42 -38
- package/dist/sandbox/retry.cjs.map +1 -1
- package/dist/sandbox/retry.d.cts +6 -6
- package/dist/sandbox/retry.d.mts +6 -6
- package/dist/sandbox/retry.d.ts +6 -6
- package/dist/sandbox/runtime.cjs +47 -56
- package/dist/sandbox/runtime.cjs.map +1 -1
- package/dist/sandbox/runtime.d.cts +1 -1
- package/dist/sandbox/runtime.d.mts +1 -1
- package/dist/sandbox/runtime.d.ts +1 -1
- package/dist/sandbox/transfer-errors.cjs +37 -5
- package/dist/sandbox/transfer-errors.cjs.map +1 -1
- package/dist/sandbox/transfer-errors.d.cts +14 -0
- package/dist/sandbox/transfer-errors.d.mts +14 -0
- package/dist/sandbox/transfer-errors.d.ts +14 -0
- package/dist/sandbox/transfer-errors.js +12 -8
- package/dist/sandbox/types.cjs.map +1 -1
- package/dist/sandbox/types.d.cts +0 -7
- package/dist/sandbox/types.d.mts +0 -7
- package/dist/sandbox/types.d.ts +0 -7
- package/dist/sandbox/vercel.cjs +10 -14
- package/dist/sandbox/vercel.cjs.map +1 -1
- package/dist/sources/attachment.cjs +103 -248
- package/dist/sources/attachment.cjs.map +1 -1
- package/dist/sources/attachment.d.cts +47 -319
- package/dist/sources/attachment.d.mts +47 -319
- package/dist/sources/attachment.d.ts +47 -319
- package/dist/sources/attachment.js +8 -18
- package/dist/sources/codec.cjs +56 -56
- package/dist/sources/codec.cjs.map +1 -1
- package/dist/sources/codec.d.cts +63 -63
- package/dist/sources/codec.d.mts +63 -63
- package/dist/sources/codec.d.ts +63 -63
- package/dist/sources/codec.js +44 -44
- package/dist/sources/index.cjs +0 -2
- package/dist/sources/index.cjs.map +1 -1
- package/dist/sources/index.d.cts +0 -2
- package/dist/sources/index.d.mts +0 -2
- package/dist/sources/index.d.ts +0 -2
- package/dist/sources/index.js +72 -86
- package/dist/sources/model.cjs +2 -2
- package/dist/sources/model.cjs.map +1 -1
- package/dist/sources/model.d.cts +41 -41
- package/dist/sources/model.d.mts +41 -41
- package/dist/sources/model.d.ts +41 -41
- package/dist/sources/model.js +2 -2
- package/dist/sources/projector.cjs +39 -268
- package/dist/sources/projector.cjs.map +1 -1
- package/dist/sources/projector.d.cts +40 -8
- package/dist/sources/projector.d.mts +40 -8
- package/dist/sources/projector.d.ts +40 -8
- package/dist/sources/projector.js +4 -6
- package/dist/types.js +30 -28
- package/dist/view/data.cjs.map +1 -1
- package/dist/view/data.d.cts +5 -4
- package/dist/view/data.d.mts +5 -4
- package/dist/view/data.d.ts +5 -4
- package/dist/view/index.cjs +3 -4
- package/dist/view/index.cjs.map +1 -1
- package/dist/view/index.d.cts +2 -2
- package/dist/view/index.d.mts +2 -2
- package/dist/view/index.d.ts +2 -2
- package/dist/view/index.js +2 -4
- package/dist/view/report-view-cache.cjs +200 -0
- package/dist/view/report-view-cache.cjs.map +1 -0
- package/dist/view/report-view-cache.d.cts +67 -0
- package/dist/view/report-view-cache.d.mts +67 -0
- package/dist/view/report-view-cache.d.ts +67 -0
- package/dist/view/report-view-cache.js +8 -0
- package/dist/view/report-view-cache.js.map +1 -0
- package/dist/view/server.cjs +99 -102
- package/dist/view/server.cjs.map +1 -1
- package/dist/view/server.d.cts +0 -6
- package/dist/view/server.d.mts +0 -6
- package/dist/view/server.d.ts +0 -6
- package/dist/view/shared/types.cjs.map +1 -1
- package/dist/view/site.cjs +19 -27
- package/dist/view/site.cjs.map +1 -1
- package/dist/view/site.d.cts +10 -12
- package/dist/view/site.d.mts +10 -12
- package/dist/view/site.d.ts +10 -12
- package/dist/view/site.js +2 -4
- package/docs-site/zh/examples/integrations/ai-sdk-v7.mdx +8 -8
- package/docs-site/zh/examples/integrations/claude-sdk.mdx +8 -8
- package/docs-site/zh/examples/integrations/codex-sdk.mdx +4 -4
- package/docs-site/zh/examples/integrations/langgraph.mdx +6 -6
- package/docs-site/zh/examples/integrations/pi-sdk.mdx +9 -9
- package/docs-site/zh/explanation/adapter.mdx +3 -1
- package/docs-site/zh/explanation/assert.mdx +6 -6
- package/docs-site/zh/explanation/drive.mdx +1 -1
- package/docs-site/zh/explanation/evals.mdx +6 -3
- package/docs-site/zh/explanation/hitl.mdx +4 -2
- package/docs-site/zh/explanation/judge.mdx +6 -6
- package/docs-site/zh/explanation/overview.mdx +28 -29
- package/docs-site/zh/explanation/record.mdx +26 -36
- package/docs-site/zh/explanation/runner.mdx +7 -8
- package/docs-site/zh/index.mdx +1 -1
- package/docs-site/zh/introduction.mdx +1 -1
- package/docs-site/zh/reference/cli.mdx +16 -19
- package/docs-site/zh/reference/define-agent.mdx +0 -8
- package/docs-site/zh/reference/define-config.mdx +6 -2
- package/docs-site/zh/reference/define-eval.mdx +7 -5
- package/docs-site/zh/reference/events.mdx +6 -3
- package/docs-site/zh/reference/report-components.mdx +92 -88
- package/docs-site/zh/reference/results-data.mdx +39 -49
- package/docs-site/zh/troubleshooting/debug-sandbox.mdx +1 -1
- package/docs-site/zh/troubleshooting/debugging.mdx +27 -28
- package/docs-site/zh/tutorials/agent-feedback-loop.mdx +4 -4
- package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
- package/docs-site/zh/tutorials/authoring.mdx +6 -3
- package/docs-site/zh/tutorials/connect-your-agent.mdx +2 -2
- package/docs-site/zh/tutorials/custom-reports.mdx +148 -76
- package/docs-site/zh/tutorials/deploy-report-site.mdx +14 -17
- package/docs-site/zh/tutorials/evaluation-kinds.mdx +3 -3
- package/docs-site/zh/tutorials/fixtures.mdx +5 -5
- package/docs-site/zh/tutorials/handle-execution-failures.mdx +1 -1
- package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +1 -1
- package/docs-site/zh/tutorials/publish-report.mdx +28 -28
- package/docs-site/zh/tutorials/quickstart.mdx +2 -2
- package/docs-site/zh/tutorials/reporters.mdx +4 -4
- package/docs-site/zh/tutorials/rerun-and-cache.mdx +5 -5
- package/docs-site/zh/tutorials/sandbox-agent.mdx +2 -2
- package/docs-site/zh/tutorials/sandbox-providers.mdx +3 -3
- package/docs-site/zh/tutorials/theming.mdx +47 -19
- package/docs-site/zh/tutorials/viewing-results.mdx +43 -80
- package/docs-site/zh/tutorials/write-experiment.mdx +16 -11
- package/docs-site/zh/tutorials/write-send.mdx +11 -3
- package/package.json +83 -11
- package/dist/assertions/record/diff-model.cjs +0 -120
- package/dist/assertions/record/diff-model.cjs.map +0 -1
- package/dist/assertions/record/diff-model.d.cts +0 -47
- package/dist/assertions/record/diff-model.d.mts +0 -47
- package/dist/assertions/record/diff-model.d.ts +0 -47
- package/dist/assertions/record/diff-model.js +0 -12
- package/dist/assertions/record/diff-model.js.map +0 -1
- package/dist/projection/attachment-result.cjs +0 -50
- package/dist/projection/attachment-result.cjs.map +0 -1
- package/dist/projection/attachment-result.d.cts +0 -38
- package/dist/projection/attachment-result.d.mts +0 -38
- package/dist/projection/attachment-result.d.ts +0 -38
- package/dist/projection/attachment-result.js +0 -6
- package/dist/projection/attachment-result.js.map +0 -1
- package/dist/projection/attempt-selection.cjs +0 -87
- package/dist/projection/attempt-selection.cjs.map +0 -1
- package/dist/projection/attempt-selection.d.cts +0 -40
- package/dist/projection/attempt-selection.d.mts +0 -40
- package/dist/projection/attempt-selection.d.ts +0 -40
- package/dist/projection/attempt-selection.js +0 -8
- package/dist/projection/attempt-selection.js.map +0 -1
- package/dist/projection/coverage.cjs +0 -106
- package/dist/projection/coverage.cjs.map +0 -1
- package/dist/projection/coverage.d.cts +0 -43
- package/dist/projection/coverage.d.mts +0 -43
- package/dist/projection/coverage.d.ts +0 -43
- package/dist/projection/coverage.js +0 -6
- package/dist/projection/coverage.js.map +0 -1
- package/dist/projection/index.cjs +0 -36
- package/dist/projection/index.cjs.map +0 -1
- package/dist/projection/index.d.cts +0 -25
- package/dist/projection/index.d.mts +0 -25
- package/dist/projection/index.d.ts +0 -25
- package/dist/projection/index.js +0 -46
- package/dist/projection/index.mjs +0 -46
- package/dist/projection/model.cjs +0 -3
- package/dist/projection/model.cjs.map +0 -1
- package/dist/projection/model.d.cts +0 -49
- package/dist/projection/model.d.mts +0 -49
- package/dist/projection/model.d.ts +0 -49
- package/dist/projection/model.js +0 -4
- package/dist/projection/model.js.map +0 -1
- package/dist/projection/projector.cjs +0 -111
- package/dist/projection/projector.cjs.map +0 -1
- package/dist/projection/projector.d.cts +0 -51
- package/dist/projection/projector.d.mts +0 -51
- package/dist/projection/projector.d.ts +0 -51
- package/dist/projection/projector.js +0 -16
- package/dist/projection/projector.js.map +0 -1
- package/dist/projection/runtime.cjs +0 -246
- package/dist/projection/runtime.cjs.map +0 -1
- package/dist/projection/runtime.d.cts +0 -14
- package/dist/projection/runtime.d.mts +0 -14
- package/dist/projection/runtime.d.ts +0 -14
- package/dist/projection/runtime.js +0 -6
- package/dist/record/migration/errors.cjs +0 -68
- package/dist/record/migration/errors.cjs.map +0 -1
- package/dist/record/migration/errors.d.cts +0 -73
- package/dist/record/migration/errors.d.mts +0 -73
- package/dist/record/migration/errors.d.ts +0 -73
- package/dist/record/migration/errors.js +0 -22
- package/dist/record/migration/errors.js.map +0 -1
- package/dist/record/migration/identity.cjs +0 -27
- package/dist/record/migration/identity.cjs.map +0 -1
- package/dist/record/migration/identity.d.cts +0 -5
- package/dist/record/migration/identity.d.mts +0 -5
- package/dist/record/migration/identity.d.ts +0 -5
- package/dist/record/migration/identity.js +0 -8
- package/dist/record/migration/internal.cjs +0 -3
- package/dist/record/migration/internal.cjs.map +0 -1
- package/dist/record/migration/internal.d.cts +0 -111
- package/dist/record/migration/internal.d.mts +0 -111
- package/dist/record/migration/internal.d.ts +0 -111
- package/dist/record/migration/internal.js +0 -4
- package/dist/record/migration/internal.js.map +0 -1
- package/dist/record/migration/orchestrate.cjs +0 -368
- package/dist/record/migration/orchestrate.cjs.map +0 -1
- package/dist/record/migration/orchestrate.d.cts +0 -113
- package/dist/record/migration/orchestrate.d.mts +0 -113
- package/dist/record/migration/orchestrate.d.ts +0 -113
- package/dist/record/migration/orchestrate.js +0 -16
- package/dist/record/migration/orchestrate.js.map +0 -1
- package/dist/record/migration/plan.cjs +0 -63
- package/dist/record/migration/plan.cjs.map +0 -1
- package/dist/record/migration/plan.d.cts +0 -32
- package/dist/record/migration/plan.d.mts +0 -32
- package/dist/record/migration/plan.d.ts +0 -32
- package/dist/record/migration/plan.js +0 -10
- package/dist/record/migration/plan.js.map +0 -1
- package/dist/record/migration/registry.cjs +0 -150
- package/dist/record/migration/registry.cjs.map +0 -1
- package/dist/record/migration/registry.d.cts +0 -61
- package/dist/record/migration/registry.d.mts +0 -61
- package/dist/record/migration/registry.d.ts +0 -61
- package/dist/record/migration/registry.js +0 -14
- package/dist/record/migration/registry.js.map +0 -1
- package/dist/record/migration/storage.cjs +0 -382
- package/dist/record/migration/storage.cjs.map +0 -1
- package/dist/record/migration/storage.d.cts +0 -18
- package/dist/record/migration/storage.d.mts +0 -18
- package/dist/record/migration/storage.d.ts +0 -18
- package/dist/record/migration/storage.js +0 -6
- package/dist/record/migration/storage.js.map +0 -1
- package/dist/record/migration/types.cjs.map +0 -1
- package/dist/record/migration/types.d.cts +0 -16
- package/dist/record/migration/types.d.mts +0 -16
- package/dist/record/migration/types.d.ts +0 -16
- package/dist/record/reader/internal.cjs +0 -17
- package/dist/record/reader/internal.cjs.map +0 -1
- package/dist/record/reader/internal.d.cts +0 -26
- package/dist/record/reader/internal.d.mts +0 -26
- package/dist/record/reader/internal.d.ts +0 -26
- package/dist/record/reader/internal.js +0 -8
- package/dist/record/reader/internal.js.map +0 -1
- package/dist/record/writer/runtime.cjs +0 -656
- package/dist/record/writer/runtime.cjs.map +0 -1
- package/dist/record/writer/runtime.d.cts +0 -7
- package/dist/record/writer/runtime.d.mts +0 -7
- package/dist/record/writer/runtime.d.ts +0 -7
- package/dist/record/writer/runtime.js +0 -6
- package/dist/report/author/identity.cjs +0 -268
- package/dist/report/author/identity.cjs.map +0 -1
- package/dist/report/author/identity.d.cts +0 -75
- package/dist/report/author/identity.d.mts +0 -75
- package/dist/report/author/identity.d.ts +0 -75
- package/dist/report/author/identity.js +0 -34
- package/dist/report/author/identity.js.map +0 -1
- package/dist/report/author/index.cjs +0 -19
- package/dist/report/author/index.cjs.map +0 -1
- package/dist/report/author/index.d.cts +0 -4
- package/dist/report/author/index.d.mts +0 -4
- package/dist/report/author/index.d.ts +0 -4
- package/dist/report/author/index.js +0 -30
- package/dist/report/author/internal.cjs +0 -98
- package/dist/report/author/internal.cjs.map +0 -1
- package/dist/report/author/internal.d.cts +0 -91
- package/dist/report/author/internal.d.mts +0 -91
- package/dist/report/author/internal.d.ts +0 -91
- package/dist/report/author/internal.js +0 -18
- package/dist/report/author/internal.js.map +0 -1
- package/dist/report/author/model.cjs +0 -467
- package/dist/report/author/model.cjs.map +0 -1
- package/dist/report/author/model.d.cts +0 -241
- package/dist/report/author/model.d.mts +0 -241
- package/dist/report/author/model.d.ts +0 -241
- package/dist/report/author/model.js +0 -32
- package/dist/report/author/model.js.map +0 -1
- package/dist/report/execution/index.cjs +0 -20
- package/dist/report/execution/index.cjs.map +0 -1
- package/dist/report/execution/index.d.cts +0 -3
- package/dist/report/execution/index.d.mts +0 -3
- package/dist/report/execution/index.d.ts +0 -3
- package/dist/report/execution/index.js +0 -30
- package/dist/report/execution/problems.cjs +0 -210
- package/dist/report/execution/problems.cjs.map +0 -1
- package/dist/report/execution/problems.d.cts +0 -54
- package/dist/report/execution/problems.d.mts +0 -54
- package/dist/report/execution/problems.d.ts +0 -54
- package/dist/report/execution/problems.js +0 -14
- package/dist/report/execution/problems.js.map +0 -1
- package/dist/report/execution/results.cjs +0 -26
- package/dist/report/execution/results.cjs.map +0 -1
- package/dist/report/execution/results.d.cts +0 -102
- package/dist/report/execution/results.d.mts +0 -102
- package/dist/report/execution/results.d.ts +0 -102
- package/dist/report/execution/results.js +0 -8
- package/dist/report/execution/results.js.map +0 -1
- package/dist/report/host/html.cjs +0 -424
- package/dist/report/host/html.cjs.map +0 -1
- package/dist/report/host/html.d.cts +0 -28
- package/dist/report/host/html.d.mts +0 -28
- package/dist/report/host/html.d.ts +0 -28
- package/dist/report/host/html.js +0 -6
- package/dist/report/host/html.js.map +0 -1
- package/dist/report/host/node/theme.cjs +0 -21
- package/dist/report/host/node/theme.cjs.map +0 -1
- package/dist/report/host/node/theme.d.cts +0 -1
- package/dist/report/host/node/theme.d.mts +0 -1
- package/dist/report/host/node/theme.d.ts +0 -1
- package/dist/report/host/node/theme.js +0 -14
- package/dist/report/host/presentation.cjs +0 -423
- package/dist/report/host/presentation.cjs.map +0 -1
- package/dist/report/host/presentation.d.cts +0 -42
- package/dist/report/host/presentation.d.mts +0 -42
- package/dist/report/host/presentation.d.ts +0 -42
- package/dist/report/host/presentation.js +0 -16
- package/dist/report/host/theme.cjs +0 -223
- package/dist/report/host/theme.cjs.map +0 -1
- package/dist/report/host/theme.d.cts +0 -64
- package/dist/report/host/theme.d.mts +0 -64
- package/dist/report/host/theme.d.ts +0 -64
- package/dist/report/host/theme.js +0 -14
- package/dist/report/host/theme.js.map +0 -1
- package/dist/report/semantic/document.cjs +0 -593
- package/dist/report/semantic/document.cjs.map +0 -1
- package/dist/report/semantic/document.d.cts +0 -162
- package/dist/report/semantic/document.d.mts +0 -162
- package/dist/report/semantic/document.d.ts +0 -162
- package/dist/report/semantic/document.js +0 -38
- package/dist/report/semantic/document.js.map +0 -1
- package/dist/report/semantic/index.cjs +0 -18
- package/dist/report/semantic/index.cjs.map +0 -1
- package/dist/report/semantic/index.d.cts +0 -1
- package/dist/report/semantic/index.d.mts +0 -1
- package/dist/report/semantic/index.d.ts +0 -1
- package/dist/report/semantic/index.js +0 -38
- package/dist/shared/facts.cjs +0 -24
- package/dist/shared/facts.cjs.map +0 -1
- package/dist/shared/facts.d.cts +0 -7
- package/dist/shared/facts.d.mts +0 -7
- package/dist/shared/facts.d.ts +0 -7
- package/dist/shared/facts.js +0 -6
- package/dist/shared/facts.js.map +0 -1
- package/dist/show/json.cjs +0 -8
- package/dist/show/json.cjs.map +0 -1
- package/dist/show/json.d.cts +0 -2
- package/dist/show/json.d.mts +0 -2
- package/dist/show/json.d.ts +0 -2
- package/dist/show/json.js +0 -8
- package/dist/show/json.js.map +0 -1
- package/dist/show/render.cjs +0 -7
- package/dist/show/render.cjs.map +0 -1
- package/dist/show/render.d.cts +0 -2
- package/dist/show/render.d.mts +0 -2
- package/dist/show/render.d.ts +0 -2
- package/dist/show/render.js +0 -6
- package/dist/show/render.js.map +0 -1
- package/dist/sources/assemble.cjs +0 -634
- package/dist/sources/assemble.cjs.map +0 -1
- package/dist/sources/assemble.d.cts +0 -6
- package/dist/sources/assemble.d.mts +0 -6
- package/dist/sources/assemble.d.ts +0 -6
- package/dist/sources/assemble.js +0 -6
- package/dist/sources/assemble.js.map +0 -1
- package/dist/sources/projection-model.cjs +0 -3
- package/dist/sources/projection-model.cjs.map +0 -1
- package/dist/sources/projection-model.d.cts +0 -327
- package/dist/sources/projection-model.d.mts +0 -327
- package/dist/sources/projection-model.d.ts +0 -327
- package/dist/sources/projection-model.js +0 -4
- package/dist/sources/projection-model.js.map +0 -1
- /package/dist/{projection → coordination/host}/index.js.map +0 -0
- /package/dist/{projection → coordination/host}/index.mjs.map +0 -0
- /package/dist/{projection → coordination/host}/runtime.js.map +0 -0
- /package/dist/{record/migration → coordination/host}/types.cjs +0 -0
- /package/dist/{record/migration → coordination/host}/types.js +0 -0
- /package/dist/{record/migration → coordination/host}/types.js.map +0 -0
- /package/dist/{record/migration → coordination}/identity.js.map +0 -0
- /package/dist/{report/author → coordination}/index.js.map +0 -0
- /package/dist/{report/execution → coordination/platform}/index.js.map +0 -0
- /package/dist/{report/semantic → experiment/host}/index.js.map +0 -0
- /package/dist/record/{writer → host}/runtime.js.map +0 -0
- /package/dist/report/{host/presentation.js.map → presentation.js.map} +0 -0
- /package/dist/report/{host/node/theme.js.map → theme.js.map} +0 -0
package/dist/runner/run.d.cts
CHANGED
|
@@ -41,4 +41,4 @@ export declare function runEvals<AttachmentError, AttachmentRequirements>(opts:
|
|
|
41
41
|
startedAt: string;
|
|
42
42
|
completedAt: string;
|
|
43
43
|
completion: "completed" | "interrupted";
|
|
44
|
-
}>, unknown, import("../
|
|
44
|
+
}>, unknown, import("../coordination/record-leases.cjs").RecordCoordination | import("../record/platform/services.cjs").RecordFileSystem | import("../record/platform/services.cjs").RecordEntropy>;
|
package/dist/runner/run.d.mts
CHANGED
|
@@ -41,4 +41,4 @@ export declare function runEvals<AttachmentError, AttachmentRequirements>(opts:
|
|
|
41
41
|
startedAt: string;
|
|
42
42
|
completedAt: string;
|
|
43
43
|
completion: "completed" | "interrupted";
|
|
44
|
-
}>, unknown, import("../
|
|
44
|
+
}>, unknown, import("../coordination/record-leases.mjs").RecordCoordination | import("../record/platform/services.mjs").RecordFileSystem | import("../record/platform/services.mjs").RecordEntropy>;
|
package/dist/runner/run.d.ts
CHANGED
|
@@ -41,4 +41,4 @@ export declare function runEvals<AttachmentError, AttachmentRequirements>(opts:
|
|
|
41
41
|
startedAt: string;
|
|
42
42
|
completedAt: string;
|
|
43
43
|
completion: "completed" | "interrupted";
|
|
44
|
-
}>, unknown, import("../
|
|
44
|
+
}>, unknown, import("../coordination/record-leases.js").RecordCoordination | import("../record/platform/services.js").RecordFileSystem | import("../record/platform/services.js").RecordEntropy>;
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ReusableSandboxPool = void 0;
|
|
4
4
|
const deadline_ts_1 = require("../sandbox/deadline.cjs");
|
|
5
5
|
const backend_ts_1 = require("../sandbox/backend.cjs");
|
|
6
|
+
const paths_ts_1 = require("../sandbox/paths.cjs");
|
|
7
|
+
const request_executor_ts_1 = require("../sandbox/request-executor.cjs");
|
|
6
8
|
const runtime_ts_1 = require("../sandbox/runtime.cjs");
|
|
7
9
|
const cleanup_timeout_ts_1 = require("./cleanup-timeout.cjs");
|
|
8
10
|
const ledger_ts_1 = require("./ledger.cjs");
|
|
@@ -122,9 +124,9 @@ class ReusableSandboxPool {
|
|
|
122
124
|
if (this.groupPluginContext !== undefined) {
|
|
123
125
|
yield* effect_1.Effect.forEach(this.groupPlugins.slice(0, this.activatedGroupPlugins).reverse(), (entry) => entry.teardown === undefined
|
|
124
126
|
? effect_1.Effect.void
|
|
125
|
-
: (0, cleanup_timeout_ts_1.cleanupCallback)(() => entry.teardown({
|
|
127
|
+
: (0, cleanup_timeout_ts_1.cleanupCallback)((signal) => entry.teardown({
|
|
126
128
|
...this.groupPluginContext,
|
|
127
|
-
signal
|
|
129
|
+
signal,
|
|
128
130
|
})).pipe(effect_1.Effect.catchAll((cause) => effect_1.Effect.sync(() => this.feedback.diagnostic({
|
|
129
131
|
code: "plugin-lifecycle-teardown-failed",
|
|
130
132
|
level: "warning",
|
|
@@ -211,6 +213,7 @@ class ReusableSandboxPool {
|
|
|
211
213
|
: this.nextReuseSandboxNumber();
|
|
212
214
|
return {
|
|
213
215
|
sandbox,
|
|
216
|
+
authorBackend: materialized.authorBackend,
|
|
214
217
|
scope: entryScope,
|
|
215
218
|
lifetime,
|
|
216
219
|
ledger,
|
|
@@ -223,51 +226,60 @@ class ReusableSandboxPool {
|
|
|
223
226
|
});
|
|
224
227
|
}
|
|
225
228
|
lease(entry, deadlineAt) {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
if (lifecycle._tag
|
|
229
|
+
return effect_1.Effect.gen(this, function* () {
|
|
230
|
+
entry.lifecycle = { _tag: "Leased" };
|
|
231
|
+
entry.ordinal += 1;
|
|
232
|
+
(0, deadline_ts_1.applyCommandDeadline)(entry.sandbox, deadlineAt);
|
|
233
|
+
let lifecycle = {
|
|
234
|
+
_tag: "Open",
|
|
235
|
+
release: { _tag: "Uncommitted" },
|
|
236
|
+
};
|
|
237
|
+
// 先登记 release/reset finalizer:executor/facade 的封闭 finalizer 在其后登记,Scope
|
|
238
|
+
// 关闭时按 LIFO 先中断在飞请求、封闭旧 facade,再对资源面执行 reset/retire——reset
|
|
239
|
+
// 期间不会再有旧 facade 的请求借道写入 ledger/workdir。
|
|
240
|
+
yield* effect_1.Effect.addFinalizer(() => effect_1.Effect.gen(this, function* () {
|
|
241
|
+
if (lifecycle._tag === "Finalized")
|
|
239
242
|
return;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
const settled = lifecycle;
|
|
247
|
-
lifecycle = { _tag: "Finalized" };
|
|
248
|
-
const release = settled.release._tag === "Committed"
|
|
249
|
-
? settled.release.release
|
|
250
|
-
: { _tag: "Retire" };
|
|
251
|
-
if (release._tag === "Retire") {
|
|
252
|
-
yield* this.retire(entry);
|
|
253
|
-
}
|
|
254
|
-
else if (entry.lifecycle._tag !== "Retired") {
|
|
255
|
-
const reset = yield* effect_1.Effect.either(externalPromise(() => entry.ledger.resetToAnchor()));
|
|
256
|
-
if (effect_1.Either.isLeft(reset)) {
|
|
257
|
-
this.runtimeFailures.push(Object.freeze({ stage: "sandbox.reset", error: reset.left }));
|
|
258
|
-
this.feedback.diagnostic({
|
|
259
|
-
code: "sandbox-reset-failed",
|
|
260
|
-
level: "warning",
|
|
261
|
-
message: `Sandbox #${entry.reuseSandbox} reset to anchor failed, retiring the instance: ${(0, util_ts_1.firstLine)((0, util_ts_1.formatThrown)(reset.left))}`,
|
|
262
|
-
});
|
|
243
|
+
const settled = lifecycle;
|
|
244
|
+
lifecycle = { _tag: "Finalized" };
|
|
245
|
+
const release = settled.release._tag === "Committed"
|
|
246
|
+
? settled.release.release
|
|
247
|
+
: { _tag: "Retire" };
|
|
248
|
+
if (release._tag === "Retire") {
|
|
263
249
|
yield* this.retire(entry);
|
|
264
250
|
}
|
|
265
|
-
else {
|
|
266
|
-
|
|
251
|
+
else if (entry.lifecycle._tag !== "Retired") {
|
|
252
|
+
const reset = yield* effect_1.Effect.either(externalPromise(() => entry.ledger.resetToAnchor()));
|
|
253
|
+
if (effect_1.Either.isLeft(reset)) {
|
|
254
|
+
this.runtimeFailures.push(Object.freeze({ stage: "sandbox.reset", error: reset.left }));
|
|
255
|
+
this.feedback.diagnostic({
|
|
256
|
+
code: "sandbox-reset-failed",
|
|
257
|
+
level: "warning",
|
|
258
|
+
message: `Sandbox #${entry.reuseSandbox} reset to anchor failed, retiring the instance: ${(0, util_ts_1.firstLine)((0, util_ts_1.formatThrown)(reset.left))}`,
|
|
259
|
+
});
|
|
260
|
+
yield* this.retire(entry);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
entry.lifecycle = { _tag: "Idle" };
|
|
264
|
+
}
|
|
267
265
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
266
|
+
this.wake();
|
|
267
|
+
}));
|
|
268
|
+
// 每次租借在当前 Attempt Scope 新建 executor 与 author facade:上一轮 facade/executor
|
|
269
|
+
// 不跨租借复用,不把旧 Runtime 带进新 Attempt。
|
|
270
|
+
const executor = yield* (0, request_executor_ts_1.makeSandboxRequestExecutor)();
|
|
271
|
+
const authorSandbox = (0, paths_ts_1.makeSandboxAuthorFacade)(entry.authorBackend, executor, this.plan.providerPlan.provider);
|
|
272
|
+
return {
|
|
273
|
+
sandbox: authorSandbox,
|
|
274
|
+
reuseSandbox: entry.reuseSandbox,
|
|
275
|
+
reuseOrdinal: entry.ordinal,
|
|
276
|
+
commit: (release) => effect_1.Effect.sync(() => {
|
|
277
|
+
if (lifecycle._tag !== "Open")
|
|
278
|
+
return;
|
|
279
|
+
lifecycle = { ...lifecycle, release: { _tag: "Committed", release } };
|
|
280
|
+
}),
|
|
281
|
+
};
|
|
282
|
+
});
|
|
271
283
|
}
|
|
272
284
|
/** 淘汰一台实例:停资源组并移出池——留在池里会占满容量,
|
|
273
285
|
* 让后续 acquire 既等不到空闲实例、也创建不出替代实例(等待者永远醒不来)。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-pool.js","sourceRoot":"","sources":["sandbox-pool.ts"],"names":[],"mappings":";;;AAAA,wDAA8D;AAC9D,sDAA+D;AAG/D,sDAAqL;AAErL,6DAA2E;AAC3E,2CAAoE;AACpE,wCAAqD;AACrD,mCAA4D;AAkD5D,6DAA6D;AAC7D,MAAa,mBAAmB;IAaC;IAER;IAAmC;IAA2C;IAAmD;IAAuF;IAAuC;IAAuG;IAAwD;IAAqF;IAdvf,OAAO,GAAY,EAAE,CAAC;IACtB,OAAO,GAAsB,EAAE,CAAC;IACzC,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO,GAAG,KAAK,CAAC;IACP,eAAe,GAAwC,EAAE,CAAC;IAC3E,4DAA4D;IAC3C,sBAAsB,CAAS;IAChD,wDAAwD;IAChD,OAAO,GAAG,CAAC,CAAC;IACZ,uBAAuB,GAAG,KAAK,CAAC;IAChC,qBAAqB,CAAU;IAC/B,qBAAqB,GAAG,CAAC,CAAC;IAClC,YAA6B,IAE3B,EAAmB,QAAgB,EAAmB,QAAwB,EAAmB,YAAgC,EAAmB,kBAA0C,uCAA0B,EAAmB,KAAoB,EAAmB,SAAmD,EAAE,sBAA+B,EAAmB,sBAAqC,EAAmB,eAAiD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAmB,kBAAuC;QAFlhB,SAAI,GAAJ,IAAI,CAE/B;QAAmB,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,aAAQ,GAAR,QAAQ,CAAgB;QAAmB,iBAAY,GAAZ,YAAY,CAAoB;QAAmB,oBAAe,GAAf,eAAe,CAAqD;QAAmB,UAAK,GAAL,KAAK,CAAe;QAAmB,cAAS,GAAT,SAAS,CAA0C;QAAoD,2BAAsB,GAAtB,sBAAsB,CAAe;QAAmB,iBAAY,GAAZ,YAAY,CAAsD;QAAmB,uBAAkB,GAAlB,kBAAkB,CAAqB;QAC3iB,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC7E,CAAC;IACD,8DAA8D;IAC9D,OAAO;QACH,OAAO,eAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IACD;;;;;OAKG;IACH,OAAO,CAAC,iBAAqC,EAAE,aAA+C;QAC1F,OAAO,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC7B,MAAM,cAAc,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,uCAAkB,CAAC;YACrE;;;;;;;eAOG;YACH,MAAM,eAAe,GAAG,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YACxG,SAAS,CAAC;gBACN,IAAI,IAAI,CAAC,OAAO;oBACZ,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAChF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC5E,IAAI,KAAK,EAAE,CAAC;oBACR,wDAAwD;oBACxD,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC7F,+DAA+D;oBAC/D,0CAA0C;oBAC1C,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACrE,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;wBAC/C,SAAS;oBACb,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1B,SAAS;gBACb,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACtD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACnB,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;wBACpC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;wBACvF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC3B,mDAAmD;wBACnD,uDAAuD;wBACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACf,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC5B,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;wBAChF,CAAC;wBACD,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;wBACnB,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAC,CAAC,CAAC;gBACT,CAAC;gBACD,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,IAAI;QACA,OAAO,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,iEAAiE;YACjE,0DAA0D;YAC1D,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC1F,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpE,WAAW,EAAE,WAAW;gBACxB,OAAO,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACxC,KAAK,CAAC,CAAC,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;oBAC3H,CAAC,CAAC,eAAM,CAAC,IAAI;oBACb,CAAC,CAAC,IAAA,oCAAe,EAAC,GAAG,EAAE,CAAE,KAAK,CAAC,QAAkE,CAAC;wBAC9F,GAAG,IAAI,CAAC,kBAAmB;wBAC3B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,uCAAkB,CAAC;qBAClD,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAC3E,IAAI,EAAE,kCAAkC;wBACxC,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAClE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,8EAA8E;IAC9E,oBAAoB;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACO,MAAM,CAAC,cAAsB,EAAE,UAA8B,EAAE,aAA+C;QAClH,OAAO,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC7B,IAAI,IAAI,CAAC,qBAAqB,KAAK,SAAS;gBACxC,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAA8B,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACzE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAChF,IAAI,CAAC,qBAAqB,GAAG,KAAK,GAAG,CAAC,CAAC;oBACvC,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS;wBAC5B,CAAC,CAAC,eAAM,CAAC,IAAI;wBACb,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAE,KAAK,CAAC,KAA+D,CAAC,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC;gBACnJ,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvB,IAAI,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,qBAAqB,GAAG,cAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAA8B,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;YACD,MAAM,YAAY,GAAG,IAAA,uCAA0B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC3J,CAAC;YACD,MAAM,QAAQ,GAA2B,UAAU,KAAK,SAAS;gBAC7D,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;gBACvB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,uCAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;YACnG,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,cAAK,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,cAAK,CAAC,MAAM,CAAC,IAAA,sCAAyB,EAAC;gBAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,sBAAsB;gBACnC,QAAQ;gBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAChC,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,aAAa;gBACb,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACnC,QAAQ,EAAE,IAAI,CAAC,eAAe;gBAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;aAC5B,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,EAAE,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YACrC,wCAAwC;YACxC,yCAAyC;YACzC,MAAM,QAAQ,GAAG,IAAA,mCAAsB,EAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,KAAK,CAAC,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,EAAE,aAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,2BAA2B,YAAY,CAAC,QAAQ,oEAAoE;oBACpJ,+GAA+G;oBAC/G,oHAAoH,CAAC,CAAC,CAAC;YAC/H,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,EAAE,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,CAAC,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,EAAE,aAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,YAAY,CAAC,QAAQ,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpI,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,IAAA,8BAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,2DAA2D;gBAC3D,wDAAwD;gBACxD,sCAAsC;gBACtC,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,kCAAkC,YAAY,CAAC,QAAQ,oHAAoH;wBAC3M,mFAAmF,CAAC,CAAC,CAAC;gBAC9F,CAAC;gBACD,kCAAkC;gBAClC,4CAA4C;gBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;gBACzF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACpB,OAAO,KAAK,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,gCAAgC,YAAY,CAAC,QAAQ,mCAAmC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACtJ,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,KAAK,SAAS;oBAC1D,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO;oBAChB,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACpC,OAAO;oBACH,OAAO;oBACP,KAAK,EAAE,UAAU;oBACjB,QAAQ;oBACR,MAAM;oBACN,YAAY;oBACZ,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAA2B;iBACvD,CAAC;YACN,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAK,CAAC,KAAK,CAAC,UAAU,EAAE,aAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,OAAO,QAAQ,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IACO,KAAK,CAAC,KAAY,EAAE,UAA8B;QACtD,KAAK,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACnB,IAAA,kCAAoB,EAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,SAAS,GAAmB;YAC5B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;SACnC,CAAC;QACF,MAAM,KAAK,GAAyB;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM;oBACzB,OAAO;gBACX,SAAS,GAAG,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YAC1E,CAAC,CAAC;SACL,CAAC;QACF,OAAO,eAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YACvD,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW;gBAC9B,OAAO;YACX,MAAM,OAAO,GAAG,SAAS,CAAC;YAC1B,SAAS,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YAClC,MAAM,OAAO,GAAyB,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;gBACtE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO;gBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5B,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;iBACI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,eAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBACxF,IAAI,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACrB,IAAI,EAAE,sBAAsB;wBAC5B,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,YAAY,KAAK,CAAC,YAAY,mDAAmD,IAAA,mBAAS,EAAC,IAAA,sBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;qBAClI,CAAC,CAAC;oBACH,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC;qBACI,CAAC;oBACF,KAAK,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACvC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD;oDACgD;IACxC,MAAM,CAAC,KAAY;QACvB,OAAO,eAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YAC7B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS;gBAClC,OAAO;YACX,KAAK,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC;gBACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,CAAC,cAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,aAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACvH,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE;aACnE,CAAC,CAAC,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IACO,IAAI;QACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACO,SAAS;QACb,OAAO,eAAM,CAAC,KAAK,CAAO,CAAC,MAAM,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,eAAM,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,eAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,KAAK,IAAI,CAAC;oBACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAlRD,kDAkRC;AACD,SAAS,eAAe,CAAQ,GAAyB;IACrD,OAAO,eAAM,CAAC,UAAU,CAAC;QACrB,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9E,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { applyCommandDeadline } from \"../sandbox/deadline.ts\";\nimport { sandboxReuseCapability } from \"../sandbox/backend.ts\";\nimport type { LinkedRunPlan } from \"../sandbox/plan.ts\";\nimport type { BuildKey } from \"../sandbox/identity.ts\";\nimport { materializeSandboxRunPlan, liveSandboxRuntimeServices, sandboxRuntimeCapabilities, type SandboxRuntimeDeadline, type SandboxRuntimeServices, } from \"../sandbox/runtime.ts\";\nimport type { JsonValue, Sandbox, SandboxAgent, SandboxHookContext, SandboxReuseCapability, ScopedFeedback } from \"../types.ts\";\nimport { CLEANUP_TIMEOUT_MS, cleanupCallback } from \"./cleanup-timeout.ts\";\nimport { createChangeLedger, type ChangeLedger } from \"./ledger.ts\";\nimport { firstLine, formatThrown } from \"../util.ts\";\nimport { Cause, Effect, Either, Exit, Scope } from \"effect\";\nimport type { GroupPluginContext, LinkedPluginLifecycle } from \"../plugin/contracts.ts\";\nexport interface ReusableSandboxLease {\n readonly sandbox: Sandbox;\n readonly reuseSandbox: number;\n readonly reuseOrdinal: number;\n /** 提交本次 Attempt 的归还决策;Scope 退出负责实际 reset/retire,漏提交默认 Retire。 */\n commit(disposition: ReusableLeaseRelease): Effect.Effect<void>;\n}\nexport type ReusableLeaseRelease = {\n readonly _tag: \"Reset\";\n} | {\n readonly _tag: \"Retire\";\n};\n/** A post-attempt physical lifecycle failure observed after its result sealed. */\nexport interface ReusableSandboxPoolRuntimeFailure {\n readonly stage: \"sandbox.reset\";\n readonly error: Error;\n}\ntype EntryLifecycle = {\n readonly _tag: \"Idle\";\n} | {\n readonly _tag: \"Leased\";\n} | {\n readonly _tag: \"Retired\";\n};\ninterface Entry {\n sandbox: Sandbox;\n scope: Scope.CloseableScope;\n /** provider 自己实现的寿命确认;没有这条能力的实例根本进不来(见 create)。 */\n lifetime: SandboxReuseCapability;\n ledger: ChangeLedger;\n reuseSandbox: number;\n ordinal: number;\n lifecycle: EntryLifecycle;\n}\n/** Scope 尚未关闭前,lease 只能在这里两种归还意图之间演进。 */\ntype LeaseReleaseDecision = {\n readonly _tag: \"Uncommitted\";\n} | {\n readonly _tag: \"Committed\";\n readonly release: ReusableLeaseRelease;\n};\n/** 漏 commit 保持 Uncommitted,finalizer 因而 Retire;不再用 boolean 记账。 */\ntype LeaseLifecycle = {\n readonly _tag: \"Open\";\n readonly release: LeaseReleaseDecision;\n} | {\n readonly _tag: \"Finalized\";\n};\n/** 一个 pair-owned physical plan 的按需复用池;实例始终独占借给单条 Attempt。 */\nexport class ReusableSandboxPool {\n private readonly entries: Entry[] = [];\n private readonly waiters: Array<() => void> = [];\n private creating = 0;\n private stopped = false;\n private readonly runtimeFailures: ReusableSandboxPoolRuntimeFailure[] = [];\n /** Provider 可观察的物理 owner;Group 池不能随首个未携入成员改用另一个 Eval ID。 */\n private readonly materializationOwnerId: string;\n /** 本次 Run 内的 Sandbox 编号计数器;淘汰的实例不让号,编号在结果里永远指向同一个实例。 */\n private created = 0;\n private groupPluginSetupStarted = false;\n private groupPluginSetupError: unknown;\n private activatedGroupPlugins = 0;\n constructor(private readonly plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n }>, private readonly capacity: number, private readonly feedback: ScopedFeedback, private readonly setupContext: SandboxHookContext, private readonly runtimeServices: SandboxRuntimeServices = liveSandboxRuntimeServices, private readonly agent?: SandboxAgent, private readonly runTiming?: import(\"./timing.ts\").RunTimingRecorder, materializationOwnerId?: string, private readonly nextReuseSandboxNumber?: () => number, private readonly groupPlugins: readonly LinkedPluginLifecycle[] = Object.freeze([]), private readonly groupPluginContext?: GroupPluginContext) {\n this.materializationOwnerId = materializationOwnerId ?? plan.pair.evalId;\n }\n /** 把整座池登记进调用方 Scope;Invocation 中断与正常结束走同一条 stop finalizer。 */\n managed(): Effect.Effect<this, never, Scope.Scope> {\n return Effect.addFinalizer(() => this.stop()).pipe(Effect.as(this));\n }\n /**\n * @param attemptDeadlineMs 这条 Attempt 实际生效的超时上限(解析链见 runner/timeout.ts)。\n * `undefined` = 四层都没声明上限:请求的寿命只能覆盖收尾预留——Attempt 本身没有 deadline,\n * 池无从知道它要跑多久,也不替它编一个数。此后实例被 provider 按自己的 `lifetimeMs` 回收\n * 就是「不声明上限」的代价(两种时间的分界见 docs/feature/sandbox/reuse.md)。\n */\n acquire(attemptDeadlineMs: number | undefined, buildLocators: ReadonlyMap<BuildKey, JsonValue>): Effect.Effect<ReusableSandboxLease, Error | import(\"../sandbox/runtime.ts\").SandboxRuntimeMaterializationError, Scope.Scope> {\n return Effect.gen(this, function* () {\n const minRemainingMs = (attemptDeadlineMs ?? 0) + CLEANUP_TIMEOUT_MS;\n /**\n * 借出期内单条命令的上限从这条线派生(`undefined` = 四层都没声明上限,照旧不发明一条线)。\n * 实例活得比 attempt 长,所以这条线必须**每次借出重设**——只在 create 时给一次的话,\n * 第二条 attempt 起就落回 provider SDK 的默认值(e2b 是 60 秒),实验声明的 timeoutMs\n * 完全不生效(见 sandbox/deadline.ts 的 `SandboxCommandDeadline`)。\n * 用 minRemainingMs 而不是 attemptDeadlineMs:归还时的分类账复位跑在同一条线下,\n * 不至于一还回来就撞一条已经过期的线。\n */\n const leaseDeadlineAt = attemptDeadlineMs === undefined ? undefined : () => Date.now() + minRemainingMs;\n for (;;) {\n if (this.stopped)\n return yield* Effect.fail(new Error(\"sandbox reuse pool has been stopped\"));\n const ready = this.entries.find((entry) => entry.lifecycle._tag === \"Idle\");\n if (ready) {\n // 派发前确认:请求足以覆盖 Attempt deadline 与收尾预留的寿命。不 ready 就停掉这台、\n // 交给下一轮创建替代实例(替代实例在 create 里再确认一次,还不行就报错,不反复重建)。\n const lifetime = yield* externalPromise(() => ready.lifetime.ensureLifetime(minRemainingMs));\n // lifetime 检查是异步 provider I/O;其间 stop() 或另一条 release 可能已经退休这台。\n // 只有仍是 Idle 的实例才能真正借出,stop 后让下一轮在入口处统一失败。\n if (lifetime.ready && !this.stopped && ready.lifecycle._tag === \"Idle\") {\n return yield* this.lease(ready, leaseDeadlineAt?.());\n }\n if (this.stopped || ready.lifecycle._tag !== \"Idle\")\n continue;\n yield* this.retire(ready);\n continue;\n }\n if (this.entries.length + this.creating < this.capacity) {\n this.creating += 1;\n return yield* Effect.gen(this, function* () {\n const created = yield* this.create(minRemainingMs, leaseDeadlineAt?.(), buildLocators);\n this.entries.push(created);\n // stop 可能在物化期间开始。把刚创建的 entry 先纳入池,再由唯一 retire 路径关闭\n // 它自己的 Scope;绝不能把它借给已停止的池,也不能让 stop 在 creating=0 时漏掉它。\n if (this.stopped) {\n yield* this.retire(created);\n return yield* Effect.fail(new Error(\"sandbox reuse pool has been stopped\"));\n }\n return yield* this.lease(created, leaseDeadlineAt?.());\n }).pipe(Effect.ensuring(Effect.sync(() => {\n this.creating -= 1;\n this.wake();\n })));\n }\n yield* this.awaitWake();\n }\n });\n }\n stop(): Effect.Effect<void> {\n return Effect.gen(this, function* () {\n this.stopped = true;\n this.wake();\n // 已借出的 lease 仍在执行其 Attempt/cleanup;现在关闭 entry Scope 会把 Sandbox 在\n // 使用中 teardown。创建中的 entry 尚未进 entries,必须等它落入唯一 retire 路径。\n while (this.creating > 0 || this.entries.some((entry) => entry.lifecycle._tag === \"Leased\")) {\n yield* this.awaitWake();\n }\n yield* Effect.forEach([...this.entries], (entry) => this.retire(entry), {\n concurrency: \"unbounded\",\n discard: true,\n });\n if (this.groupPluginContext !== undefined) {\n yield* Effect.forEach(this.groupPlugins.slice(0, this.activatedGroupPlugins).reverse(), (entry) => entry.teardown === undefined\n ? Effect.void\n : cleanupCallback(() => (entry.teardown as (context: GroupPluginContext) => void | Promise<void>)({\n ...this.groupPluginContext!,\n signal: AbortSignal.timeout(CLEANUP_TIMEOUT_MS),\n })).pipe(Effect.catchAll((cause) => Effect.sync(() => this.feedback.diagnostic({\n code: \"plugin-lifecycle-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n })))), { discard: true });\n }\n });\n }\n /** Drained by the scheduler after the lease Scope sealed the prior result. */\n drainRuntimeFailures(): readonly ReusableSandboxPoolRuntimeFailure[] {\n return Object.freeze(this.runtimeFailures.splice(0));\n }\n private create(minRemainingMs: number, deadlineAt: number | undefined, buildLocators: ReadonlyMap<BuildKey, JsonValue>): Effect.Effect<Entry, Error | import(\"../sandbox/runtime.ts\").SandboxRuntimeMaterializationError> {\n return Effect.gen(this, function* () {\n if (this.groupPluginSetupError !== undefined)\n return yield* Effect.fail(this.groupPluginSetupError as Error);\n if (!this.groupPluginSetupStarted && this.groupPluginContext !== undefined) {\n this.groupPluginSetupStarted = true;\n const setup = yield* Effect.exit(Effect.forEach(this.groupPlugins, (entry, index) => {\n this.activatedGroupPlugins = index + 1;\n return entry.setup === undefined\n ? Effect.void\n : externalPromise(() => Promise.resolve((entry.setup as (context: GroupPluginContext) => void | Promise<void>)(this.groupPluginContext!)));\n }, { discard: true }));\n if (Exit.isFailure(setup)) {\n this.groupPluginSetupError = Cause.squash(setup.cause);\n return yield* Effect.fail(this.groupPluginSetupError as Error);\n }\n }\n const capabilities = sandboxRuntimeCapabilities(this.plan);\n if (capabilities.reuse._tag === \"Unsupported\") {\n return yield* Effect.fail(new Error(`sandboxReuse is unsupported by provider ${JSON.stringify(capabilities.provider)}: ${capabilities.reuse.reason}`));\n }\n const deadline: SandboxRuntimeDeadline = deadlineAt === undefined\n ? { _tag: \"Unlimited\" }\n : { _tag: \"Bounded\", timeoutMs: Math.max(1, minRemainingMs - CLEANUP_TIMEOUT_MS), deadlineAt };\n const entryScope = yield* Scope.make();\n const materialized = yield* Scope.extend(materializeSandboxRunPlan({\n plan: this.plan,\n evalId: this.materializationOwnerId,\n deadline,\n feedback: this.feedback,\n signal: this.setupContext.signal,\n hookContext: this.setupContext,\n buildLocators,\n ...(this.agent !== undefined ? { agent: this.agent } : {}),\n ...(this.runTiming !== undefined ? { runTiming: this.runTiming } : {}),\n provisionSlot: { _tag: \"Detached\" },\n services: this.runtimeServices,\n release: { _tag: \"Stop\" },\n }), entryScope).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n const sandbox = materialized.sandbox;\n // 能力只能来自 provider 实现:探不到就硬失败,没有通用记账兜底(见\n // docs/feature/sandbox/reuse.md「派发前确认」)。\n const lifetime = sandboxReuseCapability(sandbox);\n if (!lifetime) {\n yield* Scope.close(entryScope, Exit.void);\n return yield* Effect.fail(new Error(`sandboxReuse needs the \"${capabilities.provider}\" provider to confirm sandbox lifetime, but it does not implement ` +\n \"ensureLifetime(minRemainingMs). Only a provider can prove the lifetime is set on its own backend; the runner \" +\n \"will not keep local books for it. Use a provider that implements it (docker / e2b / vercel), or drop sandboxReuse.\"));\n }\n const confirmed = yield* externalPromise(() => lifetime.ensureLifetime(minRemainingMs)).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n if (!confirmed.ready) {\n yield* Scope.close(entryScope, Exit.void);\n return yield* Effect.fail(new Error(`sandboxReuse cannot prepare the \"${capabilities.provider}\" sandbox: ${confirmed.reason}`));\n }\n const prepared = yield* Effect.gen(this, function* () {\n const ledger = yield* externalPromise(() => createChangeLedger(sandbox));\n // root 执行身份下题间 reset 永不安全(Agent 能读上一条 Attempt 留下的私有分类账对象);\n // 在实例进池、第一条 Attempt 派发前就拒绝,而不是等到归还时才在 resetToAnchor() 里\n // 暴露(那样首条 Attempt 已经跑完,失败还可能被静默退休吞掉)。\n if (ledger.rootExecutionIdentity) {\n return yield* Effect.fail(new Error(`sandboxReuse cannot reuse the \"${capabilities.provider}\" sandbox: the Agent's execution identity is root and could read private ledger objects left by earlier attempts; ` +\n \"use a non-root execution user (declare USER in the image) or disable sandboxReuse\"));\n }\n // 建分类账会烧掉寿命:备好之后再确认一次。这次不够就报错收场——\n // 反复创建同样的替代实例只会反复烧同样的时间(见 reuse.md「派发前确认」)。\n const afterSetup = yield* externalPromise(() => lifetime.ensureLifetime(minRemainingMs));\n if (!afterSetup.ready) {\n return yield* Effect.fail(new Error(`sandboxReuse cannot use the \"${capabilities.provider}\" sandbox after baseline setup: ${afterSetup.reason}`));\n }\n const reuseSandbox = this.nextReuseSandboxNumber === undefined\n ? ++this.created\n : this.nextReuseSandboxNumber();\n return {\n sandbox,\n scope: entryScope,\n lifetime,\n ledger,\n reuseSandbox,\n ordinal: 0,\n lifecycle: { _tag: \"Idle\" } satisfies EntryLifecycle,\n };\n }).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n return prepared;\n });\n }\n private lease(entry: Entry, deadlineAt: number | undefined): Effect.Effect<ReusableSandboxLease, never, Scope.Scope> {\n entry.lifecycle = { _tag: \"Leased\" };\n entry.ordinal += 1;\n applyCommandDeadline(entry.sandbox, deadlineAt);\n let lifecycle: LeaseLifecycle = {\n _tag: \"Open\",\n release: { _tag: \"Uncommitted\" },\n };\n const lease: ReusableSandboxLease = {\n sandbox: entry.sandbox,\n reuseSandbox: entry.reuseSandbox,\n reuseOrdinal: entry.ordinal,\n commit: (release) => Effect.sync(() => {\n if (lifecycle._tag !== \"Open\")\n return;\n lifecycle = { ...lifecycle, release: { _tag: \"Committed\", release } };\n }),\n };\n return Effect.addFinalizer(() => Effect.gen(this, function* () {\n if (lifecycle._tag === \"Finalized\")\n return;\n const settled = lifecycle;\n lifecycle = { _tag: \"Finalized\" };\n const release: ReusableLeaseRelease = settled.release._tag === \"Committed\"\n ? settled.release.release\n : { _tag: \"Retire\" };\n if (release._tag === \"Retire\") {\n yield* this.retire(entry);\n }\n else if (entry.lifecycle._tag !== \"Retired\") {\n const reset = yield* Effect.either(externalPromise(() => entry.ledger.resetToAnchor()));\n if (Either.isLeft(reset)) {\n this.runtimeFailures.push(Object.freeze({ stage: \"sandbox.reset\", error: reset.left }));\n this.feedback.diagnostic({\n code: \"sandbox-reset-failed\",\n level: \"warning\",\n message: `Sandbox #${entry.reuseSandbox} reset to anchor failed, retiring the instance: ${firstLine(formatThrown(reset.left))}`,\n });\n yield* this.retire(entry);\n }\n else {\n entry.lifecycle = { _tag: \"Idle\" };\n }\n }\n this.wake();\n })).pipe(Effect.as(lease));\n }\n /** 淘汰一台实例:停资源组并移出池——留在池里会占满容量,\n * 让后续 acquire 既等不到空闲实例、也创建不出替代实例(等待者永远醒不来)。 */\n private retire(entry: Entry): Effect.Effect<void> {\n return Effect.gen(this, function* () {\n if (entry.lifecycle._tag === \"Retired\")\n return;\n entry.lifecycle = { _tag: \"Retired\" };\n const at = this.entries.indexOf(entry);\n if (at >= 0)\n this.entries.splice(at, 1);\n yield* Scope.close(entry.scope, Exit.void).pipe(Effect.catchAllCause((cause) => Effect.sync(() => this.feedback.diagnostic({\n code: \"sandbox-stop-failed\",\n level: \"warning\",\n message: `Sandbox reuse case finalizer failed: ${String(cause)}`,\n }))));\n this.wake();\n });\n }\n private wake(): void {\n this.waiters.splice(0).forEach((resolve) => resolve());\n }\n private awaitWake(): Effect.Effect<void> {\n return Effect.async<void>((resume) => {\n const wake = () => resume(Effect.void);\n this.waiters.push(wake);\n return Effect.sync(() => {\n const index = this.waiters.indexOf(wake);\n if (index >= 0)\n this.waiters.splice(index, 1);\n });\n });\n }\n}\nfunction externalPromise<Value>(run: () => Promise<Value>): Effect.Effect<Value, Error> {\n return Effect.tryPromise({\n try: run,\n catch: (cause) => cause instanceof Error ? cause : new Error(String(cause)),\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sandbox-pool.js","sourceRoot":"","sources":["sandbox-pool.ts"],"names":[],"mappings":"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","sourcesContent":["import { applyCommandDeadline } from \"../sandbox/deadline.ts\";\nimport { sandboxReuseCapability, type SandboxProviderBackend } from \"../sandbox/backend.ts\";\nimport { makeSandboxAuthorFacade } from \"../sandbox/paths.ts\";\nimport { makeSandboxRequestExecutor } from \"../sandbox/request-executor.ts\";\nimport type { LinkedRunPlan } from \"../sandbox/plan.ts\";\nimport type { BuildKey } from \"../sandbox/identity.ts\";\nimport { materializeSandboxRunPlan, liveSandboxRuntimeServices, sandboxRuntimeCapabilities, type SandboxRuntimeDeadline, type SandboxRuntimeServices, } from \"../sandbox/runtime.ts\";\nimport type { JsonValue, Sandbox, SandboxAgent, SandboxHookContext, SandboxReuseCapability, ScopedFeedback } from \"../types.ts\";\nimport { CLEANUP_TIMEOUT_MS, cleanupCallback } from \"./cleanup-timeout.ts\";\nimport { createChangeLedger, type ChangeLedger } from \"./ledger.ts\";\nimport { firstLine, formatThrown } from \"../util.ts\";\nimport { Cause, Effect, Either, Exit, Scope } from \"effect\";\nimport type { GroupPluginContext, LinkedPluginLifecycle } from \"../plugin/contracts.ts\";\nexport interface ReusableSandboxLease {\n readonly sandbox: Sandbox;\n readonly reuseSandbox: number;\n readonly reuseOrdinal: number;\n /** 提交本次 Attempt 的归还决策;Scope 退出负责实际 reset/retire,漏提交默认 Retire。 */\n commit(disposition: ReusableLeaseRelease): Effect.Effect<void>;\n}\nexport type ReusableLeaseRelease = {\n readonly _tag: \"Reset\";\n} | {\n readonly _tag: \"Retire\";\n};\n/** A post-attempt physical lifecycle failure observed after its result sealed. */\nexport interface ReusableSandboxPoolRuntimeFailure {\n readonly stage: \"sandbox.reset\";\n readonly error: Error;\n}\ntype EntryLifecycle = {\n readonly _tag: \"Idle\";\n} | {\n readonly _tag: \"Leased\";\n} | {\n readonly _tag: \"Retired\";\n};\ninterface Entry {\n /** 资源面 Sandbox:registry / stop / suspend / ledger / lifetime / deadline 都用它。 */\n sandbox: Sandbox;\n /** 物化时的 raw provider backend:只用于逐次租借构建 author facade,不保存 facade/executor。 */\n authorBackend: SandboxProviderBackend;\n scope: Scope.CloseableScope;\n /** provider 自己实现的寿命确认;没有这条能力的实例根本进不来(见 create)。 */\n lifetime: SandboxReuseCapability;\n ledger: ChangeLedger;\n reuseSandbox: number;\n ordinal: number;\n lifecycle: EntryLifecycle;\n}\n/** Scope 尚未关闭前,lease 只能在这里两种归还意图之间演进。 */\ntype LeaseReleaseDecision = {\n readonly _tag: \"Uncommitted\";\n} | {\n readonly _tag: \"Committed\";\n readonly release: ReusableLeaseRelease;\n};\n/** 漏 commit 保持 Uncommitted,finalizer 因而 Retire;不再用 boolean 记账。 */\ntype LeaseLifecycle = {\n readonly _tag: \"Open\";\n readonly release: LeaseReleaseDecision;\n} | {\n readonly _tag: \"Finalized\";\n};\n/** 一个 pair-owned physical plan 的按需复用池;实例始终独占借给单条 Attempt。 */\nexport class ReusableSandboxPool {\n private readonly entries: Entry[] = [];\n private readonly waiters: Array<() => void> = [];\n private creating = 0;\n private stopped = false;\n private readonly runtimeFailures: ReusableSandboxPoolRuntimeFailure[] = [];\n /** Provider 可观察的物理 owner;Group 池不能随首个未携入成员改用另一个 Eval ID。 */\n private readonly materializationOwnerId: string;\n /** 本次 Run 内的 Sandbox 编号计数器;淘汰的实例不让号,编号在结果里永远指向同一个实例。 */\n private created = 0;\n private groupPluginSetupStarted = false;\n private groupPluginSetupError: unknown;\n private activatedGroupPlugins = 0;\n constructor(private readonly plan: Extract<LinkedRunPlan, {\n readonly _tag: \"Sandbox\";\n }>, private readonly capacity: number, private readonly feedback: ScopedFeedback, private readonly setupContext: SandboxHookContext, private readonly runtimeServices: SandboxRuntimeServices = liveSandboxRuntimeServices, private readonly agent?: SandboxAgent, private readonly runTiming?: import(\"./timing.ts\").RunTimingRecorder, materializationOwnerId?: string, private readonly nextReuseSandboxNumber?: () => number, private readonly groupPlugins: readonly LinkedPluginLifecycle[] = Object.freeze([]), private readonly groupPluginContext?: GroupPluginContext) {\n this.materializationOwnerId = materializationOwnerId ?? plan.pair.evalId;\n }\n /** 把整座池登记进调用方 Scope;Invocation 中断与正常结束走同一条 stop finalizer。 */\n managed(): Effect.Effect<this, never, Scope.Scope> {\n return Effect.addFinalizer(() => this.stop()).pipe(Effect.as(this));\n }\n /**\n * @param attemptDeadlineMs 这条 Attempt 实际生效的超时上限(解析链见 runner/timeout.ts)。\n * `undefined` = 四层都没声明上限:请求的寿命只能覆盖收尾预留——Attempt 本身没有 deadline,\n * 池无从知道它要跑多久,也不替它编一个数。此后实例被 provider 按自己的 `lifetimeMs` 回收\n * 就是「不声明上限」的代价(两种时间的分界见 docs/feature/sandbox/reuse.md)。\n */\n acquire(attemptDeadlineMs: number | undefined, buildLocators: ReadonlyMap<BuildKey, JsonValue>): Effect.Effect<ReusableSandboxLease, Error | import(\"../sandbox/runtime.ts\").SandboxRuntimeMaterializationError, Scope.Scope> {\n return Effect.gen(this, function* () {\n const minRemainingMs = (attemptDeadlineMs ?? 0) + CLEANUP_TIMEOUT_MS;\n /**\n * 借出期内单条命令的上限从这条线派生(`undefined` = 四层都没声明上限,照旧不发明一条线)。\n * 实例活得比 attempt 长,所以这条线必须**每次借出重设**——只在 create 时给一次的话,\n * 第二条 attempt 起就落回 provider SDK 的默认值(e2b 是 60 秒),实验声明的 timeoutMs\n * 完全不生效(见 sandbox/deadline.ts 的 `SandboxCommandDeadline`)。\n * 用 minRemainingMs 而不是 attemptDeadlineMs:归还时的分类账复位跑在同一条线下,\n * 不至于一还回来就撞一条已经过期的线。\n */\n const leaseDeadlineAt = attemptDeadlineMs === undefined ? undefined : () => Date.now() + minRemainingMs;\n for (;;) {\n if (this.stopped)\n return yield* Effect.fail(new Error(\"sandbox reuse pool has been stopped\"));\n const ready = this.entries.find((entry) => entry.lifecycle._tag === \"Idle\");\n if (ready) {\n // 派发前确认:请求足以覆盖 Attempt deadline 与收尾预留的寿命。不 ready 就停掉这台、\n // 交给下一轮创建替代实例(替代实例在 create 里再确认一次,还不行就报错,不反复重建)。\n const lifetime = yield* externalPromise(() => ready.lifetime.ensureLifetime(minRemainingMs));\n // lifetime 检查是异步 provider I/O;其间 stop() 或另一条 release 可能已经退休这台。\n // 只有仍是 Idle 的实例才能真正借出,stop 后让下一轮在入口处统一失败。\n if (lifetime.ready && !this.stopped && ready.lifecycle._tag === \"Idle\") {\n return yield* this.lease(ready, leaseDeadlineAt?.());\n }\n if (this.stopped || ready.lifecycle._tag !== \"Idle\")\n continue;\n yield* this.retire(ready);\n continue;\n }\n if (this.entries.length + this.creating < this.capacity) {\n this.creating += 1;\n return yield* Effect.gen(this, function* () {\n const created = yield* this.create(minRemainingMs, leaseDeadlineAt?.(), buildLocators);\n this.entries.push(created);\n // stop 可能在物化期间开始。把刚创建的 entry 先纳入池,再由唯一 retire 路径关闭\n // 它自己的 Scope;绝不能把它借给已停止的池,也不能让 stop 在 creating=0 时漏掉它。\n if (this.stopped) {\n yield* this.retire(created);\n return yield* Effect.fail(new Error(\"sandbox reuse pool has been stopped\"));\n }\n return yield* this.lease(created, leaseDeadlineAt?.());\n }).pipe(Effect.ensuring(Effect.sync(() => {\n this.creating -= 1;\n this.wake();\n })));\n }\n yield* this.awaitWake();\n }\n });\n }\n stop(): Effect.Effect<void> {\n return Effect.gen(this, function* () {\n this.stopped = true;\n this.wake();\n // 已借出的 lease 仍在执行其 Attempt/cleanup;现在关闭 entry Scope 会把 Sandbox 在\n // 使用中 teardown。创建中的 entry 尚未进 entries,必须等它落入唯一 retire 路径。\n while (this.creating > 0 || this.entries.some((entry) => entry.lifecycle._tag === \"Leased\")) {\n yield* this.awaitWake();\n }\n yield* Effect.forEach([...this.entries], (entry) => this.retire(entry), {\n concurrency: \"unbounded\",\n discard: true,\n });\n if (this.groupPluginContext !== undefined) {\n yield* Effect.forEach(this.groupPlugins.slice(0, this.activatedGroupPlugins).reverse(), (entry) => entry.teardown === undefined\n ? Effect.void\n : cleanupCallback((signal) => (entry.teardown as (context: GroupPluginContext) => void | Promise<void>)({\n ...this.groupPluginContext!,\n signal,\n })).pipe(Effect.catchAll((cause) => Effect.sync(() => this.feedback.diagnostic({\n code: \"plugin-lifecycle-teardown-failed\",\n level: \"warning\",\n message: cause instanceof Error ? cause.message : String(cause),\n })))), { discard: true });\n }\n });\n }\n /** Drained by the scheduler after the lease Scope sealed the prior result. */\n drainRuntimeFailures(): readonly ReusableSandboxPoolRuntimeFailure[] {\n return Object.freeze(this.runtimeFailures.splice(0));\n }\n private create(minRemainingMs: number, deadlineAt: number | undefined, buildLocators: ReadonlyMap<BuildKey, JsonValue>): Effect.Effect<Entry, Error | import(\"../sandbox/runtime.ts\").SandboxRuntimeMaterializationError> {\n return Effect.gen(this, function* () {\n if (this.groupPluginSetupError !== undefined)\n return yield* Effect.fail(this.groupPluginSetupError as Error);\n if (!this.groupPluginSetupStarted && this.groupPluginContext !== undefined) {\n this.groupPluginSetupStarted = true;\n const setup = yield* Effect.exit(Effect.forEach(this.groupPlugins, (entry, index) => {\n this.activatedGroupPlugins = index + 1;\n return entry.setup === undefined\n ? Effect.void\n : externalPromise(() => Promise.resolve((entry.setup as (context: GroupPluginContext) => void | Promise<void>)(this.groupPluginContext!)));\n }, { discard: true }));\n if (Exit.isFailure(setup)) {\n this.groupPluginSetupError = Cause.squash(setup.cause);\n return yield* Effect.fail(this.groupPluginSetupError as Error);\n }\n }\n const capabilities = sandboxRuntimeCapabilities(this.plan);\n if (capabilities.reuse._tag === \"Unsupported\") {\n return yield* Effect.fail(new Error(`sandboxReuse is unsupported by provider ${JSON.stringify(capabilities.provider)}: ${capabilities.reuse.reason}`));\n }\n const deadline: SandboxRuntimeDeadline = deadlineAt === undefined\n ? { _tag: \"Unlimited\" }\n : { _tag: \"Bounded\", timeoutMs: Math.max(1, minRemainingMs - CLEANUP_TIMEOUT_MS), deadlineAt };\n const entryScope = yield* Scope.make();\n const materialized = yield* Scope.extend(materializeSandboxRunPlan({\n plan: this.plan,\n evalId: this.materializationOwnerId,\n deadline,\n feedback: this.feedback,\n signal: this.setupContext.signal,\n hookContext: this.setupContext,\n buildLocators,\n ...(this.agent !== undefined ? { agent: this.agent } : {}),\n ...(this.runTiming !== undefined ? { runTiming: this.runTiming } : {}),\n provisionSlot: { _tag: \"Detached\" },\n services: this.runtimeServices,\n release: { _tag: \"Stop\" },\n }), entryScope).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n const sandbox = materialized.sandbox;\n // 能力只能来自 provider 实现:探不到就硬失败,没有通用记账兜底(见\n // docs/feature/sandbox/reuse.md「派发前确认」)。\n const lifetime = sandboxReuseCapability(sandbox);\n if (!lifetime) {\n yield* Scope.close(entryScope, Exit.void);\n return yield* Effect.fail(new Error(`sandboxReuse needs the \"${capabilities.provider}\" provider to confirm sandbox lifetime, but it does not implement ` +\n \"ensureLifetime(minRemainingMs). Only a provider can prove the lifetime is set on its own backend; the runner \" +\n \"will not keep local books for it. Use a provider that implements it (docker / e2b / vercel), or drop sandboxReuse.\"));\n }\n const confirmed = yield* externalPromise(() => lifetime.ensureLifetime(minRemainingMs)).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n if (!confirmed.ready) {\n yield* Scope.close(entryScope, Exit.void);\n return yield* Effect.fail(new Error(`sandboxReuse cannot prepare the \"${capabilities.provider}\" sandbox: ${confirmed.reason}`));\n }\n const prepared = yield* Effect.gen(this, function* () {\n const ledger = yield* externalPromise(() => createChangeLedger(sandbox));\n // root 执行身份下题间 reset 永不安全(Agent 能读上一条 Attempt 留下的私有分类账对象);\n // 在实例进池、第一条 Attempt 派发前就拒绝,而不是等到归还时才在 resetToAnchor() 里\n // 暴露(那样首条 Attempt 已经跑完,失败还可能被静默退休吞掉)。\n if (ledger.rootExecutionIdentity) {\n return yield* Effect.fail(new Error(`sandboxReuse cannot reuse the \"${capabilities.provider}\" sandbox: the Agent's execution identity is root and could read private ledger objects left by earlier attempts; ` +\n \"use a non-root execution user (declare USER in the image) or disable sandboxReuse\"));\n }\n // 建分类账会烧掉寿命:备好之后再确认一次。这次不够就报错收场——\n // 反复创建同样的替代实例只会反复烧同样的时间(见 reuse.md「派发前确认」)。\n const afterSetup = yield* externalPromise(() => lifetime.ensureLifetime(minRemainingMs));\n if (!afterSetup.ready) {\n return yield* Effect.fail(new Error(`sandboxReuse cannot use the \"${capabilities.provider}\" sandbox after baseline setup: ${afterSetup.reason}`));\n }\n const reuseSandbox = this.nextReuseSandboxNumber === undefined\n ? ++this.created\n : this.nextReuseSandboxNumber();\n return {\n sandbox,\n authorBackend: materialized.authorBackend,\n scope: entryScope,\n lifetime,\n ledger,\n reuseSandbox,\n ordinal: 0,\n lifecycle: { _tag: \"Idle\" } satisfies EntryLifecycle,\n };\n }).pipe(Effect.onError((cause) => Scope.close(entryScope, Exit.failCause(cause))));\n return prepared;\n });\n }\n private lease(entry: Entry, deadlineAt: number | undefined): Effect.Effect<ReusableSandboxLease, never, Scope.Scope> {\n return Effect.gen(this, function* () {\n entry.lifecycle = { _tag: \"Leased\" };\n entry.ordinal += 1;\n applyCommandDeadline(entry.sandbox, deadlineAt);\n let lifecycle: LeaseLifecycle = {\n _tag: \"Open\",\n release: { _tag: \"Uncommitted\" },\n };\n // 先登记 release/reset finalizer:executor/facade 的封闭 finalizer 在其后登记,Scope\n // 关闭时按 LIFO 先中断在飞请求、封闭旧 facade,再对资源面执行 reset/retire——reset\n // 期间不会再有旧 facade 的请求借道写入 ledger/workdir。\n yield* Effect.addFinalizer(() => Effect.gen(this, function* () {\n if (lifecycle._tag === \"Finalized\")\n return;\n const settled = lifecycle;\n lifecycle = { _tag: \"Finalized\" };\n const release: ReusableLeaseRelease = settled.release._tag === \"Committed\"\n ? settled.release.release\n : { _tag: \"Retire\" };\n if (release._tag === \"Retire\") {\n yield* this.retire(entry);\n }\n else if (entry.lifecycle._tag !== \"Retired\") {\n const reset = yield* Effect.either(externalPromise(() => entry.ledger.resetToAnchor()));\n if (Either.isLeft(reset)) {\n this.runtimeFailures.push(Object.freeze({ stage: \"sandbox.reset\", error: reset.left }));\n this.feedback.diagnostic({\n code: \"sandbox-reset-failed\",\n level: \"warning\",\n message: `Sandbox #${entry.reuseSandbox} reset to anchor failed, retiring the instance: ${firstLine(formatThrown(reset.left))}`,\n });\n yield* this.retire(entry);\n }\n else {\n entry.lifecycle = { _tag: \"Idle\" };\n }\n }\n this.wake();\n }));\n // 每次租借在当前 Attempt Scope 新建 executor 与 author facade:上一轮 facade/executor\n // 不跨租借复用,不把旧 Runtime 带进新 Attempt。\n const executor = yield* makeSandboxRequestExecutor();\n const authorSandbox = makeSandboxAuthorFacade(entry.authorBackend, executor, this.plan.providerPlan.provider);\n return {\n sandbox: authorSandbox,\n reuseSandbox: entry.reuseSandbox,\n reuseOrdinal: entry.ordinal,\n commit: (release) => Effect.sync(() => {\n if (lifecycle._tag !== \"Open\")\n return;\n lifecycle = { ...lifecycle, release: { _tag: \"Committed\", release } };\n }),\n };\n });\n }\n /** 淘汰一台实例:停资源组并移出池——留在池里会占满容量,\n * 让后续 acquire 既等不到空闲实例、也创建不出替代实例(等待者永远醒不来)。 */\n private retire(entry: Entry): Effect.Effect<void> {\n return Effect.gen(this, function* () {\n if (entry.lifecycle._tag === \"Retired\")\n return;\n entry.lifecycle = { _tag: \"Retired\" };\n const at = this.entries.indexOf(entry);\n if (at >= 0)\n this.entries.splice(at, 1);\n yield* Scope.close(entry.scope, Exit.void).pipe(Effect.catchAllCause((cause) => Effect.sync(() => this.feedback.diagnostic({\n code: \"sandbox-stop-failed\",\n level: \"warning\",\n message: `Sandbox reuse case finalizer failed: ${String(cause)}`,\n }))));\n this.wake();\n });\n }\n private wake(): void {\n this.waiters.splice(0).forEach((resolve) => resolve());\n }\n private awaitWake(): Effect.Effect<void> {\n return Effect.async<void>((resume) => {\n const wake = () => resume(Effect.void);\n this.waiters.push(wake);\n return Effect.sync(() => {\n const index = this.waiters.indexOf(wake);\n if (index >= 0)\n this.waiters.splice(index, 1);\n });\n });\n }\n}\nfunction externalPromise<Value>(run: () => Promise<Value>): Effect.Effect<Value, Error> {\n return Effect.tryPromise({\n try: run,\n catch: (cause) => cause instanceof Error ? cause : new Error(String(cause)),\n });\n}\n"]}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retainRunnerAttemptFileChangesCapture = retainRunnerAttemptFileChangesCapture;
|
|
4
|
+
exports.runnerAttemptFileChangesCaptureForResult = runnerAttemptFileChangesCaptureForResult;
|
|
3
5
|
exports.createRunnerSandboxWritePlan = createRunnerSandboxWritePlan;
|
|
4
6
|
const effect_1 = require("effect");
|
|
5
7
|
const attachment_ts_1 = require("../sandbox/record/attachment.cjs");
|
|
6
8
|
const identifiers_ts_1 = require("../record/model/identifiers.cjs");
|
|
9
|
+
/**
|
|
10
|
+
* The fixed Record File Changes capture is deliberately separate from the
|
|
11
|
+
* Assertion-only late workspace document. It survives normal failure and
|
|
12
|
+
* interruption without reopening an already sealed Assertion/Verdict.
|
|
13
|
+
*/
|
|
14
|
+
const fileChangesCaptureByResult = new WeakMap();
|
|
15
|
+
function retainRunnerAttemptFileChangesCapture(result, capture) {
|
|
16
|
+
fileChangesCaptureByResult.set(result, capture);
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
function runnerAttemptFileChangesCaptureForResult(result) {
|
|
20
|
+
return fileChangesCaptureByResult.get(result);
|
|
21
|
+
}
|
|
7
22
|
function producerInvalid(slotId, reason) {
|
|
8
23
|
return Object.freeze({
|
|
9
24
|
code: "runner-sandbox-record-producer-invalid",
|
|
@@ -126,17 +141,17 @@ function createRunnerSandboxWritePlan(origins) {
|
|
|
126
141
|
// ordinals are incoherent within the completed facts available here.
|
|
127
142
|
pooledNumbers.set(identityKey(pooled.provider, pooled.sandboxId), index + 1);
|
|
128
143
|
}
|
|
129
|
-
const
|
|
144
|
+
const validatedSlots = [];
|
|
130
145
|
for (const origin of plannedBySlot.values()) {
|
|
131
146
|
const input = sandboxAttachmentInput(origin, pooledNumbers);
|
|
132
147
|
if (effect_1.Either.isLeft(input))
|
|
133
148
|
return effect_1.Either.left(input.left);
|
|
134
|
-
const
|
|
135
|
-
if (effect_1.Either.isLeft(
|
|
136
|
-
return effect_1.Either.left(attachmentWriteInvalid(origin.slotId,
|
|
149
|
+
const normalized = (0, attachment_ts_1.normalizeSandboxCapture)(input.right);
|
|
150
|
+
if (effect_1.Either.isLeft(normalized)) {
|
|
151
|
+
return effect_1.Either.left(attachmentWriteInvalid(origin.slotId, normalized.left));
|
|
137
152
|
}
|
|
138
|
-
|
|
153
|
+
validatedSlots.push(origin.slotId);
|
|
139
154
|
}
|
|
140
|
-
return effect_1.Either.right(Object.freeze({
|
|
155
|
+
return effect_1.Either.right(Object.freeze({ validatedSlots: Object.freeze(validatedSlots) }));
|
|
141
156
|
}
|
|
142
157
|
//# sourceMappingURL=sandbox-record-producer.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox-record-producer.js","sourceRoot":"","sources":["sandbox-record-producer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Either } from \"effect\";\nimport { createSandboxAttachmentWrite, type SandboxAttachmentInput, type SandboxAttachmentWriteError, } from \"../sandbox/record/attachment.ts\";\nimport type { RecordAttachmentWrite } from \"../record/attachment/index.ts\";\nimport { compareCanonicalIdentity, type SlotId, } from \"../record/model/identifiers.ts\";\nimport type { EvalResult } from \"./types.ts\";\n/** A completed origin supplies only the runtime Sandbox fact needed by Record. */\nexport interface RunnerSandboxOriginInput {\n readonly slotId: SlotId;\n readonly sandbox: EvalResult[\"sandbox\"];\n}\nexport interface RunnerSandboxRecordProducerInvalid {\n readonly code: \"runner-sandbox-record-producer-invalid\";\n readonly slotId: SlotId;\n readonly reason: \"origin-slot-duplicate\" | \"sandbox-reuse-shape-invalid\" | \"pooled-ordinal-duplicate\" | \"pooled-identity-missing\";\n}\nexport interface RunnerSandboxAttachmentWriteInvalid {\n readonly code: \"runner-sandbox-attachment-write-invalid\";\n readonly slotId: SlotId;\n readonly issue: SandboxAttachmentWriteError;\n}\nexport type RunnerSandboxRecordProducerError = RunnerSandboxRecordProducerInvalid | RunnerSandboxAttachmentWriteInvalid;\nexport interface RunnerSandboxWritePlan {\n readonly attemptWrites: ReadonlyMap<SlotId, RecordAttachmentWrite<\"attempt\", never, never>>;\n}\ntype PlannedSandboxOrigin = {\n readonly kind: \"not-used\";\n readonly slotId: SlotId;\n} | {\n readonly kind: \"fresh\";\n readonly slotId: SlotId;\n readonly provider: string;\n readonly sandboxId: string;\n} | {\n readonly kind: \"pooled\";\n readonly slotId: SlotId;\n readonly provider: string;\n readonly sandboxId: string;\n readonly ordinal: number;\n};\ninterface PooledIdentity {\n readonly provider: string;\n readonly sandboxId: string;\n readonly ordinals: Map<number, SlotId>;\n}\nfunction producerInvalid(slotId: SlotId, reason: RunnerSandboxRecordProducerInvalid[\"reason\"]): RunnerSandboxRecordProducerInvalid {\n return Object.freeze({\n code: \"runner-sandbox-record-producer-invalid\" as const,\n slotId,\n reason,\n });\n}\nfunction attachmentWriteInvalid(slotId: SlotId, issue: SandboxAttachmentWriteError): RunnerSandboxAttachmentWriteInvalid {\n return Object.freeze({\n code: \"runner-sandbox-attachment-write-invalid\" as const,\n slotId,\n issue,\n });\n}\nfunction positiveSafeInteger(value: number | undefined): value is number {\n return value !== undefined && Number.isSafeInteger(value) && value > 0;\n}\nfunction planOrigin(input: RunnerSandboxOriginInput): Either.Either<PlannedSandboxOrigin, RunnerSandboxRecordProducerInvalid> {\n const sandbox = input.sandbox;\n if (sandbox === undefined) {\n return Either.right(Object.freeze({ kind: \"not-used\" as const, slotId: input.slotId }));\n }\n if (sandbox.reused === true) {\n if (!positiveSafeInteger(sandbox.reuseSandbox)\n || !positiveSafeInteger(sandbox.reuseOrdinal)) {\n return Either.left(producerInvalid(input.slotId, \"sandbox-reuse-shape-invalid\"));\n }\n return Either.right(Object.freeze({\n kind: \"pooled\" as const,\n slotId: input.slotId,\n provider: sandbox.provider,\n sandboxId: sandbox.sandboxId,\n ordinal: sandbox.reuseOrdinal,\n }));\n }\n if (sandbox.reused !== undefined\n || sandbox.reuseSandbox !== undefined\n || sandbox.reuseOrdinal !== undefined) {\n return Either.left(producerInvalid(input.slotId, \"sandbox-reuse-shape-invalid\"));\n }\n return Either.right(Object.freeze({\n kind: \"fresh\" as const,\n slotId: input.slotId,\n provider: sandbox.provider,\n sandboxId: sandbox.sandboxId,\n }));\n}\nfunction identityKey(provider: string, sandboxId: string): string {\n return JSON.stringify([provider, sandboxId]);\n}\nfunction comparePooledIdentity(left: PooledIdentity, right: PooledIdentity): number {\n const provider = compareCanonicalIdentity(left.provider, right.provider);\n return provider === 0\n ? compareCanonicalIdentity(left.sandboxId, right.sandboxId)\n : provider;\n}\nfunction sandboxAttachmentInput(origin: PlannedSandboxOrigin, pooledNumbers: ReadonlyMap<string, number>): Either.Either<SandboxAttachmentInput, RunnerSandboxRecordProducerInvalid> {\n switch (origin.kind) {\n case \"not-used\":\n return Either.right(Object.freeze({ state: \"not-used\" as const }));\n case \"fresh\":\n return Either.right(Object.freeze({\n state: \"assigned\" as const,\n provider: origin.provider,\n sandboxId: origin.sandboxId,\n reuse: Object.freeze({ kind: \"fresh\" as const }),\n }));\n case \"pooled\": {\n const sandbox = pooledNumbers.get(identityKey(origin.provider, origin.sandboxId));\n if (sandbox === undefined) {\n return Either.left(producerInvalid(origin.slotId, \"pooled-identity-missing\"));\n }\n return Either.right(Object.freeze({\n state: \"assigned\" as const,\n provider: origin.provider,\n sandboxId: origin.sandboxId,\n reuse: Object.freeze({\n kind: \"pooled\" as const,\n sandbox,\n ordinal: origin.ordinal,\n }),\n }));\n }\n }\n}\n/**\n * Produces the one Sandbox Attachment for each completed origin in one Record\n * Run. Pooled numbers are derived from canonical physical identities, never\n * from a pool-local allocation counter.\n */\nexport function createRunnerSandboxWritePlan(origins: readonly RunnerSandboxOriginInput[]): Either.Either<RunnerSandboxWritePlan, RunnerSandboxRecordProducerError> {\n const plannedBySlot = new Map<SlotId, PlannedSandboxOrigin>();\n const pooledByIdentity = new Map<string, PooledIdentity>();\n for (const input of origins) {\n if (plannedBySlot.has(input.slotId)) {\n return Either.left(producerInvalid(input.slotId, \"origin-slot-duplicate\"));\n }\n const planned = planOrigin(input);\n if (Either.isLeft(planned))\n return Either.left(planned.left);\n plannedBySlot.set(input.slotId, planned.right);\n if (planned.right.kind !== \"pooled\")\n continue;\n const key = identityKey(planned.right.provider, planned.right.sandboxId);\n const pooled = pooledByIdentity.get(key) ?? {\n provider: planned.right.provider,\n sandboxId: planned.right.sandboxId,\n ordinals: new Map<number, SlotId>(),\n };\n if (pooled.ordinals.has(planned.right.ordinal)) {\n return Either.left(producerInvalid(input.slotId, \"pooled-ordinal-duplicate\"));\n }\n pooled.ordinals.set(planned.right.ordinal, input.slotId);\n pooledByIdentity.set(key, pooled);\n }\n const orderedPooled = [...pooledByIdentity.values()].sort(comparePooledIdentity);\n const pooledNumbers = new Map<string, number>();\n for (const [index, pooled] of orderedPooled.entries()) {\n // The provider's lease order can have absent origins, so only duplicate\n // ordinals are incoherent within the completed facts available here.\n pooledNumbers.set(identityKey(pooled.provider, pooled.sandboxId), index + 1);\n }\n const attemptWrites = new Map<SlotId, RecordAttachmentWrite<\"attempt\", never, never>>();\n for (const origin of plannedBySlot.values()) {\n const input = sandboxAttachmentInput(origin, pooledNumbers);\n if (Either.isLeft(input))\n return Either.left(input.left);\n const write = createSandboxAttachmentWrite(input.right);\n if (Either.isLeft(write)) {\n return Either.left(attachmentWriteInvalid(origin.slotId, write.left));\n }\n attemptWrites.set(origin.slotId, write.right);\n }\n return Either.right(Object.freeze({ attemptWrites: new Map(attemptWrites) }));\n}\n"]}
|
|
1
|
+
{"version":3,"file":"sandbox-record-producer.js","sourceRoot":"","sources":["sandbox-record-producer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Either } from \"effect\";\nimport { normalizeSandboxCapture, type SandboxCaptureInput, type SandboxCaptureInputError, } from \"../sandbox/record/attachment.ts\";\nimport { compareCanonicalIdentity, type SlotId, } from \"../record/model/identifiers.ts\";\nimport type { FileChangesCapture } from \"../assertions/record/diff.ts\";\nimport type { EvalResult } from \"./types.ts\";\n/**\n * The fixed Record File Changes capture is deliberately separate from the\n * Assertion-only late workspace document. It survives normal failure and\n * interruption without reopening an already sealed Assertion/Verdict.\n */\nconst fileChangesCaptureByResult = new WeakMap<object, FileChangesCapture>();\nexport function retainRunnerAttemptFileChangesCapture(result: EvalResult, capture: FileChangesCapture): EvalResult {\n fileChangesCaptureByResult.set(result, capture);\n return result;\n}\nexport function runnerAttemptFileChangesCaptureForResult(result: EvalResult): FileChangesCapture | undefined {\n return fileChangesCaptureByResult.get(result);\n}\n/** A completed origin supplies only the runtime Sandbox fact needed by Record. */\nexport interface RunnerSandboxOriginInput {\n readonly slotId: SlotId;\n readonly sandbox: EvalResult[\"sandbox\"];\n}\nexport interface RunnerSandboxRecordProducerInvalid {\n readonly code: \"runner-sandbox-record-producer-invalid\";\n readonly slotId: SlotId;\n readonly reason: \"origin-slot-duplicate\" | \"sandbox-reuse-shape-invalid\" | \"pooled-ordinal-duplicate\" | \"pooled-identity-missing\";\n}\nexport interface RunnerSandboxAttachmentWriteInvalid {\n readonly code: \"runner-sandbox-attachment-write-invalid\";\n readonly slotId: SlotId;\n readonly issue: SandboxCaptureInputError;\n}\nexport type RunnerSandboxRecordProducerError = RunnerSandboxRecordProducerInvalid | RunnerSandboxAttachmentWriteInvalid;\nexport interface RunnerSandboxWritePlan {\n readonly validatedSlots: readonly SlotId[];\n}\ntype PlannedSandboxOrigin = {\n readonly kind: \"not-used\";\n readonly slotId: SlotId;\n} | {\n readonly kind: \"fresh\";\n readonly slotId: SlotId;\n readonly provider: string;\n readonly sandboxId: string;\n} | {\n readonly kind: \"pooled\";\n readonly slotId: SlotId;\n readonly provider: string;\n readonly sandboxId: string;\n readonly ordinal: number;\n};\ninterface PooledIdentity {\n readonly provider: string;\n readonly sandboxId: string;\n readonly ordinals: Map<number, SlotId>;\n}\nfunction producerInvalid(slotId: SlotId, reason: RunnerSandboxRecordProducerInvalid[\"reason\"]): RunnerSandboxRecordProducerInvalid {\n return Object.freeze({\n code: \"runner-sandbox-record-producer-invalid\" as const,\n slotId,\n reason,\n });\n}\nfunction attachmentWriteInvalid(slotId: SlotId, issue: SandboxCaptureInputError): RunnerSandboxAttachmentWriteInvalid {\n return Object.freeze({\n code: \"runner-sandbox-attachment-write-invalid\" as const,\n slotId,\n issue,\n });\n}\nfunction positiveSafeInteger(value: number | undefined): value is number {\n return value !== undefined && Number.isSafeInteger(value) && value > 0;\n}\nfunction planOrigin(input: RunnerSandboxOriginInput): Either.Either<PlannedSandboxOrigin, RunnerSandboxRecordProducerInvalid> {\n const sandbox = input.sandbox;\n if (sandbox === undefined) {\n return Either.right(Object.freeze({ kind: \"not-used\" as const, slotId: input.slotId }));\n }\n if (sandbox.reused === true) {\n if (!positiveSafeInteger(sandbox.reuseSandbox)\n || !positiveSafeInteger(sandbox.reuseOrdinal)) {\n return Either.left(producerInvalid(input.slotId, \"sandbox-reuse-shape-invalid\"));\n }\n return Either.right(Object.freeze({\n kind: \"pooled\" as const,\n slotId: input.slotId,\n provider: sandbox.provider,\n sandboxId: sandbox.sandboxId,\n ordinal: sandbox.reuseOrdinal,\n }));\n }\n if (sandbox.reused !== undefined\n || sandbox.reuseSandbox !== undefined\n || sandbox.reuseOrdinal !== undefined) {\n return Either.left(producerInvalid(input.slotId, \"sandbox-reuse-shape-invalid\"));\n }\n return Either.right(Object.freeze({\n kind: \"fresh\" as const,\n slotId: input.slotId,\n provider: sandbox.provider,\n sandboxId: sandbox.sandboxId,\n }));\n}\nfunction identityKey(provider: string, sandboxId: string): string {\n return JSON.stringify([provider, sandboxId]);\n}\nfunction comparePooledIdentity(left: PooledIdentity, right: PooledIdentity): number {\n const provider = compareCanonicalIdentity(left.provider, right.provider);\n return provider === 0\n ? compareCanonicalIdentity(left.sandboxId, right.sandboxId)\n : provider;\n}\nfunction sandboxAttachmentInput(origin: PlannedSandboxOrigin, pooledNumbers: ReadonlyMap<string, number>): Either.Either<SandboxCaptureInput, RunnerSandboxRecordProducerInvalid> {\n switch (origin.kind) {\n case \"not-used\":\n return Either.right(Object.freeze({ state: \"not-used\" as const }));\n case \"fresh\":\n return Either.right(Object.freeze({\n state: \"assigned\" as const,\n provider: origin.provider,\n sandboxId: origin.sandboxId,\n reuse: Object.freeze({ kind: \"fresh\" as const }),\n }));\n case \"pooled\": {\n const sandbox = pooledNumbers.get(identityKey(origin.provider, origin.sandboxId));\n if (sandbox === undefined) {\n return Either.left(producerInvalid(origin.slotId, \"pooled-identity-missing\"));\n }\n return Either.right(Object.freeze({\n state: \"assigned\" as const,\n provider: origin.provider,\n sandboxId: origin.sandboxId,\n reuse: Object.freeze({\n kind: \"pooled\" as const,\n sandbox,\n ordinal: origin.ordinal,\n }),\n }));\n }\n }\n}\n/**\n * Produces the one Sandbox Attachment for each completed origin in one Record\n * Run. Pooled numbers are derived from canonical physical identities, never\n * from a pool-local allocation counter.\n */\nexport function createRunnerSandboxWritePlan(origins: readonly RunnerSandboxOriginInput[]): Either.Either<RunnerSandboxWritePlan, RunnerSandboxRecordProducerError> {\n const plannedBySlot = new Map<SlotId, PlannedSandboxOrigin>();\n const pooledByIdentity = new Map<string, PooledIdentity>();\n for (const input of origins) {\n if (plannedBySlot.has(input.slotId)) {\n return Either.left(producerInvalid(input.slotId, \"origin-slot-duplicate\"));\n }\n const planned = planOrigin(input);\n if (Either.isLeft(planned))\n return Either.left(planned.left);\n plannedBySlot.set(input.slotId, planned.right);\n if (planned.right.kind !== \"pooled\")\n continue;\n const key = identityKey(planned.right.provider, planned.right.sandboxId);\n const pooled = pooledByIdentity.get(key) ?? {\n provider: planned.right.provider,\n sandboxId: planned.right.sandboxId,\n ordinals: new Map<number, SlotId>(),\n };\n if (pooled.ordinals.has(planned.right.ordinal)) {\n return Either.left(producerInvalid(input.slotId, \"pooled-ordinal-duplicate\"));\n }\n pooled.ordinals.set(planned.right.ordinal, input.slotId);\n pooledByIdentity.set(key, pooled);\n }\n const orderedPooled = [...pooledByIdentity.values()].sort(comparePooledIdentity);\n const pooledNumbers = new Map<string, number>();\n for (const [index, pooled] of orderedPooled.entries()) {\n // The provider's lease order can have absent origins, so only duplicate\n // ordinals are incoherent within the completed facts available here.\n pooledNumbers.set(identityKey(pooled.provider, pooled.sandboxId), index + 1);\n }\n const validatedSlots: SlotId[] = [];\n for (const origin of plannedBySlot.values()) {\n const input = sandboxAttachmentInput(origin, pooledNumbers);\n if (Either.isLeft(input))\n return Either.left(input.left);\n const normalized = normalizeSandboxCapture(input.right);\n if (Either.isLeft(normalized)) {\n return Either.left(attachmentWriteInvalid(origin.slotId, normalized.left));\n }\n validatedSlots.push(origin.slotId);\n }\n return Either.right(Object.freeze({ validatedSlots: Object.freeze(validatedSlots) }));\n}\n"]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Either } from "effect";
|
|
2
|
-
import { type
|
|
3
|
-
import type { RecordAttachmentWrite } from "../record/attachment/index.cjs";
|
|
2
|
+
import { type SandboxCaptureInputError } from "../sandbox/record/attachment.cjs";
|
|
4
3
|
import { type SlotId } from "../record/model/identifiers.cjs";
|
|
4
|
+
import type { FileChangesCapture } from "../assertions/record/diff.cjs";
|
|
5
5
|
import type { EvalResult } from "./types.cjs";
|
|
6
|
+
export declare function retainRunnerAttemptFileChangesCapture(result: EvalResult, capture: FileChangesCapture): EvalResult;
|
|
7
|
+
export declare function runnerAttemptFileChangesCaptureForResult(result: EvalResult): FileChangesCapture | undefined;
|
|
6
8
|
/** A completed origin supplies only the runtime Sandbox fact needed by Record. */
|
|
7
9
|
export interface RunnerSandboxOriginInput {
|
|
8
10
|
readonly slotId: SlotId;
|
|
@@ -16,11 +18,11 @@ export interface RunnerSandboxRecordProducerInvalid {
|
|
|
16
18
|
export interface RunnerSandboxAttachmentWriteInvalid {
|
|
17
19
|
readonly code: "runner-sandbox-attachment-write-invalid";
|
|
18
20
|
readonly slotId: SlotId;
|
|
19
|
-
readonly issue:
|
|
21
|
+
readonly issue: SandboxCaptureInputError;
|
|
20
22
|
}
|
|
21
23
|
export type RunnerSandboxRecordProducerError = RunnerSandboxRecordProducerInvalid | RunnerSandboxAttachmentWriteInvalid;
|
|
22
24
|
export interface RunnerSandboxWritePlan {
|
|
23
|
-
readonly
|
|
25
|
+
readonly validatedSlots: readonly SlotId[];
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Produces the one Sandbox Attachment for each completed origin in one Record
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Either } from "effect";
|
|
2
|
-
import { type
|
|
3
|
-
import type { RecordAttachmentWrite } from "../record/attachment/index.mjs";
|
|
2
|
+
import { type SandboxCaptureInputError } from "../sandbox/record/attachment.mjs";
|
|
4
3
|
import { type SlotId } from "../record/model/identifiers.mjs";
|
|
4
|
+
import type { FileChangesCapture } from "../assertions/record/diff.mjs";
|
|
5
5
|
import type { EvalResult } from "./types.mjs";
|
|
6
|
+
export declare function retainRunnerAttemptFileChangesCapture(result: EvalResult, capture: FileChangesCapture): EvalResult;
|
|
7
|
+
export declare function runnerAttemptFileChangesCaptureForResult(result: EvalResult): FileChangesCapture | undefined;
|
|
6
8
|
/** A completed origin supplies only the runtime Sandbox fact needed by Record. */
|
|
7
9
|
export interface RunnerSandboxOriginInput {
|
|
8
10
|
readonly slotId: SlotId;
|
|
@@ -16,11 +18,11 @@ export interface RunnerSandboxRecordProducerInvalid {
|
|
|
16
18
|
export interface RunnerSandboxAttachmentWriteInvalid {
|
|
17
19
|
readonly code: "runner-sandbox-attachment-write-invalid";
|
|
18
20
|
readonly slotId: SlotId;
|
|
19
|
-
readonly issue:
|
|
21
|
+
readonly issue: SandboxCaptureInputError;
|
|
20
22
|
}
|
|
21
23
|
export type RunnerSandboxRecordProducerError = RunnerSandboxRecordProducerInvalid | RunnerSandboxAttachmentWriteInvalid;
|
|
22
24
|
export interface RunnerSandboxWritePlan {
|
|
23
|
-
readonly
|
|
25
|
+
readonly validatedSlots: readonly SlotId[];
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Produces the one Sandbox Attachment for each completed origin in one Record
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Either } from "effect";
|
|
2
|
-
import { type
|
|
3
|
-
import type { RecordAttachmentWrite } from "../record/attachment/index.js";
|
|
2
|
+
import { type SandboxCaptureInputError } from "../sandbox/record/attachment.js";
|
|
4
3
|
import { type SlotId } from "../record/model/identifiers.js";
|
|
4
|
+
import type { FileChangesCapture } from "../assertions/record/diff.js";
|
|
5
5
|
import type { EvalResult } from "./types.js";
|
|
6
|
+
export declare function retainRunnerAttemptFileChangesCapture(result: EvalResult, capture: FileChangesCapture): EvalResult;
|
|
7
|
+
export declare function runnerAttemptFileChangesCaptureForResult(result: EvalResult): FileChangesCapture | undefined;
|
|
6
8
|
/** A completed origin supplies only the runtime Sandbox fact needed by Record. */
|
|
7
9
|
export interface RunnerSandboxOriginInput {
|
|
8
10
|
readonly slotId: SlotId;
|
|
@@ -16,11 +18,11 @@ export interface RunnerSandboxRecordProducerInvalid {
|
|
|
16
18
|
export interface RunnerSandboxAttachmentWriteInvalid {
|
|
17
19
|
readonly code: "runner-sandbox-attachment-write-invalid";
|
|
18
20
|
readonly slotId: SlotId;
|
|
19
|
-
readonly issue:
|
|
21
|
+
readonly issue: SandboxCaptureInputError;
|
|
20
22
|
}
|
|
21
23
|
export type RunnerSandboxRecordProducerError = RunnerSandboxRecordProducerInvalid | RunnerSandboxAttachmentWriteInvalid;
|
|
22
24
|
export interface RunnerSandboxWritePlan {
|
|
23
|
-
readonly
|
|
25
|
+
readonly validatedSlots: readonly SlotId[];
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* Produces the one Sandbox Attachment for each completed origin in one Record
|
|
@@ -3,4 +3,8 @@ const __niceevalRequire = __niceevalCreateRequire(import.meta.url);
|
|
|
3
3
|
const __niceevalCanonical = __niceevalRequire("./sandbox-record-producer.cjs");
|
|
4
4
|
const __niceevalExport0 = __niceevalCanonical["createRunnerSandboxWritePlan"];
|
|
5
5
|
export { __niceevalExport0 as createRunnerSandboxWritePlan };
|
|
6
|
+
const __niceevalExport1 = __niceevalCanonical["retainRunnerAttemptFileChangesCapture"];
|
|
7
|
+
export { __niceevalExport1 as retainRunnerAttemptFileChangesCapture };
|
|
8
|
+
const __niceevalExport2 = __niceevalCanonical["runnerAttemptFileChangesCaptureForResult"];
|
|
9
|
+
export { __niceevalExport2 as runnerAttemptFileChangesCaptureForResult };
|
|
6
10
|
//# sourceMappingURL=sandbox-record-producer.js.map
|