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/lock.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["lock.ts"],"names":[],"mappings":"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","sourcesContent":["// 用例锁:防止两条并发 `niceeval exp` Invocation 双派发同一个 (experimentId, evalId)。\n// 建在 ../shared/entry-file-store.ts 的原子写/认领原语之上,本模块只写锁独有的语义——O_EXCL\n// 原子创建、心跳续租、过期判据、过期锁的 rename 接管、释放。\n// 契约见 docs/feature/experiments/architecture.md「并发 Invocation:用例锁」。\nimport { mkdir, open, rm, type FileHandle } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { Effect, Fiber } from \"effect\";\nimport { claimEntryFileEffect, fsyncDirEffect, readEntryFileEffect, slugHashEntryId, writeEntryFileEffect, } from \"../shared/entry-file-store.ts\";\n/** 锁文件的 JSON 形状。身份的权威在内容,文件名只须无碰撞、不承载解析。 */\nexport interface CaseLockRecord {\n experimentId: string;\n evalId: string;\n pid: number;\n host: string;\n startedAt: string; // ISO\n heartbeatAt: string; // ISO\n}\nfunction recordOf(value: unknown): globalThis.Record<string, unknown> | undefined {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n ? value as globalThis.Record<string, unknown>\n : undefined;\n}\nfunction isPositiveInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value > 0;\n}\nfunction isTimestamp(value: unknown): value is string {\n return typeof value === \"string\" && Number.isFinite(Date.parse(value));\n}\nfunction errnoCode(cause: unknown): string | undefined {\n return typeof cause === \"object\" && cause !== null && \"code\" in cause && typeof cause.code === \"string\"\n ? cause.code\n : undefined;\n}\nfunction nodeIo<A>(operation: (signal: AbortSignal) => Promise<A>): Effect.Effect<A, unknown> {\n return Effect.tryPromise({ try: operation, catch: (cause) => cause });\n}\nfunction withOpenFile<A>(path: string, flags: string, use: (handle: FileHandle) => Effect.Effect<A, unknown>): Effect.Effect<A, unknown> {\n return Effect.scoped(Effect.acquireRelease(nodeIo(() => open(path, flags)), (handle) => nodeIo(() => handle.close()).pipe(Effect.orDie)).pipe(Effect.flatMap(use)));\n}\n/** 只接受本锁身份对应的完整记录,避免错位或半截 JSON 被当成持有者。 */\nfunction decodeCaseLockRecord(experimentId: string, evalId: string) {\n return (value: unknown): CaseLockRecord | undefined => {\n const record = recordOf(value);\n if (record === undefined ||\n record.experimentId !== experimentId ||\n record.evalId !== evalId ||\n !isPositiveInteger(record.pid) ||\n typeof record.host !== \"string\" ||\n !isTimestamp(record.startedAt) ||\n !isTimestamp(record.heartbeatAt)) {\n return undefined;\n }\n return {\n experimentId,\n evalId,\n pid: record.pid,\n host: record.host,\n startedAt: record.startedAt,\n heartbeatAt: record.heartbeatAt,\n };\n };\n}\n/** 持有者续租心跳的周期。 */\nexport const CASE_LOCK_HEARTBEAT_INTERVAL_MS = 10000;\n/** `heartbeatAt` 落后当前时间超过这个阈值(三个心跳周期)即视为持有者已死。 */\nexport const CASE_LOCK_EXPIRY_MS = 30000;\nexport function locksDirOf(niceevalRoot: string): string {\n return join(niceevalRoot, \"locks\");\n}\nfunction caseLockEntryId(experimentId: string, evalId: string): string {\n return slugHashEntryId(`${experimentId}-${evalId}`, [experimentId, evalId]);\n}\n/** Effect 主 API:读取当前锁记录,无副作用——`--dry` 用它只读锁目录标注 `locked`,不取锁、不等待。 */\nexport function readCaseLockEffect(niceevalRoot: string, experimentId: string, evalId: string): Effect.Effect<CaseLockRecord | undefined, unknown> {\n return readEntryFileEffect(locksDirOf(niceevalRoot), caseLockEntryId(experimentId, evalId), decodeCaseLockRecord(experimentId, evalId));\n}\n/** 过期判据:只看心跳时间戳,不看 pid(容器/跨用户场景下 pid 判活不可靠)。 */\nexport function isCaseLockExpired(record: CaseLockRecord, nowMs: number): boolean {\n const heartbeatMs = Date.parse(record.heartbeatAt);\n if (Number.isNaN(heartbeatMs))\n return true;\n return nowMs - heartbeatMs > CASE_LOCK_EXPIRY_MS;\n}\n/** Effect 持有句柄;release 是 Effect finalizer,供运行器的外层 Scope / ensuring 组合。 */\nexport interface CaseLockEffectClaim {\n readonly release: Effect.Effect<void, unknown>;\n}\nexport interface AcquireCaseLockEffectResult {\n claim: CaseLockEffectClaim;\n /** true 当且仅当本次调用接管了一把过期锁,而不是全新创建。 */\n takenOver: boolean;\n}\n/**\n * O_EXCL 独占创建锁文件;已存在则返回 false,不覆盖、不抛错。不走共享层的 `writeEntryFile`\n * ——那是「写入或覆盖」的语义(rename 会无条件替换目标),这里需要的是「不存在才创建」。\n */\nfunction createLockFileExclusiveEffect(dir: string, id: string, record: CaseLockRecord): Effect.Effect<boolean, unknown> {\n const path = join(dir, `${id}.json`);\n return nodeIo(() => mkdir(dir, { recursive: true })).pipe(Effect.zipRight(withOpenFile(path, \"wx\", (handle) => nodeIo(() => handle.writeFile(JSON.stringify(record, null, 2), \"utf-8\")).pipe(Effect.zipRight(nodeIo(() => handle.sync()))))), Effect.zipRight(fsyncDirEffect(dir)), Effect.as(true), Effect.catchAll((cause) => errnoCode(cause) === \"EEXIST\" ? Effect.succeed(false) : Effect.fail(cause)));\n}\n/** 一次非阻塞尝试:新建、过期接管与损坏条目回收都保持原来的 rename 互斥语义。 */\nexport function tryAcquireCaseLockOnceEffect(niceevalRoot: string, experimentId: string, evalId: string, identity: {\n pid: number;\n host: string;\n}, nowMs: number): Effect.Effect<{\n kind: \"acquired\";\n takenOver: boolean;\n} | {\n kind: \"waiting\";\n holder: CaseLockRecord;\n}, unknown> {\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n const record: CaseLockRecord = {\n experimentId,\n evalId,\n pid: identity.pid,\n host: identity.host,\n startedAt: new Date(nowMs).toISOString(),\n heartbeatAt: new Date(nowMs).toISOString(),\n };\n return Effect.suspend(() => createLockFileExclusiveEffect(dir, id, record).pipe(Effect.flatMap((created) => {\n if (created)\n return Effect.succeed({ kind: \"acquired\" as const, takenOver: false });\n return readEntryFileEffect(dir, id, decodeCaseLockRecord(experimentId, evalId)).pipe(Effect.flatMap((existing) => {\n if (existing === undefined) {\n // O_EXCL 失败后锁可能正常释放,也可能是坏条目;认领后重新评估当前状态。\n return claimEntryFileEffect(dir, id).pipe(Effect.ignore, Effect.zipRight(tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)));\n }\n if (!isCaseLockExpired(existing, nowMs))\n return Effect.succeed({ kind: \"waiting\" as const, holder: existing });\n return claimEntryFileEffect(dir, id).pipe(Effect.flatMap((claimed) => claimed\n ? createLockFileExclusiveEffect(dir, id, record).pipe(Effect.flatMap((rebuilt) => rebuilt\n ? Effect.succeed({ kind: \"acquired\" as const, takenOver: true })\n : tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)))\n : tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)));\n }));\n })));\n}\n/**\n * 只重写 `heartbeatAt`。心跳以单一 Effect fiber 串行执行,因此 release 可以先中断休眠,再等\n * 当前不可中断写入结束,最后删除文件,不会重现已释放锁被旧心跳写回的竞态。\n */\nfunction renewHeartbeatEffect(niceevalRoot: string, experimentId: string, evalId: string, nowMs: number, isReleased: () => boolean): Effect.Effect<void, unknown> {\n if (isReleased())\n return Effect.void;\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n return readEntryFileEffect(dir, id, decodeCaseLockRecord(experimentId, evalId)).pipe(Effect.flatMap((current) => {\n if (current === undefined || isReleased())\n return Effect.void;\n const next: CaseLockRecord = { ...current, heartbeatAt: new Date(nowMs).toISOString() };\n return writeEntryFileEffect(dir, id, next);\n }));\n}\nfunction makeAbortError(signal: AbortSignal | undefined): Error {\n const reason = signal?.reason;\n if (reason instanceof Error)\n return reason;\n const err = new Error(\"aborted while waiting for case lock\");\n err.name = \"AbortError\";\n return err;\n}\nfunction awaitAbort(signal: AbortSignal | undefined): Effect.Effect<never, Error> {\n return Effect.async((resume, effectSignal) => {\n if (signal === undefined)\n return;\n const cleanup = (): void => {\n signal.removeEventListener(\"abort\", onAbort);\n effectSignal.removeEventListener(\"abort\", cleanup);\n };\n const onAbort = (): void => {\n cleanup();\n resume(Effect.fail(makeAbortError(signal)));\n };\n if (signal.aborted) {\n onAbort();\n return;\n }\n signal.addEventListener(\"abort\", onAbort, { once: true });\n effectSignal.addEventListener(\"abort\", cleanup, { once: true });\n });\n}\n/** 可被外部 AbortSignal 或 Effect interruption 立刻打断的轮询延时。 */\nfunction delayOrAbortEffect(ms: number, signal: AbortSignal | undefined): Effect.Effect<void, Error> {\n if (signal?.aborted)\n return Effect.fail(makeAbortError(signal));\n return Effect.raceFirst(Effect.sleep(ms), awaitAbort(signal)).pipe(Effect.asVoid);\n}\n// 当前进程持有中的锁,供 drainHeldCaseLocksEffect 强清兜底排空。值是 Effect release。\nconst held = new Map<string, Effect.Effect<void, unknown>>();\nfunction heldKey(niceevalRoot: string, id: string): string {\n return `${niceevalRoot} ${id}`;\n}\n/**\n * 高层 Effect 入口。等待保持可中断;一旦拿到锁,心跳 fiber 与 release 的删除顺序进入\n * uninterruptible mask,保证 interruption 不会留下无主锁或让旧心跳晚于删除写回。\n */\nexport function acquireCaseLockEffect(niceevalRoot: string, experimentId: string, evalId: string, identity: {\n pid: number;\n host: string;\n}, opts: {\n signal?: AbortSignal;\n pollIntervalMs?: number;\n heartbeatIntervalMs?: number;\n onWaitStart?: (holder: CaseLockRecord) => void;\n} = {}): Effect.Effect<AcquireCaseLockEffectResult, unknown> {\n const heartbeatIntervalMs = opts.heartbeatIntervalMs ?? CASE_LOCK_HEARTBEAT_INTERVAL_MS;\n const pollIntervalMs = opts.pollIntervalMs ?? heartbeatIntervalMs;\n let waitStarted = false;\n const acquire = (): Effect.Effect<{\n takenOver: boolean;\n }, unknown> => Effect.suspend(() => {\n if (opts.signal?.aborted)\n return Effect.fail(makeAbortError(opts.signal));\n return tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, Date.now()).pipe(Effect.flatMap((result) => {\n if (result.kind === \"acquired\")\n return Effect.succeed({ takenOver: result.takenOver });\n const reportWait = waitStarted\n ? Effect.void\n : Effect.sync(() => {\n waitStarted = true;\n opts.onWaitStart?.(result.holder);\n });\n return reportWait.pipe(Effect.zipRight(delayOrAbortEffect(pollIntervalMs, opts.signal)), Effect.zipRight(acquire()));\n }));\n });\n return Effect.uninterruptibleMask((restore) => restore(acquire()).pipe(Effect.flatMap(({ takenOver }) => {\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n const key = heldKey(niceevalRoot, id);\n let released = false;\n const heartbeat = Effect.forever(Effect.sleep(heartbeatIntervalMs).pipe(Effect.zipRight(\n // File-system promises do not guarantee AbortSignal support. Keep one renewal uninterruptible so\n // Fiber.interrupt below waits for any started write before rm can make the path reusable.\n Effect.suspend(() => Effect.uninterruptible(renewHeartbeatEffect(niceevalRoot, experimentId, evalId, Date.now(), () => released))).pipe(Effect.ignore))));\n // A child inherits the parent's interruptibility. This branch still\n // runs under the acquisition mask, so restore the heartbeat before\n // forking; otherwise release would wait forever while interrupting an\n // uninterruptible sleeping fiber.\n return Effect.forkDaemon(restore(heartbeat)).pipe(Effect.map((fiber) => {\n const release = Effect.uninterruptible(Effect.suspend(() => {\n if (released)\n return Effect.void;\n released = true;\n held.delete(key);\n return Fiber.interrupt(fiber).pipe(Effect.zipRight(nodeIo(() => rm(join(dir, `${id}.json`), { force: true }))), Effect.zipRight(fsyncDirEffect(dir)));\n }));\n held.set(key, release);\n return { claim: { release }, takenOver };\n }));\n })));\n}\n/** 强清兜底:尽力释放当前进程持有的每一把锁。 */\nexport function drainHeldCaseLocksEffect(): Effect.Effect<number> {\n const releases = [...held.values()];\n return Effect.forEach(releases, (release) => Effect.exit(release), { discard: true }).pipe(Effect.as(releases.length));\n}\n/** 当前进程仍持有的用例锁数量,供退出清理与可观察状态汇总。 */\nexport function pendingHeldCaseLockCount(): number {\n return held.size;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["lock.ts"],"names":[],"mappings":"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","sourcesContent":["// 用例锁:防止两条并发 `niceeval exp` Invocation 双派发同一个 (experimentId, evalId)。\n// 建在 ../shared/entry-file-store.ts 的原子写/认领原语之上,本模块只写锁独有的语义——O_EXCL\n// 原子创建、心跳续租、过期判据、过期锁的 rename 接管、释放。\n// 契约见 docs/feature/experiments/architecture.md「并发 Invocation:用例锁」。\nimport { mkdir, open, rm, type FileHandle } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { Clock, Effect, Fiber } from \"effect\";\nimport { claimEntryFileEffect, fsyncDirEffect, readEntryFileEffect, slugHashEntryId, writeEntryFileEffect, } from \"../shared/entry-file-store.ts\";\n/** 锁文件的 JSON 形状。身份的权威在内容,文件名只须无碰撞、不承载解析。 */\nexport interface CaseLockRecord {\n experimentId: string;\n evalId: string;\n pid: number;\n host: string;\n startedAt: string; // ISO\n heartbeatAt: string; // ISO\n}\nfunction recordOf(value: unknown): globalThis.Record<string, unknown> | undefined {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n ? value as globalThis.Record<string, unknown>\n : undefined;\n}\nfunction isPositiveInteger(value: unknown): value is number {\n return typeof value === \"number\" && Number.isSafeInteger(value) && value > 0;\n}\nfunction isTimestamp(value: unknown): value is string {\n return typeof value === \"string\" && Number.isFinite(Date.parse(value));\n}\nfunction errnoCode(cause: unknown): string | undefined {\n return typeof cause === \"object\" && cause !== null && \"code\" in cause && typeof cause.code === \"string\"\n ? cause.code\n : undefined;\n}\nfunction nodeIo<A>(operation: (signal: AbortSignal) => Promise<A>): Effect.Effect<A, unknown> {\n return Effect.tryPromise({ try: operation, catch: (cause) => cause });\n}\nfunction withOpenFile<A>(path: string, flags: string, use: (handle: FileHandle) => Effect.Effect<A, unknown>): Effect.Effect<A, unknown> {\n return Effect.scoped(Effect.acquireRelease(nodeIo(() => open(path, flags)), (handle) => nodeIo(() => handle.close()).pipe(Effect.orDie)).pipe(Effect.flatMap(use)));\n}\n/** 只接受本锁身份对应的完整记录,避免错位或半截 JSON 被当成持有者。 */\nfunction decodeCaseLockRecord(experimentId: string, evalId: string) {\n return (value: unknown): CaseLockRecord | undefined => {\n const record = recordOf(value);\n if (record === undefined ||\n record.experimentId !== experimentId ||\n record.evalId !== evalId ||\n !isPositiveInteger(record.pid) ||\n typeof record.host !== \"string\" ||\n !isTimestamp(record.startedAt) ||\n !isTimestamp(record.heartbeatAt)) {\n return undefined;\n }\n return {\n experimentId,\n evalId,\n pid: record.pid,\n host: record.host,\n startedAt: record.startedAt,\n heartbeatAt: record.heartbeatAt,\n };\n };\n}\n/** 持有者续租心跳的周期。 */\nexport const CASE_LOCK_HEARTBEAT_INTERVAL_MS = 10000;\n/** `heartbeatAt` 落后当前时间超过这个阈值(三个心跳周期)即视为持有者已死。 */\nexport const CASE_LOCK_EXPIRY_MS = 30000;\nexport function locksDirOf(niceevalRoot: string): string {\n return join(niceevalRoot, \"locks\");\n}\nfunction caseLockEntryId(experimentId: string, evalId: string): string {\n return slugHashEntryId(`${experimentId}-${evalId}`, [experimentId, evalId]);\n}\n/** Effect 主 API:读取当前锁记录,无副作用——`--dry` 用它只读锁目录标注 `locked`,不取锁、不等待。 */\nexport function readCaseLockEffect(niceevalRoot: string, experimentId: string, evalId: string): Effect.Effect<CaseLockRecord | undefined, unknown> {\n return readEntryFileEffect(locksDirOf(niceevalRoot), caseLockEntryId(experimentId, evalId), decodeCaseLockRecord(experimentId, evalId));\n}\n/** 过期判据:只看心跳时间戳,不看 pid(容器/跨用户场景下 pid 判活不可靠)。 */\nexport function isCaseLockExpired(record: CaseLockRecord, nowMs: number): boolean {\n const heartbeatMs = Date.parse(record.heartbeatAt);\n if (Number.isNaN(heartbeatMs))\n return true;\n return nowMs - heartbeatMs > CASE_LOCK_EXPIRY_MS;\n}\n/** Effect 持有句柄;release 是 Effect finalizer,供运行器的外层 Scope / ensuring 组合。 */\nexport interface CaseLockEffectClaim {\n readonly release: Effect.Effect<void, unknown>;\n}\nexport interface AcquireCaseLockEffectResult {\n claim: CaseLockEffectClaim;\n /** true 当且仅当本次调用接管了一把过期锁,而不是全新创建。 */\n takenOver: boolean;\n}\n/**\n * O_EXCL 独占创建锁文件;已存在则返回 false,不覆盖、不抛错。不走共享层的 `writeEntryFile`\n * ——那是「写入或覆盖」的语义(rename 会无条件替换目标),这里需要的是「不存在才创建」。\n */\nfunction createLockFileExclusiveEffect(dir: string, id: string, record: CaseLockRecord): Effect.Effect<boolean, unknown> {\n const path = join(dir, `${id}.json`);\n return nodeIo(() => mkdir(dir, { recursive: true })).pipe(Effect.zipRight(withOpenFile(path, \"wx\", (handle) => nodeIo(() => handle.writeFile(JSON.stringify(record, null, 2), \"utf-8\")).pipe(Effect.zipRight(nodeIo(() => handle.sync()))))), Effect.zipRight(fsyncDirEffect(dir)), Effect.as(true), Effect.catchAll((cause) => errnoCode(cause) === \"EEXIST\" ? Effect.succeed(false) : Effect.fail(cause)));\n}\n/** 一次非阻塞尝试:新建、过期接管与损坏条目回收都保持原来的 rename 互斥语义。 */\nexport function tryAcquireCaseLockOnceEffect(niceevalRoot: string, experimentId: string, evalId: string, identity: {\n pid: number;\n host: string;\n}, nowMs: number): Effect.Effect<{\n kind: \"acquired\";\n takenOver: boolean;\n} | {\n kind: \"waiting\";\n holder: CaseLockRecord;\n}, unknown> {\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n const record: CaseLockRecord = {\n experimentId,\n evalId,\n pid: identity.pid,\n host: identity.host,\n startedAt: new Date(nowMs).toISOString(),\n heartbeatAt: new Date(nowMs).toISOString(),\n };\n return Effect.suspend(() => createLockFileExclusiveEffect(dir, id, record).pipe(Effect.flatMap((created) => {\n if (created)\n return Effect.succeed({ kind: \"acquired\" as const, takenOver: false });\n return readEntryFileEffect(dir, id, decodeCaseLockRecord(experimentId, evalId)).pipe(Effect.flatMap((existing) => {\n if (existing === undefined) {\n // O_EXCL 失败后锁可能正常释放,也可能是坏条目;认领后重新评估当前状态。\n return claimEntryFileEffect(dir, id).pipe(Effect.ignore, Effect.zipRight(tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)));\n }\n if (!isCaseLockExpired(existing, nowMs))\n return Effect.succeed({ kind: \"waiting\" as const, holder: existing });\n return claimEntryFileEffect(dir, id).pipe(Effect.flatMap((claimed) => claimed\n ? createLockFileExclusiveEffect(dir, id, record).pipe(Effect.flatMap((rebuilt) => rebuilt\n ? Effect.succeed({ kind: \"acquired\" as const, takenOver: true })\n : tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)))\n : tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)));\n }));\n })));\n}\n/**\n * 只重写 `heartbeatAt`。心跳以单一 Effect fiber 串行执行,因此 release 可以先中断休眠,再等\n * 当前不可中断写入结束,最后删除文件,不会重现已释放锁被旧心跳写回的竞态。\n */\nfunction renewHeartbeatEffect(niceevalRoot: string, experimentId: string, evalId: string, nowMs: number, isReleased: () => boolean): Effect.Effect<void, unknown> {\n if (isReleased())\n return Effect.void;\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n return readEntryFileEffect(dir, id, decodeCaseLockRecord(experimentId, evalId)).pipe(Effect.flatMap((current) => {\n if (current === undefined || isReleased())\n return Effect.void;\n const next: CaseLockRecord = { ...current, heartbeatAt: new Date(nowMs).toISOString() };\n return writeEntryFileEffect(dir, id, next);\n }));\n}\nfunction makeAbortError(signal: AbortSignal | undefined): Error {\n const reason = signal?.reason;\n if (reason instanceof Error)\n return reason;\n const err = new Error(\"aborted while waiting for case lock\");\n err.name = \"AbortError\";\n return err;\n}\nfunction awaitAbort(signal: AbortSignal | undefined): Effect.Effect<never, Error> {\n if (signal === undefined)\n return Effect.never;\n return Effect.async((resume, effectSignal) => {\n let completed = false;\n const cleanup = (): void => {\n signal.removeEventListener(\"abort\", onAbort);\n effectSignal.removeEventListener(\"abort\", onEffectAbort);\n };\n const cancel = (): void => {\n if (completed)\n return;\n completed = true;\n cleanup();\n };\n const onAbort = (): void => {\n if (completed)\n return;\n cancel();\n resume(Effect.fail(makeAbortError(signal)));\n };\n const onEffectAbort = (): void => cancel();\n signal.addEventListener(\"abort\", onAbort, { once: true });\n effectSignal.addEventListener(\"abort\", onEffectAbort, { once: true });\n // Both listeners must be live before inspecting either signal: otherwise\n // an abort between inspection and registration could strand the waiter.\n if (effectSignal.aborted)\n onEffectAbort();\n else if (signal.aborted)\n onAbort();\n return Effect.sync(cancel);\n });\n}\n/** 可被外部 AbortSignal 或 Effect interruption 立刻打断的轮询延时。 */\nfunction delayOrAbortEffect(ms: number, signal: AbortSignal | undefined): Effect.Effect<void, Error> {\n if (signal?.aborted)\n return Effect.fail(makeAbortError(signal));\n return Effect.raceFirst(Effect.sleep(ms), awaitAbort(signal)).pipe(Effect.asVoid);\n}\n// 当前进程持有中的锁,供 drainHeldCaseLocksEffect 强清兜底排空。值是 Effect release。\nconst held = new Map<string, Effect.Effect<void, unknown>>();\nfunction heldKey(niceevalRoot: string, id: string): string {\n return `${niceevalRoot} ${id}`;\n}\n/**\n * 高层 Effect 入口。等待保持可中断;一旦拿到锁,心跳 fiber 与 release 的删除顺序进入\n * uninterruptible mask,保证 interruption 不会留下无主锁或让旧心跳晚于删除写回。\n */\nexport function acquireCaseLockEffect(niceevalRoot: string, experimentId: string, evalId: string, identity: {\n pid: number;\n host: string;\n}, opts: {\n signal?: AbortSignal;\n pollIntervalMs?: number;\n heartbeatIntervalMs?: number;\n onWaitStart?: (holder: CaseLockRecord) => void;\n} = {}): Effect.Effect<AcquireCaseLockEffectResult, unknown> {\n const heartbeatIntervalMs = opts.heartbeatIntervalMs ?? CASE_LOCK_HEARTBEAT_INTERVAL_MS;\n const pollIntervalMs = opts.pollIntervalMs ?? heartbeatIntervalMs;\n let waitStarted = false;\n const acquire = (): Effect.Effect<{\n takenOver: boolean;\n }, unknown> => Effect.suspend(() => {\n if (opts.signal?.aborted)\n return Effect.fail(makeAbortError(opts.signal));\n return Clock.currentTimeMillis.pipe(Effect.flatMap((nowMs) => tryAcquireCaseLockOnceEffect(niceevalRoot, experimentId, evalId, identity, nowMs)), Effect.flatMap((result) => {\n if (result.kind === \"acquired\")\n return Effect.succeed({ takenOver: result.takenOver });\n const reportWait = waitStarted\n ? Effect.void\n : Effect.sync(() => {\n waitStarted = true;\n opts.onWaitStart?.(result.holder);\n });\n return reportWait.pipe(Effect.zipRight(delayOrAbortEffect(pollIntervalMs, opts.signal)), Effect.zipRight(acquire()));\n }));\n });\n return Effect.uninterruptibleMask((restore) => restore(acquire()).pipe(Effect.flatMap(({ takenOver }) => {\n const dir = locksDirOf(niceevalRoot);\n const id = caseLockEntryId(experimentId, evalId);\n const key = heldKey(niceevalRoot, id);\n let released = false;\n const heartbeat = Effect.forever(Effect.sleep(heartbeatIntervalMs).pipe(Effect.zipRight(\n // File-system promises do not guarantee AbortSignal support. Keep one renewal uninterruptible so\n // Fiber.interrupt below waits for any started write before rm can make the path reusable.\n Effect.uninterruptible(Clock.currentTimeMillis.pipe(Effect.flatMap((nowMs) => renewHeartbeatEffect(niceevalRoot, experimentId, evalId, nowMs, () => released)))).pipe(Effect.ignore))));\n // A child inherits the parent's interruptibility. This branch still\n // runs under the acquisition mask, so restore the heartbeat before\n // forking; otherwise release would wait forever while interrupting an\n // uninterruptible sleeping fiber.\n return Effect.forkDaemon(restore(heartbeat)).pipe(Effect.map((fiber) => {\n const release = Effect.uninterruptible(Effect.suspend(() => {\n if (released)\n return Effect.void;\n released = true;\n held.delete(key);\n return Fiber.interrupt(fiber).pipe(Effect.zipRight(nodeIo(() => rm(join(dir, `${id}.json`), { force: true }))), Effect.zipRight(fsyncDirEffect(dir)));\n }));\n held.set(key, release);\n return { claim: { release }, takenOver };\n }));\n })));\n}\n/** 强清兜底:尽力释放当前进程持有的每一把锁。 */\nexport function drainHeldCaseLocksEffect(): Effect.Effect<number> {\n const releases = [...held.values()];\n return Effect.forEach(releases, (release) => Effect.exit(release), { discard: true }).pipe(Effect.as(releases.length));\n}\n/** 当前进程仍持有的用例锁数量,供退出清理与可观察状态汇总。 */\nexport function pendingHeldCaseLockCount(): number {\n return held.size;\n}\n"]}
|
|
@@ -5,9 +5,11 @@ exports.loadProjectCurrent = loadProjectCurrent;
|
|
|
5
5
|
// 项目 current 的宿主编排:发现定义 → 应用 selector → 无派发 identity planning。
|
|
6
6
|
// Record、carry、rerun 与历史结果都不进入这里;show/view/out 共用这一条入口。
|
|
7
7
|
const effect_1 = require("effect");
|
|
8
|
+
const identifiers_ts_1 = require("../record/codec/identifiers.cjs");
|
|
8
9
|
const load_config_ts_1 = require("../load-config.cjs");
|
|
9
10
|
const discover_ts_1 = require("./discover.cjs");
|
|
10
11
|
const eval_selection_ts_1 = require("./eval-selection.cjs");
|
|
12
|
+
const execution_identity_ts_1 = require("./execution-identity.cjs");
|
|
11
13
|
const fingerprint_ts_1 = require("./fingerprint.cjs");
|
|
12
14
|
const timeout_ts_1 = require("./timeout.cjs");
|
|
13
15
|
/** Project-current config loading is the only Promise boundary in this module. */
|
|
@@ -106,12 +108,73 @@ function loadProjectCurrent(cwd, options = {}) {
|
|
|
106
108
|
message: "The current project target contains no Eval results to show.",
|
|
107
109
|
}));
|
|
108
110
|
}
|
|
111
|
+
const currentSlots = yield* currentSlotIdentities(runs, plan, config);
|
|
109
112
|
return {
|
|
110
113
|
target: plan.target,
|
|
114
|
+
currentSlots,
|
|
111
115
|
watchInputs: Object.freeze([
|
|
112
116
|
...new Set([`${cwd}/niceeval.config.ts`, ...plan.watchInputs]),
|
|
113
117
|
].sort()),
|
|
114
118
|
};
|
|
115
119
|
});
|
|
116
120
|
}
|
|
121
|
+
function currentSlotIdentities(runs, plan, config) {
|
|
122
|
+
return effect_1.Effect.gen(function* () {
|
|
123
|
+
const slots = [];
|
|
124
|
+
const seen = new Set();
|
|
125
|
+
for (const run of runs) {
|
|
126
|
+
for (const pair of plan.preparedPairsByKey.values()) {
|
|
127
|
+
if (pair.run.experimentId !== run.experimentId)
|
|
128
|
+
continue;
|
|
129
|
+
const fingerprint = plan.plannedFingerprints.get(pair.key);
|
|
130
|
+
const configHash = plan.plannedConfigHashes.get(pair.key);
|
|
131
|
+
if (fingerprint === undefined || configHash === undefined) {
|
|
132
|
+
return yield* effect_1.Effect.fail(new ProjectCurrentLoadError({
|
|
133
|
+
stage: "selection",
|
|
134
|
+
message: `Current identity planning omitted Eval ${JSON.stringify(pair.evalDef.id)}.`,
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
const timeout = (0, timeout_ts_1.resolveAttemptTimeout)(run, pair.evalDef, config);
|
|
138
|
+
const experimentId = effect_1.Schema.decodeUnknownEither(identifiers_ts_1.ExperimentIdSchema)(run.experimentId);
|
|
139
|
+
const evalId = effect_1.Schema.decodeUnknownEither(identifiers_ts_1.EvalIdSchema)(pair.evalDef.id);
|
|
140
|
+
if (effect_1.Either.isLeft(experimentId) || effect_1.Either.isLeft(evalId)) {
|
|
141
|
+
return yield* effect_1.Effect.fail(new ProjectCurrentLoadError({
|
|
142
|
+
stage: "selection",
|
|
143
|
+
message: `Current target produced an invalid Experiment or Eval identity.`,
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
for (let attempt = 0; attempt < run.attempts; attempt += 1) {
|
|
147
|
+
const digestValue = (0, execution_identity_ts_1.slotExecutionIdentityDigestHex)({
|
|
148
|
+
experimentId: run.experimentId,
|
|
149
|
+
evalId: pair.evalDef.id,
|
|
150
|
+
attempt,
|
|
151
|
+
input: { domain: "niceeval.input/fingerprint-v1", value: fingerprint },
|
|
152
|
+
config: { domain: "niceeval.config/identity-v1", value: configHash },
|
|
153
|
+
timeout: timeout === undefined
|
|
154
|
+
? null
|
|
155
|
+
: { domain: "niceeval.execution-duration/v1", milliseconds: timeout.timeoutMs },
|
|
156
|
+
});
|
|
157
|
+
const digest = effect_1.Schema.decodeUnknownEither(identifiers_ts_1.ExecutionIdentityDigestSchema)(digestValue);
|
|
158
|
+
if (effect_1.Either.isLeft(digest)) {
|
|
159
|
+
return yield* effect_1.Effect.fail(new ProjectCurrentLoadError({
|
|
160
|
+
stage: "selection",
|
|
161
|
+
message: `Current target produced an invalid execution identity digest.`,
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
const key = `${experimentId.right}\0${evalId.right}\0${String(attempt)}\0${digest.right}`;
|
|
165
|
+
if (seen.has(key))
|
|
166
|
+
continue;
|
|
167
|
+
seen.add(key);
|
|
168
|
+
slots.push(Object.freeze({
|
|
169
|
+
experimentId: experimentId.right,
|
|
170
|
+
evalId: evalId.right,
|
|
171
|
+
attemptOrdinal: attempt,
|
|
172
|
+
executionIdentityDigest: digest.right,
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return Object.freeze(slots);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
117
180
|
//# sourceMappingURL=project-current.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-current.js","sourceRoot":"","sources":["project-current.ts"],"names":[],"mappings":"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","sourcesContent":["// 项目 current 的宿主编排:发现定义 → 应用 selector → 无派发 identity planning。\n// Record、carry、rerun 与历史结果都不进入这里;show/view/out 共用这一条入口。\nimport { Data, Effect } from \"effect\";\nimport { loadConfigFile } from \"../load-config.ts\";\nimport { discoverEvals, discoverExperiments, type DiscoveryError } from \"./discover.ts\";\nimport { resolveExperimentEvals } from \"./eval-selection.ts\";\nimport { planProjectTarget, type FingerprintPlanningFailure, type ProjectTargetPlan, } from \"./fingerprint.ts\";\nimport type { ProjectCurrentTarget } from \"./project-target.ts\";\nimport type { SandboxRunPlanningError } from \"./sandbox-selection.ts\";\nimport { resolveRunTimeout } from \"./timeout.ts\";\nimport type { AgentRun, Config } from \"./types.ts\";\nexport interface LoadProjectCurrentOptions {\n experiments?: string | readonly string[];\n evals?: readonly string[];\n freshImport?: boolean;\n}\nexport interface LoadedProjectCurrent {\n target: ProjectCurrentTarget;\n watchInputs: readonly string[];\n}\n/** Project-current config loading is the only Promise boundary in this module. */\nexport class ProjectCurrentLoadError extends Data.TaggedError(\"ProjectCurrentLoadError\")<{\n readonly stage: \"config\" | \"selection\";\n readonly message: string;\n}> {\n}\nfunction loadProjectConfig(cwd: string, options: {\n freshImport?: boolean;\n}): Effect.Effect<Config, ProjectCurrentLoadError> {\n return Effect.tryPromise({\n try: () => loadConfigFile(cwd, options),\n catch: (cause) => new ProjectCurrentLoadError({\n stage: \"config\",\n message: cause instanceof Error ? cause.message : String(cause),\n }),\n });\n}\n/**\n * Discovers and plans the current project without closing the Effect runtime.\n * CLI and view are the Promise-facing application hosts for this operation.\n */\nexport function loadProjectCurrent(cwd: string, options: LoadProjectCurrentOptions = {}): Effect.Effect<LoadedProjectCurrent, ProjectCurrentLoadError | DiscoveryError | SandboxRunPlanningError | FingerprintPlanningFailure> {\n const discoveryOptions = { freshImport: options.freshImport };\n return Effect.gen(function* () {\n // namespaced fresh import 是进程级 loader 边界,按顺序装载,避免三棵图并发注册互相卡住。\n const config = yield* loadProjectConfig(cwd, discoveryOptions);\n const evals = yield* discoverEvals(cwd, discoveryOptions);\n const experiments = yield* discoverExperiments(cwd, discoveryOptions);\n const selectors = options.experiments === undefined\n ? []\n : Array.isArray(options.experiments) ? options.experiments : [options.experiments];\n const availableIds = new Set(experiments.map((entry) => entry.id));\n for (const selector of selectors) {\n if (!availableIds.has(selector)) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: `Unknown current project Experiment ${JSON.stringify(selector)}.`,\n }));\n }\n }\n const selectedIds = selectors.length === 0\n ? availableIds\n : new Set(selectors);\n if (selectedIds.size === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project has no Experiments to show.\",\n }));\n }\n const runs = yield* Effect.sync((): AgentRun[] => {\n const selectedRuns: AgentRun[] = [];\n for (const experiment of experiments) {\n if (!selectedIds.has(experiment.id))\n continue;\n const { selectedEvalIds } = resolveExperimentEvals({\n experimentId: experiment.id,\n selector: experiment.evals,\n cliPatterns: [...(options.evals ?? [])],\n evals,\n });\n selectedRuns.push({\n agent: experiment.agent,\n model: experiment.model,\n reasoningEffort: experiment.reasoningEffort,\n flags: experiment.flags ?? {},\n plugins: experiment.plugins,\n attempts: experiment.attempts ?? 1,\n earlyExit: experiment.earlyExit ?? false,\n sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n judge: experiment.judge,\n ...resolveRunTimeout(undefined, experiment.timeoutMs),\n budget: experiment.budget,\n selectedEvalIds,\n experimentId: experiment.id,\n experimentBaseDir: experiment.baseDir,\n experimentSourcePath: experiment.sourcePath,\n description: experiment.description,\n labels: experiment.labels,\n maxConcurrency: experiment.maxConcurrency,\n setup: experiment.setup,\n teardown: experiment.teardown,\n classifyFailure: experiment.classifyFailure,\n });\n }\n return selectedRuns;\n });\n if (runs.length === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project target contains no runnable Experiments.\",\n }));\n }\n const plan: ProjectTargetPlan = yield* planProjectTarget(evals, runs, config.timeoutMs, { configJudge: config.judge });\n if (plan.target.experiments.length === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project target contains no Eval results to show.\",\n }));\n }\n return {\n target: plan.target,\n watchInputs: Object.freeze([\n ...new Set([`${cwd}/niceeval.config.ts`, ...plan.watchInputs]),\n ].sort()),\n };\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"project-current.js","sourceRoot":"","sources":["project-current.ts"],"names":[],"mappings":"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","sourcesContent":["// 项目 current 的宿主编排:发现定义 → 应用 selector → 无派发 identity planning。\n// Record、carry、rerun 与历史结果都不进入这里;show/view/out 共用这一条入口。\nimport { Data, Effect, Either, Schema } from \"effect\";\nimport type { AnalysisCurrentSlotIdentity } from \"../analysis/contracts.ts\";\nimport { EvalIdSchema, ExecutionIdentityDigestSchema, ExperimentIdSchema, } from \"../record/codec/identifiers.ts\";\nimport { loadConfigFile } from \"../load-config.ts\";\nimport { discoverEvals, discoverExperiments, type DiscoveryError } from \"./discover.ts\";\nimport { resolveExperimentEvals } from \"./eval-selection.ts\";\nimport { slotExecutionIdentityDigestHex } from \"./execution-identity.ts\";\nimport { planProjectTarget, type FingerprintPlanningFailure, type ProjectTargetPlan, } from \"./fingerprint.ts\";\nimport type { ProjectCurrentTarget } from \"./project-target.ts\";\nimport type { SandboxRunPlanningError } from \"./sandbox-selection.ts\";\nimport { resolveAttemptTimeout, resolveRunTimeout } from \"./timeout.ts\";\nimport type { AgentRun, Config } from \"./types.ts\";\nexport interface LoadProjectCurrentOptions {\n experiments?: string | readonly string[];\n evals?: readonly string[];\n freshImport?: boolean;\n}\nexport interface LoadedProjectCurrent {\n target: ProjectCurrentTarget;\n watchInputs: readonly string[];\n currentSlots: readonly AnalysisCurrentSlotIdentity[];\n}\n/** Project-current config loading is the only Promise boundary in this module. */\nexport class ProjectCurrentLoadError extends Data.TaggedError(\"ProjectCurrentLoadError\")<{\n readonly stage: \"config\" | \"selection\";\n readonly message: string;\n}> {\n}\nfunction loadProjectConfig(cwd: string, options: {\n freshImport?: boolean;\n}): Effect.Effect<Config, ProjectCurrentLoadError> {\n return Effect.tryPromise({\n try: () => loadConfigFile(cwd, options),\n catch: (cause) => new ProjectCurrentLoadError({\n stage: \"config\",\n message: cause instanceof Error ? cause.message : String(cause),\n }),\n });\n}\n/**\n * Discovers and plans the current project without closing the Effect runtime.\n * CLI and view are the Promise-facing application hosts for this operation.\n */\nexport function loadProjectCurrent(cwd: string, options: LoadProjectCurrentOptions = {}): Effect.Effect<LoadedProjectCurrent, ProjectCurrentLoadError | DiscoveryError | SandboxRunPlanningError | FingerprintPlanningFailure> {\n const discoveryOptions = { freshImport: options.freshImport };\n return Effect.gen(function* () {\n // namespaced fresh import 是进程级 loader 边界,按顺序装载,避免三棵图并发注册互相卡住。\n const config = yield* loadProjectConfig(cwd, discoveryOptions);\n const evals = yield* discoverEvals(cwd, discoveryOptions);\n const experiments = yield* discoverExperiments(cwd, discoveryOptions);\n const selectors = options.experiments === undefined\n ? []\n : Array.isArray(options.experiments) ? options.experiments : [options.experiments];\n const availableIds = new Set(experiments.map((entry) => entry.id));\n for (const selector of selectors) {\n if (!availableIds.has(selector)) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: `Unknown current project Experiment ${JSON.stringify(selector)}.`,\n }));\n }\n }\n const selectedIds = selectors.length === 0\n ? availableIds\n : new Set(selectors);\n if (selectedIds.size === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project has no Experiments to show.\",\n }));\n }\n const runs = yield* Effect.sync((): AgentRun[] => {\n const selectedRuns: AgentRun[] = [];\n for (const experiment of experiments) {\n if (!selectedIds.has(experiment.id))\n continue;\n const { selectedEvalIds } = resolveExperimentEvals({\n experimentId: experiment.id,\n selector: experiment.evals,\n cliPatterns: [...(options.evals ?? [])],\n evals,\n });\n selectedRuns.push({\n agent: experiment.agent,\n model: experiment.model,\n reasoningEffort: experiment.reasoningEffort,\n flags: experiment.flags ?? {},\n plugins: experiment.plugins,\n attempts: experiment.attempts ?? 1,\n earlyExit: experiment.earlyExit ?? false,\n sandbox: experiment.sandbox,\n sandboxReuse: experiment.sandboxReuse,\n judge: experiment.judge,\n ...resolveRunTimeout(undefined, experiment.timeoutMs),\n budget: experiment.budget,\n selectedEvalIds,\n experimentId: experiment.id,\n experimentBaseDir: experiment.baseDir,\n experimentSourcePath: experiment.sourcePath,\n description: experiment.description,\n labels: experiment.labels,\n maxConcurrency: experiment.maxConcurrency,\n setup: experiment.setup,\n teardown: experiment.teardown,\n classifyFailure: experiment.classifyFailure,\n });\n }\n return selectedRuns;\n });\n if (runs.length === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project target contains no runnable Experiments.\",\n }));\n }\n const plan: ProjectTargetPlan = yield* planProjectTarget(evals, runs, config.timeoutMs, { configJudge: config.judge });\n if (plan.target.experiments.length === 0) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: \"The current project target contains no Eval results to show.\",\n }));\n }\n const currentSlots = yield* currentSlotIdentities(runs, plan, config);\n return {\n target: plan.target,\n currentSlots,\n watchInputs: Object.freeze([\n ...new Set([`${cwd}/niceeval.config.ts`, ...plan.watchInputs]),\n ].sort()),\n };\n });\n}\nfunction currentSlotIdentities(runs: readonly AgentRun[], plan: ProjectTargetPlan, config: Config): Effect.Effect<readonly AnalysisCurrentSlotIdentity[], ProjectCurrentLoadError> {\n return Effect.gen(function* () {\n const slots: AnalysisCurrentSlotIdentity[] = [];\n const seen = new Set<string>();\n for (const run of runs) {\n for (const pair of plan.preparedPairsByKey.values()) {\n if (pair.run.experimentId !== run.experimentId)\n continue;\n const fingerprint = plan.plannedFingerprints.get(pair.key);\n const configHash = plan.plannedConfigHashes.get(pair.key);\n if (fingerprint === undefined || configHash === undefined) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: `Current identity planning omitted Eval ${JSON.stringify(pair.evalDef.id)}.`,\n }));\n }\n const timeout = resolveAttemptTimeout(run, pair.evalDef, config);\n const experimentId = Schema.decodeUnknownEither(ExperimentIdSchema)(run.experimentId);\n const evalId = Schema.decodeUnknownEither(EvalIdSchema)(pair.evalDef.id);\n if (Either.isLeft(experimentId) || Either.isLeft(evalId)) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: `Current target produced an invalid Experiment or Eval identity.`,\n }));\n }\n for (let attempt = 0; attempt < run.attempts; attempt += 1) {\n const digestValue = slotExecutionIdentityDigestHex({\n experimentId: run.experimentId,\n evalId: pair.evalDef.id,\n attempt,\n input: { domain: \"niceeval.input/fingerprint-v1\", value: fingerprint },\n config: { domain: \"niceeval.config/identity-v1\", value: configHash },\n timeout: timeout === undefined\n ? null\n : { domain: \"niceeval.execution-duration/v1\", milliseconds: timeout.timeoutMs },\n });\n const digest = Schema.decodeUnknownEither(ExecutionIdentityDigestSchema)(digestValue);\n if (Either.isLeft(digest)) {\n return yield* Effect.fail(new ProjectCurrentLoadError({\n stage: \"selection\",\n message: `Current target produced an invalid execution identity digest.`,\n }));\n }\n const key = `${experimentId.right}\\0${evalId.right}\\0${String(attempt)}\\0${digest.right}`;\n if (seen.has(key))\n continue;\n seen.add(key);\n slots.push(Object.freeze({\n experimentId: experimentId.right,\n evalId: evalId.right,\n attemptOrdinal: attempt,\n executionIdentityDigest: digest.right,\n }));\n }\n }\n }\n return Object.freeze(slots);\n });\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
+
import type { AnalysisCurrentSlotIdentity } from "../analysis/contracts.cjs";
|
|
2
3
|
import { type DiscoveryError } from "./discover.cjs";
|
|
3
4
|
import { type FingerprintPlanningFailure } from "./fingerprint.cjs";
|
|
4
5
|
import type { ProjectCurrentTarget } from "./project-target.cjs";
|
|
@@ -11,6 +12,7 @@ export interface LoadProjectCurrentOptions {
|
|
|
11
12
|
export interface LoadedProjectCurrent {
|
|
12
13
|
target: ProjectCurrentTarget;
|
|
13
14
|
watchInputs: readonly string[];
|
|
15
|
+
currentSlots: readonly AnalysisCurrentSlotIdentity[];
|
|
14
16
|
}
|
|
15
17
|
declare const ProjectCurrentLoadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
16
18
|
readonly _tag: "ProjectCurrentLoadError";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
+
import type { AnalysisCurrentSlotIdentity } from "../analysis/contracts.mjs";
|
|
2
3
|
import { type DiscoveryError } from "./discover.mjs";
|
|
3
4
|
import { type FingerprintPlanningFailure } from "./fingerprint.mjs";
|
|
4
5
|
import type { ProjectCurrentTarget } from "./project-target.mjs";
|
|
@@ -11,6 +12,7 @@ export interface LoadProjectCurrentOptions {
|
|
|
11
12
|
export interface LoadedProjectCurrent {
|
|
12
13
|
target: ProjectCurrentTarget;
|
|
13
14
|
watchInputs: readonly string[];
|
|
15
|
+
currentSlots: readonly AnalysisCurrentSlotIdentity[];
|
|
14
16
|
}
|
|
15
17
|
declare const ProjectCurrentLoadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
16
18
|
readonly _tag: "ProjectCurrentLoadError";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
|
+
import type { AnalysisCurrentSlotIdentity } from "../analysis/contracts.js";
|
|
2
3
|
import { type DiscoveryError } from "./discover.js";
|
|
3
4
|
import { type FingerprintPlanningFailure } from "./fingerprint.js";
|
|
4
5
|
import type { ProjectCurrentTarget } from "./project-target.js";
|
|
@@ -11,6 +12,7 @@ export interface LoadProjectCurrentOptions {
|
|
|
11
12
|
export interface LoadedProjectCurrent {
|
|
12
13
|
target: ProjectCurrentTarget;
|
|
13
14
|
watchInputs: readonly string[];
|
|
15
|
+
currentSlots: readonly AnalysisCurrentSlotIdentity[];
|
|
14
16
|
}
|
|
15
17
|
declare const ProjectCurrentLoadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
16
18
|
readonly _tag: "ProjectCurrentLoadError";
|