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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["hermes.ts"],"names":[],"mappings":"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","sourcesContent":["// Hermes sessions export / state.db 消息行解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/hermes/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const HERMES_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n terminal: \"shell\",\n read_file: \"file_read\",\n write_file: \"file_write\",\n edit_file: \"file_edit\",\n web_extract: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, HERMES_TOOL_ALIASES);\n}\n/** Hermes 的 terminal tool 给的是工具 arguments,不是可验证的 native argv。 */\nfunction commandProjectionForHermesTool(name: string) {\n return name.toLowerCase() === \"terminal\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\n/**\n * Hermes 以 `skill_view({ name })` 表示实际加载了一个已安装 Skill。它不是普通\n * 文件读取:对应的标准事件是 `skill.loaded`,这样判分和 execution 读面都无需猜工具文本。\n */\nfunction skillNameFromToolCall(name: string, input: JsonValue): string | undefined {\n if (name.toLowerCase() !== \"skill_view\")\n return undefined;\n return str(get(input, \"name\"));\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction parseJsonField(value: unknown): unknown {\n if (typeof value !== \"string\")\n return value;\n try {\n return JSON.parse(value);\n }\n catch {\n return value;\n }\n}\n/**\n * Hermes sessions export JSONL(一行一 session,或一行一 message)→ 标准事件 + usage。\n */\nexport function parseHermesTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let costUSD = 0;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n // `skill_view` 已转成 skill.loaded 后,其 tool result 不再重发成孤立 action 节点。\n const skillCallIds = new Set<string>();\n const nextSynthId = (): string => `hm_${++synth}`;\n if (!raw?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const ingestSessionMeta = (obj: globalThis.Record<string, unknown>): void => {\n inputTokens += num(obj, \"input_tokens\", \"inputTokens\");\n outputTokens += num(obj, \"output_tokens\", \"outputTokens\");\n cacheReadTokens += num(obj, \"cache_read_tokens\", \"cacheReadTokens\");\n cacheCreationTokens += num(obj, \"cache_write_tokens\", \"cacheWriteTokens\", \"cacheCreationTokens\");\n const actual = num(obj, \"actual_cost_usd\", \"actualCostUsd\");\n const estimated = num(obj, \"estimated_cost_usd\", \"estimatedCostUsd\");\n costUSD += actual || estimated;\n const apiCalls = num(obj, \"api_call_count\", \"apiCallCount\");\n if (apiCalls)\n requests += apiCalls;\n };\n const ingestMessage = (msg: globalThis.Record<string, unknown>): void => {\n const role = str(msg.role) ?? \"assistant\";\n const content = str(msg.content);\n if (role === \"tool\" || str(msg.tool_call_id) || str(msg.toolCallId)) {\n const callId = str(msg.tool_call_id) ?? str(msg.toolCallId) ?? nextSynthId();\n if (skillCallIds.has(callId))\n return;\n const success = msg.is_error !== true && msg.isError !== true;\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (content ?? get(msg, \"output\") ?? null) as JsonValue,\n status: success ? \"completed\" : \"failed\",\n });\n return;\n }\n const toolCallsRaw = parseJsonField(msg.tool_calls ?? msg.toolCalls);\n if (Array.isArray(toolCallsRaw)) {\n for (const call of toolCallsRaw) {\n const fn = get(call, \"function\") as globalThis.Record<string, unknown> | undefined;\n const name = str(get(fn, \"name\")) ?? str(get(call, \"name\")) ?? str(msg.tool_name) ?? \"unknown\";\n const callId = str(get(call, \"id\")) ?? nextSynthId();\n const args = coerceArgs(get(fn, \"arguments\") ?? get(call, \"arguments\") ?? get(call, \"input\"));\n const skill = skillNameFromToolCall(name, args);\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n skillCallIds.add(callId);\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: args,\n tool: normalizeToolName(name),\n command: commandProjectionForHermesTool(name),\n },\n });\n }\n }\n if (content?.trim() && role !== \"user\" && role !== \"system\") {\n events.push({ type: \"message\", role: \"assistant\", text: content });\n }\n else if (content?.trim() && role === \"user\" && !Array.isArray(toolCallsRaw)) {\n // 用户消息不进行为断言主路径;保留会污染 messageIncludes。跳过。\n }\n const reasoning = str(msg.reasoning) ?? str(msg.reasoning_content);\n if (reasoning?.trim())\n events.push({ type: \"thinking\", text: reasoning });\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let obj: globalThis.Record<string, unknown>;\n try {\n obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 整 session 导出:带 messages[]\n if (Array.isArray(obj.messages)) {\n ingestSessionMeta(obj);\n for (const m of obj.messages) {\n if (m && typeof m === \"object\")\n ingestMessage(m as globalThis.Record<string, unknown>);\n }\n continue;\n }\n // 单行 message\n if (str(obj.role)) {\n ingestMessage(obj);\n continue;\n }\n // sqlite dump 行:{session_id, role, content, tool_calls, ...}\n if (str(obj.session_id) || str(obj.sessionId)) {\n ingestMessage(obj);\n continue;\n }\n ingestSessionMeta(obj);\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (costUSD)\n usage.costUSD = costUSD;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n/** 从 export / stdout 文本里抠 session id。 */\nexport function sessionIdFromHermesOutput(raw: string | undefined): string | undefined {\n if (!raw)\n return undefined;\n for (const line of raw.split(\"\\n\")) {\n const resume = line.match(/hermes\\s+(?:chat\\s+)?(?:--resume|-r)\\s+(\\S+)/i);\n if (resume?.[1])\n return resume[1].replace(/[\"'`]/g, \"\");\n const labeled = line.match(/Session:\\s*([A-Za-z0-9_-]+)/i);\n if (labeled?.[1])\n return labeled[1];\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"{\"))\n continue;\n try {\n const obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n const id = str(obj.id) ?? str(obj.session_id) ?? str(obj.sessionId);\n if (id && (Array.isArray(obj.messages) || str(obj.source)))\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["hermes.ts"],"names":[],"mappings":";;;AAgFA,sDA0IC;AAED,8DAwBC;AAhPD,oDAA8F;AAC9F,8DAAgE;AAChE,oEAAyF;AAC5E,QAAA,mBAAmB,GAAwC;IACpE,GAAG,oCAAoB;IACvB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,WAAW;CAC3B,CAAC;AACF,SAAS,iBAAiB,CAAC,IAAY;IACnC,OAAO,IAAA,iCAAe,EAAC,IAAI,EAAE,2BAAmB,CAAC,CAAC;AACtD,CAAC;AACD,iEAAiE;AACjE,SAAS,8BAA8B,CAAC,IAAY;IAChD,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU;QACpC,CAAC,CAAC,IAAA,+CAAuB,EAAC,sBAAsB,CAAC;QACjD,CAAC,CAAC,IAAA,4CAAoB,GAAE,CAAC;AACjC,CAAC;AACD,SAAS,GAAG,CAAC,GAAY,EAAE,GAAW;IAClC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAA0C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzG,CAAC;AACD,SAAS,GAAG,CAAC,CAAU;IACnB,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AACD;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,KAAgB;IACzD,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY;QACnC,OAAO,SAAS,CAAC;IACrB,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,GAAG,CAAC,GAAY,EAAE,GAAG,IAAc;IACxC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AACD,SAAS,WAAW,CAAC,GAAY,EAAE,GAAG,IAAc;IAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnD,OAAO,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAS,UAAU,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,IAAA,kCAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC;YACH,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAA,kCAAkB,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,cAAc,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC;IACjB,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AACD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,GAAuB;IACzD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,mEAAmE;IACnE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAClD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,iBAAiB,GAAG,CAAC,GAAuC,EAAQ,EAAE;QACxE,WAAW,IAAI,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QACvD,YAAY,IAAI,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC1D,eAAe,IAAI,GAAG,CAAC,GAAG,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACpE,mBAAmB,IAAI,GAAG,CAAC,GAAG,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;QACjG,wEAAwE;QACxE,oDAAoD;QACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,eAAe,IAAI,MAAM,CAAC;YAC1B,kBAAkB,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC5D,IAAI,QAAQ;YACR,QAAQ,IAAI,QAAQ,CAAC;IAC7B,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,GAAuC,EAAQ,EAAE;QACpE,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YAC7E,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;gBACxB,OAAO;YACX,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAc;gBAC5D,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;aAC3C,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAmD,CAAC;gBACnF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;gBAC/F,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC;gBACrD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9F,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzB,SAAS;gBACb,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI;wBACJ,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC;wBAC7B,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC;qBAChD;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;aACI,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1E,0CAA0C;QAC9C,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE,IAAI,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YACR,SAAS;QACb,IAAI,GAAuC,CAAC;QAC5C,IAAI,CAAC;YACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuC,CAAC;QACpE,CAAC;QACD,MAAM,CAAC;YACH,YAAY,GAAG,KAAK,CAAC;YACrB,SAAS;QACb,CAAC;QACD,IAAI,CAAC;YACD,4BAA4B;YAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;wBAC1B,aAAa,CAAC,CAAuC,CAAC,CAAC;gBAC/D,CAAC;gBACD,SAAS;YACb,CAAC;YACD,aAAa;YACb,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChB,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,6DAA6D;YAC7D,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC;YACH,YAAY,GAAG,KAAK,CAAC;QACzB,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,IAAI,WAAW;QACX,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACpC,IAAI,YAAY;QACZ,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IACtC,IAAI,eAAe;QACf,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;IAC5C,IAAI,mBAAmB;QACnB,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACpD,IAAI,kBAAkB;QAClB,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;IACpC,IAAI,QAAQ;QACR,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC;AAC3D,CAAC;AACD,yCAAyC;AACzC,SAAgB,yBAAyB,CAAC,GAAuB;IAC7D,IAAI,CAAC,GAAG;QACJ,OAAO,SAAS,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC3E,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;YACX,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACxB,SAAS;QACb,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuC,CAAC;YACtE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,CAAC;YACH,OAAO;QACX,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC","sourcesContent":["// Hermes sessions export / state.db 消息行解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/hermes/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const HERMES_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n terminal: \"shell\",\n read_file: \"file_read\",\n write_file: \"file_write\",\n edit_file: \"file_edit\",\n web_extract: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, HERMES_TOOL_ALIASES);\n}\n/** Hermes 的 terminal tool 给的是工具 arguments,不是可验证的 native argv。 */\nfunction commandProjectionForHermesTool(name: string) {\n return name.toLowerCase() === \"terminal\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\n/**\n * Hermes 以 `skill_view({ name })` 表示实际加载了一个已安装 Skill。它不是普通\n * 文件读取:对应的标准事件是 `skill.loaded`,这样判分和 execution 读面都无需猜工具文本。\n */\nfunction skillNameFromToolCall(name: string, input: JsonValue): string | undefined {\n if (name.toLowerCase() !== \"skill_view\")\n return undefined;\n return str(get(input, \"name\"));\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction optionalNum(obj: unknown, ...keys: string[]): number | undefined {\n for (const key of keys) {\n const value = get(obj, key);\n if (typeof value === \"number\" && Number.isFinite(value))\n return value;\n }\n return undefined;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction parseJsonField(value: unknown): unknown {\n if (typeof value !== \"string\")\n return value;\n try {\n return JSON.parse(value);\n }\n catch {\n return value;\n }\n}\n/**\n * Hermes sessions export JSONL(一行一 session,或一行一 message)→ 标准事件 + usage。\n */\nexport function parseHermesTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let observedCostUSD = 0;\n let hasObservedCostUSD = false;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n // `skill_view` 已转成 skill.loaded 后,其 tool result 不再重发成孤立 action 节点。\n const skillCallIds = new Set<string>();\n const nextSynthId = (): string => `hm_${++synth}`;\n if (!raw?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const ingestSessionMeta = (obj: globalThis.Record<string, unknown>): void => {\n inputTokens += num(obj, \"input_tokens\", \"inputTokens\");\n outputTokens += num(obj, \"output_tokens\", \"outputTokens\");\n cacheReadTokens += num(obj, \"cache_read_tokens\", \"cacheReadTokens\");\n cacheCreationTokens += num(obj, \"cache_write_tokens\", \"cacheWriteTokens\", \"cacheCreationTokens\");\n // estimated_cost_usd is an estimate owned by Hermes and is deliberately\n // not relabeled as provider-observed Usage.costUSD.\n const actual = optionalNum(obj, \"actual_cost_usd\", \"actualCostUsd\");\n if (actual !== undefined) {\n observedCostUSD += actual;\n hasObservedCostUSD = true;\n }\n const apiCalls = num(obj, \"api_call_count\", \"apiCallCount\");\n if (apiCalls)\n requests += apiCalls;\n };\n const ingestMessage = (msg: globalThis.Record<string, unknown>): void => {\n const role = str(msg.role) ?? \"assistant\";\n const content = str(msg.content);\n if (role === \"tool\" || str(msg.tool_call_id) || str(msg.toolCallId)) {\n const callId = str(msg.tool_call_id) ?? str(msg.toolCallId) ?? nextSynthId();\n if (skillCallIds.has(callId))\n return;\n const success = msg.is_error !== true && msg.isError !== true;\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (content ?? get(msg, \"output\") ?? null) as JsonValue,\n status: success ? \"completed\" : \"failed\",\n });\n return;\n }\n const toolCallsRaw = parseJsonField(msg.tool_calls ?? msg.toolCalls);\n if (Array.isArray(toolCallsRaw)) {\n for (const call of toolCallsRaw) {\n const fn = get(call, \"function\") as globalThis.Record<string, unknown> | undefined;\n const name = str(get(fn, \"name\")) ?? str(get(call, \"name\")) ?? str(msg.tool_name) ?? \"unknown\";\n const callId = str(get(call, \"id\")) ?? nextSynthId();\n const args = coerceArgs(get(fn, \"arguments\") ?? get(call, \"arguments\") ?? get(call, \"input\"));\n const skill = skillNameFromToolCall(name, args);\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n skillCallIds.add(callId);\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: args,\n tool: normalizeToolName(name),\n command: commandProjectionForHermesTool(name),\n },\n });\n }\n }\n if (content?.trim() && role !== \"user\" && role !== \"system\") {\n events.push({ type: \"message\", role: \"assistant\", text: content });\n }\n else if (content?.trim() && role === \"user\" && !Array.isArray(toolCallsRaw)) {\n // 用户消息不进行为断言主路径;保留会污染 messageIncludes。跳过。\n }\n const reasoning = str(msg.reasoning) ?? str(msg.reasoning_content);\n if (reasoning?.trim())\n events.push({ type: \"thinking\", text: reasoning });\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let obj: globalThis.Record<string, unknown>;\n try {\n obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 整 session 导出:带 messages[]\n if (Array.isArray(obj.messages)) {\n ingestSessionMeta(obj);\n for (const m of obj.messages) {\n if (m && typeof m === \"object\")\n ingestMessage(m as globalThis.Record<string, unknown>);\n }\n continue;\n }\n // 单行 message\n if (str(obj.role)) {\n ingestMessage(obj);\n continue;\n }\n // sqlite dump 行:{session_id, role, content, tool_calls, ...}\n if (str(obj.session_id) || str(obj.sessionId)) {\n ingestMessage(obj);\n continue;\n }\n ingestSessionMeta(obj);\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (hasObservedCostUSD)\n usage.costUSD = observedCostUSD;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n/** 从 export / stdout 文本里抠 session id。 */\nexport function sessionIdFromHermesOutput(raw: string | undefined): string | undefined {\n if (!raw)\n return undefined;\n for (const line of raw.split(\"\\n\")) {\n const resume = line.match(/hermes\\s+(?:chat\\s+)?(?:--resume|-r)\\s+(\\S+)/i);\n if (resume?.[1])\n return resume[1].replace(/[\"'`]/g, \"\");\n const labeled = line.match(/Session:\\s*([A-Za-z0-9_-]+)/i);\n if (labeled?.[1])\n return labeled[1];\n const trimmed = line.trim();\n if (!trimmed.startsWith(\"{\"))\n continue;\n try {\n const obj = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n const id = str(obj.id) ?? str(obj.session_id) ?? str(obj.sessionId);\n if (id && (Array.isArray(obj.messages) || str(obj.source)))\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n"]}
|
|
@@ -88,7 +88,6 @@ function parseOpenClawTranscript(raw) {
|
|
|
88
88
|
let outputTokens = 0;
|
|
89
89
|
let cacheReadTokens = 0;
|
|
90
90
|
let cacheCreationTokens = 0;
|
|
91
|
-
let costUSD = 0;
|
|
92
91
|
let requests = 0;
|
|
93
92
|
let compactions = 0;
|
|
94
93
|
let parseSuccess = true;
|
|
@@ -100,19 +99,20 @@ function parseOpenClawTranscript(raw) {
|
|
|
100
99
|
const addUsage = (usage) => {
|
|
101
100
|
if (!usage || typeof usage !== "object")
|
|
102
101
|
return;
|
|
103
|
-
//
|
|
102
|
+
// OpenClaw's transcript cost is session-derived from a price catalog, not
|
|
103
|
+
// provider billing. Preserve its token facts but never relabel that
|
|
104
|
+
// estimate as observed Usage.costUSD.
|
|
105
|
+
// pi 系简写(input/output/cacheRead/cacheWrite)与 snake_case 变体都认。
|
|
104
106
|
const input = num(usage, "input", "input_tokens", "inputTokens", "prompt_tokens");
|
|
105
107
|
const output = num(usage, "output", "output_tokens", "outputTokens", "completion_tokens");
|
|
106
108
|
const cacheRead = num(usage, "cacheRead", "cache_read_input_tokens", "cacheReadTokens");
|
|
107
109
|
const cacheCreation = num(usage, "cacheWrite", "cache_creation_input_tokens", "cacheCreationTokens");
|
|
108
|
-
|
|
109
|
-
if (input === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0 && cost === 0)
|
|
110
|
+
if (input === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0)
|
|
110
111
|
return;
|
|
111
112
|
inputTokens += input;
|
|
112
113
|
outputTokens += output;
|
|
113
114
|
cacheReadTokens += cacheRead;
|
|
114
115
|
cacheCreationTokens += cacheCreation;
|
|
115
|
-
costUSD += cost;
|
|
116
116
|
requests += 1;
|
|
117
117
|
};
|
|
118
118
|
for (const line of raw.split("\n")) {
|
|
@@ -216,8 +216,6 @@ function parseOpenClawTranscript(raw) {
|
|
|
216
216
|
usage.cacheCreationTokens = cacheCreationTokens;
|
|
217
217
|
if (requests > 0)
|
|
218
218
|
usage.requests = requests;
|
|
219
|
-
if (costUSD > 0)
|
|
220
|
-
usage.costUSD = costUSD;
|
|
221
219
|
return { events, usage, compactions, parseSuccess };
|
|
222
220
|
}
|
|
223
221
|
/** 便捷形态:只要 StreamEvent[]。 */
|
|
@@ -272,9 +270,6 @@ function parseOpenClawRunJson(stdout) {
|
|
|
272
270
|
const cacheRead = num(rawUsage, "cacheRead", "cache_read_input_tokens", "cacheReadTokens");
|
|
273
271
|
if (cacheRead > 0)
|
|
274
272
|
usage.cacheReadTokens = cacheRead;
|
|
275
|
-
const cost = num(rawUsage, "cost") || num(get(rawUsage, "cost"), "total");
|
|
276
|
-
if (cost > 0)
|
|
277
|
-
usage.costUSD = cost;
|
|
278
273
|
}
|
|
279
274
|
}
|
|
280
275
|
const status = get(doc, "status");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["openclaw.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenClaw transcript / `agent --json` 解析器。OpenClaw 方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/openclaw/README.md:字段事实以真实 CLI 与 transcript\n// fixture 固定为准;fixture 未证明的形状这里只做防御式解析,认不出的行标 parseSuccess=false,\n// 绝不从最终文本猜测工具轨迹)。\n//\n// 行为轨两个来源(collection.md 的通道优先级):\n// 1. session transcript JSONL(~/.openclaw/agents/**/sessions/*.jsonl,pi-agent 系\n// 消息格式:role/content parts,toolCall/toolResult 按 call ID 配对)→ parseOpenClawTranscript;\n// 2. `openclaw agent --json` 的 stdout 结果封包(最终回复、session key、失败与 usage 摘要,\n// 无完整工具轨迹)→ parseOpenClawRunJson,只在 transcript 拿不到时兜底。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\n/**\n * OpenClaw 特有工具别名(CLI 自己的 transcript 词汇,不会撞用户域名,裸动词可 opt-in)\n * + 通用裸动词基表。\n */\nexport const OPENCLAW_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n read: \"file_read\",\n write: \"file_write\",\n edit: \"file_edit\",\n exec: \"shell\",\n process: \"shell\",\n browser: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, OPENCLAW_TOOL_ALIASES);\n}\n/** OpenClaw 的 exec/process parts 标识 shell action,但 transcript 不提供原生 argv。 */\nfunction commandProjectionForOpenClawTool(name: string) {\n const lower = name.toLowerCase();\n return lower === \"exec\" || lower === \"process\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\n/** content parts / 字符串 → 纯文本(text 类 part 拼接)。 */\nfunction extractText(content: unknown): string {\n if (typeof content === \"string\")\n return content;\n if (Array.isArray(content)) {\n const parts: string[] = [];\n for (const b of content) {\n if (typeof b === \"string\")\n parts.push(b);\n else {\n const t = get(b, \"text\") ?? get(b, \"content\");\n if (typeof t === \"string\" && t)\n parts.push(t);\n }\n }\n return parts.join(\"\\n\");\n }\n return \"\";\n}\n/**\n * OpenClaw session transcript(JSONL,pi-agent 系消息格式)→ 标准事件流 + 用量 + 压缩计数。\n * assistant 消息的 text / thinking / toolCall parts → message / thinking / operation.started,\n * toolResult 消息按 toolCallId 配对成 operation.finished(isError → failed),消息级 usage 逐条\n * 累加,compaction 条目计入压缩次数。认不出 / 解析失败的行标 `parseSuccess: false` 并跳过,\n * 不猜测——transcript 不完整时负断言不可信(契约见 sdk/openclaw/README.md)。\n */\nexport function parseOpenClawTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let costUSD = 0;\n let requests = 0;\n let compactions = 0;\n let parseSuccess = true;\n if (!raw || !raw.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n let synth = 0;\n const nextSynthId = (): string => `oc_${++synth}`;\n const addUsage = (usage: unknown): void => {\n if (!usage || typeof usage !== \"object\")\n return;\n // pi 系简写(input/output/cacheRead/cacheWrite/cost.total)与 snake_case 变体都认。\n const input = num(usage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(usage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n const cacheRead = num(usage, \"cacheRead\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n const cacheCreation = num(usage, \"cacheWrite\", \"cache_creation_input_tokens\", \"cacheCreationTokens\");\n const cost = num(usage, \"cost\") || num(get(usage, \"cost\"), \"total\");\n if (input === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0 && cost === 0)\n return;\n inputTokens += input;\n outputTokens += output;\n cacheReadTokens += cacheRead;\n cacheCreationTokens += cacheCreation;\n costUSD += cost;\n requests += 1;\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let entry: unknown;\n try {\n entry = JSON.parse(trimmed);\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 会话条目可能带 { type: \"message\", message: {...} } 包装,也可能就是消息本体。\n const wrappedMessage = get(entry, \"message\");\n const entryType = get(entry, \"type\");\n const msg = wrappedMessage && typeof wrappedMessage === \"object\" ? wrappedMessage : entry;\n const role = get(msg, \"role\");\n if (entryType === \"compaction\" || entryType === \"compact\" || get(entry, \"kind\") === \"compaction\") {\n compactions += 1;\n events.push({ type: \"compaction\", reason: str(get(entry, \"reason\")) });\n continue;\n }\n if (entryType === \"error\" && role === undefined) {\n events.push({ type: \"error\", message: String(get(entry, \"message\") ?? get(entry, \"error\") ?? \"error\") });\n continue;\n }\n if (role === \"assistant\") {\n addUsage(get(msg, \"usage\"));\n const content = get(msg, \"content\");\n if (typeof content === \"string\") {\n if (content)\n events.push({ type: \"message\", role: \"assistant\", text: content });\n continue;\n }\n if (!Array.isArray(content))\n continue;\n for (const part of content) {\n const partType = get(part, \"type\");\n if (partType === \"text\") {\n const text = str(get(part, \"text\"));\n if (text)\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n else if (partType === \"thinking\" || partType === \"reasoning\") {\n const text = str(get(part, \"thinking\")) ?? str(get(part, \"reasoning\")) ?? str(get(part, \"text\"));\n if (text)\n events.push({ type: \"thinking\", text });\n }\n else if (partType === \"toolCall\" || partType === \"tool_call\" || partType === \"tool-call\" || partType === \"toolUse\") {\n const name = String(get(part, \"name\") ?? get(part, \"toolName\") ?? \"unknown\");\n const callId = str(get(part, \"id\")) ?? str(get(part, \"toolCallId\")) ?? str(get(part, \"tool_call_id\")) ?? nextSynthId();\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: coerceArgs(get(part, \"arguments\") ?? get(part, \"args\") ?? get(part, \"input\")),\n tool: normalizeToolName(name),\n command: commandProjectionForOpenClawTool(name),\n },\n });\n }\n }\n continue;\n }\n if (role === \"user\") {\n const text = extractText(get(msg, \"content\") ?? get(msg, \"text\"));\n if (text)\n events.push({ type: \"message\", role: \"user\", text });\n continue;\n }\n if (role === \"toolResult\" || role === \"tool\") {\n const callId = str(get(msg, \"toolCallId\")) ?? str(get(msg, \"tool_call_id\")) ?? str(get(msg, \"id\")) ?? nextSynthId();\n const isError = get(msg, \"isError\") === true || get(msg, \"is_error\") === true;\n const output = get(msg, \"output\") ?? get(msg, \"result\") ?? get(msg, \"content\");\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (typeof output === \"string\" ? output : (extractText(output) || output)) as JsonValue,\n status: isError ? \"failed\" : \"completed\",\n });\n continue;\n }\n // 其它条目(system prompt、订阅元数据等):无对应 StreamEvent。\n }\n catch {\n parseSuccess = false;\n }\n }\n // requests > 0 意味着至少一条消息真的带回了 usage;整份 transcript 没有任何 usage 时\n // input/output 也不该垫成 0(见 docs/feature/record/architecture.md#usage)。\n const usage: Usage = requests > 0 ? { inputTokens, outputTokens } : {};\n if (cacheReadTokens > 0)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens > 0)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (requests > 0)\n usage.requests = requests;\n if (costUSD > 0)\n usage.costUSD = costUSD;\n return { events, usage, compactions, parseSuccess };\n}\n/** 便捷形态:只要 StreamEvent[]。 */\nexport function parseOpenClaw(raw: string | undefined): StreamEvent[] {\n return parseOpenClawTranscript(raw).events;\n}\n/** `openclaw agent --json` 结果封包里抠出的摘要(无完整工具轨迹,只兜底)。 */\nexport interface OpenClawRunJson {\n /** 最终回复文本(result.text / payloads[].text / reply 变体)。 */\n text?: string;\n /** 本次 run 的 session key(首轮 capture、后续 resume 用)。 */\n sessionId?: string;\n /**\n * 本轮 session transcript 绝对路径(`meta.agentMeta.sessionFile`)。\n * 有的话优先按路径读,避开同目录 `*.trajectory.jsonl` 抢「最新」mtime。\n */\n sessionFile?: string;\n /** 封包报告的用量;没报就省略,不编造。 */\n usage?: Usage;\n /** 封包自报失败(error 字段 / status=error|failed / success=false)。 */\n failed: boolean;\n}\n/**\n * `openclaw agent --json` 的 stdout → 结果摘要。整段 stdout 先按单个 JSON 文档解析\n * (含 pretty-print 多行),失败再逐行扫最后一个 JSON 对象(混了日志行的场景)。\n * 完全解析不出时返回空摘要(`failed: false`)——失败判定交给调用方的 exitCode。\n */\nexport function parseOpenClawRunJson(stdout: string | undefined): OpenClawRunJson {\n const doc = parseJsonDocument(stdout);\n if (!doc)\n return { failed: false };\n const result = get(doc, \"result\");\n const textFromPayloads = (payloads: unknown): string | undefined => {\n if (!Array.isArray(payloads))\n return undefined;\n const texts = payloads.map((p) => str(get(p, \"text\"))).filter((t): t is string => !!t);\n return texts.length ? texts.join(\"\\n\") : undefined;\n };\n const text = str(get(result, \"text\")) ??\n textFromPayloads(get(result, \"payloads\")) ??\n textFromPayloads(get(doc, \"payloads\")) ??\n str(get(doc, \"text\")) ??\n str(get(doc, \"reply\")) ??\n str(get(doc, \"message\"));\n const meta = get(doc, \"meta\");\n const agentMeta = get(meta, \"agentMeta\");\n const sessionId = str(get(doc, \"sessionId\")) ??\n str(get(doc, \"session_id\")) ??\n str(get(doc, \"sessionKey\")) ??\n str(get(result, \"sessionId\")) ??\n str(get(result, \"session_id\")) ??\n str(get(agentMeta, \"sessionId\")) ??\n str(get(agentMeta, \"session_id\"));\n const sessionFile = str(get(agentMeta, \"sessionFile\")) ??\n str(get(doc, \"sessionFile\")) ??\n str(get(result, \"sessionFile\"));\n const rawUsage = get(doc, \"usage\") ??\n get(result, \"usage\") ??\n get(meta, \"usage\") ??\n get(agentMeta, \"usage\") ??\n get(agentMeta, \"lastCallUsage\");\n let usage: Usage | undefined;\n if (rawUsage && typeof rawUsage === \"object\") {\n const input = num(rawUsage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(rawUsage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n if (input > 0 || output > 0) {\n usage = { inputTokens: input, outputTokens: output };\n const cacheRead = num(rawUsage, \"cacheRead\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n if (cacheRead > 0)\n usage.cacheReadTokens = cacheRead;\n const cost = num(rawUsage, \"cost\") || num(get(rawUsage, \"cost\"), \"total\");\n if (cost > 0)\n usage.costUSD = cost;\n }\n }\n const status = get(doc, \"status\");\n const failed = get(doc, \"error\") != null ||\n get(doc, \"success\") === false ||\n (typeof status === \"string\" && /^(error|failed)$/i.test(status));\n return {\n ...(text !== undefined ? { text } : {}),\n ...(sessionId !== undefined ? { sessionId } : {}),\n ...(sessionFile !== undefined ? { sessionFile } : {}),\n ...(usage !== undefined ? { usage } : {}),\n failed,\n };\n}\nfunction parseJsonDocument(stdout: string | undefined): globalThis.Record<string, unknown> | undefined {\n if (!stdout || !stdout.trim())\n return undefined;\n const trimmed = stdout.trim();\n try {\n const doc = JSON.parse(trimmed) as unknown;\n if (doc && typeof doc === \"object\" && !Array.isArray(doc))\n return doc as globalThis.Record<string, unknown>;\n }\n catch {\n // 混日志行:逐行找最后一个完整 JSON 对象\n }\n const lines = trimmed.split(\"\\n\").reverse();\n for (const line of lines) {\n const l = line.trim();\n if (!l.startsWith(\"{\") || !l.endsWith(\"}\"))\n continue;\n try {\n const doc = JSON.parse(l) as unknown;\n if (doc && typeof doc === \"object\")\n return doc as globalThis.Record<string, unknown>;\n }\n catch {\n // 继续往上找\n }\n }\n return undefined;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"openclaw.js","sourceRoot":"","sources":["openclaw.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenClaw transcript / `agent --json` 解析器。OpenClaw 方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/openclaw/README.md:字段事实以真实 CLI 与 transcript\n// fixture 固定为准;fixture 未证明的形状这里只做防御式解析,认不出的行标 parseSuccess=false,\n// 绝不从最终文本猜测工具轨迹)。\n//\n// 行为轨两个来源(collection.md 的通道优先级):\n// 1. session transcript JSONL(~/.openclaw/agents/**/sessions/*.jsonl,pi-agent 系\n// 消息格式:role/content parts,toolCall/toolResult 按 call ID 配对)→ parseOpenClawTranscript;\n// 2. `openclaw agent --json` 的 stdout 结果封包(最终回复、session key、失败与 usage 摘要,\n// 无完整工具轨迹)→ parseOpenClawRunJson,只在 transcript 拿不到时兜底。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\n/**\n * OpenClaw 特有工具别名(CLI 自己的 transcript 词汇,不会撞用户域名,裸动词可 opt-in)\n * + 通用裸动词基表。\n */\nexport const OPENCLAW_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n read: \"file_read\",\n write: \"file_write\",\n edit: \"file_edit\",\n exec: \"shell\",\n process: \"shell\",\n browser: \"web_fetch\",\n};\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, OPENCLAW_TOOL_ALIASES);\n}\n/** OpenClaw 的 exec/process parts 标识 shell action,但 transcript 不提供原生 argv。 */\nfunction commandProjectionForOpenClawTool(name: string) {\n const lower = name.toLowerCase();\n return lower === \"exec\" || lower === \"process\"\n ? opaqueCommandProjection(\"unsupported-protocol\")\n : notCommandProjection();\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\n/** content parts / 字符串 → 纯文本(text 类 part 拼接)。 */\nfunction extractText(content: unknown): string {\n if (typeof content === \"string\")\n return content;\n if (Array.isArray(content)) {\n const parts: string[] = [];\n for (const b of content) {\n if (typeof b === \"string\")\n parts.push(b);\n else {\n const t = get(b, \"text\") ?? get(b, \"content\");\n if (typeof t === \"string\" && t)\n parts.push(t);\n }\n }\n return parts.join(\"\\n\");\n }\n return \"\";\n}\n/**\n * OpenClaw session transcript(JSONL,pi-agent 系消息格式)→ 标准事件流 + 用量 + 压缩计数。\n * assistant 消息的 text / thinking / toolCall parts → message / thinking / operation.started,\n * toolResult 消息按 toolCallId 配对成 operation.finished(isError → failed),消息级 usage 逐条\n * 累加,compaction 条目计入压缩次数。认不出 / 解析失败的行标 `parseSuccess: false` 并跳过,\n * 不猜测——transcript 不完整时负断言不可信(契约见 sdk/openclaw/README.md)。\n */\nexport function parseOpenClawTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let requests = 0;\n let compactions = 0;\n let parseSuccess = true;\n if (!raw || !raw.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n let synth = 0;\n const nextSynthId = (): string => `oc_${++synth}`;\n const addUsage = (usage: unknown): void => {\n if (!usage || typeof usage !== \"object\")\n return;\n // OpenClaw's transcript cost is session-derived from a price catalog, not\n // provider billing. Preserve its token facts but never relabel that\n // estimate as observed Usage.costUSD.\n // pi 系简写(input/output/cacheRead/cacheWrite)与 snake_case 变体都认。\n const input = num(usage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(usage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n const cacheRead = num(usage, \"cacheRead\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n const cacheCreation = num(usage, \"cacheWrite\", \"cache_creation_input_tokens\", \"cacheCreationTokens\");\n if (input === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0)\n return;\n inputTokens += input;\n outputTokens += output;\n cacheReadTokens += cacheRead;\n cacheCreationTokens += cacheCreation;\n requests += 1;\n };\n for (const line of raw.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let entry: unknown;\n try {\n entry = JSON.parse(trimmed);\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n // 会话条目可能带 { type: \"message\", message: {...} } 包装,也可能就是消息本体。\n const wrappedMessage = get(entry, \"message\");\n const entryType = get(entry, \"type\");\n const msg = wrappedMessage && typeof wrappedMessage === \"object\" ? wrappedMessage : entry;\n const role = get(msg, \"role\");\n if (entryType === \"compaction\" || entryType === \"compact\" || get(entry, \"kind\") === \"compaction\") {\n compactions += 1;\n events.push({ type: \"compaction\", reason: str(get(entry, \"reason\")) });\n continue;\n }\n if (entryType === \"error\" && role === undefined) {\n events.push({ type: \"error\", message: String(get(entry, \"message\") ?? get(entry, \"error\") ?? \"error\") });\n continue;\n }\n if (role === \"assistant\") {\n addUsage(get(msg, \"usage\"));\n const content = get(msg, \"content\");\n if (typeof content === \"string\") {\n if (content)\n events.push({ type: \"message\", role: \"assistant\", text: content });\n continue;\n }\n if (!Array.isArray(content))\n continue;\n for (const part of content) {\n const partType = get(part, \"type\");\n if (partType === \"text\") {\n const text = str(get(part, \"text\"));\n if (text)\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n else if (partType === \"thinking\" || partType === \"reasoning\") {\n const text = str(get(part, \"thinking\")) ?? str(get(part, \"reasoning\")) ?? str(get(part, \"text\"));\n if (text)\n events.push({ type: \"thinking\", text });\n }\n else if (partType === \"toolCall\" || partType === \"tool_call\" || partType === \"tool-call\" || partType === \"toolUse\") {\n const name = String(get(part, \"name\") ?? get(part, \"toolName\") ?? \"unknown\");\n const callId = str(get(part, \"id\")) ?? str(get(part, \"toolCallId\")) ?? str(get(part, \"tool_call_id\")) ?? nextSynthId();\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input: coerceArgs(get(part, \"arguments\") ?? get(part, \"args\") ?? get(part, \"input\")),\n tool: normalizeToolName(name),\n command: commandProjectionForOpenClawTool(name),\n },\n });\n }\n }\n continue;\n }\n if (role === \"user\") {\n const text = extractText(get(msg, \"content\") ?? get(msg, \"text\"));\n if (text)\n events.push({ type: \"message\", role: \"user\", text });\n continue;\n }\n if (role === \"toolResult\" || role === \"tool\") {\n const callId = str(get(msg, \"toolCallId\")) ?? str(get(msg, \"tool_call_id\")) ?? str(get(msg, \"id\")) ?? nextSynthId();\n const isError = get(msg, \"isError\") === true || get(msg, \"is_error\") === true;\n const output = get(msg, \"output\") ?? get(msg, \"result\") ?? get(msg, \"content\");\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (typeof output === \"string\" ? output : (extractText(output) || output)) as JsonValue,\n status: isError ? \"failed\" : \"completed\",\n });\n continue;\n }\n // 其它条目(system prompt、订阅元数据等):无对应 StreamEvent。\n }\n catch {\n parseSuccess = false;\n }\n }\n // requests > 0 意味着至少一条消息真的带回了 usage;整份 transcript 没有任何 usage 时\n // input/output 也不该垫成 0(见 docs/feature/record/architecture.md#usage)。\n const usage: Usage = requests > 0 ? { inputTokens, outputTokens } : {};\n if (cacheReadTokens > 0)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens > 0)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (requests > 0)\n usage.requests = requests;\n return { events, usage, compactions, parseSuccess };\n}\n/** 便捷形态:只要 StreamEvent[]。 */\nexport function parseOpenClaw(raw: string | undefined): StreamEvent[] {\n return parseOpenClawTranscript(raw).events;\n}\n/** `openclaw agent --json` 结果封包里抠出的摘要(无完整工具轨迹,只兜底)。 */\nexport interface OpenClawRunJson {\n /** 最终回复文本(result.text / payloads[].text / reply 变体)。 */\n text?: string;\n /** 本次 run 的 session key(首轮 capture、后续 resume 用)。 */\n sessionId?: string;\n /**\n * 本轮 session transcript 绝对路径(`meta.agentMeta.sessionFile`)。\n * 有的话优先按路径读,避开同目录 `*.trajectory.jsonl` 抢「最新」mtime。\n */\n sessionFile?: string;\n /** 封包报告的用量;没报就省略,不编造。 */\n usage?: Usage;\n /** 封包自报失败(error 字段 / status=error|failed / success=false)。 */\n failed: boolean;\n}\n/**\n * `openclaw agent --json` 的 stdout → 结果摘要。整段 stdout 先按单个 JSON 文档解析\n * (含 pretty-print 多行),失败再逐行扫最后一个 JSON 对象(混了日志行的场景)。\n * 完全解析不出时返回空摘要(`failed: false`)——失败判定交给调用方的 exitCode。\n */\nexport function parseOpenClawRunJson(stdout: string | undefined): OpenClawRunJson {\n const doc = parseJsonDocument(stdout);\n if (!doc)\n return { failed: false };\n const result = get(doc, \"result\");\n const textFromPayloads = (payloads: unknown): string | undefined => {\n if (!Array.isArray(payloads))\n return undefined;\n const texts = payloads.map((p) => str(get(p, \"text\"))).filter((t): t is string => !!t);\n return texts.length ? texts.join(\"\\n\") : undefined;\n };\n const text = str(get(result, \"text\")) ??\n textFromPayloads(get(result, \"payloads\")) ??\n textFromPayloads(get(doc, \"payloads\")) ??\n str(get(doc, \"text\")) ??\n str(get(doc, \"reply\")) ??\n str(get(doc, \"message\"));\n const meta = get(doc, \"meta\");\n const agentMeta = get(meta, \"agentMeta\");\n const sessionId = str(get(doc, \"sessionId\")) ??\n str(get(doc, \"session_id\")) ??\n str(get(doc, \"sessionKey\")) ??\n str(get(result, \"sessionId\")) ??\n str(get(result, \"session_id\")) ??\n str(get(agentMeta, \"sessionId\")) ??\n str(get(agentMeta, \"session_id\"));\n const sessionFile = str(get(agentMeta, \"sessionFile\")) ??\n str(get(doc, \"sessionFile\")) ??\n str(get(result, \"sessionFile\"));\n const rawUsage = get(doc, \"usage\") ??\n get(result, \"usage\") ??\n get(meta, \"usage\") ??\n get(agentMeta, \"usage\") ??\n get(agentMeta, \"lastCallUsage\");\n let usage: Usage | undefined;\n if (rawUsage && typeof rawUsage === \"object\") {\n const input = num(rawUsage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(rawUsage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n if (input > 0 || output > 0) {\n usage = { inputTokens: input, outputTokens: output };\n const cacheRead = num(rawUsage, \"cacheRead\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n if (cacheRead > 0)\n usage.cacheReadTokens = cacheRead;\n }\n }\n const status = get(doc, \"status\");\n const failed = get(doc, \"error\") != null ||\n get(doc, \"success\") === false ||\n (typeof status === \"string\" && /^(error|failed)$/i.test(status));\n return {\n ...(text !== undefined ? { text } : {}),\n ...(sessionId !== undefined ? { sessionId } : {}),\n ...(sessionFile !== undefined ? { sessionFile } : {}),\n ...(usage !== undefined ? { usage } : {}),\n failed,\n };\n}\nfunction parseJsonDocument(stdout: string | undefined): globalThis.Record<string, unknown> | undefined {\n if (!stdout || !stdout.trim())\n return undefined;\n const trimmed = stdout.trim();\n try {\n const doc = JSON.parse(trimmed) as unknown;\n if (doc && typeof doc === \"object\" && !Array.isArray(doc))\n return doc as globalThis.Record<string, unknown>;\n }\n catch {\n // 混日志行:逐行找最后一个完整 JSON 对象\n }\n const lines = trimmed.split(\"\\n\").reverse();\n for (const line of lines) {\n const l = line.trim();\n if (!l.startsWith(\"{\") || !l.endsWith(\"}\"))\n continue;\n try {\n const doc = JSON.parse(l) as unknown;\n if (doc && typeof doc === \"object\")\n return doc as globalThis.Record<string, unknown>;\n }\n catch {\n // 继续往上找\n }\n }\n return undefined;\n}\n"]}
|
|
@@ -125,7 +125,6 @@ function parseOpenCodeTranscript(raw) {
|
|
|
125
125
|
let outputTokens = 0;
|
|
126
126
|
let cacheReadTokens = 0;
|
|
127
127
|
let cacheCreationTokens = 0;
|
|
128
|
-
let costUSD = 0;
|
|
129
128
|
let requests = 0;
|
|
130
129
|
let parseSuccess = true;
|
|
131
130
|
let synth = 0;
|
|
@@ -138,14 +137,15 @@ function parseOpenCodeTranscript(raw) {
|
|
|
138
137
|
const addUsage = (usage) => {
|
|
139
138
|
if (!usage || typeof usage !== "object")
|
|
140
139
|
return;
|
|
140
|
+
// OpenCode derives its cost fields from model metadata. Keep only the
|
|
141
|
+
// recorded usage facts; Usage.costUSD is reserved for observed billing.
|
|
141
142
|
const rawInput = num(usage, "input", "input_tokens", "inputTokens", "prompt_tokens");
|
|
142
143
|
const output = num(usage, "output", "output_tokens", "outputTokens", "completion_tokens");
|
|
143
144
|
let cacheRead = num(usage, "cacheRead", "cache_read", "cache_read_input_tokens", "cacheReadTokens");
|
|
144
145
|
if (cacheRead === 0)
|
|
145
146
|
cacheRead = num(get(usage, "prompt_tokens_details"), "cached_tokens");
|
|
146
147
|
const cacheCreation = num(usage, "cacheWrite", "cache_write", "cache_creation_input_tokens");
|
|
147
|
-
|
|
148
|
-
if (rawInput === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0 && cost === 0)
|
|
148
|
+
if (rawInput === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0)
|
|
149
149
|
return;
|
|
150
150
|
// Chat Completions 口径的 prompt_tokens 可能含缓存命中
|
|
151
151
|
const input = Math.max(0, rawInput - cacheRead);
|
|
@@ -153,7 +153,6 @@ function parseOpenCodeTranscript(raw) {
|
|
|
153
153
|
outputTokens += output;
|
|
154
154
|
cacheReadTokens += cacheRead;
|
|
155
155
|
cacheCreationTokens += cacheCreation;
|
|
156
|
-
costUSD += cost;
|
|
157
156
|
requests += 1;
|
|
158
157
|
};
|
|
159
158
|
for (const line of jsonl.split("\n")) {
|
|
@@ -231,13 +230,11 @@ function parseOpenCodeTranscript(raw) {
|
|
|
231
230
|
continue;
|
|
232
231
|
}
|
|
233
232
|
if (eventType === "step_finish" || eventType === "step_start") {
|
|
234
|
-
// OpenCode 1.18
|
|
233
|
+
// OpenCode 1.18 把 token 用量放在 part.tokens({input,output,...})。
|
|
234
|
+
// part.cost 是目录价格推导值,不能进入 observed Usage。
|
|
235
235
|
const tokens = get(part, "tokens") ?? get(data, "tokens");
|
|
236
236
|
if (tokens && typeof tokens === "object") {
|
|
237
|
-
addUsage(
|
|
238
|
-
...tokens,
|
|
239
|
-
cost: get(part, "cost") ?? get(data, "cost"),
|
|
240
|
-
});
|
|
237
|
+
addUsage(tokens);
|
|
241
238
|
}
|
|
242
239
|
else {
|
|
243
240
|
addUsage(get(data, "usage") ?? get(part, "usage") ?? get(state, "usage"));
|
|
@@ -328,8 +325,6 @@ function parseOpenCodeTranscript(raw) {
|
|
|
328
325
|
usage.cacheReadTokens = cacheReadTokens;
|
|
329
326
|
if (cacheCreationTokens)
|
|
330
327
|
usage.cacheCreationTokens = cacheCreationTokens;
|
|
331
|
-
if (costUSD)
|
|
332
|
-
usage.costUSD = costUSD;
|
|
333
328
|
if (requests)
|
|
334
329
|
usage.requests = requests;
|
|
335
330
|
return { events, usage, compactions: 0, parseSuccess };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["opencode.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenCode `run --format json` / `opencode export` 解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/opencode/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const OPENCODE_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n read: \"file_read\",\n write: \"file_write\",\n create: \"file_write\",\n edit: \"file_edit\",\n patch: \"file_edit\",\n // OpenCode 写文件主路径是 apply_patch;Add File 在下方按 patch 内容升成 file_write。\n apply_patch: \"file_edit\",\n bash: \"shell\",\n shell: \"shell\",\n webfetch: \"web_fetch\",\n websearch: \"web_search\",\n};\n/** 从 apply_patch 的 patchText 抠 path,并把 Add File 升成 file_write。 */\nfunction enrichApplyPatchInput(input: JsonValue): {\n input: JsonValue;\n tool: ToolName;\n} {\n const obj = input && typeof input === \"object\" && !Array.isArray(input)\n ? { ...(input as globalThis.Record<string, unknown>) }\n : ({ patchText: input } as globalThis.Record<string, unknown>);\n const patchText = typeof obj.patchText === \"string\" ? obj.patchText : typeof obj.patch === \"string\" ? obj.patch : \"\";\n const add = patchText.match(/\\*\\*\\*\\s*Add File:\\s*(.+)/);\n const update = patchText.match(/\\*\\*\\*\\s*(?:Update|Delete) File:\\s*(.+)/);\n const path = (add?.[1] ?? update?.[1] ?? \"\").trim();\n if (path)\n obj.path = path;\n return {\n input: obj as JsonValue,\n tool: add ? \"file_write\" : \"file_edit\",\n };\n}\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, OPENCODE_TOOL_ALIASES);\n}\n/** OpenCode 的 shell action 只保留 source/input,不把它误拆成 argv。 */\nfunction commandProjectionForOpenCodeTool(name: string) {\n switch (name.toLowerCase()) {\n case \"bash\":\n case \"shell\":\n case \"exec\":\n return opaqueCommandProjection(\"unsupported-protocol\");\n default:\n return notCommandProjection();\n }\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction loadedSkillName(input: JsonValue): string | undefined {\n return input && typeof input === \"object\" && !Array.isArray(input)\n ? str((input as globalThis.Record<string, unknown>)[\"name\"])\n : undefined;\n}\n/**\n * 从 stdout / export 的 JSONL(或夹杂日志的文本)里抽出 JSON 对象行。\n */\nexport function extractOpenCodeJsonl(raw: string | undefined): string | undefined {\n if (!raw?.trim())\n return undefined;\n const lines = raw.split(\"\\n\").filter((line) => {\n const t = line.trim();\n return t.startsWith(\"{\") && t.endsWith(\"}\");\n });\n return lines.length ? lines.join(\"\\n\") : undefined;\n}\n/** 事件行上的 sessionID / sessionId。 */\nexport function sessionIdFromOpenCodeTranscript(raw: string | undefined): string | undefined {\n const jsonl = extractOpenCodeJsonl(raw) ?? raw;\n if (!jsonl)\n return undefined;\n for (const line of jsonl.split(\"\\n\")) {\n const t = line.trim();\n if (!t)\n continue;\n try {\n const obj = JSON.parse(t) as globalThis.Record<string, unknown>;\n const id = str(obj.sessionID) ?? str(obj.sessionId) ?? str(get(obj, \"session_id\"));\n if (id)\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n/**\n * OpenCode JSON 事件流 → 标准事件 + usage。\n * 认 `tool_use` / `text` / `step_finish` 主路径,并兼容少量 legacy 形状。\n */\nexport function parseOpenCodeTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let costUSD = 0;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n const nextSynthId = (): string => `oc_${++synth}`;\n const pending: string[] = [];\n const jsonl = extractOpenCodeJsonl(raw) ?? raw;\n if (!jsonl?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const addUsage = (usage: unknown): void => {\n if (!usage || typeof usage !== \"object\")\n return;\n const rawInput = num(usage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(usage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n let cacheRead = num(usage, \"cacheRead\", \"cache_read\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n if (cacheRead === 0)\n cacheRead = num(get(usage, \"prompt_tokens_details\"), \"cached_tokens\");\n const cacheCreation = num(usage, \"cacheWrite\", \"cache_write\", \"cache_creation_input_tokens\");\n const cost = num(usage, \"cost\", \"costUSD\", \"total_cost\");\n if (rawInput === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0 && cost === 0)\n return;\n // Chat Completions 口径的 prompt_tokens 可能含缓存命中\n const input = Math.max(0, rawInput - cacheRead);\n inputTokens += input;\n outputTokens += output;\n cacheReadTokens += cacheRead;\n cacheCreationTokens += cacheCreation;\n costUSD += cost;\n requests += 1;\n };\n for (const line of jsonl.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let data: globalThis.Record<string, unknown>;\n try {\n data = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n const eventType = str(data.type) ?? str(data.kind) ?? str(data.event);\n const part = get(data, \"part\") as globalThis.Record<string, unknown> | undefined;\n const state = part ? (get(part, \"state\") as globalThis.Record<string, unknown> | undefined) : undefined;\n if (eventType === \"tool_use\" && part && str(get(part, \"tool\"))) {\n const name = str(get(part, \"tool\"))!;\n let input = coerceArgs(get(state, \"input\") ?? get(part, \"input\"));\n let tool = normalizeToolName(name);\n if (name.toLowerCase() === \"apply_patch\" || name.toLowerCase() === \"patch\") {\n const enriched = enrichApplyPatchInput(input);\n input = enriched.input;\n tool = enriched.tool;\n }\n const callId = str(get(part, \"callID\")) ??\n str(get(part, \"callId\")) ??\n str(get(part, \"id\")) ??\n str(get(data, \"id\")) ??\n nextSynthId();\n const skill = name.toLowerCase() === \"skill\" ? loadedSkillName(input) : undefined;\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n continue;\n }\n if (!str(get(part, \"callID\")) && !str(get(part, \"callId\")) && !str(get(part, \"id\"))) {\n pending.push(callId);\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input,\n tool,\n command: commandProjectionForOpenCodeTool(name),\n },\n });\n const status = str(get(state, \"status\"));\n if (status === \"completed\" || status === \"error\" || get(state, \"output\") !== undefined) {\n const output = (get(state, \"output\") ?? get(state, \"error\") ?? null) as JsonValue;\n const metadata = get(state, \"metadata\") as globalThis.Record<string, unknown> | undefined;\n const exitCode = typeof get(metadata, \"exit\") === \"number\" ? (get(metadata, \"exit\") as number) : undefined;\n const isShell = [\"bash\", \"shell\", \"exec\"].includes(name.toLowerCase());\n const success = isShell\n ? exitCode === 0 || exitCode === undefined\n : status !== \"error\" && !get(state, \"error\");\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output,\n status: success ? \"completed\" : \"failed\",\n });\n }\n continue;\n }\n if (eventType === \"text\") {\n const text = str(get(part, \"text\")) ?? str(data.text) ?? str(data.content);\n if (text?.trim())\n events.push({ type: \"message\", role: \"assistant\", text });\n continue;\n }\n if (eventType === \"step_finish\" || eventType === \"step_start\") {\n // OpenCode 1.18 把用量放在 part.tokens({input,output,...}) + part.cost。\n const tokens = get(part, \"tokens\") ?? get(data, \"tokens\");\n if (tokens && typeof tokens === \"object\") {\n addUsage({\n ...(tokens as globalThis.Record<string, unknown>),\n cost: get(part, \"cost\") ?? get(data, \"cost\"),\n });\n }\n else {\n addUsage(get(data, \"usage\") ?? get(part, \"usage\") ?? get(state, \"usage\"));\n }\n continue;\n }\n if (eventType === \"message\" || eventType === \"assistant\" || eventType === \"response\") {\n const text = str(get(get(data, \"message\"), \"content\")) ?? str(data.content) ?? str(data.text);\n if (text?.trim())\n events.push({ type: \"message\", role: \"assistant\", text });\n addUsage(get(data, \"usage\"));\n continue;\n }\n if (eventType === \"error\") {\n const message = str(get(get(data, \"error\"), \"message\")) ?? str(data.message) ?? str(data.content) ?? \"opencode error\";\n events.push({ type: \"error\", message });\n continue;\n }\n // export 形态:顶层 messages[]\n const messages = get(data, \"messages\");\n if (Array.isArray(messages)) {\n for (const msg of messages) {\n const info = get(msg, \"info\") as globalThis.Record<string, unknown> | undefined;\n const role = str(get(info, \"role\")) ?? str(get(msg, \"role\"));\n const parts = get(msg, \"parts\");\n if (Array.isArray(parts)) {\n for (const p of parts) {\n const pType = str(get(p, \"type\"));\n if (pType === \"text\") {\n const text = str(get(p, \"text\"));\n if (text?.trim() && role !== \"user\") {\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n }\n else if (pType === \"tool\" || pType === \"tool_use\") {\n const name = str(get(p, \"tool\")) ?? str(get(p, \"name\")) ?? \"unknown\";\n const callId = str(get(p, \"callID\")) ?? str(get(p, \"id\")) ?? nextSynthId();\n const input = coerceArgs(get(get(p, \"state\"), \"input\") ?? get(p, \"input\"));\n const skill = name.toLowerCase() === \"skill\" ? loadedSkillName(input) : undefined;\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input,\n tool: normalizeToolName(name),\n command: commandProjectionForOpenCodeTool(name),\n },\n });\n const st = get(p, \"state\") as globalThis.Record<string, unknown> | undefined;\n if (st && (str(get(st, \"status\")) === \"completed\" || get(st, \"output\") !== undefined)) {\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (get(st, \"output\") ?? null) as JsonValue,\n status: str(get(st, \"status\")) === \"error\" ? \"failed\" : \"completed\",\n });\n }\n }\n }\n }\n else {\n const text = str(get(msg, \"content\")) ?? str(get(msg, \"text\"));\n if (text?.trim() && role !== \"user\") {\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n }\n addUsage(get(info, \"usage\") ?? get(msg, \"usage\"));\n }\n }\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (costUSD)\n usage.costUSD = costUSD;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["opencode.ts"],"names":[],"mappings":"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","sourcesContent":["// OpenCode `run --format json` / `opencode export` 解析器。方言只住这里,不进 core\n// (契约见 docs/feature/adapters/sdk/opencode/README.md)。\nimport type { StreamEvent, Usage, ToolName, JsonValue } from \"../../types.ts\";\nimport type { ParsedTranscript } from \"./index.ts\";\nimport { GENERIC_VERB_ALIASES, normalizeToolName as normalizeShared } from \"../tool-names.ts\";\nimport { normalizeJsonValue } from \"../../shared/json-value.ts\";\nimport { notCommandProjection, opaqueCommandProjection } from \"../command-projection.ts\";\nexport const OPENCODE_TOOL_ALIASES: globalThis.Record<string, ToolName> = {\n ...GENERIC_VERB_ALIASES,\n read: \"file_read\",\n write: \"file_write\",\n create: \"file_write\",\n edit: \"file_edit\",\n patch: \"file_edit\",\n // OpenCode 写文件主路径是 apply_patch;Add File 在下方按 patch 内容升成 file_write。\n apply_patch: \"file_edit\",\n bash: \"shell\",\n shell: \"shell\",\n webfetch: \"web_fetch\",\n websearch: \"web_search\",\n};\n/** 从 apply_patch 的 patchText 抠 path,并把 Add File 升成 file_write。 */\nfunction enrichApplyPatchInput(input: JsonValue): {\n input: JsonValue;\n tool: ToolName;\n} {\n const obj = input && typeof input === \"object\" && !Array.isArray(input)\n ? { ...(input as globalThis.Record<string, unknown>) }\n : ({ patchText: input } as globalThis.Record<string, unknown>);\n const patchText = typeof obj.patchText === \"string\" ? obj.patchText : typeof obj.patch === \"string\" ? obj.patch : \"\";\n const add = patchText.match(/\\*\\*\\*\\s*Add File:\\s*(.+)/);\n const update = patchText.match(/\\*\\*\\*\\s*(?:Update|Delete) File:\\s*(.+)/);\n const path = (add?.[1] ?? update?.[1] ?? \"\").trim();\n if (path)\n obj.path = path;\n return {\n input: obj as JsonValue,\n tool: add ? \"file_write\" : \"file_edit\",\n };\n}\nfunction normalizeToolName(name: string): ToolName {\n return normalizeShared(name, OPENCODE_TOOL_ALIASES);\n}\n/** OpenCode 的 shell action 只保留 source/input,不把它误拆成 argv。 */\nfunction commandProjectionForOpenCodeTool(name: string) {\n switch (name.toLowerCase()) {\n case \"bash\":\n case \"shell\":\n case \"exec\":\n return opaqueCommandProjection(\"unsupported-protocol\");\n default:\n return notCommandProjection();\n }\n}\nfunction get(obj: unknown, key: string): unknown {\n return obj && typeof obj === \"object\" ? (obj as globalThis.Record<string, unknown>)[key] : undefined;\n}\nfunction str(v: unknown): string | undefined {\n return typeof v === \"string\" && v ? v : undefined;\n}\nfunction num(obj: unknown, ...keys: string[]): number {\n for (const k of keys) {\n const v = get(obj, k);\n if (typeof v === \"number\" && Number.isFinite(v))\n return v;\n }\n return 0;\n}\nfunction coerceArgs(value: unknown): JsonValue {\n if (typeof value === \"string\") {\n try {\n const parsed: unknown = JSON.parse(value);\n return normalizeJsonValue(parsed, value);\n }\n catch {\n return value;\n }\n }\n return normalizeJsonValue(value, {});\n}\nfunction loadedSkillName(input: JsonValue): string | undefined {\n return input && typeof input === \"object\" && !Array.isArray(input)\n ? str((input as globalThis.Record<string, unknown>)[\"name\"])\n : undefined;\n}\n/**\n * 从 stdout / export 的 JSONL(或夹杂日志的文本)里抽出 JSON 对象行。\n */\nexport function extractOpenCodeJsonl(raw: string | undefined): string | undefined {\n if (!raw?.trim())\n return undefined;\n const lines = raw.split(\"\\n\").filter((line) => {\n const t = line.trim();\n return t.startsWith(\"{\") && t.endsWith(\"}\");\n });\n return lines.length ? lines.join(\"\\n\") : undefined;\n}\n/** 事件行上的 sessionID / sessionId。 */\nexport function sessionIdFromOpenCodeTranscript(raw: string | undefined): string | undefined {\n const jsonl = extractOpenCodeJsonl(raw) ?? raw;\n if (!jsonl)\n return undefined;\n for (const line of jsonl.split(\"\\n\")) {\n const t = line.trim();\n if (!t)\n continue;\n try {\n const obj = JSON.parse(t) as globalThis.Record<string, unknown>;\n const id = str(obj.sessionID) ?? str(obj.sessionId) ?? str(get(obj, \"session_id\"));\n if (id)\n return id;\n }\n catch {\n // skip\n }\n }\n return undefined;\n}\n/**\n * OpenCode JSON 事件流 → 标准事件 + usage。\n * 认 `tool_use` / `text` / `step_finish` 主路径,并兼容少量 legacy 形状。\n */\nexport function parseOpenCodeTranscript(raw: string | undefined): ParsedTranscript {\n const events: StreamEvent[] = [];\n let inputTokens = 0;\n let outputTokens = 0;\n let cacheReadTokens = 0;\n let cacheCreationTokens = 0;\n let requests = 0;\n let parseSuccess = true;\n let synth = 0;\n const nextSynthId = (): string => `oc_${++synth}`;\n const pending: string[] = [];\n const jsonl = extractOpenCodeJsonl(raw) ?? raw;\n if (!jsonl?.trim()) {\n return { events, usage: {}, compactions: 0, parseSuccess: true };\n }\n const addUsage = (usage: unknown): void => {\n if (!usage || typeof usage !== \"object\")\n return;\n // OpenCode derives its cost fields from model metadata. Keep only the\n // recorded usage facts; Usage.costUSD is reserved for observed billing.\n const rawInput = num(usage, \"input\", \"input_tokens\", \"inputTokens\", \"prompt_tokens\");\n const output = num(usage, \"output\", \"output_tokens\", \"outputTokens\", \"completion_tokens\");\n let cacheRead = num(usage, \"cacheRead\", \"cache_read\", \"cache_read_input_tokens\", \"cacheReadTokens\");\n if (cacheRead === 0)\n cacheRead = num(get(usage, \"prompt_tokens_details\"), \"cached_tokens\");\n const cacheCreation = num(usage, \"cacheWrite\", \"cache_write\", \"cache_creation_input_tokens\");\n if (rawInput === 0 && output === 0 && cacheRead === 0 && cacheCreation === 0)\n return;\n // Chat Completions 口径的 prompt_tokens 可能含缓存命中\n const input = Math.max(0, rawInput - cacheRead);\n inputTokens += input;\n outputTokens += output;\n cacheReadTokens += cacheRead;\n cacheCreationTokens += cacheCreation;\n requests += 1;\n };\n for (const line of jsonl.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed)\n continue;\n let data: globalThis.Record<string, unknown>;\n try {\n data = JSON.parse(trimmed) as globalThis.Record<string, unknown>;\n }\n catch {\n parseSuccess = false;\n continue;\n }\n try {\n const eventType = str(data.type) ?? str(data.kind) ?? str(data.event);\n const part = get(data, \"part\") as globalThis.Record<string, unknown> | undefined;\n const state = part ? (get(part, \"state\") as globalThis.Record<string, unknown> | undefined) : undefined;\n if (eventType === \"tool_use\" && part && str(get(part, \"tool\"))) {\n const name = str(get(part, \"tool\"))!;\n let input = coerceArgs(get(state, \"input\") ?? get(part, \"input\"));\n let tool = normalizeToolName(name);\n if (name.toLowerCase() === \"apply_patch\" || name.toLowerCase() === \"patch\") {\n const enriched = enrichApplyPatchInput(input);\n input = enriched.input;\n tool = enriched.tool;\n }\n const callId = str(get(part, \"callID\")) ??\n str(get(part, \"callId\")) ??\n str(get(part, \"id\")) ??\n str(get(data, \"id\")) ??\n nextSynthId();\n const skill = name.toLowerCase() === \"skill\" ? loadedSkillName(input) : undefined;\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n continue;\n }\n if (!str(get(part, \"callID\")) && !str(get(part, \"callId\")) && !str(get(part, \"id\"))) {\n pending.push(callId);\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input,\n tool,\n command: commandProjectionForOpenCodeTool(name),\n },\n });\n const status = str(get(state, \"status\"));\n if (status === \"completed\" || status === \"error\" || get(state, \"output\") !== undefined) {\n const output = (get(state, \"output\") ?? get(state, \"error\") ?? null) as JsonValue;\n const metadata = get(state, \"metadata\") as globalThis.Record<string, unknown> | undefined;\n const exitCode = typeof get(metadata, \"exit\") === \"number\" ? (get(metadata, \"exit\") as number) : undefined;\n const isShell = [\"bash\", \"shell\", \"exec\"].includes(name.toLowerCase());\n const success = isShell\n ? exitCode === 0 || exitCode === undefined\n : status !== \"error\" && !get(state, \"error\");\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output,\n status: success ? \"completed\" : \"failed\",\n });\n }\n continue;\n }\n if (eventType === \"text\") {\n const text = str(get(part, \"text\")) ?? str(data.text) ?? str(data.content);\n if (text?.trim())\n events.push({ type: \"message\", role: \"assistant\", text });\n continue;\n }\n if (eventType === \"step_finish\" || eventType === \"step_start\") {\n // OpenCode 1.18 把 token 用量放在 part.tokens({input,output,...})。\n // part.cost 是目录价格推导值,不能进入 observed Usage。\n const tokens = get(part, \"tokens\") ?? get(data, \"tokens\");\n if (tokens && typeof tokens === \"object\") {\n addUsage(tokens);\n }\n else {\n addUsage(get(data, \"usage\") ?? get(part, \"usage\") ?? get(state, \"usage\"));\n }\n continue;\n }\n if (eventType === \"message\" || eventType === \"assistant\" || eventType === \"response\") {\n const text = str(get(get(data, \"message\"), \"content\")) ?? str(data.content) ?? str(data.text);\n if (text?.trim())\n events.push({ type: \"message\", role: \"assistant\", text });\n addUsage(get(data, \"usage\"));\n continue;\n }\n if (eventType === \"error\") {\n const message = str(get(get(data, \"error\"), \"message\")) ?? str(data.message) ?? str(data.content) ?? \"opencode error\";\n events.push({ type: \"error\", message });\n continue;\n }\n // export 形态:顶层 messages[]\n const messages = get(data, \"messages\");\n if (Array.isArray(messages)) {\n for (const msg of messages) {\n const info = get(msg, \"info\") as globalThis.Record<string, unknown> | undefined;\n const role = str(get(info, \"role\")) ?? str(get(msg, \"role\"));\n const parts = get(msg, \"parts\");\n if (Array.isArray(parts)) {\n for (const p of parts) {\n const pType = str(get(p, \"type\"));\n if (pType === \"text\") {\n const text = str(get(p, \"text\"));\n if (text?.trim() && role !== \"user\") {\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n }\n else if (pType === \"tool\" || pType === \"tool_use\") {\n const name = str(get(p, \"tool\")) ?? str(get(p, \"name\")) ?? \"unknown\";\n const callId = str(get(p, \"callID\")) ?? str(get(p, \"id\")) ?? nextSynthId();\n const input = coerceArgs(get(get(p, \"state\"), \"input\") ?? get(p, \"input\"));\n const skill = name.toLowerCase() === \"skill\" ? loadedSkillName(input) : undefined;\n if (skill !== undefined) {\n events.push({ type: \"skill.loaded\", skill, operationId: callId });\n continue;\n }\n events.push({\n type: \"operation.started\",\n operationId: callId,\n operation: {\n kind: \"tool\",\n name,\n input,\n tool: normalizeToolName(name),\n command: commandProjectionForOpenCodeTool(name),\n },\n });\n const st = get(p, \"state\") as globalThis.Record<string, unknown> | undefined;\n if (st && (str(get(st, \"status\")) === \"completed\" || get(st, \"output\") !== undefined)) {\n events.push({\n type: \"operation.finished\",\n operationId: callId,\n kind: \"tool\",\n output: (get(st, \"output\") ?? null) as JsonValue,\n status: str(get(st, \"status\")) === \"error\" ? \"failed\" : \"completed\",\n });\n }\n }\n }\n }\n else {\n const text = str(get(msg, \"content\")) ?? str(get(msg, \"text\"));\n if (text?.trim() && role !== \"user\") {\n events.push({ type: \"message\", role: \"assistant\", text });\n }\n }\n addUsage(get(info, \"usage\") ?? get(msg, \"usage\"));\n }\n }\n }\n catch {\n parseSuccess = false;\n }\n }\n const usage: Usage = {};\n if (inputTokens)\n usage.inputTokens = inputTokens;\n if (outputTokens)\n usage.outputTokens = outputTokens;\n if (cacheReadTokens)\n usage.cacheReadTokens = cacheReadTokens;\n if (cacheCreationTokens)\n usage.cacheCreationTokens = cacheCreationTokens;\n if (requests)\n usage.requests = requests;\n return { events, usage, compactions: 0, parseSuccess };\n}\n"]}
|