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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NodeRecordLive = exports.NodeRecordGitLive = exports.NodeRecordEntropyLive = exports.
|
|
3
|
+
exports.NodeRecordLive = exports.NodeRecordGitLive = exports.NodeRecordEntropyLive = exports.NodeRecordFileSystemLive = void 0;
|
|
4
4
|
const node_child_process_1 = require("node:child_process");
|
|
5
5
|
const node_crypto_1 = require("node:crypto");
|
|
6
6
|
const promises_1 = require("node:fs/promises");
|
|
7
7
|
const node_path_1 = require("node:path");
|
|
8
|
-
const node_os_1 = require("node:os");
|
|
9
8
|
const effect_1 = require("effect");
|
|
9
|
+
const node_ts_1 = require("../../coordination/platform/node.cjs");
|
|
10
10
|
const identifiers_ts_1 = require("../model/identifiers.cjs");
|
|
11
11
|
const errors_ts_1 = require("./errors.cjs");
|
|
12
12
|
const root_ts_1 = require("./root.cjs");
|
|
@@ -14,7 +14,6 @@ const services_ts_1 = require("./services.cjs");
|
|
|
14
14
|
const DEFAULT_STREAM_CHUNK_BYTES = 64 * 1024;
|
|
15
15
|
const GIT_MAX_OUTPUT_BYTES = 1024 * 1024;
|
|
16
16
|
const GIT_MAX_STATUS_ENTRIES = 10000;
|
|
17
|
-
const lockEncoder = new TextEncoder();
|
|
18
17
|
function nodeErrorCode(cause) {
|
|
19
18
|
if (typeof cause !== "object" || cause === null) {
|
|
20
19
|
return undefined;
|
|
@@ -132,12 +131,6 @@ function resolvePortablePath(path, requireFilePath) {
|
|
|
132
131
|
}
|
|
133
132
|
return effect_1.Effect.succeed((0, node_path_1.join)(paths.portableRoot, ...segments));
|
|
134
133
|
}
|
|
135
|
-
function rootLocalStatePath(root) {
|
|
136
|
-
const paths = (0, root_ts_1.recordRootPaths)(root);
|
|
137
|
-
return paths === undefined
|
|
138
|
-
? effect_1.Effect.fail(new errors_ts_1.RecordRootInvalid({ code: "record-root-invalid" }))
|
|
139
|
-
: effect_1.Effect.succeed(paths.localStateRoot);
|
|
140
|
-
}
|
|
141
134
|
/**
|
|
142
135
|
* Record must classify a symlink as `other` without following it. The platform
|
|
143
136
|
* FileSystem service exposes following `stat` and names-only directory reads,
|
|
@@ -476,136 +469,6 @@ const nodeFileSystem = {
|
|
|
476
469
|
return { state: "deleted" };
|
|
477
470
|
}),
|
|
478
471
|
};
|
|
479
|
-
function nodeLockLayout(root) {
|
|
480
|
-
return effect_1.Effect.map(rootLocalStatePath(root), (localStateRoot) => {
|
|
481
|
-
const lockDirectory = (0, node_path_1.join)(localStateRoot, "locks");
|
|
482
|
-
const maintenanceDirectory = (0, node_path_1.join)(lockDirectory, "maintenance");
|
|
483
|
-
return Object.freeze({
|
|
484
|
-
maintenanceSharedDirectory: (0, node_path_1.join)(maintenanceDirectory, "shared"),
|
|
485
|
-
maintenanceExclusive: (0, node_path_1.join)(maintenanceDirectory, "exclusive.lock"),
|
|
486
|
-
writerExclusive: (0, node_path_1.join)(lockDirectory, "writer.lock"),
|
|
487
|
-
});
|
|
488
|
-
});
|
|
489
|
-
}
|
|
490
|
-
function lockPayload() {
|
|
491
|
-
return lockEncoder.encode(JSON.stringify({ host: (0, node_os_1.hostname)(), pid: process.pid, nonce: (0, node_crypto_1.randomUUID)() }));
|
|
492
|
-
}
|
|
493
|
-
function createCooperativeLock(path) {
|
|
494
|
-
// Lock ownership is an exclusive-create file plus fsync, not an advisory
|
|
495
|
-
// in-process mutex. It therefore remains on Record's durable file path.
|
|
496
|
-
return writeBytesAt({
|
|
497
|
-
path,
|
|
498
|
-
bytes: lockPayload(),
|
|
499
|
-
maximumBytes: 512,
|
|
500
|
-
mode: "exclusive",
|
|
501
|
-
}).pipe(effect_1.Effect.matchEffect({
|
|
502
|
-
onFailure: (error) => error instanceof errors_ts_1.RecordPathAlreadyExists
|
|
503
|
-
? effect_1.Effect.succeed("exists")
|
|
504
|
-
: effect_1.Effect.fail(error),
|
|
505
|
-
onSuccess: () => effect_1.Effect.succeed("created"),
|
|
506
|
-
}));
|
|
507
|
-
}
|
|
508
|
-
function localPathPresent(path) {
|
|
509
|
-
return effect_1.Effect.map(pathKindAt(path), (kind) => kind !== "missing");
|
|
510
|
-
}
|
|
511
|
-
function sharedLockCount(path) {
|
|
512
|
-
return effect_1.Effect.gen(function* () {
|
|
513
|
-
yield* ensureDirectoryAt(path);
|
|
514
|
-
const entries = yield* directoryEntriesAt(path, GIT_MAX_STATUS_ENTRIES);
|
|
515
|
-
return entries.length;
|
|
516
|
-
});
|
|
517
|
-
}
|
|
518
|
-
const maintenanceLeasePaths = new WeakMap();
|
|
519
|
-
const writerLeasePaths = new WeakMap();
|
|
520
|
-
function makeMaintenanceHandle(mode, path) {
|
|
521
|
-
const handle = Object.freeze({ mode });
|
|
522
|
-
maintenanceLeasePaths.set(handle, path);
|
|
523
|
-
return handle;
|
|
524
|
-
}
|
|
525
|
-
function makeWriterHandle(path) {
|
|
526
|
-
const handle = Object.freeze({ _tag: "RecordWriterLease" });
|
|
527
|
-
writerLeasePaths.set(handle, path);
|
|
528
|
-
return handle;
|
|
529
|
-
}
|
|
530
|
-
function acquireSharedMaintenance(root) {
|
|
531
|
-
return effect_1.Effect.gen(function* () {
|
|
532
|
-
const layout = yield* nodeLockLayout(root);
|
|
533
|
-
yield* ensureDirectoryAt(layout.maintenanceSharedDirectory);
|
|
534
|
-
if (yield* localPathPresent(layout.maintenanceExclusive)) {
|
|
535
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordMaintenanceBusy({
|
|
536
|
-
code: "record-maintenance-busy",
|
|
537
|
-
requested: "shared",
|
|
538
|
-
}));
|
|
539
|
-
}
|
|
540
|
-
const path = (0, node_path_1.join)(layout.maintenanceSharedDirectory, `${process.pid}-${(0, node_crypto_1.randomUUID)()}.lock`);
|
|
541
|
-
if ((yield* createCooperativeLock(path)) !== "created") {
|
|
542
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordMaintenanceBusy({
|
|
543
|
-
code: "record-maintenance-busy",
|
|
544
|
-
requested: "shared",
|
|
545
|
-
}));
|
|
546
|
-
}
|
|
547
|
-
if (yield* localPathPresent(layout.maintenanceExclusive)) {
|
|
548
|
-
yield* removeFileIfPresentAt(path, "release-maintenance-lock");
|
|
549
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordMaintenanceBusy({
|
|
550
|
-
code: "record-maintenance-busy",
|
|
551
|
-
requested: "shared",
|
|
552
|
-
}));
|
|
553
|
-
}
|
|
554
|
-
return makeMaintenanceHandle("shared", path);
|
|
555
|
-
});
|
|
556
|
-
}
|
|
557
|
-
function acquireExclusiveMaintenance(root) {
|
|
558
|
-
return effect_1.Effect.gen(function* () {
|
|
559
|
-
const layout = yield* nodeLockLayout(root);
|
|
560
|
-
yield* ensureDirectoryAt(layout.maintenanceSharedDirectory);
|
|
561
|
-
if ((yield* createCooperativeLock(layout.maintenanceExclusive)) !== "created") {
|
|
562
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordMaintenanceBusy({
|
|
563
|
-
code: "record-maintenance-busy",
|
|
564
|
-
requested: "exclusive",
|
|
565
|
-
}));
|
|
566
|
-
}
|
|
567
|
-
if ((yield* sharedLockCount(layout.maintenanceSharedDirectory)) > 0) {
|
|
568
|
-
yield* removeFileIfPresentAt(layout.maintenanceExclusive, "release-maintenance-lock");
|
|
569
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordMaintenanceBusy({
|
|
570
|
-
code: "record-maintenance-busy",
|
|
571
|
-
requested: "exclusive",
|
|
572
|
-
}));
|
|
573
|
-
}
|
|
574
|
-
return makeMaintenanceHandle("exclusive", layout.maintenanceExclusive);
|
|
575
|
-
});
|
|
576
|
-
}
|
|
577
|
-
const nodeMaintenanceLock = {
|
|
578
|
-
acquireShared: (root) => effect_1.Effect.acquireRelease(acquireSharedMaintenance(root), (handle) => {
|
|
579
|
-
const path = maintenanceLeasePaths.get(handle);
|
|
580
|
-
return path === undefined
|
|
581
|
-
? effect_1.Effect.die("Record maintenance lock handle was not issued by this platform")
|
|
582
|
-
: removeFileIfPresentAt(path, "release-maintenance-lock").pipe(effect_1.Effect.orDie);
|
|
583
|
-
}),
|
|
584
|
-
acquireExclusive: (root) => effect_1.Effect.acquireRelease(acquireExclusiveMaintenance(root), (handle) => {
|
|
585
|
-
const path = maintenanceLeasePaths.get(handle);
|
|
586
|
-
return path === undefined
|
|
587
|
-
? effect_1.Effect.die("Record maintenance lock handle was not issued by this platform")
|
|
588
|
-
: removeFileIfPresentAt(path, "release-maintenance-lock").pipe(effect_1.Effect.orDie);
|
|
589
|
-
}),
|
|
590
|
-
};
|
|
591
|
-
function acquireWriter(root) {
|
|
592
|
-
return effect_1.Effect.gen(function* () {
|
|
593
|
-
const layout = yield* nodeLockLayout(root);
|
|
594
|
-
yield* ensureDirectoryAt((0, node_path_1.dirname)(layout.writerExclusive));
|
|
595
|
-
if ((yield* createCooperativeLock(layout.writerExclusive)) !== "created") {
|
|
596
|
-
return yield* effect_1.Effect.fail(new errors_ts_1.RecordWriterBusy({ code: "record-writer-busy" }));
|
|
597
|
-
}
|
|
598
|
-
return makeWriterHandle(layout.writerExclusive);
|
|
599
|
-
});
|
|
600
|
-
}
|
|
601
|
-
const nodeWriterLock = {
|
|
602
|
-
acquire: (root) => effect_1.Effect.acquireRelease(acquireWriter(root), (handle) => {
|
|
603
|
-
const path = writerLeasePaths.get(handle);
|
|
604
|
-
return path === undefined
|
|
605
|
-
? effect_1.Effect.die("Record writer lock handle was not issued by this platform")
|
|
606
|
-
: removeFileIfPresentAt(path, "release-writer-lock").pipe(effect_1.Effect.orDie);
|
|
607
|
-
}),
|
|
608
|
-
};
|
|
609
472
|
function executeGit(args, cwd, signal) {
|
|
610
473
|
// Keep the native adapter: Record requires one bounded collection covering
|
|
611
474
|
// stdout and stderr, exact argv execution, and AbortSignal cancellation.
|
|
@@ -701,8 +564,6 @@ const nodeGit = {
|
|
|
701
564
|
}),
|
|
702
565
|
};
|
|
703
566
|
exports.NodeRecordFileSystemLive = effect_1.Layer.succeed(services_ts_1.RecordFileSystem, nodeFileSystem);
|
|
704
|
-
exports.NodeRecordMaintenanceLockLive = effect_1.Layer.succeed(services_ts_1.RecordMaintenanceLock, nodeMaintenanceLock);
|
|
705
|
-
exports.NodeRecordWriterLockLive = effect_1.Layer.succeed(services_ts_1.RecordWriterLock, nodeWriterLock);
|
|
706
567
|
exports.NodeRecordEntropyLive = effect_1.Layer.succeed(services_ts_1.RecordEntropy, {
|
|
707
568
|
uuid: effect_1.Effect.sync(node_crypto_1.randomUUID),
|
|
708
569
|
});
|
|
@@ -711,5 +572,5 @@ exports.NodeRecordGitLive = effect_1.Layer.succeed(services_ts_1.RecordGit, node
|
|
|
711
572
|
* Convenience composition for an application boundary. Consumers still name
|
|
712
573
|
* only the Tags they need in their own Effect requirements.
|
|
713
574
|
*/
|
|
714
|
-
exports.NodeRecordLive = effect_1.Layer.mergeAll(exports.NodeRecordFileSystemLive,
|
|
575
|
+
exports.NodeRecordLive = effect_1.Layer.mergeAll(exports.NodeRecordFileSystemLive, node_ts_1.NodeRecordCoordinationLive, exports.NodeRecordEntropyLive, exports.NodeRecordGitLive);
|
|
715
576
|
//# sourceMappingURL=node.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["node.ts"],"names":[],"mappings":"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","sourcesContent":["import { execFile } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport { lstat, mkdir, open, opendir, rm, unlink, type FileHandle, } from \"node:fs/promises\";\nimport type { Dir } from \"node:fs\";\nimport { dirname, isAbsolute, join, relative, sep } from \"node:path\";\nimport { hostname } from \"node:os\";\nimport { Either, Effect, Layer, Stream } from \"effect\";\nimport { isPortableSegment } from \"../model/identifiers.ts\";\nimport { RecordGitCommandError, RecordIoError, RecordMaintenanceBusy, RecordPathAlreadyExists, RecordPathInvalid, RecordPathTypeInvalid, RecordPermissionError, RecordResourceLimitExceeded, RecordResourceLimitInvalid, RecordRootInvalid, RecordWriterBusy, type RecordFileSystemError, type RecordGitError, type RecordMaintenanceLockError, type RecordPathKind, type RecordPlatformOperation, type RecordPlatformResource, type RecordWriterLockError, } from \"./errors.ts\";\nimport { recordRootPaths } from \"./root.ts\";\nimport { RecordEntropy, RecordFileSystem, RecordGit, RecordMaintenanceLock, RecordWriterLock, recordPortablePath, type RecordBackupState, type RecordDirectoryEntry, type RecordFileSystemService, type RecordIncompleteRunDelete, type RecordMaintenanceLockHandle, type RecordMaintenanceLockService, type RecordPortablePath, type RecordWriteFileStreamInput, type RecordWriterLease, type RecordWriterLockService, } from \"./services.ts\";\nconst DEFAULT_STREAM_CHUNK_BYTES = 64 * 1024;\nconst GIT_MAX_OUTPUT_BYTES = 1024 * 1024;\nconst GIT_MAX_STATUS_ENTRIES = 10000;\nconst lockEncoder = new TextEncoder();\nfunction nodeErrorCode(cause: unknown): string | undefined {\n if (typeof cause !== \"object\" || cause === null) {\n return undefined;\n }\n const code = Reflect.get(cause, \"code\");\n return typeof code === \"string\" ? code : undefined;\n}\nfunction nodeErrorMessage(cause: unknown): string {\n if (typeof cause !== \"object\" || cause === null) {\n return \"\";\n }\n const message = Reflect.get(cause, \"message\");\n return typeof message === \"string\" ? message : \"\";\n}\nfunction isPermissionError(cause: unknown): boolean {\n const code = nodeErrorCode(cause);\n return code === \"EACCES\" || code === \"EPERM\";\n}\nfunction isMissingError(cause: unknown): boolean {\n return nodeErrorCode(cause) === \"ENOENT\";\n}\nfunction isAlreadyExistsError(cause: unknown): boolean {\n return nodeErrorCode(cause) === \"EEXIST\";\n}\nfunction fileSystemError(operation: RecordPlatformOperation, path: string, cause: unknown): RecordIoError | RecordPermissionError {\n return isPermissionError(cause)\n ? new RecordPermissionError({\n code: \"record-permission-denied\",\n operation,\n path,\n cause,\n })\n : new RecordIoError({\n code: \"record-io-error\",\n operation,\n path,\n cause,\n });\n}\nfunction isFileSystemError(cause: unknown): cause is RecordFileSystemError {\n return (cause instanceof RecordRootInvalid ||\n cause instanceof RecordPathInvalid ||\n cause instanceof RecordPathTypeInvalid ||\n cause instanceof RecordPathAlreadyExists ||\n cause instanceof RecordResourceLimitInvalid ||\n cause instanceof RecordResourceLimitExceeded ||\n cause instanceof RecordIoError ||\n cause instanceof RecordPermissionError);\n}\nfunction isFiniteNonNegativeInteger(value: number): boolean {\n return Number.isFinite(value) && Number.isInteger(value) && value >= 0;\n}\nfunction validateLimit(resource: RecordPlatformResource, maximum: number): Effect.Effect<void, RecordResourceLimitInvalid> {\n return isFiniteNonNegativeInteger(maximum)\n ? Effect.void\n : Effect.fail(new RecordResourceLimitInvalid({\n code: \"record-resource-limit-invalid\",\n resource,\n maximum,\n }));\n}\nfunction limitExceeded(resource: RecordPlatformResource, maximum: number, observedAtLeast: number, path: string): RecordResourceLimitExceeded {\n return new RecordResourceLimitExceeded({\n code: \"record-resource-limit-exceeded\",\n resource,\n maximum,\n observedAtLeast,\n path,\n });\n}\ntype PathResolutionError = RecordRootInvalid | RecordPathInvalid;\n/**\n * `recordPortablePath` is convenience data only. Every live call reaches this\n * function, so a copied or forged JS object cannot skip portable-segment\n * validation or escape the issued root.\n */\nfunction resolvePortablePath(path: RecordPortablePath, requireFilePath: boolean): Effect.Effect<string, PathResolutionError> {\n const candidate: unknown = path;\n if (typeof candidate !== \"object\" || candidate === null) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments: [],\n }));\n }\n const root = Reflect.get(candidate, \"root\");\n const paths = recordRootPaths(root);\n if (paths === undefined) {\n return Effect.fail(new RecordRootInvalid({ code: \"record-root-invalid\" }));\n }\n const rawSegments = Reflect.get(candidate, \"segments\");\n if (!Array.isArray(rawSegments)) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments: [],\n }));\n }\n const segments: string[] = [];\n for (const segment of rawSegments) {\n if (typeof segment !== \"string\" || !isPortableSegment(segment)) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments,\n }));\n }\n segments.push(segment);\n }\n if (requireFilePath && segments.length === 0) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"file-path-empty\",\n segments,\n }));\n }\n return Effect.succeed(join(paths.portableRoot, ...segments));\n}\nfunction rootLocalStatePath(root: unknown): Effect.Effect<string, RecordRootInvalid> {\n const paths = recordRootPaths(root);\n return paths === undefined\n ? Effect.fail(new RecordRootInvalid({ code: \"record-root-invalid\" }))\n : Effect.succeed(paths.localStateRoot);\n}\n/**\n * Record must classify a symlink as `other` without following it. The platform\n * FileSystem service exposes following `stat` and names-only directory reads,\n * so this intentionally stays the narrow native no-follow adapter.\n */\nasync function nodePathKind(path: string): Promise<RecordPathKind> {\n try {\n const state = await lstat(path);\n if (state.isFile())\n return \"file\";\n if (state.isDirectory())\n return \"directory\";\n return \"other\";\n }\n catch (cause) {\n if (isMissingError(cause))\n return \"missing\";\n throw cause;\n }\n}\nfunction pathKindAt(path: string): Effect.Effect<RecordPathKind, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => nodePathKind(path),\n catch: (cause) => fileSystemError(\"read-file\", path, cause),\n });\n}\nfunction ensureDirectoryAt(path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n await mkdir(path, { recursive: true });\n },\n catch: (cause) => fileSystemError(\"create-directory\", path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(path)), Effect.zipRight(dirname(path) === path ? Effect.void : syncDirectoryAt(dirname(path))));\n}\nfunction closeHandle(handle: FileHandle, operation: RecordPlatformOperation, path: string): Effect.Effect<void> {\n return Effect.tryPromise({\n try: () => handle.close(),\n catch: (cause) => fileSystemError(operation, path, cause),\n }).pipe(Effect.orDie);\n}\nfunction syncHandle(handle: FileHandle, operation: RecordPlatformOperation, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => handle.sync(),\n catch: (cause) => fileSystemError(operation, path, cause),\n });\n}\nfunction syncDirectoryAt(path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n // Durable publication requires an explicit directory fsync. High-level\n // platform write helpers do not include this parent-directory commit step.\n const acquire = Effect.tryPromise({\n try: () => open(path, \"r\"),\n catch: (cause) => fileSystemError(\"sync-directory\", path, cause),\n });\n return Effect.scoped(Effect.acquireRelease(acquire, (handle) => closeHandle(handle, \"sync-directory\", path)).pipe(Effect.flatMap((handle) => syncHandle(handle, \"sync-directory\", path))));\n}\nfunction createDirectoryAt(path: string): Effect.Effect<void, RecordFileSystemError> {\n return Effect.tryPromise({\n try: () => mkdir(path),\n catch: (cause) => isAlreadyExistsError(cause)\n ? new RecordPathAlreadyExists({\n code: \"record-path-already-exists\",\n path,\n })\n : fileSystemError(\"create-directory\", path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(dirname(path))));\n}\nfunction writeFileHandle(handle: FileHandle, bytes: Uint8Array, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => handle.writeFile(bytes),\n catch: (cause) => fileSystemError(\"write-file\", path, cause),\n });\n}\nfunction openForWrite(path: string, mode: \"exclusive\" | \"replace\"): Effect.Effect<FileHandle, RecordFileSystemError> {\n // `wx` + 0600 + fsync is Record's create-exclusive publication primitive;\n // do not replace it with a high-level write that weakens those guarantees.\n return Effect.tryPromise({\n try: () => open(path, mode === \"exclusive\" ? \"wx\" : \"w\", 0o600),\n catch: (cause) => mode === \"exclusive\" && isAlreadyExistsError(cause)\n ? new RecordPathAlreadyExists({\n code: \"record-path-already-exists\",\n path,\n })\n : fileSystemError(\"write-file\", path, cause),\n });\n}\nfunction writeBytesAt(input: {\n readonly path: string;\n readonly bytes: Uint8Array;\n readonly maximumBytes: number;\n readonly mode: \"exclusive\" | \"replace\";\n}): Effect.Effect<void, RecordFileSystemError> {\n return Effect.gen(function* () {\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n if (input.bytes.byteLength > input.maximumBytes) {\n return yield* Effect.fail(limitExceeded(\"file-bytes\", input.maximumBytes, input.bytes.byteLength, input.path));\n }\n const parent = dirname(input.path);\n yield* ensureDirectoryAt(parent);\n yield* Effect.scoped(Effect.acquireRelease(openForWrite(input.path, input.mode), (handle) => closeHandle(handle, \"write-file\", input.path)).pipe(Effect.flatMap((handle) => writeFileHandle(handle, input.bytes, input.path).pipe(Effect.zipRight(syncHandle(handle, \"sync-file\", input.path))))));\n yield* syncDirectoryAt(parent);\n });\n}\nfunction writeChunk(handle: FileHandle, bytes: Uint8Array, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n let offset = 0;\n while (offset < bytes.byteLength) {\n const written = await handle.write(bytes, offset, bytes.byteLength - offset);\n if (written.bytesWritten === 0) {\n throw new Error(\"Node wrote zero bytes before the chunk was complete\");\n }\n offset += written.bytesWritten;\n }\n },\n catch: (cause) => fileSystemError(\"write-file\", path, cause),\n });\n}\nasync function* readChunks(handle: FileHandle, path: string, maximumBytes: number, chunkBytes: number): AsyncGenerator<Uint8Array, void, undefined> {\n let observed = 0;\n for (;;) {\n // A one-byte probe after the cap distinguishes exact-size data from an\n // over-limit file without materializing its remainder.\n const capacity = observed < maximumBytes\n ? Math.min(chunkBytes, maximumBytes - observed + 1)\n : 1;\n const chunk = new Uint8Array(capacity);\n const result = await handle.read(chunk, 0, chunk.byteLength, null);\n if (result.bytesRead === 0)\n return;\n observed += result.bytesRead;\n if (observed > maximumBytes) {\n throw limitExceeded(\"file-bytes\", maximumBytes, observed, path);\n }\n yield chunk.slice(0, result.bytesRead);\n }\n}\nfunction readStreamAt(path: string, maximumBytes: number, chunkBytes: number): Stream.Stream<Uint8Array, RecordFileSystemError> {\n const acquire = Effect.tryPromise({\n try: () => open(path, \"r\"),\n catch: (cause) => fileSystemError(\"read-file\", path, cause),\n });\n return Stream.unwrapScoped(Effect.map(Effect.acquireRelease(acquire, (handle) => closeHandle(handle, \"read-file\", path)), (handle) => Stream.fromAsyncIterable(readChunks(handle, path, maximumBytes, chunkBytes), (cause) => isFileSystemError(cause)\n ? cause\n : fileSystemError(\"read-file\", path, cause))));\n}\nfunction concatChunks(chunks: readonly Uint8Array[]): Uint8Array {\n let length = 0;\n for (const chunk of chunks) {\n length += chunk.byteLength;\n }\n const result = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return result;\n}\nfunction closeDirectory(directory: Dir, path: string): Effect.Effect<void> {\n return Effect.tryPromise({\n try: () => directory.close(),\n catch: (cause) => fileSystemError(\"list-directory\", path, cause),\n }).pipe(Effect.orDie);\n}\nasync function readDirectoryBounded(directory: Dir, maximumEntries: number, path: string): Promise<readonly RecordDirectoryEntry[]> {\n // Dirent classification preserves the same no-follow policy as lstat above;\n // the platform names-only directory API cannot supply these entry kinds.\n const entries: RecordDirectoryEntry[] = [];\n for (;;) {\n const entry = await directory.read();\n if (entry === null)\n break;\n if (entries.length === maximumEntries) {\n throw limitExceeded(\"directory-entries\", maximumEntries, maximumEntries + 1, path);\n }\n entries.push({\n name: entry.name,\n kind: entry.isFile()\n ? \"file\"\n : entry.isDirectory()\n ? \"directory\"\n : \"other\",\n });\n }\n entries.sort((left, right) => left.name === right.name ? 0 : left.name < right.name ? -1 : 1);\n return Object.freeze(entries);\n}\nfunction directoryEntriesAt(path: string, maximumEntries: number): Effect.Effect<readonly RecordDirectoryEntry[], RecordFileSystemError> {\n const acquire = Effect.tryPromise({\n try: () => opendir(path),\n catch: (cause) => fileSystemError(\"list-directory\", path, cause),\n });\n return Effect.scoped(Effect.acquireRelease(acquire, (directory) => closeDirectory(directory, path)).pipe(Effect.flatMap((directory) => Effect.tryPromise({\n try: () => readDirectoryBounded(directory, maximumEntries, path),\n catch: (cause) => isFileSystemError(cause)\n ? cause\n : fileSystemError(\"list-directory\", path, cause),\n }))));\n}\nfunction removeFileIfPresentAt(path: string, operation: \"remove-path\" | \"release-maintenance-lock\" | \"release-writer-lock\"): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n try {\n await unlink(path);\n }\n catch (cause) {\n if (!isMissingError(cause))\n throw cause;\n }\n },\n catch: (cause) => fileSystemError(operation, path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(dirname(path))));\n}\nconst nodeFileSystem: RecordFileSystemService = {\n pathKind: (path) => Effect.flatMap(resolvePortablePath(path, false), (resolved) => pathKindAt(resolved)),\n ensureDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, false), (resolved) => ensureDirectoryAt(resolved)),\n createDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, true), (resolved) => createDirectoryAt(resolved)),\n listDirectory: (input) => Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.directory, false);\n yield* validateLimit(\"directory-entries\", input.maximumEntries);\n const kind = yield* pathKindAt(path);\n if (kind === \"missing\")\n return Object.freeze([]) as readonly RecordDirectoryEntry[];\n if (kind !== \"directory\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"directory\",\n actual: kind,\n }));\n }\n return yield* directoryEntriesAt(path, input.maximumEntries);\n }),\n readFile: (input) => Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.file, true);\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const kind = yield* pathKindAt(path);\n if (kind === \"missing\")\n return undefined;\n if (kind !== \"file\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"file\",\n actual: kind,\n }));\n }\n const chunks = yield* Stream.runFold(readStreamAt(path, input.maximumBytes, DEFAULT_STREAM_CHUNK_BYTES), [] as readonly Uint8Array[], (all, chunk) => [...all, chunk]);\n return concatChunks(chunks);\n }),\n readFileStream: (input) => Stream.unwrap(Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.file, true);\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const chunkBytes = input.chunkBytes ?? DEFAULT_STREAM_CHUNK_BYTES;\n yield* validateLimit(\"file-bytes\", chunkBytes);\n if (chunkBytes === 0) {\n return yield* Effect.fail(new RecordResourceLimitInvalid({\n code: \"record-resource-limit-invalid\",\n resource: \"file-bytes\",\n maximum: chunkBytes,\n }));\n }\n const kind = yield* pathKindAt(path);\n if (kind !== \"file\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"file\",\n actual: kind,\n }));\n }\n return readStreamAt(path, input.maximumBytes, chunkBytes);\n })),\n writeFile: (input) => Effect.flatMap(resolvePortablePath(input.file, true), (path) => writeBytesAt({\n path,\n bytes: input.bytes,\n maximumBytes: input.maximumBytes,\n mode: input.mode,\n })),\n writeFileStream: <E, R>(input: RecordWriteFileStreamInput<E, R>): Effect.Effect<void, RecordFileSystemError | E, R> => Effect.flatMap(resolvePortablePath(input.file, true), (path) => Effect.gen(function* () {\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const parent = dirname(path);\n yield* ensureDirectoryAt(parent);\n let written = 0;\n yield* Effect.scoped(Effect.acquireRelease(openForWrite(path, input.mode), (handle) => closeHandle(handle, \"write-file\", path)).pipe(Effect.flatMap((handle) => {\n const writeOne = (chunk: Uint8Array): Effect.Effect<void, RecordFileSystemError> => {\n const observedAtLeast = written + chunk.byteLength;\n if (observedAtLeast > input.maximumBytes) {\n return Effect.fail(limitExceeded(\"file-bytes\", input.maximumBytes, observedAtLeast, path));\n }\n return writeChunk(handle, chunk, path).pipe(Effect.tap(() => Effect.sync(() => {\n written = observedAtLeast;\n })));\n };\n return Stream.runForEach(input.stream, writeOne).pipe(Effect.zipRight(syncHandle(handle, \"sync-file\", path)));\n })));\n yield* syncDirectoryAt(parent);\n })),\n syncDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, false), (path) => syncDirectoryAt(path)),\n createRunDirectory: ({ root, runId }) => Effect.gen(function* () {\n yield* nodeFileSystem.ensureDirectory(recordPortablePath(root, \"runs\"));\n yield* nodeFileSystem.createDirectory(recordPortablePath(root, \"runs\", runId));\n }),\n createCompleteMarker: ({ root, runId }) => Effect.uninterruptible(nodeFileSystem.writeFile({\n file: recordPortablePath(root, \"runs\", runId, \"complete\"),\n bytes: new Uint8Array(),\n maximumBytes: 0,\n mode: \"exclusive\",\n })),\n migrationSentinelPresent: (root) => Effect.map(nodeFileSystem.pathKind(recordPortablePath(root, \"migration.in-progress\")), (kind) => kind !== \"missing\"),\n createMigrationSentinel: (root) => Effect.uninterruptible(nodeFileSystem.writeFile({\n file: recordPortablePath(root, \"migration.in-progress\"),\n bytes: new Uint8Array(),\n maximumBytes: 0,\n mode: \"exclusive\",\n })),\n removeMigrationSentinel: (root) => Effect.flatMap(resolvePortablePath(recordPortablePath(root, \"migration.in-progress\"), true), (path) => removeFileIfPresentAt(path, \"remove-path\")),\n deleteIncompleteRun: ({ root, runId }) => Effect.gen(function* () {\n const runPath = yield* resolvePortablePath(recordPortablePath(root, \"runs\", runId), true);\n const runKind = yield* pathKindAt(runPath);\n if (runKind === \"missing\") {\n return { state: \"missing\" } satisfies RecordIncompleteRunDelete;\n }\n if (runKind !== \"directory\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path: runPath,\n expected: \"directory\",\n actual: runKind,\n }));\n }\n const completePath = yield* resolvePortablePath(recordPortablePath(root, \"runs\", runId, \"complete\"), true);\n if ((yield* pathKindAt(completePath)) !== \"missing\") {\n return { state: \"skipped-complete\" } satisfies RecordIncompleteRunDelete;\n }\n yield* Effect.tryPromise({\n try: () => rm(runPath, { recursive: true, force: true }),\n catch: (cause) => fileSystemError(\"remove-path\", runPath, cause),\n });\n yield* syncDirectoryAt(dirname(runPath));\n return { state: \"deleted\" } satisfies RecordIncompleteRunDelete;\n }),\n};\ninterface NodeLockLayout {\n readonly maintenanceSharedDirectory: string;\n readonly maintenanceExclusive: string;\n readonly writerExclusive: string;\n}\nfunction nodeLockLayout(root: unknown): Effect.Effect<NodeLockLayout, RecordRootInvalid> {\n return Effect.map(rootLocalStatePath(root), (localStateRoot) => {\n const lockDirectory = join(localStateRoot, \"locks\");\n const maintenanceDirectory = join(lockDirectory, \"maintenance\");\n return Object.freeze({\n maintenanceSharedDirectory: join(maintenanceDirectory, \"shared\"),\n maintenanceExclusive: join(maintenanceDirectory, \"exclusive.lock\"),\n writerExclusive: join(lockDirectory, \"writer.lock\"),\n });\n });\n}\nfunction lockPayload(): Uint8Array {\n return lockEncoder.encode(JSON.stringify({ host: hostname(), pid: process.pid, nonce: randomUUID() }));\n}\nfunction createCooperativeLock(path: string): Effect.Effect<\"created\" | \"exists\", RecordFileSystemError> {\n // Lock ownership is an exclusive-create file plus fsync, not an advisory\n // in-process mutex. It therefore remains on Record's durable file path.\n return writeBytesAt({\n path,\n bytes: lockPayload(),\n maximumBytes: 512,\n mode: \"exclusive\",\n }).pipe(Effect.matchEffect({\n onFailure: (error) => error instanceof RecordPathAlreadyExists\n ? Effect.succeed<\"exists\">(\"exists\")\n : Effect.fail(error),\n onSuccess: () => Effect.succeed<\"created\">(\"created\"),\n }));\n}\nfunction localPathPresent(path: string): Effect.Effect<boolean, RecordIoError | RecordPermissionError> {\n return Effect.map(pathKindAt(path), (kind) => kind !== \"missing\");\n}\nfunction sharedLockCount(path: string): Effect.Effect<number, RecordFileSystemError> {\n return Effect.gen(function* () {\n yield* ensureDirectoryAt(path);\n const entries = yield* directoryEntriesAt(path, GIT_MAX_STATUS_ENTRIES);\n return entries.length;\n });\n}\nconst maintenanceLeasePaths = new WeakMap<RecordMaintenanceLockHandle, string>();\nconst writerLeasePaths = new WeakMap<RecordWriterLease, string>();\nfunction makeMaintenanceHandle(mode: \"shared\" | \"exclusive\", path: string): RecordMaintenanceLockHandle {\n const handle: RecordMaintenanceLockHandle = Object.freeze({ mode });\n maintenanceLeasePaths.set(handle, path);\n return handle;\n}\nfunction makeWriterHandle(path: string): RecordWriterLease {\n const handle: RecordWriterLease = Object.freeze({ _tag: \"RecordWriterLease\" });\n writerLeasePaths.set(handle, path);\n return handle;\n}\nfunction acquireSharedMaintenance(root: unknown): Effect.Effect<RecordMaintenanceLockHandle, RecordMaintenanceLockError> {\n return Effect.gen(function* () {\n const layout = yield* nodeLockLayout(root);\n yield* ensureDirectoryAt(layout.maintenanceSharedDirectory);\n if (yield* localPathPresent(layout.maintenanceExclusive)) {\n return yield* Effect.fail(new RecordMaintenanceBusy({\n code: \"record-maintenance-busy\",\n requested: \"shared\",\n }));\n }\n const path = join(layout.maintenanceSharedDirectory, `${process.pid}-${randomUUID()}.lock`);\n if ((yield* createCooperativeLock(path)) !== \"created\") {\n return yield* Effect.fail(new RecordMaintenanceBusy({\n code: \"record-maintenance-busy\",\n requested: \"shared\",\n }));\n }\n if (yield* localPathPresent(layout.maintenanceExclusive)) {\n yield* removeFileIfPresentAt(path, \"release-maintenance-lock\");\n return yield* Effect.fail(new RecordMaintenanceBusy({\n code: \"record-maintenance-busy\",\n requested: \"shared\",\n }));\n }\n return makeMaintenanceHandle(\"shared\", path);\n });\n}\nfunction acquireExclusiveMaintenance(root: unknown): Effect.Effect<RecordMaintenanceLockHandle, RecordMaintenanceLockError> {\n return Effect.gen(function* () {\n const layout = yield* nodeLockLayout(root);\n yield* ensureDirectoryAt(layout.maintenanceSharedDirectory);\n if ((yield* createCooperativeLock(layout.maintenanceExclusive)) !== \"created\") {\n return yield* Effect.fail(new RecordMaintenanceBusy({\n code: \"record-maintenance-busy\",\n requested: \"exclusive\",\n }));\n }\n if ((yield* sharedLockCount(layout.maintenanceSharedDirectory)) > 0) {\n yield* removeFileIfPresentAt(layout.maintenanceExclusive, \"release-maintenance-lock\");\n return yield* Effect.fail(new RecordMaintenanceBusy({\n code: \"record-maintenance-busy\",\n requested: \"exclusive\",\n }));\n }\n return makeMaintenanceHandle(\"exclusive\", layout.maintenanceExclusive);\n });\n}\nconst nodeMaintenanceLock: RecordMaintenanceLockService = {\n acquireShared: (root) => Effect.acquireRelease(acquireSharedMaintenance(root), (handle) => {\n const path = maintenanceLeasePaths.get(handle);\n return path === undefined\n ? Effect.die(\"Record maintenance lock handle was not issued by this platform\")\n : removeFileIfPresentAt(path, \"release-maintenance-lock\").pipe(Effect.orDie);\n }),\n acquireExclusive: (root) => Effect.acquireRelease(acquireExclusiveMaintenance(root), (handle) => {\n const path = maintenanceLeasePaths.get(handle);\n return path === undefined\n ? Effect.die(\"Record maintenance lock handle was not issued by this platform\")\n : removeFileIfPresentAt(path, \"release-maintenance-lock\").pipe(Effect.orDie);\n }),\n};\nfunction acquireWriter(root: unknown): Effect.Effect<RecordWriterLease, RecordWriterLockError> {\n return Effect.gen(function* () {\n const layout = yield* nodeLockLayout(root);\n yield* ensureDirectoryAt(dirname(layout.writerExclusive));\n if ((yield* createCooperativeLock(layout.writerExclusive)) !== \"created\") {\n return yield* Effect.fail(new RecordWriterBusy({ code: \"record-writer-busy\" }));\n }\n return makeWriterHandle(layout.writerExclusive);\n });\n}\nconst nodeWriterLock: RecordWriterLockService = {\n acquire: (root) => Effect.acquireRelease(acquireWriter(root), (handle) => {\n const path = writerLeasePaths.get(handle);\n return path === undefined\n ? Effect.die(\"Record writer lock handle was not issued by this platform\")\n : removeFileIfPresentAt(path, \"release-writer-lock\").pipe(Effect.orDie);\n }),\n};\ninterface GitOutput {\n readonly stdout: string;\n readonly stderr: string;\n}\nfunction executeGit(args: readonly string[], cwd: string, signal: AbortSignal): Promise<GitOutput> {\n // Keep the native adapter: Record requires one bounded collection covering\n // stdout and stderr, exact argv execution, and AbortSignal cancellation.\n // CommandExecutor has no single primitive with all of those guarantees.\n return new Promise((resolve, reject) => {\n execFile(\"git\", [...args], { cwd, encoding: \"utf8\", maxBuffer: GIT_MAX_OUTPUT_BYTES, signal }, (error, stdout, stderr) => {\n if (error !== null) {\n reject(error);\n return;\n }\n resolve({ stdout: String(stdout), stderr: String(stderr) });\n });\n });\n}\nfunction gitError(operation: \"locate-worktree\" | \"read-head\" | \"inspect-status\", cause: unknown): RecordGitError {\n if (nodeErrorCode(cause) === \"ERR_CHILD_PROCESS_STDIO_MAXBUFFER\") {\n return limitExceeded(\"git-output\", GIT_MAX_OUTPUT_BYTES, GIT_MAX_OUTPUT_BYTES, \"git\");\n }\n return new RecordGitCommandError({\n code: \"record-git-command-failed\",\n operation,\n cause,\n });\n}\nfunction runGit(operation: \"locate-worktree\" | \"read-head\" | \"inspect-status\", args: readonly string[], cwd: string): Effect.Effect<GitOutput, RecordGitError> {\n return Effect.tryPromise({\n try: (signal) => executeGit(args, cwd, signal),\n catch: (cause) => gitError(operation, cause),\n });\n}\nfunction isNotGitWorktree(error: RecordGitCommandError): boolean {\n const code = nodeErrorCode(error.cause);\n return code === \"ENOENT\" || nodeErrorMessage(error.cause).includes(\"not a git repository\");\n}\nfunction portablePathWithinWorktree(worktree: string, portableRoot: string): string | undefined {\n const rootRelative = relative(worktree, portableRoot);\n if (rootRelative === \"..\" ||\n rootRelative.startsWith(`..${sep}`) ||\n isAbsolute(rootRelative)) {\n return undefined;\n }\n return rootRelative === \"\" ? \".\" : rootRelative;\n}\nfunction statusEntries(stdout: string): readonly string[] {\n const records = stdout.split(\"\\0\").filter((entry) => entry !== \"\");\n const entries = records.map((record) => record.length > 3 ? record.slice(3) : record);\n return Object.freeze(entries);\n}\nconst nodeGit = {\n inspectBackupState: (root: unknown): Effect.Effect<RecordBackupState, RecordGitError> => Effect.gen(function* () {\n const paths = recordRootPaths(root);\n if (paths === undefined) {\n return yield* Effect.fail(new RecordRootInvalid({ code: \"record-root-invalid\" }));\n }\n const location = yield* Effect.either(runGit(\"locate-worktree\", [\"rev-parse\", \"--show-toplevel\"], dirname(paths.portableRoot)));\n if (Either.isLeft(location)) {\n if (location.left instanceof RecordGitCommandError &&\n isNotGitWorktree(location.left)) {\n return { state: \"not-git-worktree\" } satisfies RecordBackupState;\n }\n return yield* Effect.fail(location.left);\n }\n const worktree = location.right.stdout.trim();\n const rootRelative = portablePathWithinWorktree(worktree, paths.portableRoot);\n if (rootRelative === undefined) {\n return { state: \"root-outside-worktree\" } satisfies RecordBackupState;\n }\n const head = yield* runGit(\"read-head\", [\"rev-parse\", \"--verify\", \"HEAD\"], worktree);\n const commit = head.stdout.trim();\n if (commit === \"\") {\n return yield* Effect.fail(new RecordGitCommandError({\n code: \"record-git-command-failed\",\n operation: \"read-head\",\n cause: new Error(\"git returned an empty HEAD\"),\n }));\n }\n const status = yield* runGit(\"inspect-status\", [\n \"status\",\n \"--porcelain=v1\",\n \"-z\",\n \"--ignored\",\n \"--untracked-files=all\",\n \"--\",\n rootRelative,\n ], worktree);\n const entries = statusEntries(status.stdout);\n if (entries.length > GIT_MAX_STATUS_ENTRIES) {\n return yield* Effect.fail(limitExceeded(\"git-output\", GIT_MAX_STATUS_ENTRIES, GIT_MAX_STATUS_ENTRIES + 1, \"git status\"));\n }\n return entries.length === 0\n ? ({ state: \"git-restore-point\", commit } satisfies RecordBackupState)\n : ({ state: \"portable-root-dirty\", entries } satisfies RecordBackupState);\n }),\n};\nexport const NodeRecordFileSystemLive = Layer.succeed(RecordFileSystem, nodeFileSystem);\nexport const NodeRecordMaintenanceLockLive = Layer.succeed(RecordMaintenanceLock, nodeMaintenanceLock);\nexport const NodeRecordWriterLockLive = Layer.succeed(RecordWriterLock, nodeWriterLock);\nexport const NodeRecordEntropyLive = Layer.succeed(RecordEntropy, {\n uuid: Effect.sync(randomUUID),\n});\nexport const NodeRecordGitLive = Layer.succeed(RecordGit, nodeGit);\n/**\n * Convenience composition for an application boundary. Consumers still name\n * only the Tags they need in their own Effect requirements.\n */\nexport const NodeRecordLive = Layer.mergeAll(NodeRecordFileSystemLive, NodeRecordMaintenanceLockLive, NodeRecordWriterLockLive, NodeRecordEntropyLive, NodeRecordGitLive);\n"]}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["node.ts"],"names":[],"mappings":"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","sourcesContent":["import { execFile } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport { lstat, mkdir, open, opendir, rm, unlink, type FileHandle, } from \"node:fs/promises\";\nimport type { Dir } from \"node:fs\";\nimport { dirname, isAbsolute, join, relative, sep } from \"node:path\";\nimport { Either, Effect, Layer, Stream } from \"effect\";\nimport { NodeRecordCoordinationLive } from \"../../coordination/platform/node.ts\";\nimport { isPortableSegment } from \"../model/identifiers.ts\";\nimport { RecordGitCommandError, RecordIoError, RecordPathAlreadyExists, RecordPathInvalid, RecordPathTypeInvalid, RecordPermissionError, RecordResourceLimitExceeded, RecordResourceLimitInvalid, RecordRootInvalid, type RecordFileSystemError, type RecordGitError, type RecordPathKind, type RecordPlatformOperation, type RecordPlatformResource, } from \"./errors.ts\";\nimport { recordRootPaths } from \"./root.ts\";\nimport { RecordEntropy, RecordFileSystem, RecordGit, recordPortablePath, type RecordBackupState, type RecordDirectoryEntry, type RecordFileSystemService, type RecordIncompleteRunDelete, type RecordPortablePath, type RecordWriteFileStreamInput, } from \"./services.ts\";\nconst DEFAULT_STREAM_CHUNK_BYTES = 64 * 1024;\nconst GIT_MAX_OUTPUT_BYTES = 1024 * 1024;\nconst GIT_MAX_STATUS_ENTRIES = 10000;\nfunction nodeErrorCode(cause: unknown): string | undefined {\n if (typeof cause !== \"object\" || cause === null) {\n return undefined;\n }\n const code = Reflect.get(cause, \"code\");\n return typeof code === \"string\" ? code : undefined;\n}\nfunction nodeErrorMessage(cause: unknown): string {\n if (typeof cause !== \"object\" || cause === null) {\n return \"\";\n }\n const message = Reflect.get(cause, \"message\");\n return typeof message === \"string\" ? message : \"\";\n}\nfunction isPermissionError(cause: unknown): boolean {\n const code = nodeErrorCode(cause);\n return code === \"EACCES\" || code === \"EPERM\";\n}\nfunction isMissingError(cause: unknown): boolean {\n return nodeErrorCode(cause) === \"ENOENT\";\n}\nfunction isAlreadyExistsError(cause: unknown): boolean {\n return nodeErrorCode(cause) === \"EEXIST\";\n}\nfunction fileSystemError(operation: RecordPlatformOperation, path: string, cause: unknown): RecordIoError | RecordPermissionError {\n return isPermissionError(cause)\n ? new RecordPermissionError({\n code: \"record-permission-denied\",\n operation,\n path,\n cause,\n })\n : new RecordIoError({\n code: \"record-io-error\",\n operation,\n path,\n cause,\n });\n}\nfunction isFileSystemError(cause: unknown): cause is RecordFileSystemError {\n return (cause instanceof RecordRootInvalid ||\n cause instanceof RecordPathInvalid ||\n cause instanceof RecordPathTypeInvalid ||\n cause instanceof RecordPathAlreadyExists ||\n cause instanceof RecordResourceLimitInvalid ||\n cause instanceof RecordResourceLimitExceeded ||\n cause instanceof RecordIoError ||\n cause instanceof RecordPermissionError);\n}\nfunction isFiniteNonNegativeInteger(value: number): boolean {\n return Number.isFinite(value) && Number.isInteger(value) && value >= 0;\n}\nfunction validateLimit(resource: RecordPlatformResource, maximum: number): Effect.Effect<void, RecordResourceLimitInvalid> {\n return isFiniteNonNegativeInteger(maximum)\n ? Effect.void\n : Effect.fail(new RecordResourceLimitInvalid({\n code: \"record-resource-limit-invalid\",\n resource,\n maximum,\n }));\n}\nfunction limitExceeded(resource: RecordPlatformResource, maximum: number, observedAtLeast: number, path: string): RecordResourceLimitExceeded {\n return new RecordResourceLimitExceeded({\n code: \"record-resource-limit-exceeded\",\n resource,\n maximum,\n observedAtLeast,\n path,\n });\n}\ntype PathResolutionError = RecordRootInvalid | RecordPathInvalid;\n/**\n * `recordPortablePath` is convenience data only. Every live call reaches this\n * function, so a copied or forged JS object cannot skip portable-segment\n * validation or escape the issued root.\n */\nfunction resolvePortablePath(path: RecordPortablePath, requireFilePath: boolean): Effect.Effect<string, PathResolutionError> {\n const candidate: unknown = path;\n if (typeof candidate !== \"object\" || candidate === null) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments: [],\n }));\n }\n const root = Reflect.get(candidate, \"root\");\n const paths = recordRootPaths(root);\n if (paths === undefined) {\n return Effect.fail(new RecordRootInvalid({ code: \"record-root-invalid\" }));\n }\n const rawSegments = Reflect.get(candidate, \"segments\");\n if (!Array.isArray(rawSegments)) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments: [],\n }));\n }\n const segments: string[] = [];\n for (const segment of rawSegments) {\n if (typeof segment !== \"string\" || !isPortableSegment(segment)) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"segment-invalid\",\n segments,\n }));\n }\n segments.push(segment);\n }\n if (requireFilePath && segments.length === 0) {\n return Effect.fail(new RecordPathInvalid({\n code: \"record-path-invalid\",\n reason: \"file-path-empty\",\n segments,\n }));\n }\n return Effect.succeed(join(paths.portableRoot, ...segments));\n}\n/**\n * Record must classify a symlink as `other` without following it. The platform\n * FileSystem service exposes following `stat` and names-only directory reads,\n * so this intentionally stays the narrow native no-follow adapter.\n */\nasync function nodePathKind(path: string): Promise<RecordPathKind> {\n try {\n const state = await lstat(path);\n if (state.isFile())\n return \"file\";\n if (state.isDirectory())\n return \"directory\";\n return \"other\";\n }\n catch (cause) {\n if (isMissingError(cause))\n return \"missing\";\n throw cause;\n }\n}\nfunction pathKindAt(path: string): Effect.Effect<RecordPathKind, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => nodePathKind(path),\n catch: (cause) => fileSystemError(\"read-file\", path, cause),\n });\n}\nfunction ensureDirectoryAt(path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n await mkdir(path, { recursive: true });\n },\n catch: (cause) => fileSystemError(\"create-directory\", path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(path)), Effect.zipRight(dirname(path) === path ? Effect.void : syncDirectoryAt(dirname(path))));\n}\nfunction closeHandle(handle: FileHandle, operation: RecordPlatformOperation, path: string): Effect.Effect<void> {\n return Effect.tryPromise({\n try: () => handle.close(),\n catch: (cause) => fileSystemError(operation, path, cause),\n }).pipe(Effect.orDie);\n}\nfunction syncHandle(handle: FileHandle, operation: RecordPlatformOperation, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => handle.sync(),\n catch: (cause) => fileSystemError(operation, path, cause),\n });\n}\nfunction syncDirectoryAt(path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n // Durable publication requires an explicit directory fsync. High-level\n // platform write helpers do not include this parent-directory commit step.\n const acquire = Effect.tryPromise({\n try: () => open(path, \"r\"),\n catch: (cause) => fileSystemError(\"sync-directory\", path, cause),\n });\n return Effect.scoped(Effect.acquireRelease(acquire, (handle) => closeHandle(handle, \"sync-directory\", path)).pipe(Effect.flatMap((handle) => syncHandle(handle, \"sync-directory\", path))));\n}\nfunction createDirectoryAt(path: string): Effect.Effect<void, RecordFileSystemError> {\n return Effect.tryPromise({\n try: () => mkdir(path),\n catch: (cause) => isAlreadyExistsError(cause)\n ? new RecordPathAlreadyExists({\n code: \"record-path-already-exists\",\n path,\n })\n : fileSystemError(\"create-directory\", path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(dirname(path))));\n}\nfunction writeFileHandle(handle: FileHandle, bytes: Uint8Array, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: () => handle.writeFile(bytes),\n catch: (cause) => fileSystemError(\"write-file\", path, cause),\n });\n}\nfunction openForWrite(path: string, mode: \"exclusive\" | \"replace\"): Effect.Effect<FileHandle, RecordFileSystemError> {\n // `wx` + 0600 + fsync is Record's create-exclusive publication primitive;\n // do not replace it with a high-level write that weakens those guarantees.\n return Effect.tryPromise({\n try: () => open(path, mode === \"exclusive\" ? \"wx\" : \"w\", 0o600),\n catch: (cause) => mode === \"exclusive\" && isAlreadyExistsError(cause)\n ? new RecordPathAlreadyExists({\n code: \"record-path-already-exists\",\n path,\n })\n : fileSystemError(\"write-file\", path, cause),\n });\n}\nfunction writeBytesAt(input: {\n readonly path: string;\n readonly bytes: Uint8Array;\n readonly maximumBytes: number;\n readonly mode: \"exclusive\" | \"replace\";\n}): Effect.Effect<void, RecordFileSystemError> {\n return Effect.gen(function* () {\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n if (input.bytes.byteLength > input.maximumBytes) {\n return yield* Effect.fail(limitExceeded(\"file-bytes\", input.maximumBytes, input.bytes.byteLength, input.path));\n }\n const parent = dirname(input.path);\n yield* ensureDirectoryAt(parent);\n yield* Effect.scoped(Effect.acquireRelease(openForWrite(input.path, input.mode), (handle) => closeHandle(handle, \"write-file\", input.path)).pipe(Effect.flatMap((handle) => writeFileHandle(handle, input.bytes, input.path).pipe(Effect.zipRight(syncHandle(handle, \"sync-file\", input.path))))));\n yield* syncDirectoryAt(parent);\n });\n}\nfunction writeChunk(handle: FileHandle, bytes: Uint8Array, path: string): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n let offset = 0;\n while (offset < bytes.byteLength) {\n const written = await handle.write(bytes, offset, bytes.byteLength - offset);\n if (written.bytesWritten === 0) {\n throw new Error(\"Node wrote zero bytes before the chunk was complete\");\n }\n offset += written.bytesWritten;\n }\n },\n catch: (cause) => fileSystemError(\"write-file\", path, cause),\n });\n}\nasync function* readChunks(handle: FileHandle, path: string, maximumBytes: number, chunkBytes: number): AsyncGenerator<Uint8Array, void, undefined> {\n let observed = 0;\n for (;;) {\n // A one-byte probe after the cap distinguishes exact-size data from an\n // over-limit file without materializing its remainder.\n const capacity = observed < maximumBytes\n ? Math.min(chunkBytes, maximumBytes - observed + 1)\n : 1;\n const chunk = new Uint8Array(capacity);\n const result = await handle.read(chunk, 0, chunk.byteLength, null);\n if (result.bytesRead === 0)\n return;\n observed += result.bytesRead;\n if (observed > maximumBytes) {\n throw limitExceeded(\"file-bytes\", maximumBytes, observed, path);\n }\n yield chunk.slice(0, result.bytesRead);\n }\n}\nfunction readStreamAt(path: string, maximumBytes: number, chunkBytes: number): Stream.Stream<Uint8Array, RecordFileSystemError> {\n const acquire = Effect.tryPromise({\n try: () => open(path, \"r\"),\n catch: (cause) => fileSystemError(\"read-file\", path, cause),\n });\n return Stream.unwrapScoped(Effect.map(Effect.acquireRelease(acquire, (handle) => closeHandle(handle, \"read-file\", path)), (handle) => Stream.fromAsyncIterable(readChunks(handle, path, maximumBytes, chunkBytes), (cause) => isFileSystemError(cause)\n ? cause\n : fileSystemError(\"read-file\", path, cause))));\n}\nfunction concatChunks(chunks: readonly Uint8Array[]): Uint8Array {\n let length = 0;\n for (const chunk of chunks) {\n length += chunk.byteLength;\n }\n const result = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n result.set(chunk, offset);\n offset += chunk.byteLength;\n }\n return result;\n}\nfunction closeDirectory(directory: Dir, path: string): Effect.Effect<void> {\n return Effect.tryPromise({\n try: () => directory.close(),\n catch: (cause) => fileSystemError(\"list-directory\", path, cause),\n }).pipe(Effect.orDie);\n}\nasync function readDirectoryBounded(directory: Dir, maximumEntries: number, path: string): Promise<readonly RecordDirectoryEntry[]> {\n // Dirent classification preserves the same no-follow policy as lstat above;\n // the platform names-only directory API cannot supply these entry kinds.\n const entries: RecordDirectoryEntry[] = [];\n for (;;) {\n const entry = await directory.read();\n if (entry === null)\n break;\n if (entries.length === maximumEntries) {\n throw limitExceeded(\"directory-entries\", maximumEntries, maximumEntries + 1, path);\n }\n entries.push({\n name: entry.name,\n kind: entry.isFile()\n ? \"file\"\n : entry.isDirectory()\n ? \"directory\"\n : \"other\",\n });\n }\n entries.sort((left, right) => left.name === right.name ? 0 : left.name < right.name ? -1 : 1);\n return Object.freeze(entries);\n}\nfunction directoryEntriesAt(path: string, maximumEntries: number): Effect.Effect<readonly RecordDirectoryEntry[], RecordFileSystemError> {\n const acquire = Effect.tryPromise({\n try: () => opendir(path),\n catch: (cause) => fileSystemError(\"list-directory\", path, cause),\n });\n return Effect.scoped(Effect.acquireRelease(acquire, (directory) => closeDirectory(directory, path)).pipe(Effect.flatMap((directory) => Effect.tryPromise({\n try: () => readDirectoryBounded(directory, maximumEntries, path),\n catch: (cause) => isFileSystemError(cause)\n ? cause\n : fileSystemError(\"list-directory\", path, cause),\n }))));\n}\nfunction removeFileIfPresentAt(path: string, operation: \"remove-path\"): Effect.Effect<void, RecordIoError | RecordPermissionError> {\n return Effect.tryPromise({\n try: async () => {\n try {\n await unlink(path);\n }\n catch (cause) {\n if (!isMissingError(cause))\n throw cause;\n }\n },\n catch: (cause) => fileSystemError(operation, path, cause),\n }).pipe(Effect.zipRight(syncDirectoryAt(dirname(path))));\n}\nconst nodeFileSystem: RecordFileSystemService = {\n pathKind: (path) => Effect.flatMap(resolvePortablePath(path, false), (resolved) => pathKindAt(resolved)),\n ensureDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, false), (resolved) => ensureDirectoryAt(resolved)),\n createDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, true), (resolved) => createDirectoryAt(resolved)),\n listDirectory: (input) => Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.directory, false);\n yield* validateLimit(\"directory-entries\", input.maximumEntries);\n const kind = yield* pathKindAt(path);\n if (kind === \"missing\")\n return Object.freeze([]) as readonly RecordDirectoryEntry[];\n if (kind !== \"directory\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"directory\",\n actual: kind,\n }));\n }\n return yield* directoryEntriesAt(path, input.maximumEntries);\n }),\n readFile: (input) => Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.file, true);\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const kind = yield* pathKindAt(path);\n if (kind === \"missing\")\n return undefined;\n if (kind !== \"file\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"file\",\n actual: kind,\n }));\n }\n const chunks = yield* Stream.runFold(readStreamAt(path, input.maximumBytes, DEFAULT_STREAM_CHUNK_BYTES), [] as readonly Uint8Array[], (all, chunk) => [...all, chunk]);\n return concatChunks(chunks);\n }),\n readFileStream: (input) => Stream.unwrap(Effect.gen(function* () {\n const path = yield* resolvePortablePath(input.file, true);\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const chunkBytes = input.chunkBytes ?? DEFAULT_STREAM_CHUNK_BYTES;\n yield* validateLimit(\"file-bytes\", chunkBytes);\n if (chunkBytes === 0) {\n return yield* Effect.fail(new RecordResourceLimitInvalid({\n code: \"record-resource-limit-invalid\",\n resource: \"file-bytes\",\n maximum: chunkBytes,\n }));\n }\n const kind = yield* pathKindAt(path);\n if (kind !== \"file\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path,\n expected: \"file\",\n actual: kind,\n }));\n }\n return readStreamAt(path, input.maximumBytes, chunkBytes);\n })),\n writeFile: (input) => Effect.flatMap(resolvePortablePath(input.file, true), (path) => writeBytesAt({\n path,\n bytes: input.bytes,\n maximumBytes: input.maximumBytes,\n mode: input.mode,\n })),\n writeFileStream: <E, R>(input: RecordWriteFileStreamInput<E, R>): Effect.Effect<void, RecordFileSystemError | E, R> => Effect.flatMap(resolvePortablePath(input.file, true), (path) => Effect.gen(function* () {\n yield* validateLimit(\"file-bytes\", input.maximumBytes);\n const parent = dirname(path);\n yield* ensureDirectoryAt(parent);\n let written = 0;\n yield* Effect.scoped(Effect.acquireRelease(openForWrite(path, input.mode), (handle) => closeHandle(handle, \"write-file\", path)).pipe(Effect.flatMap((handle) => {\n const writeOne = (chunk: Uint8Array): Effect.Effect<void, RecordFileSystemError> => {\n const observedAtLeast = written + chunk.byteLength;\n if (observedAtLeast > input.maximumBytes) {\n return Effect.fail(limitExceeded(\"file-bytes\", input.maximumBytes, observedAtLeast, path));\n }\n return writeChunk(handle, chunk, path).pipe(Effect.tap(() => Effect.sync(() => {\n written = observedAtLeast;\n })));\n };\n return Stream.runForEach(input.stream, writeOne).pipe(Effect.zipRight(syncHandle(handle, \"sync-file\", path)));\n })));\n yield* syncDirectoryAt(parent);\n })),\n syncDirectory: (directory) => Effect.flatMap(resolvePortablePath(directory, false), (path) => syncDirectoryAt(path)),\n createRunDirectory: ({ root, runId }) => Effect.gen(function* () {\n yield* nodeFileSystem.ensureDirectory(recordPortablePath(root, \"runs\"));\n yield* nodeFileSystem.createDirectory(recordPortablePath(root, \"runs\", runId));\n }),\n createCompleteMarker: ({ root, runId }) => Effect.uninterruptible(nodeFileSystem.writeFile({\n file: recordPortablePath(root, \"runs\", runId, \"complete\"),\n bytes: new Uint8Array(),\n maximumBytes: 0,\n mode: \"exclusive\",\n })),\n migrationSentinelPresent: (root) => Effect.map(nodeFileSystem.pathKind(recordPortablePath(root, \"migration.in-progress\")), (kind) => kind !== \"missing\"),\n createMigrationSentinel: (root) => Effect.uninterruptible(nodeFileSystem.writeFile({\n file: recordPortablePath(root, \"migration.in-progress\"),\n bytes: new Uint8Array(),\n maximumBytes: 0,\n mode: \"exclusive\",\n })),\n removeMigrationSentinel: (root) => Effect.flatMap(resolvePortablePath(recordPortablePath(root, \"migration.in-progress\"), true), (path) => removeFileIfPresentAt(path, \"remove-path\")),\n deleteIncompleteRun: ({ root, runId }) => Effect.gen(function* () {\n const runPath = yield* resolvePortablePath(recordPortablePath(root, \"runs\", runId), true);\n const runKind = yield* pathKindAt(runPath);\n if (runKind === \"missing\") {\n return { state: \"missing\" } satisfies RecordIncompleteRunDelete;\n }\n if (runKind !== \"directory\") {\n return yield* Effect.fail(new RecordPathTypeInvalid({\n code: \"record-path-type-invalid\",\n path: runPath,\n expected: \"directory\",\n actual: runKind,\n }));\n }\n const completePath = yield* resolvePortablePath(recordPortablePath(root, \"runs\", runId, \"complete\"), true);\n if ((yield* pathKindAt(completePath)) !== \"missing\") {\n return { state: \"skipped-complete\" } satisfies RecordIncompleteRunDelete;\n }\n yield* Effect.tryPromise({\n try: () => rm(runPath, { recursive: true, force: true }),\n catch: (cause) => fileSystemError(\"remove-path\", runPath, cause),\n });\n yield* syncDirectoryAt(dirname(runPath));\n return { state: \"deleted\" } satisfies RecordIncompleteRunDelete;\n }),\n};\ninterface GitOutput {\n readonly stdout: string;\n readonly stderr: string;\n}\nfunction executeGit(args: readonly string[], cwd: string, signal: AbortSignal): Promise<GitOutput> {\n // Keep the native adapter: Record requires one bounded collection covering\n // stdout and stderr, exact argv execution, and AbortSignal cancellation.\n // CommandExecutor has no single primitive with all of those guarantees.\n return new Promise((resolve, reject) => {\n execFile(\"git\", [...args], { cwd, encoding: \"utf8\", maxBuffer: GIT_MAX_OUTPUT_BYTES, signal }, (error, stdout, stderr) => {\n if (error !== null) {\n reject(error);\n return;\n }\n resolve({ stdout: String(stdout), stderr: String(stderr) });\n });\n });\n}\nfunction gitError(operation: \"locate-worktree\" | \"read-head\" | \"inspect-status\", cause: unknown): RecordGitError {\n if (nodeErrorCode(cause) === \"ERR_CHILD_PROCESS_STDIO_MAXBUFFER\") {\n return limitExceeded(\"git-output\", GIT_MAX_OUTPUT_BYTES, GIT_MAX_OUTPUT_BYTES, \"git\");\n }\n return new RecordGitCommandError({\n code: \"record-git-command-failed\",\n operation,\n cause,\n });\n}\nfunction runGit(operation: \"locate-worktree\" | \"read-head\" | \"inspect-status\", args: readonly string[], cwd: string): Effect.Effect<GitOutput, RecordGitError> {\n return Effect.tryPromise({\n try: (signal) => executeGit(args, cwd, signal),\n catch: (cause) => gitError(operation, cause),\n });\n}\nfunction isNotGitWorktree(error: RecordGitCommandError): boolean {\n const code = nodeErrorCode(error.cause);\n return code === \"ENOENT\" || nodeErrorMessage(error.cause).includes(\"not a git repository\");\n}\nfunction portablePathWithinWorktree(worktree: string, portableRoot: string): string | undefined {\n const rootRelative = relative(worktree, portableRoot);\n if (rootRelative === \"..\" ||\n rootRelative.startsWith(`..${sep}`) ||\n isAbsolute(rootRelative)) {\n return undefined;\n }\n return rootRelative === \"\" ? \".\" : rootRelative;\n}\nfunction statusEntries(stdout: string): readonly string[] {\n const records = stdout.split(\"\\0\").filter((entry) => entry !== \"\");\n const entries = records.map((record) => record.length > 3 ? record.slice(3) : record);\n return Object.freeze(entries);\n}\nconst nodeGit = {\n inspectBackupState: (root: unknown): Effect.Effect<RecordBackupState, RecordGitError> => Effect.gen(function* () {\n const paths = recordRootPaths(root);\n if (paths === undefined) {\n return yield* Effect.fail(new RecordRootInvalid({ code: \"record-root-invalid\" }));\n }\n const location = yield* Effect.either(runGit(\"locate-worktree\", [\"rev-parse\", \"--show-toplevel\"], dirname(paths.portableRoot)));\n if (Either.isLeft(location)) {\n if (location.left instanceof RecordGitCommandError &&\n isNotGitWorktree(location.left)) {\n return { state: \"not-git-worktree\" } satisfies RecordBackupState;\n }\n return yield* Effect.fail(location.left);\n }\n const worktree = location.right.stdout.trim();\n const rootRelative = portablePathWithinWorktree(worktree, paths.portableRoot);\n if (rootRelative === undefined) {\n return { state: \"root-outside-worktree\" } satisfies RecordBackupState;\n }\n const head = yield* runGit(\"read-head\", [\"rev-parse\", \"--verify\", \"HEAD\"], worktree);\n const commit = head.stdout.trim();\n if (commit === \"\") {\n return yield* Effect.fail(new RecordGitCommandError({\n code: \"record-git-command-failed\",\n operation: \"read-head\",\n cause: new Error(\"git returned an empty HEAD\"),\n }));\n }\n const status = yield* runGit(\"inspect-status\", [\n \"status\",\n \"--porcelain=v1\",\n \"-z\",\n \"--ignored\",\n \"--untracked-files=all\",\n \"--\",\n rootRelative,\n ], worktree);\n const entries = statusEntries(status.stdout);\n if (entries.length > GIT_MAX_STATUS_ENTRIES) {\n return yield* Effect.fail(limitExceeded(\"git-output\", GIT_MAX_STATUS_ENTRIES, GIT_MAX_STATUS_ENTRIES + 1, \"git status\"));\n }\n return entries.length === 0\n ? ({ state: \"git-restore-point\", commit } satisfies RecordBackupState)\n : ({ state: \"portable-root-dirty\", entries } satisfies RecordBackupState);\n }),\n};\nexport const NodeRecordFileSystemLive = Layer.succeed(RecordFileSystem, nodeFileSystem);\nexport const NodeRecordEntropyLive = Layer.succeed(RecordEntropy, {\n uuid: Effect.sync(randomUUID),\n});\nexport const NodeRecordGitLive = Layer.succeed(RecordGit, nodeGit);\n/**\n * Convenience composition for an application boundary. Consumers still name\n * only the Tags they need in their own Effect requirements.\n */\nexport const NodeRecordLive = Layer.mergeAll(NodeRecordFileSystemLive, NodeRecordCoordinationLive, NodeRecordEntropyLive, NodeRecordGitLive);\n"]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Layer } from "effect";
|
|
2
|
-
import { RecordEntropy, RecordFileSystem, RecordGit
|
|
2
|
+
import { RecordEntropy, RecordFileSystem, RecordGit } from "./services.cjs";
|
|
3
3
|
export declare const NodeRecordFileSystemLive: Layer.Layer<RecordFileSystem, never, never>;
|
|
4
|
-
export declare const NodeRecordMaintenanceLockLive: Layer.Layer<RecordMaintenanceLock, never, never>;
|
|
5
|
-
export declare const NodeRecordWriterLockLive: Layer.Layer<RecordWriterLock, never, never>;
|
|
6
4
|
export declare const NodeRecordEntropyLive: Layer.Layer<RecordEntropy, never, never>;
|
|
7
5
|
export declare const NodeRecordGitLive: Layer.Layer<RecordGit, never, never>;
|
|
8
6
|
/**
|
|
9
7
|
* Convenience composition for an application boundary. Consumers still name
|
|
10
8
|
* only the Tags they need in their own Effect requirements.
|
|
11
9
|
*/
|
|
12
|
-
export declare const NodeRecordLive: Layer.Layer<
|
|
10
|
+
export declare const NodeRecordLive: Layer.Layer<import("../../coordination/record-leases.cjs").RecordCoordination | RecordFileSystem | RecordEntropy | RecordGit, never, never>;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Layer } from "effect";
|
|
2
|
-
import { RecordEntropy, RecordFileSystem, RecordGit
|
|
2
|
+
import { RecordEntropy, RecordFileSystem, RecordGit } from "./services.mjs";
|
|
3
3
|
export declare const NodeRecordFileSystemLive: Layer.Layer<RecordFileSystem, never, never>;
|
|
4
|
-
export declare const NodeRecordMaintenanceLockLive: Layer.Layer<RecordMaintenanceLock, never, never>;
|
|
5
|
-
export declare const NodeRecordWriterLockLive: Layer.Layer<RecordWriterLock, never, never>;
|
|
6
4
|
export declare const NodeRecordEntropyLive: Layer.Layer<RecordEntropy, never, never>;
|
|
7
5
|
export declare const NodeRecordGitLive: Layer.Layer<RecordGit, never, never>;
|
|
8
6
|
/**
|
|
9
7
|
* Convenience composition for an application boundary. Consumers still name
|
|
10
8
|
* only the Tags they need in their own Effect requirements.
|
|
11
9
|
*/
|
|
12
|
-
export declare const NodeRecordLive: Layer.Layer<
|
|
10
|
+
export declare const NodeRecordLive: Layer.Layer<import("../../coordination/record-leases.mjs").RecordCoordination | RecordFileSystem | RecordEntropy | RecordGit, never, never>;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Layer } from "effect";
|
|
2
|
-
import { RecordEntropy, RecordFileSystem, RecordGit
|
|
2
|
+
import { RecordEntropy, RecordFileSystem, RecordGit } from "./services.js";
|
|
3
3
|
export declare const NodeRecordFileSystemLive: Layer.Layer<RecordFileSystem, never, never>;
|
|
4
|
-
export declare const NodeRecordMaintenanceLockLive: Layer.Layer<RecordMaintenanceLock, never, never>;
|
|
5
|
-
export declare const NodeRecordWriterLockLive: Layer.Layer<RecordWriterLock, never, never>;
|
|
6
4
|
export declare const NodeRecordEntropyLive: Layer.Layer<RecordEntropy, never, never>;
|
|
7
5
|
export declare const NodeRecordGitLive: Layer.Layer<RecordGit, never, never>;
|
|
8
6
|
/**
|
|
9
7
|
* Convenience composition for an application boundary. Consumers still name
|
|
10
8
|
* only the Tags they need in their own Effect requirements.
|
|
11
9
|
*/
|
|
12
|
-
export declare const NodeRecordLive: Layer.Layer<
|
|
10
|
+
export declare const NodeRecordLive: Layer.Layer<import("../../coordination/record-leases.js").RecordCoordination | RecordFileSystem | RecordEntropy | RecordGit, never, never>;
|
|
@@ -9,8 +9,4 @@ const __niceevalExport2 = __niceevalCanonical["NodeRecordGitLive"];
|
|
|
9
9
|
export { __niceevalExport2 as NodeRecordGitLive };
|
|
10
10
|
const __niceevalExport3 = __niceevalCanonical["NodeRecordLive"];
|
|
11
11
|
export { __niceevalExport3 as NodeRecordLive };
|
|
12
|
-
const __niceevalExport4 = __niceevalCanonical["NodeRecordMaintenanceLockLive"];
|
|
13
|
-
export { __niceevalExport4 as NodeRecordMaintenanceLockLive };
|
|
14
|
-
const __niceevalExport5 = __niceevalCanonical["NodeRecordWriterLockLive"];
|
|
15
|
-
export { __niceevalExport5 as NodeRecordWriterLockLive };
|
|
16
12
|
//# sourceMappingURL=node.js.map
|
|
@@ -7,16 +7,6 @@ const node_path_1 = require("node:path");
|
|
|
7
7
|
const node_url_1 = require("node:url");
|
|
8
8
|
const recordRootTypeId = Symbol("@niceeval/record/RecordRoot");
|
|
9
9
|
const roots = new WeakMap();
|
|
10
|
-
function localStateRootFor(portableRoot) {
|
|
11
|
-
const parent = (0, node_path_1.dirname)(portableRoot);
|
|
12
|
-
// Preserve the documented default separation exactly. Custom roots still get
|
|
13
|
-
// a sibling local directory rather than silently placing locks in the
|
|
14
|
-
// portable Record tree.
|
|
15
|
-
if ((0, node_path_1.basename)(portableRoot) === "record" && (0, node_path_1.basename)(parent) === ".niceeval") {
|
|
16
|
-
return (0, node_path_1.join)((0, node_path_1.dirname)(parent), ".niceeval-local", "record");
|
|
17
|
-
}
|
|
18
|
-
return (0, node_path_1.join)(parent, `.${(0, node_path_1.basename)(portableRoot)}.niceeval-local`);
|
|
19
|
-
}
|
|
20
10
|
function makeRoot(portableRoot) {
|
|
21
11
|
const issued = {
|
|
22
12
|
[recordRootTypeId]: recordRootTypeId,
|
|
@@ -24,7 +14,6 @@ function makeRoot(portableRoot) {
|
|
|
24
14
|
const root = Object.freeze(issued);
|
|
25
15
|
roots.set(root, Object.freeze({
|
|
26
16
|
portableRoot,
|
|
27
|
-
localStateRoot: localStateRootFor(portableRoot),
|
|
28
17
|
}));
|
|
29
18
|
return root;
|
|
30
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","sourceRoot":"","sources":["root.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"root.js","sourceRoot":"","sources":["root.ts"],"names":[],"mappings":";;AAiDA,wCA4BC;AAED,0CAKC;AApFD,mCAAgC;AAChC,yCAAkD;AAClD,uCAAyC;AAuBzC,MAAM,gBAAgB,GAAkB,MAAM,CAAC,6BAA6B,CAAC,CAAC;AAC9E,MAAM,KAAK,GAAG,IAAI,OAAO,EAA2B,CAAC;AACrD,SAAS,QAAQ,CAAC,YAAoB;IAClC,MAAM,MAAM,GAAe;QACvB,CAAC,gBAAgB,CAAC,EAAE,gBAAgB;KACvC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,YAAY;KACf,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,SAAS,qBAAqB,CAAC,KAAa;IACxC,IAAI,CAAC,IAAA,sBAAU,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;IACpC,OAAO,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AACD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAsB;IACjD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,eAAM,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACP,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YAC3C,OAAO,eAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,KAAK,SAAS;gBACrB,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;gBACvD,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,CAAC;YACH,OAAO,eAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACtB,OAAO,eAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;QAC/C,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AACD,gFAAgF;AAChF,SAAgB,eAAe,CAAC,IAAa;IACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC","sourcesContent":["import { Either } from \"effect\";\nimport { isAbsolute, normalize } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n/**\n * A host-local Record root. The durable format never receives either of these\n * host paths; portable layout code addresses files with root-relative segments.\n */\nexport interface RecordRoot {\n readonly [recordRootTypeId]: typeof recordRootTypeId;\n}\nexport type RecordRootInput = string | URL;\nexport type RecordRootConstructionError = {\n readonly code: \"record-root-empty\";\n} | {\n readonly code: \"record-root-relative\";\n} | {\n readonly code: \"record-root-non-file-url\";\n readonly protocol: string;\n} | {\n readonly code: \"record-root-file-url-invalid\";\n};\nexport interface RecordRootPaths {\n /** The portable `<project>/.niceeval/record`-style directory. */\n readonly portableRoot: string;\n}\nconst recordRootTypeId: unique symbol = Symbol(\"@niceeval/record/RecordRoot\");\nconst roots = new WeakMap<object, RecordRootPaths>();\nfunction makeRoot(portableRoot: string): RecordRoot {\n const issued: RecordRoot = {\n [recordRootTypeId]: recordRootTypeId,\n };\n const root = Object.freeze(issued);\n roots.set(root, Object.freeze({\n portableRoot,\n }));\n return root;\n}\nfunction normalizeAbsolutePath(input: string): string | undefined {\n if (!isAbsolute(input)) {\n return undefined;\n }\n const normalized = normalize(input);\n return isAbsolute(normalized) ? normalized : undefined;\n}\n/**\n * Lexically normalizes an absolute host path without touching the filesystem.\n * In particular it intentionally does not call realpath or claim hostile\n * symlink protection.\n */\nexport function makeRecordRoot(input: RecordRootInput): Either.Either<RecordRoot, RecordRootConstructionError> {\n if (input instanceof URL) {\n if (input.protocol !== \"file:\") {\n return Either.left({\n code: \"record-root-non-file-url\",\n protocol: input.protocol,\n });\n }\n if (input.search !== \"\" || input.hash !== \"\") {\n return Either.left({ code: \"record-root-file-url-invalid\" });\n }\n try {\n const path = normalizeAbsolutePath(fileURLToPath(input));\n return path === undefined\n ? Either.left({ code: \"record-root-file-url-invalid\" })\n : Either.right(makeRoot(path));\n }\n catch {\n return Either.left({ code: \"record-root-file-url-invalid\" });\n }\n }\n if (input.trim() === \"\") {\n return Either.left({ code: \"record-root-empty\" });\n }\n const path = normalizeAbsolutePath(input);\n return path === undefined\n ? Either.left({ code: \"record-root-relative\" })\n : Either.right(makeRoot(path));\n}\n/** Internal Node-platform access; callers cannot manufacture an issued root. */\nexport function recordRootPaths(root: unknown): RecordRootPaths | undefined {\n if (typeof root !== \"object\" || root === null) {\n return undefined;\n }\n return roots.get(root);\n}\n"]}
|
|
@@ -20,8 +20,6 @@ export type RecordRootConstructionError = {
|
|
|
20
20
|
export interface RecordRootPaths {
|
|
21
21
|
/** The portable `<project>/.niceeval/record`-style directory. */
|
|
22
22
|
readonly portableRoot: string;
|
|
23
|
-
/** Local-only locks and operation state; never written inside portableRoot. */
|
|
24
|
-
readonly localStateRoot: string;
|
|
25
23
|
}
|
|
26
24
|
declare const recordRootTypeId: unique symbol;
|
|
27
25
|
/**
|
|
@@ -20,8 +20,6 @@ export type RecordRootConstructionError = {
|
|
|
20
20
|
export interface RecordRootPaths {
|
|
21
21
|
/** The portable `<project>/.niceeval/record`-style directory. */
|
|
22
22
|
readonly portableRoot: string;
|
|
23
|
-
/** Local-only locks and operation state; never written inside portableRoot. */
|
|
24
|
-
readonly localStateRoot: string;
|
|
25
23
|
}
|
|
26
24
|
declare const recordRootTypeId: unique symbol;
|
|
27
25
|
/**
|
|
@@ -20,8 +20,6 @@ export type RecordRootConstructionError = {
|
|
|
20
20
|
export interface RecordRootPaths {
|
|
21
21
|
/** The portable `<project>/.niceeval/record`-style directory. */
|
|
22
22
|
readonly portableRoot: string;
|
|
23
|
-
/** Local-only locks and operation state; never written inside portableRoot. */
|
|
24
|
-
readonly localStateRoot: string;
|
|
25
23
|
}
|
|
26
24
|
declare const recordRootTypeId: unique symbol;
|
|
27
25
|
/**
|