@workflow/core 5.0.0-beta.5 → 5.0.0-beta.50
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/dist/attribute-changes.d.ts +5 -0
- package/dist/attribute-changes.d.ts.map +1 -0
- package/dist/attribute-changes.js +25 -0
- package/dist/capabilities.d.ts +35 -2
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +74 -5
- package/dist/capture-stack.d.ts +1 -1
- package/dist/capture-stack.js +2 -2
- package/dist/class-serialization.d.ts +32 -0
- package/dist/class-serialization.d.ts.map +1 -1
- package/dist/class-serialization.js +37 -1
- package/dist/classify-error.d.ts +19 -3
- package/dist/classify-error.d.ts.map +1 -1
- package/dist/classify-error.js +98 -6
- package/dist/context-violation-error.d.ts +5 -5
- package/dist/context-violation-error.d.ts.map +1 -1
- package/dist/context-violation-error.js +8 -6
- package/dist/create-hook.d.ts +72 -7
- package/dist/create-hook.d.ts.map +1 -1
- package/dist/create-hook.js +1 -1
- package/dist/define-hook.js +2 -2
- package/dist/describe-error.d.ts +7 -7
- package/dist/describe-error.d.ts.map +1 -1
- package/dist/describe-error.js +97 -12
- package/dist/encryption.d.ts +38 -4
- package/dist/encryption.d.ts.map +1 -1
- package/dist/encryption.js +96 -14
- package/dist/events-consumer.d.ts +271 -0
- package/dist/events-consumer.d.ts.map +1 -1
- package/dist/events-consumer.js +646 -42
- package/dist/flushable-stream.d.ts +56 -1
- package/dist/flushable-stream.d.ts.map +1 -1
- package/dist/flushable-stream.js +123 -11
- package/dist/global.d.ts +36 -2
- package/dist/global.d.ts.map +1 -1
- package/dist/global.js +21 -6
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/log-format.d.ts +2 -2
- package/dist/log-format.js +7 -7
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +10 -6
- package/dist/private.d.ts +226 -9
- package/dist/private.d.ts.map +1 -1
- package/dist/private.js +626 -7
- package/dist/replay-payload-cache.d.ts +64 -0
- package/dist/replay-payload-cache.d.ts.map +1 -0
- package/dist/replay-payload-cache.js +158 -0
- package/dist/runtime/compute-instance.d.ts +13 -0
- package/dist/runtime/compute-instance.d.ts.map +1 -0
- package/dist/runtime/compute-instance.js +14 -0
- package/dist/runtime/constants.d.ts +315 -0
- package/dist/runtime/constants.d.ts.map +1 -1
- package/dist/runtime/constants.js +502 -16
- package/dist/runtime/count-step-started-events.d.ts +52 -0
- package/dist/runtime/count-step-started-events.d.ts.map +1 -0
- package/dist/runtime/count-step-started-events.js +72 -0
- package/dist/runtime/deployment-guard.d.ts +99 -0
- package/dist/runtime/deployment-guard.d.ts.map +1 -0
- package/dist/runtime/deployment-guard.js +154 -0
- package/dist/runtime/get-port-lazy.d.ts +15 -0
- package/dist/runtime/get-port-lazy.d.ts.map +1 -1
- package/dist/runtime/get-port-lazy.js +75 -6
- package/dist/runtime/get-world-lazy.d.ts +5 -14
- package/dist/runtime/get-world-lazy.d.ts.map +1 -1
- package/dist/runtime/get-world-lazy.js +19 -29
- package/dist/runtime/helpers.d.ts +341 -29
- package/dist/runtime/helpers.d.ts.map +1 -1
- package/dist/runtime/helpers.js +559 -57
- package/dist/runtime/quickjs-assets.generated.d.ts +14 -0
- package/dist/runtime/quickjs-assets.generated.d.ts.map +1 -0
- package/dist/runtime/quickjs-assets.generated.js +30 -0
- package/dist/runtime/quickjs-entrypoint.d.ts +136 -0
- package/dist/runtime/quickjs-entrypoint.d.ts.map +1 -0
- package/dist/runtime/quickjs-entrypoint.js +1686 -0
- package/dist/runtime/quickjs-runtime.d.ts +244 -0
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -0
- package/dist/runtime/quickjs-runtime.js +2427 -0
- package/dist/runtime/quickjs-serde.d.ts +107 -0
- package/dist/runtime/quickjs-serde.d.ts.map +1 -0
- package/dist/runtime/quickjs-serde.js +2159 -0
- package/dist/runtime/replay-budget.d.ts +97 -0
- package/dist/runtime/replay-budget.d.ts.map +1 -0
- package/dist/runtime/replay-budget.js +139 -0
- package/dist/runtime/replay-recovery-reporter.d.ts +36 -0
- package/dist/runtime/replay-recovery-reporter.d.ts.map +1 -0
- package/dist/runtime/replay-recovery-reporter.js +64 -0
- package/dist/runtime/resume-hook.d.ts +91 -8
- package/dist/runtime/resume-hook.d.ts.map +1 -1
- package/dist/runtime/resume-hook.js +512 -89
- package/dist/runtime/resume-latency.d.ts +150 -0
- package/dist/runtime/resume-latency.d.ts.map +1 -0
- package/dist/runtime/resume-latency.js +155 -0
- package/dist/runtime/run-id-time.d.ts +19 -0
- package/dist/runtime/run-id-time.d.ts.map +1 -0
- package/dist/runtime/run-id-time.js +42 -0
- package/dist/runtime/run.d.ts +72 -7
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +280 -53
- package/dist/runtime/runs.d.ts +54 -3
- package/dist/runtime/runs.d.ts.map +1 -1
- package/dist/runtime/runs.js +126 -16
- package/dist/runtime/start.d.ts +101 -2
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +352 -61
- package/dist/runtime/step-executor.d.ts +205 -5
- package/dist/runtime/step-executor.d.ts.map +1 -1
- package/dist/runtime/step-executor.js +760 -127
- package/dist/runtime/step-latency.d.ts +220 -0
- package/dist/runtime/step-latency.d.ts.map +1 -0
- package/dist/runtime/step-latency.js +215 -0
- package/dist/runtime/step-ownership.d.ts +72 -0
- package/dist/runtime/step-ownership.d.ts.map +1 -0
- package/dist/runtime/step-ownership.js +114 -0
- package/dist/runtime/step-single-flight.d.ts +12 -0
- package/dist/runtime/step-single-flight.d.ts.map +1 -0
- package/dist/runtime/step-single-flight.js +75 -0
- package/dist/runtime/suspension-handler.d.ts +269 -7
- package/dist/runtime/suspension-handler.d.ts.map +1 -1
- package/dist/runtime/suspension-handler.js +1253 -125
- package/dist/runtime/unserializable-step.d.ts +34 -0
- package/dist/runtime/unserializable-step.d.ts.map +1 -0
- package/dist/runtime/unserializable-step.js +52 -0
- package/dist/runtime/vm-mode.d.ts +44 -0
- package/dist/runtime/vm-mode.d.ts.map +1 -0
- package/dist/runtime/vm-mode.js +62 -0
- package/dist/runtime/vm-serde-bundle.generated.d.ts +14 -0
- package/dist/runtime/vm-serde-bundle.generated.d.ts.map +1 -0
- package/dist/runtime/vm-serde-bundle.generated.js +16 -0
- package/dist/runtime/wait-continuation.d.ts +106 -0
- package/dist/runtime/wait-continuation.d.ts.map +1 -0
- package/dist/runtime/wait-continuation.js +136 -0
- package/dist/runtime/wait-until.d.ts +18 -0
- package/dist/runtime/wait-until.d.ts.map +1 -0
- package/dist/runtime/wait-until.js +42 -0
- package/dist/runtime/world-compatibility.d.ts +32 -0
- package/dist/runtime/world-compatibility.d.ts.map +1 -0
- package/dist/runtime/world-compatibility.js +44 -0
- package/dist/runtime/world-init.d.ts +17 -42
- package/dist/runtime/world-init.d.ts.map +1 -1
- package/dist/runtime/world-init.js +18 -43
- package/dist/runtime/world.d.ts +14 -2
- package/dist/runtime/world.d.ts.map +1 -1
- package/dist/runtime/world.js +75 -19
- package/dist/runtime.d.ts +10 -6
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +3741 -490
- package/dist/sealed-box.d.ts +167 -0
- package/dist/sealed-box.d.ts.map +1 -0
- package/dist/sealed-box.js +571 -0
- package/dist/serialization/client.d.ts +3 -3
- package/dist/serialization/client.d.ts.map +1 -1
- package/dist/serialization/client.js +8 -4
- package/dist/serialization/codec-devalue-vm.d.ts +16 -0
- package/dist/serialization/codec-devalue-vm.d.ts.map +1 -0
- package/dist/serialization/codec-devalue-vm.js +148 -0
- package/dist/serialization/codec-devalue.d.ts +1 -1
- package/dist/serialization/codec-devalue.d.ts.map +1 -1
- package/dist/serialization/codec-devalue.js +24 -6
- package/dist/serialization/codec.d.ts +37 -2
- package/dist/serialization/codec.d.ts.map +1 -1
- package/dist/serialization/codec.js +2 -2
- package/dist/serialization/compression.d.ts +105 -0
- package/dist/serialization/compression.d.ts.map +1 -0
- package/dist/serialization/compression.js +261 -0
- package/dist/serialization/encryption.d.ts +119 -17
- package/dist/serialization/encryption.d.ts.map +1 -1
- package/dist/serialization/encryption.js +152 -17
- package/dist/serialization/errors.d.ts +13 -0
- package/dist/serialization/errors.d.ts.map +1 -1
- package/dist/serialization/errors.js +20 -2
- package/dist/serialization/format.d.ts +6 -6
- package/dist/serialization/format.js +7 -7
- package/dist/serialization/hardened.d.ts +156 -0
- package/dist/serialization/hardened.d.ts.map +1 -0
- package/dist/serialization/hardened.js +538 -0
- package/dist/serialization/index.d.ts +10 -8
- package/dist/serialization/index.d.ts.map +1 -1
- package/dist/serialization/index.js +10 -8
- package/dist/serialization/reducers/class-vm.d.ts +20 -0
- package/dist/serialization/reducers/class-vm.d.ts.map +1 -0
- package/dist/serialization/reducers/class-vm.js +77 -0
- package/dist/serialization/reducers/class.d.ts.map +1 -1
- package/dist/serialization/reducers/class.js +11 -6
- package/dist/serialization/reducers/common-vm.d.ts +15 -0
- package/dist/serialization/reducers/common-vm.d.ts.map +1 -0
- package/dist/serialization/reducers/common-vm.js +616 -0
- package/dist/serialization/reducers/common.d.ts +1 -1
- package/dist/serialization/reducers/common.d.ts.map +1 -1
- package/dist/serialization/reducers/common.js +202 -62
- package/dist/serialization/reducers/step-function-vm.d.ts +44 -0
- package/dist/serialization/reducers/step-function-vm.d.ts.map +1 -0
- package/dist/serialization/reducers/step-function-vm.js +97 -0
- package/dist/serialization/reducers/step-function.d.ts.map +1 -1
- package/dist/serialization/reducers/step-function.js +25 -9
- package/dist/serialization/step.d.ts +4 -4
- package/dist/serialization/step.d.ts.map +1 -1
- package/dist/serialization/step.js +9 -5
- package/dist/serialization/types.d.ts +80 -1
- package/dist/serialization/types.d.ts.map +1 -1
- package/dist/serialization/types.js +15 -1
- package/dist/serialization/workflow-vm.d.ts +29 -0
- package/dist/serialization/workflow-vm.d.ts.map +1 -0
- package/dist/serialization/workflow-vm.js +74 -0
- package/dist/serialization-format.d.ts +64 -8
- package/dist/serialization-format.d.ts.map +1 -1
- package/dist/serialization-format.js +225 -73
- package/dist/serialization.d.ts +262 -34
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +1879 -274
- package/dist/set-attributes.d.ts +13 -0
- package/dist/set-attributes.d.ts.map +1 -0
- package/dist/set-attributes.js +60 -0
- package/dist/source-map.d.ts +25 -0
- package/dist/source-map.d.ts.map +1 -1
- package/dist/source-map.js +154 -10
- package/dist/step/context-storage.d.ts +61 -2
- package/dist/step/context-storage.d.ts.map +1 -1
- package/dist/step/context-storage.js +7 -5
- package/dist/step/writable-stream.d.ts +3 -3
- package/dist/step/writable-stream.d.ts.map +1 -1
- package/dist/step/writable-stream.js +72 -9
- package/dist/step.d.ts.map +1 -1
- package/dist/step.js +148 -27
- package/dist/symbols.d.ts +50 -0
- package/dist/symbols.d.ts.map +1 -1
- package/dist/symbols.js +51 -1
- package/dist/telemetry/semantic-conventions.d.ts +397 -2
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +297 -3
- package/dist/telemetry.d.ts +91 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +244 -17
- package/dist/test-support/orchestrator-context.d.ts +25 -0
- package/dist/test-support/orchestrator-context.d.ts.map +1 -0
- package/dist/test-support/orchestrator-context.js +101 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +23 -1
- package/dist/util.d.ts +0 -5
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +1 -15
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -2
- package/dist/vm/index.d.ts.map +1 -1
- package/dist/vm/index.js +84 -14
- package/dist/vm/script-cache.d.ts +26 -0
- package/dist/vm/script-cache.d.ts.map +1 -0
- package/dist/vm/script-cache.js +131 -0
- package/dist/vm/uint8array-base64.js +1 -1
- package/dist/workflow/abort-controller.d.ts +2 -2
- package/dist/workflow/abort-controller.d.ts.map +1 -1
- package/dist/workflow/abort-controller.js +88 -21
- package/dist/workflow/attribute-dispatcher.d.ts +6 -0
- package/dist/workflow/attribute-dispatcher.d.ts.map +1 -0
- package/dist/workflow/attribute-dispatcher.js +45 -0
- package/dist/workflow/create-hook.d.ts.map +1 -1
- package/dist/workflow/create-hook.js +24 -3
- package/dist/workflow/get-workflow-metadata.js +2 -2
- package/dist/workflow/hook.d.ts.map +1 -1
- package/dist/workflow/hook.js +304 -47
- package/dist/workflow/index.d.ts +1 -0
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +2 -1
- package/dist/workflow/set-attributes.d.ts +68 -0
- package/dist/workflow/set-attributes.d.ts.map +1 -0
- package/dist/workflow/set-attributes.js +60 -0
- package/dist/workflow/sleep.d.ts.map +1 -1
- package/dist/workflow/sleep.js +58 -12
- package/dist/workflow/world-init-stub.d.ts +3 -3
- package/dist/workflow/world-init-stub.js +4 -4
- package/dist/workflow.d.ts +95 -3
- package/dist/workflow.d.ts.map +1 -1
- package/dist/workflow.js +895 -561
- package/docs/api-reference/create-hook.mdx +89 -10
- package/docs/api-reference/create-webhook.mdx +16 -15
- package/docs/api-reference/define-hook.mdx +35 -33
- package/docs/api-reference/fatal-error.mdx +30 -8
- package/docs/api-reference/fetch.mdx +14 -10
- package/docs/api-reference/get-step-metadata.mdx +2 -2
- package/docs/api-reference/get-workflow-metadata.mdx +3 -3
- package/docs/api-reference/get-writable.mdx +7 -7
- package/docs/api-reference/index.mdx +4 -1
- package/docs/api-reference/retryable-error.mdx +1 -1
- package/docs/api-reference/set-attributes.mdx +61 -0
- package/docs/api-reference/sleep.mdx +4 -4
- package/docs/foundations/cancellation.mdx +31 -32
- package/docs/foundations/errors-and-retries.mdx +42 -11
- package/docs/foundations/hooks.mdx +64 -35
- package/docs/foundations/idempotency.mdx +244 -12
- package/docs/foundations/index.mdx +1 -23
- package/docs/foundations/meta.json +2 -1
- package/docs/foundations/serialization.mdx +21 -22
- package/docs/foundations/starting-workflows.mdx +106 -30
- package/docs/foundations/streaming.mdx +107 -59
- package/docs/foundations/versioning.mdx +263 -0
- package/docs/foundations/workflows-and-steps.mdx +9 -9
- package/docs/how-it-works/cancellation.mdx +63 -63
- package/docs/how-it-works/code-transform.mdx +83 -67
- package/docs/how-it-works/encryption.mdx +30 -26
- package/docs/how-it-works/event-sourcing.mdx +98 -34
- package/docs/how-it-works/framework-integrations.mdx +96 -337
- package/docs/how-it-works/understanding-directives.mdx +22 -22
- package/package.json +24 -15
- package/dist/runtime/step-handler.d.ts +0 -2
- package/dist/runtime/step-handler.d.ts.map +0 -1
- package/dist/runtime/step-handler.js +0 -776
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VM-compatible copy: identical semantics to step-function.ts before the host-side
|
|
3
|
+
* hardening (#3257) made that module depend on `serialization/hardened.ts`
|
|
4
|
+
* (which imports `node:util` and captures host intrinsics, meaningless
|
|
5
|
+
* and unbundleable inside the QuickJS VM, where the codec already runs in
|
|
6
|
+
* the guest realm). The host/guest boundary hardening for the QuickJS
|
|
7
|
+
* engine lands with the host-side serde (#3263), which retires this
|
|
8
|
+
* bundle entirely. Wire format is identical to the hardened host version.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Reducer and reviver for step function references.
|
|
12
|
+
*
|
|
13
|
+
* In workflow mode, step functions are replaced by the SWC plugin with
|
|
14
|
+
* proxies created by `globalThis[Symbol.for("WORKFLOW_USE_STEP")]("stepId")`.
|
|
15
|
+
* These proxies have a `.stepId` property and optionally a `.__closureVarsFn`
|
|
16
|
+
* for captured closure variables. They may additionally have `.__boundThis`
|
|
17
|
+
* (and rarely `.__boundArgs`) when the SWC plugin emitted
|
|
18
|
+
* `useStep(...).bind(this)` for a nested arrow step that lexically
|
|
19
|
+
* captured `this` (see `packages/swc-plugin-workflow/spec.md` → "Lexical
|
|
20
|
+
* `this` Capture in Nested Arrow Steps").
|
|
21
|
+
*
|
|
22
|
+
* The reducer serializes them as
|
|
23
|
+
* `{ stepId, closureVars?, boundThis?, boundArgs? }`.
|
|
24
|
+
* The reviver reconstructs them by calling WORKFLOW_USE_STEP and, when
|
|
25
|
+
* `boundThis` (or `boundArgs`) is present, re-binding the resulting
|
|
26
|
+
* proxy so the caller's captured `this` (and prefilled args) survive the
|
|
27
|
+
* round trip.
|
|
28
|
+
*/
|
|
29
|
+
import type { Reducers, Revivers } from '../types.js';
|
|
30
|
+
export declare function getStepFunctionReducer(): Partial<Reducers>;
|
|
31
|
+
/**
|
|
32
|
+
* Create the StepFunction reviver for workflow context.
|
|
33
|
+
*
|
|
34
|
+
* The reviver calls WORKFLOW_USE_STEP to create the step proxy,
|
|
35
|
+
* restoring the ability to call the step from workflow code. If the
|
|
36
|
+
* serialized payload includes `boundThis` (and optionally `boundArgs`),
|
|
37
|
+
* the reviver also re-binds the freshly-created proxy so a step proxy
|
|
38
|
+
* that was constructed with `.bind(this, …)` in the workflow bundle
|
|
39
|
+
* continues to carry that receiver and any prefilled arguments after
|
|
40
|
+
* being deserialized in another bundle (e.g. when passed as a step
|
|
41
|
+
* argument).
|
|
42
|
+
*/
|
|
43
|
+
export declare function getStepFunctionReviver(global?: Record<string, any>): Partial<Revivers>;
|
|
44
|
+
//# sourceMappingURL=step-function-vm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-function-vm.d.ts","sourceRoot":"","sources":["../../../src/serialization/reducers/step-function-vm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAItD,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuC1D;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,QAAQ,CAAC,CA8BnB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VM-compatible copy: identical semantics to step-function.ts before the host-side
|
|
3
|
+
* hardening (#3257) made that module depend on `serialization/hardened.ts`
|
|
4
|
+
* (which imports `node:util` and captures host intrinsics, meaningless
|
|
5
|
+
* and unbundleable inside the QuickJS VM, where the codec already runs in
|
|
6
|
+
* the guest realm). The host/guest boundary hardening for the QuickJS
|
|
7
|
+
* engine lands with the host-side serde (#3263), which retires this
|
|
8
|
+
* bundle entirely. Wire format is identical to the hardened host version.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Reducer and reviver for step function references.
|
|
12
|
+
*
|
|
13
|
+
* In workflow mode, step functions are replaced by the SWC plugin with
|
|
14
|
+
* proxies created by `globalThis[Symbol.for("WORKFLOW_USE_STEP")]("stepId")`.
|
|
15
|
+
* These proxies have a `.stepId` property and optionally a `.__closureVarsFn`
|
|
16
|
+
* for captured closure variables. They may additionally have `.__boundThis`
|
|
17
|
+
* (and rarely `.__boundArgs`) when the SWC plugin emitted
|
|
18
|
+
* `useStep(...).bind(this)` for a nested arrow step that lexically
|
|
19
|
+
* captured `this` (see `packages/swc-plugin-workflow/spec.md` → "Lexical
|
|
20
|
+
* `this` Capture in Nested Arrow Steps").
|
|
21
|
+
*
|
|
22
|
+
* The reducer serializes them as
|
|
23
|
+
* `{ stepId, closureVars?, boundThis?, boundArgs? }`.
|
|
24
|
+
* The reviver reconstructs them by calling WORKFLOW_USE_STEP and, when
|
|
25
|
+
* `boundThis` (or `boundArgs`) is present, re-binding the resulting
|
|
26
|
+
* proxy so the caller's captured `this` (and prefilled args) survive the
|
|
27
|
+
* round trip.
|
|
28
|
+
*/
|
|
29
|
+
// ---- Reducer ----
|
|
30
|
+
export function getStepFunctionReducer() {
|
|
31
|
+
return {
|
|
32
|
+
StepFunction: (value) => {
|
|
33
|
+
if (typeof value !== 'function')
|
|
34
|
+
return false;
|
|
35
|
+
const stepId = value.stepId;
|
|
36
|
+
if (typeof stepId !== 'string')
|
|
37
|
+
return false;
|
|
38
|
+
const closureVarsFn = value.__closureVarsFn;
|
|
39
|
+
const closureVars = closureVarsFn && typeof closureVarsFn === 'function'
|
|
40
|
+
? closureVarsFn()
|
|
41
|
+
: undefined;
|
|
42
|
+
// `__boundThis` / `__boundArgs` are marker properties added by the
|
|
43
|
+
// step proxy's overridden `.bind` (see step.ts) to record the
|
|
44
|
+
// bound receiver and any prefilled arguments. Use `in` for
|
|
45
|
+
// `__boundThis` so we round-trip even when the bound `this` is
|
|
46
|
+
// `undefined`/`null`. `__boundArgs` is only set when the user
|
|
47
|
+
// actually supplied prefilled args, so a missing property means
|
|
48
|
+
// "no prefilled args".
|
|
49
|
+
const hasBoundThis = '__boundThis' in value;
|
|
50
|
+
const boundThis = hasBoundThis ? value.__boundThis : undefined;
|
|
51
|
+
const boundArgs = value.__boundArgs;
|
|
52
|
+
const payload = { stepId };
|
|
53
|
+
if (closureVars !== undefined)
|
|
54
|
+
payload.closureVars = closureVars;
|
|
55
|
+
if (hasBoundThis)
|
|
56
|
+
payload.boundThis = boundThis;
|
|
57
|
+
if (Array.isArray(boundArgs) && boundArgs.length > 0) {
|
|
58
|
+
payload.boundArgs = boundArgs;
|
|
59
|
+
}
|
|
60
|
+
return payload;
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// ---- Reviver ----
|
|
65
|
+
/**
|
|
66
|
+
* Create the StepFunction reviver for workflow context.
|
|
67
|
+
*
|
|
68
|
+
* The reviver calls WORKFLOW_USE_STEP to create the step proxy,
|
|
69
|
+
* restoring the ability to call the step from workflow code. If the
|
|
70
|
+
* serialized payload includes `boundThis` (and optionally `boundArgs`),
|
|
71
|
+
* the reviver also re-binds the freshly-created proxy so a step proxy
|
|
72
|
+
* that was constructed with `.bind(this, …)` in the workflow bundle
|
|
73
|
+
* continues to carry that receiver and any prefilled arguments after
|
|
74
|
+
* being deserialized in another bundle (e.g. when passed as a step
|
|
75
|
+
* argument).
|
|
76
|
+
*/
|
|
77
|
+
export function getStepFunctionReviver(global = globalThis) {
|
|
78
|
+
const useStep = global[Symbol.for('WORKFLOW_USE_STEP')];
|
|
79
|
+
return {
|
|
80
|
+
StepFunction: (value) => {
|
|
81
|
+
const stepId = value.stepId;
|
|
82
|
+
const closureVars = value.closureVars;
|
|
83
|
+
if (!useStep) {
|
|
84
|
+
throw new Error('WORKFLOW_USE_STEP not found on global object. Step functions cannot be deserialized outside workflow context.');
|
|
85
|
+
}
|
|
86
|
+
const proxy = closureVars
|
|
87
|
+
? useStep(stepId, () => closureVars)
|
|
88
|
+
: useStep(stepId);
|
|
89
|
+
if ('boundThis' in value) {
|
|
90
|
+
const boundArgs = Array.isArray(value.boundArgs) ? value.boundArgs : [];
|
|
91
|
+
return proxy.bind(value.boundThis, ...boundArgs);
|
|
92
|
+
}
|
|
93
|
+
return proxy;
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi12bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJpYWxpemF0aW9uL3JlZHVjZXJzL3N0ZXAtZnVuY3Rpb24tdm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBSUgsb0JBQW9CO0FBRXBCLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTztRQUNMLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RCLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUM5QyxNQUFNLE1BQU0sR0FBSSxLQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3JDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUU3QyxNQUFNLGFBQWEsR0FBSSxLQUFhLENBQUMsZUFBZSxDQUFDO1lBQ3JELE1BQU0sV0FBVyxHQUNmLGFBQWEsSUFBSSxPQUFPLGFBQWEsS0FBSyxVQUFVO2dCQUNsRCxDQUFDLENBQUMsYUFBYSxFQUFFO2dCQUNqQixDQUFDLENBQUMsU0FBUyxDQUFDO1lBRWhCLG1FQUFtRTtZQUNuRSw4REFBOEQ7WUFDOUQsMkRBQTJEO1lBQzNELCtEQUErRDtZQUMvRCw4REFBOEQ7WUFDOUQsZ0VBQWdFO1lBQ2hFLHVCQUF1QjtZQUN2QixNQUFNLFlBQVksR0FBRyxhQUFhLElBQUssS0FBYSxDQUFDO1lBQ3JELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUUsS0FBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3hFLE1BQU0sU0FBUyxHQUFJLEtBQWEsQ0FBQyxXQUFvQyxDQUFDO1lBRXRFLE1BQU0sT0FBTyxHQUtULEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDZixJQUFJLFdBQVcsS0FBSyxTQUFTO2dCQUFFLE9BQU8sQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1lBQ2pFLElBQUksWUFBWTtnQkFBRSxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDaEMsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELG9CQUFvQjtBQUVwQjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsU0FBOEIsVUFBVTtJQUV4QyxNQUFNLE9BQU8sR0FBSSxNQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUtsRCxDQUFDO0lBRWQsT0FBTztRQUNMLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDNUIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztZQUV0QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FDYiwrR0FBK0csQ0FDaEgsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXO2dCQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFcEIsSUFBSSxXQUFXLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLE9BQVEsS0FBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDNUQsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBWTS1jb21wYXRpYmxlIGNvcHk6IGlkZW50aWNhbCBzZW1hbnRpY3MgdG8gc3RlcC1mdW5jdGlvbi50cyBiZWZvcmUgdGhlIGhvc3Qtc2lkZVxuICogaGFyZGVuaW5nICgjMzI1NykgbWFkZSB0aGF0IG1vZHVsZSBkZXBlbmQgb24gYHNlcmlhbGl6YXRpb24vaGFyZGVuZWQudHNgXG4gKiAod2hpY2ggaW1wb3J0cyBgbm9kZTp1dGlsYCBhbmQgY2FwdHVyZXMgaG9zdCBpbnRyaW5zaWNzLCBtZWFuaW5nbGVzc1xuICogYW5kIHVuYnVuZGxlYWJsZSBpbnNpZGUgdGhlIFF1aWNrSlMgVk0sIHdoZXJlIHRoZSBjb2RlYyBhbHJlYWR5IHJ1bnMgaW5cbiAqIHRoZSBndWVzdCByZWFsbSkuIFRoZSBob3N0L2d1ZXN0IGJvdW5kYXJ5IGhhcmRlbmluZyBmb3IgdGhlIFF1aWNrSlNcbiAqIGVuZ2luZSBsYW5kcyB3aXRoIHRoZSBob3N0LXNpZGUgc2VyZGUgKCMzMjYzKSwgd2hpY2ggcmV0aXJlcyB0aGlzXG4gKiBidW5kbGUgZW50aXJlbHkuIFdpcmUgZm9ybWF0IGlzIGlkZW50aWNhbCB0byB0aGUgaGFyZGVuZWQgaG9zdCB2ZXJzaW9uLlxuICovXG4vKipcbiAqIFJlZHVjZXIgYW5kIHJldml2ZXIgZm9yIHN0ZXAgZnVuY3Rpb24gcmVmZXJlbmNlcy5cbiAqXG4gKiBJbiB3b3JrZmxvdyBtb2RlLCBzdGVwIGZ1bmN0aW9ucyBhcmUgcmVwbGFjZWQgYnkgdGhlIFNXQyBwbHVnaW4gd2l0aFxuICogcHJveGllcyBjcmVhdGVkIGJ5IGBnbG9iYWxUaGlzW1N5bWJvbC5mb3IoXCJXT1JLRkxPV19VU0VfU1RFUFwiKV0oXCJzdGVwSWRcIilgLlxuICogVGhlc2UgcHJveGllcyBoYXZlIGEgYC5zdGVwSWRgIHByb3BlcnR5IGFuZCBvcHRpb25hbGx5IGEgYC5fX2Nsb3N1cmVWYXJzRm5gXG4gKiBmb3IgY2FwdHVyZWQgY2xvc3VyZSB2YXJpYWJsZXMuIFRoZXkgbWF5IGFkZGl0aW9uYWxseSBoYXZlIGAuX19ib3VuZFRoaXNgXG4gKiAoYW5kIHJhcmVseSBgLl9fYm91bmRBcmdzYCkgd2hlbiB0aGUgU1dDIHBsdWdpbiBlbWl0dGVkXG4gKiBgdXNlU3RlcCguLi4pLmJpbmQodGhpcylgIGZvciBhIG5lc3RlZCBhcnJvdyBzdGVwIHRoYXQgbGV4aWNhbGx5XG4gKiBjYXB0dXJlZCBgdGhpc2AgKHNlZSBgcGFja2FnZXMvc3djLXBsdWdpbi13b3JrZmxvdy9zcGVjLm1kYCDihpIgXCJMZXhpY2FsXG4gKiBgdGhpc2AgQ2FwdHVyZSBpbiBOZXN0ZWQgQXJyb3cgU3RlcHNcIikuXG4gKlxuICogVGhlIHJlZHVjZXIgc2VyaWFsaXplcyB0aGVtIGFzXG4gKiAgIGB7IHN0ZXBJZCwgY2xvc3VyZVZhcnM/LCBib3VuZFRoaXM/LCBib3VuZEFyZ3M/IH1gLlxuICogVGhlIHJldml2ZXIgcmVjb25zdHJ1Y3RzIHRoZW0gYnkgY2FsbGluZyBXT1JLRkxPV19VU0VfU1RFUCBhbmQsIHdoZW5cbiAqIGBib3VuZFRoaXNgIChvciBgYm91bmRBcmdzYCkgaXMgcHJlc2VudCwgcmUtYmluZGluZyB0aGUgcmVzdWx0aW5nXG4gKiBwcm94eSBzbyB0aGUgY2FsbGVyJ3MgY2FwdHVyZWQgYHRoaXNgIChhbmQgcHJlZmlsbGVkIGFyZ3MpIHN1cnZpdmUgdGhlXG4gKiByb3VuZCB0cmlwLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUmVkdWNlcnMsIFJldml2ZXJzIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vLyAtLS0tIFJlZHVjZXIgLS0tLVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RlcEZ1bmN0aW9uUmVkdWNlcigpOiBQYXJ0aWFsPFJlZHVjZXJzPiB7XG4gIHJldHVybiB7XG4gICAgU3RlcEZ1bmN0aW9uOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicpIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IHN0ZXBJZCA9ICh2YWx1ZSBhcyBhbnkpLnN0ZXBJZDtcbiAgICAgIGlmICh0eXBlb2Ygc3RlcElkICE9PSAnc3RyaW5nJykgcmV0dXJuIGZhbHNlO1xuXG4gICAgICBjb25zdCBjbG9zdXJlVmFyc0ZuID0gKHZhbHVlIGFzIGFueSkuX19jbG9zdXJlVmFyc0ZuO1xuICAgICAgY29uc3QgY2xvc3VyZVZhcnMgPVxuICAgICAgICBjbG9zdXJlVmFyc0ZuICYmIHR5cGVvZiBjbG9zdXJlVmFyc0ZuID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgPyBjbG9zdXJlVmFyc0ZuKClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgLy8gYF9fYm91bmRUaGlzYCAvIGBfX2JvdW5kQXJnc2AgYXJlIG1hcmtlciBwcm9wZXJ0aWVzIGFkZGVkIGJ5IHRoZVxuICAgICAgLy8gc3RlcCBwcm94eSdzIG92ZXJyaWRkZW4gYC5iaW5kYCAoc2VlIHN0ZXAudHMpIHRvIHJlY29yZCB0aGVcbiAgICAgIC8vIGJvdW5kIHJlY2VpdmVyIGFuZCBhbnkgcHJlZmlsbGVkIGFyZ3VtZW50cy4gVXNlIGBpbmAgZm9yXG4gICAgICAvLyBgX19ib3VuZFRoaXNgIHNvIHdlIHJvdW5kLXRyaXAgZXZlbiB3aGVuIHRoZSBib3VuZCBgdGhpc2AgaXNcbiAgICAgIC8vIGB1bmRlZmluZWRgL2BudWxsYC4gYF9fYm91bmRBcmdzYCBpcyBvbmx5IHNldCB3aGVuIHRoZSB1c2VyXG4gICAgICAvLyBhY3R1YWxseSBzdXBwbGllZCBwcmVmaWxsZWQgYXJncywgc28gYSBtaXNzaW5nIHByb3BlcnR5IG1lYW5zXG4gICAgICAvLyBcIm5vIHByZWZpbGxlZCBhcmdzXCIuXG4gICAgICBjb25zdCBoYXNCb3VuZFRoaXMgPSAnX19ib3VuZFRoaXMnIGluICh2YWx1ZSBhcyBhbnkpO1xuICAgICAgY29uc3QgYm91bmRUaGlzID0gaGFzQm91bmRUaGlzID8gKHZhbHVlIGFzIGFueSkuX19ib3VuZFRoaXMgOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBib3VuZEFyZ3MgPSAodmFsdWUgYXMgYW55KS5fX2JvdW5kQXJncyBhcyB1bmtub3duW10gfCB1bmRlZmluZWQ7XG5cbiAgICAgIGNvbnN0IHBheWxvYWQ6IHtcbiAgICAgICAgc3RlcElkOiBzdHJpbmc7XG4gICAgICAgIGNsb3N1cmVWYXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAgICAgYm91bmRUaGlzPzogdW5rbm93bjtcbiAgICAgICAgYm91bmRBcmdzPzogdW5rbm93bltdO1xuICAgICAgfSA9IHsgc3RlcElkIH07XG4gICAgICBpZiAoY2xvc3VyZVZhcnMgIT09IHVuZGVmaW5lZCkgcGF5bG9hZC5jbG9zdXJlVmFycyA9IGNsb3N1cmVWYXJzO1xuICAgICAgaWYgKGhhc0JvdW5kVGhpcykgcGF5bG9hZC5ib3VuZFRoaXMgPSBib3VuZFRoaXM7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShib3VuZEFyZ3MpICYmIGJvdW5kQXJncy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBheWxvYWQuYm91bmRBcmdzID0gYm91bmRBcmdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICB9O1xufVxuXG4vLyAtLS0tIFJldml2ZXIgLS0tLVxuXG4vKipcbiAqIENyZWF0ZSB0aGUgU3RlcEZ1bmN0aW9uIHJldml2ZXIgZm9yIHdvcmtmbG93IGNvbnRleHQuXG4gKlxuICogVGhlIHJldml2ZXIgY2FsbHMgV09SS0ZMT1dfVVNFX1NURVAgdG8gY3JlYXRlIHRoZSBzdGVwIHByb3h5LFxuICogcmVzdG9yaW5nIHRoZSBhYmlsaXR5IHRvIGNhbGwgdGhlIHN0ZXAgZnJvbSB3b3JrZmxvdyBjb2RlLiBJZiB0aGVcbiAqIHNlcmlhbGl6ZWQgcGF5bG9hZCBpbmNsdWRlcyBgYm91bmRUaGlzYCAoYW5kIG9wdGlvbmFsbHkgYGJvdW5kQXJnc2ApLFxuICogdGhlIHJldml2ZXIgYWxzbyByZS1iaW5kcyB0aGUgZnJlc2hseS1jcmVhdGVkIHByb3h5IHNvIGEgc3RlcCBwcm94eVxuICogdGhhdCB3YXMgY29uc3RydWN0ZWQgd2l0aCBgLmJpbmQodGhpcywg4oCmKWAgaW4gdGhlIHdvcmtmbG93IGJ1bmRsZVxuICogY29udGludWVzIHRvIGNhcnJ5IHRoYXQgcmVjZWl2ZXIgYW5kIGFueSBwcmVmaWxsZWQgYXJndW1lbnRzIGFmdGVyXG4gKiBiZWluZyBkZXNlcmlhbGl6ZWQgaW4gYW5vdGhlciBidW5kbGUgKGUuZy4gd2hlbiBwYXNzZWQgYXMgYSBzdGVwXG4gKiBhcmd1bWVudCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGVwRnVuY3Rpb25SZXZpdmVyKFxuICBnbG9iYWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBnbG9iYWxUaGlzXG4pOiBQYXJ0aWFsPFJldml2ZXJzPiB7XG4gIGNvbnN0IHVzZVN0ZXAgPSAoZ2xvYmFsIGFzIGFueSlbU3ltYm9sLmZvcignV09SS0ZMT1dfVVNFX1NURVAnKV0gYXNcbiAgICB8ICgoXG4gICAgICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgICAgICBjbG9zdXJlVmFyc0ZuPzogKCkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICkgPT4gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUHJvbWlzZTx1bmtub3duPilcbiAgICB8IHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIFN0ZXBGdW5jdGlvbjogKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBzdGVwSWQgPSB2YWx1ZS5zdGVwSWQ7XG4gICAgICBjb25zdCBjbG9zdXJlVmFycyA9IHZhbHVlLmNsb3N1cmVWYXJzO1xuXG4gICAgICBpZiAoIXVzZVN0ZXApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdXT1JLRkxPV19VU0VfU1RFUCBub3QgZm91bmQgb24gZ2xvYmFsIG9iamVjdC4gU3RlcCBmdW5jdGlvbnMgY2Fubm90IGJlIGRlc2VyaWFsaXplZCBvdXRzaWRlIHdvcmtmbG93IGNvbnRleHQuJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm94eSA9IGNsb3N1cmVWYXJzXG4gICAgICAgID8gdXNlU3RlcChzdGVwSWQsICgpID0+IGNsb3N1cmVWYXJzKVxuICAgICAgICA6IHVzZVN0ZXAoc3RlcElkKTtcblxuICAgICAgaWYgKCdib3VuZFRoaXMnIGluIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kQXJncyA9IEFycmF5LmlzQXJyYXkodmFsdWUuYm91bmRBcmdzKSA/IHZhbHVlLmJvdW5kQXJncyA6IFtdO1xuICAgICAgICByZXR1cm4gKHByb3h5IGFzIGFueSkuYmluZCh2YWx1ZS5ib3VuZFRoaXMsIC4uLmJvdW5kQXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJveHk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-function.d.ts","sourceRoot":"","sources":["../../../src/serialization/reducers/step-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"step-function.d.ts","sourceRoot":"","sources":["../../../src/serialization/reducers/step-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAItD,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuD1D;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,QAAQ,CAAC,CA8BnB"}
|
|
@@ -17,19 +17,33 @@
|
|
|
17
17
|
* proxy so the caller's captured `this` (and prefilled args) survive the
|
|
18
18
|
* round trip.
|
|
19
19
|
*/
|
|
20
|
+
import { hasProperty, isUseStepClosureFn, readProperty, recordGuestCode, } from '../hardened.js';
|
|
20
21
|
// ---- Reducer ----
|
|
21
22
|
export function getStepFunctionReducer() {
|
|
22
23
|
return {
|
|
23
24
|
StepFunction: (value) => {
|
|
24
25
|
if (typeof value !== 'function')
|
|
25
26
|
return false;
|
|
26
|
-
const stepId = value
|
|
27
|
+
const stepId = readProperty(value, 'stepId');
|
|
27
28
|
if (typeof stepId !== 'string')
|
|
28
29
|
return false;
|
|
29
|
-
const closureVarsFn = value
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
const closureVarsFn = readProperty(value, '__closureVarsFn');
|
|
31
|
+
// The reducer has to invoke this to read the step's captured closure
|
|
32
|
+
// variables. The compiler-generated function is a sequence of lexical
|
|
33
|
+
// reads and cannot perturb observable VM state, so reporting it would
|
|
34
|
+
// flag every step that captures a variable. But the property is
|
|
35
|
+
// reachable from workflow code, which can replace it with anything.
|
|
36
|
+
// `step.ts` marks the function that came through `useStep` when it
|
|
37
|
+
// builds the proxy, so this is checked rather than assumed; anything
|
|
38
|
+
// unrecognized is reported like other guest code. See
|
|
39
|
+
// `markUseStepClosureFn` for what the mark does and does not prove.
|
|
40
|
+
let closureVars;
|
|
41
|
+
if (typeof closureVarsFn === 'function') {
|
|
42
|
+
if (!isUseStepClosureFn(closureVarsFn)) {
|
|
43
|
+
recordGuestCode('method', '__closureVarsFn');
|
|
44
|
+
}
|
|
45
|
+
closureVars = closureVarsFn();
|
|
46
|
+
}
|
|
33
47
|
// `__boundThis` / `__boundArgs` are marker properties added by the
|
|
34
48
|
// step proxy's overridden `.bind` (see step.ts) to record the
|
|
35
49
|
// bound receiver and any prefilled arguments. Use `in` for
|
|
@@ -37,9 +51,11 @@ export function getStepFunctionReducer() {
|
|
|
37
51
|
// `undefined`/`null`. `__boundArgs` is only set when the user
|
|
38
52
|
// actually supplied prefilled args, so a missing property means
|
|
39
53
|
// "no prefilled args".
|
|
40
|
-
const hasBoundThis = '__boundThis'
|
|
41
|
-
const boundThis = hasBoundThis
|
|
42
|
-
|
|
54
|
+
const hasBoundThis = hasProperty(value, '__boundThis');
|
|
55
|
+
const boundThis = hasBoundThis
|
|
56
|
+
? readProperty(value, '__boundThis')
|
|
57
|
+
: undefined;
|
|
58
|
+
const boundArgs = readProperty(value, '__boundArgs');
|
|
43
59
|
const payload = { stepId };
|
|
44
60
|
if (closureVars !== undefined)
|
|
45
61
|
payload.closureVars = closureVars;
|
|
@@ -85,4 +101,4 @@ export function getStepFunctionReviver(global = globalThis) {
|
|
|
85
101
|
},
|
|
86
102
|
};
|
|
87
103
|
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJpYWxpemF0aW9uL3JlZHVjZXJzL3N0ZXAtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUlILG9CQUFvQjtBQUVwQixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTCxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0QixJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVU7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUksS0FBYSxDQUFDLE1BQU0sQ0FBQztZQUNyQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFN0MsTUFBTSxhQUFhLEdBQUksS0FBYSxDQUFDLGVBQWUsQ0FBQztZQUNyRCxNQUFNLFdBQVcsR0FDZixhQUFhLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVTtnQkFDbEQsQ0FBQyxDQUFDLGFBQWEsRUFBRTtnQkFDakIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUVoQixtRUFBbUU7WUFDbkUsOERBQThEO1lBQzlELDJEQUEyRDtZQUMzRCwrREFBK0Q7WUFDL0QsOERBQThEO1lBQzlELGdFQUFnRTtZQUNoRSx1QkFBdUI7WUFDdkIsTUFBTSxZQUFZLEdBQUcsYUFBYSxJQUFLLEtBQWEsQ0FBQztZQUNyRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFFLEtBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN4RSxNQUFNLFNBQVMsR0FBSSxLQUFhLENBQUMsV0FBb0MsQ0FBQztZQUV0RSxNQUFNLE9BQU8sR0FLVCxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2YsSUFBSSxXQUFXLEtBQUssU0FBUztnQkFBRSxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNqRSxJQUFJLFlBQVk7Z0JBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDaEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxvQkFBb0I7QUFFcEI7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLFNBQThCLFVBQVU7SUFFeEMsTUFBTSxPQUFPLEdBQUksTUFBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FLbEQsQ0FBQztJQUVkLE9BQU87UUFDTCxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFFdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0dBQStHLENBQ2hILENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsV0FBVztnQkFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBCLElBQUksV0FBVyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxPQUFRLEtBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVkdWNlciBhbmQgcmV2aXZlciBmb3Igc3RlcCBmdW5jdGlvbiByZWZlcmVuY2VzLlxuICpcbiAqIEluIHdvcmtmbG93IG1vZGUsIHN0ZXAgZnVuY3Rpb25zIGFyZSByZXBsYWNlZCBieSB0aGUgU1dDIHBsdWdpbiB3aXRoXG4gKiBwcm94aWVzIGNyZWF0ZWQgYnkgYGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcIldPUktGTE9XX1VTRV9TVEVQXCIpXShcInN0ZXBJZFwiKWAuXG4gKiBUaGVzZSBwcm94aWVzIGhhdmUgYSBgLnN0ZXBJZGAgcHJvcGVydHkgYW5kIG9wdGlvbmFsbHkgYSBgLl9fY2xvc3VyZVZhcnNGbmBcbiAqIGZvciBjYXB0dXJlZCBjbG9zdXJlIHZhcmlhYmxlcy4gVGhleSBtYXkgYWRkaXRpb25hbGx5IGhhdmUgYC5fX2JvdW5kVGhpc2BcbiAqIChhbmQgcmFyZWx5IGAuX19ib3VuZEFyZ3NgKSB3aGVuIHRoZSBTV0MgcGx1Z2luIGVtaXR0ZWRcbiAqIGB1c2VTdGVwKC4uLikuYmluZCh0aGlzKWAgZm9yIGEgbmVzdGVkIGFycm93IHN0ZXAgdGhhdCBsZXhpY2FsbHlcbiAqIGNhcHR1cmVkIGB0aGlzYCAoc2VlIGBwYWNrYWdlcy9zd2MtcGx1Z2luLXdvcmtmbG93L3NwZWMubWRgIOKGkiBcIkxleGljYWxcbiAqIGB0aGlzYCBDYXB0dXJlIGluIE5lc3RlZCBBcnJvdyBTdGVwc1wiKS5cbiAqXG4gKiBUaGUgcmVkdWNlciBzZXJpYWxpemVzIHRoZW0gYXNcbiAqICAgYHsgc3RlcElkLCBjbG9zdXJlVmFycz8sIGJvdW5kVGhpcz8sIGJvdW5kQXJncz8gfWAuXG4gKiBUaGUgcmV2aXZlciByZWNvbnN0cnVjdHMgdGhlbSBieSBjYWxsaW5nIFdPUktGTE9XX1VTRV9TVEVQIGFuZCwgd2hlblxuICogYGJvdW5kVGhpc2AgKG9yIGBib3VuZEFyZ3NgKSBpcyBwcmVzZW50LCByZS1iaW5kaW5nIHRoZSByZXN1bHRpbmdcbiAqIHByb3h5IHNvIHRoZSBjYWxsZXIncyBjYXB0dXJlZCBgdGhpc2AgKGFuZCBwcmVmaWxsZWQgYXJncykgc3Vydml2ZSB0aGVcbiAqIHJvdW5kIHRyaXAuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBSZWR1Y2VycywgUmV2aXZlcnMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8vIC0tLS0gUmVkdWNlciAtLS0tXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGVwRnVuY3Rpb25SZWR1Y2VyKCk6IFBhcnRpYWw8UmVkdWNlcnM+IHtcbiAgcmV0dXJuIHtcbiAgICBTdGVwRnVuY3Rpb246ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3Qgc3RlcElkID0gKHZhbHVlIGFzIGFueSkuc3RlcElkO1xuICAgICAgaWYgKHR5cGVvZiBzdGVwSWQgIT09ICdzdHJpbmcnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIGNvbnN0IGNsb3N1cmVWYXJzRm4gPSAodmFsdWUgYXMgYW55KS5fX2Nsb3N1cmVWYXJzRm47XG4gICAgICBjb25zdCBjbG9zdXJlVmFycyA9XG4gICAgICAgIGNsb3N1cmVWYXJzRm4gJiYgdHlwZW9mIGNsb3N1cmVWYXJzRm4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICA/IGNsb3N1cmVWYXJzRm4oKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAvLyBgX19ib3VuZFRoaXNgIC8gYF9fYm91bmRBcmdzYCBhcmUgbWFya2VyIHByb3BlcnRpZXMgYWRkZWQgYnkgdGhlXG4gICAgICAvLyBzdGVwIHByb3h5J3Mgb3ZlcnJpZGRlbiBgLmJpbmRgIChzZWUgc3RlcC50cykgdG8gcmVjb3JkIHRoZVxuICAgICAgLy8gYm91bmQgcmVjZWl2ZXIgYW5kIGFueSBwcmVmaWxsZWQgYXJndW1lbnRzLiBVc2UgYGluYCBmb3JcbiAgICAgIC8vIGBfX2JvdW5kVGhpc2Agc28gd2Ugcm91bmQtdHJpcCBldmVuIHdoZW4gdGhlIGJvdW5kIGB0aGlzYCBpc1xuICAgICAgLy8gYHVuZGVmaW5lZGAvYG51bGxgLiBgX19ib3VuZEFyZ3NgIGlzIG9ubHkgc2V0IHdoZW4gdGhlIHVzZXJcbiAgICAgIC8vIGFjdHVhbGx5IHN1cHBsaWVkIHByZWZpbGxlZCBhcmdzLCBzbyBhIG1pc3NpbmcgcHJvcGVydHkgbWVhbnNcbiAgICAgIC8vIFwibm8gcHJlZmlsbGVkIGFyZ3NcIi5cbiAgICAgIGNvbnN0IGhhc0JvdW5kVGhpcyA9ICdfX2JvdW5kVGhpcycgaW4gKHZhbHVlIGFzIGFueSk7XG4gICAgICBjb25zdCBib3VuZFRoaXMgPSBoYXNCb3VuZFRoaXMgPyAodmFsdWUgYXMgYW55KS5fX2JvdW5kVGhpcyA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvdW5kQXJncyA9ICh2YWx1ZSBhcyBhbnkpLl9fYm91bmRBcmdzIGFzIHVua25vd25bXSB8IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgcGF5bG9hZDoge1xuICAgICAgICBzdGVwSWQ6IHN0cmluZztcbiAgICAgICAgY2xvc3VyZVZhcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgICBib3VuZFRoaXM/OiB1bmtub3duO1xuICAgICAgICBib3VuZEFyZ3M/OiB1bmtub3duW107XG4gICAgICB9ID0geyBzdGVwSWQgfTtcbiAgICAgIGlmIChjbG9zdXJlVmFycyAhPT0gdW5kZWZpbmVkKSBwYXlsb2FkLmNsb3N1cmVWYXJzID0gY2xvc3VyZVZhcnM7XG4gICAgICBpZiAoaGFzQm91bmRUaGlzKSBwYXlsb2FkLmJvdW5kVGhpcyA9IGJvdW5kVGhpcztcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGJvdW5kQXJncykgJiYgYm91bmRBcmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcGF5bG9hZC5ib3VuZEFyZ3MgPSBib3VuZEFyZ3M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgIH0sXG4gIH07XG59XG5cbi8vIC0tLS0gUmV2aXZlciAtLS0tXG5cbi8qKlxuICogQ3JlYXRlIHRoZSBTdGVwRnVuY3Rpb24gcmV2aXZlciBmb3Igd29ya2Zsb3cgY29udGV4dC5cbiAqXG4gKiBUaGUgcmV2aXZlciBjYWxscyBXT1JLRkxPV19VU0VfU1RFUCB0byBjcmVhdGUgdGhlIHN0ZXAgcHJveHksXG4gKiByZXN0b3JpbmcgdGhlIGFiaWxpdHkgdG8gY2FsbCB0aGUgc3RlcCBmcm9tIHdvcmtmbG93IGNvZGUuIElmIHRoZVxuICogc2VyaWFsaXplZCBwYXlsb2FkIGluY2x1ZGVzIGBib3VuZFRoaXNgIChhbmQgb3B0aW9uYWxseSBgYm91bmRBcmdzYCksXG4gKiB0aGUgcmV2aXZlciBhbHNvIHJlLWJpbmRzIHRoZSBmcmVzaGx5LWNyZWF0ZWQgcHJveHkgc28gYSBzdGVwIHByb3h5XG4gKiB0aGF0IHdhcyBjb25zdHJ1Y3RlZCB3aXRoIGAuYmluZCh0aGlzLCDigKYpYCBpbiB0aGUgd29ya2Zsb3cgYnVuZGxlXG4gKiBjb250aW51ZXMgdG8gY2FycnkgdGhhdCByZWNlaXZlciBhbmQgYW55IHByZWZpbGxlZCBhcmd1bWVudHMgYWZ0ZXJcbiAqIGJlaW5nIGRlc2VyaWFsaXplZCBpbiBhbm90aGVyIGJ1bmRsZSAoZS5nLiB3aGVuIHBhc3NlZCBhcyBhIHN0ZXBcbiAqIGFyZ3VtZW50KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFN0ZXBGdW5jdGlvblJldml2ZXIoXG4gIGdsb2JhbDogUmVjb3JkPHN0cmluZywgYW55PiA9IGdsb2JhbFRoaXNcbik6IFBhcnRpYWw8UmV2aXZlcnM+IHtcbiAgY29uc3QgdXNlU3RlcCA9IChnbG9iYWwgYXMgYW55KVtTeW1ib2wuZm9yKCdXT1JLRkxPV19VU0VfU1RFUCcpXSBhc1xuICAgIHwgKChcbiAgICAgICAgc3RlcElkOiBzdHJpbmcsXG4gICAgICAgIGNsb3N1cmVWYXJzRm4/OiAoKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgKSA9PiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBQcm9taXNlPHVua25vd24+KVxuICAgIHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiB7XG4gICAgU3RlcEZ1bmN0aW9uOiAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXBJZCA9IHZhbHVlLnN0ZXBJZDtcbiAgICAgIGNvbnN0IGNsb3N1cmVWYXJzID0gdmFsdWUuY2xvc3VyZVZhcnM7XG5cbiAgICAgIGlmICghdXNlU3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ1dPUktGTE9XX1VTRV9TVEVQIG5vdCBmb3VuZCBvbiBnbG9iYWwgb2JqZWN0LiBTdGVwIGZ1bmN0aW9ucyBjYW5ub3QgYmUgZGVzZXJpYWxpemVkIG91dHNpZGUgd29ya2Zsb3cgY29udGV4dC4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb3h5ID0gY2xvc3VyZVZhcnNcbiAgICAgICAgPyB1c2VTdGVwKHN0ZXBJZCwgKCkgPT4gY2xvc3VyZVZhcnMpXG4gICAgICAgIDogdXNlU3RlcChzdGVwSWQpO1xuXG4gICAgICBpZiAoJ2JvdW5kVGhpcycgaW4gdmFsdWUpIHtcbiAgICAgICAgY29uc3QgYm91bmRBcmdzID0gQXJyYXkuaXNBcnJheSh2YWx1ZS5ib3VuZEFyZ3MpID8gdmFsdWUuYm91bmRBcmdzIDogW107XG4gICAgICAgIHJldHVybiAocHJveHkgYXMgYW55KS5iaW5kKHZhbHVlLmJvdW5kVGhpcywgLi4uYm91bmRBcmdzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm94eTtcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJpYWxpemF0aW9uL3JlZHVjZXJzL3N0ZXAtZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEdBQ2hCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsb0JBQW9CO0FBRXBCLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTztRQUNMLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3RCLElBQUksT0FBTyxLQUFLLEtBQUssVUFBVTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUM5QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUU3QyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDN0QscUVBQXFFO1lBQ3JFLHNFQUFzRTtZQUN0RSxzRUFBc0U7WUFDdEUsZ0VBQWdFO1lBQ2hFLG9FQUFvRTtZQUNwRSxtRUFBbUU7WUFDbkUscUVBQXFFO1lBQ3JFLHNEQUFzRDtZQUN0RCxvRUFBb0U7WUFDcEUsSUFBSSxXQUFnRCxDQUFDO1lBQ3JELElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO29CQUN2QyxlQUFlLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQy9DLENBQUM7Z0JBQ0QsV0FBVyxHQUFJLGFBQStDLEVBQUUsQ0FBQztZQUNuRSxDQUFDO1lBRUQsbUVBQW1FO1lBQ25FLDhEQUE4RDtZQUM5RCwyREFBMkQ7WUFDM0QsK0RBQStEO1lBQy9ELDhEQUE4RDtZQUM5RCxnRUFBZ0U7WUFDaEUsdUJBQXVCO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxTQUFTLEdBQUcsWUFBWTtnQkFDNUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDO2dCQUNwQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLENBRXRDLENBQUM7WUFFZCxNQUFNLE9BQU8sR0FLVCxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2YsSUFBSSxXQUFXLEtBQUssU0FBUztnQkFBRSxPQUFPLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNqRSxJQUFJLFlBQVk7Z0JBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDaEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxvQkFBb0I7QUFFcEI7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLFNBQThCLFVBQVU7SUFFeEMsTUFBTSxPQUFPLEdBQUksTUFBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FLbEQsQ0FBQztJQUVkLE9BQU87UUFDTCxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFFdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0dBQStHLENBQ2hILENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsV0FBVztnQkFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBCLElBQUksV0FBVyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUN6QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxPQUFRLEtBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVkdWNlciBhbmQgcmV2aXZlciBmb3Igc3RlcCBmdW5jdGlvbiByZWZlcmVuY2VzLlxuICpcbiAqIEluIHdvcmtmbG93IG1vZGUsIHN0ZXAgZnVuY3Rpb25zIGFyZSByZXBsYWNlZCBieSB0aGUgU1dDIHBsdWdpbiB3aXRoXG4gKiBwcm94aWVzIGNyZWF0ZWQgYnkgYGdsb2JhbFRoaXNbU3ltYm9sLmZvcihcIldPUktGTE9XX1VTRV9TVEVQXCIpXShcInN0ZXBJZFwiKWAuXG4gKiBUaGVzZSBwcm94aWVzIGhhdmUgYSBgLnN0ZXBJZGAgcHJvcGVydHkgYW5kIG9wdGlvbmFsbHkgYSBgLl9fY2xvc3VyZVZhcnNGbmBcbiAqIGZvciBjYXB0dXJlZCBjbG9zdXJlIHZhcmlhYmxlcy4gVGhleSBtYXkgYWRkaXRpb25hbGx5IGhhdmUgYC5fX2JvdW5kVGhpc2BcbiAqIChhbmQgcmFyZWx5IGAuX19ib3VuZEFyZ3NgKSB3aGVuIHRoZSBTV0MgcGx1Z2luIGVtaXR0ZWRcbiAqIGB1c2VTdGVwKC4uLikuYmluZCh0aGlzKWAgZm9yIGEgbmVzdGVkIGFycm93IHN0ZXAgdGhhdCBsZXhpY2FsbHlcbiAqIGNhcHR1cmVkIGB0aGlzYCAoc2VlIGBwYWNrYWdlcy9zd2MtcGx1Z2luLXdvcmtmbG93L3NwZWMubWRgIOKGkiBcIkxleGljYWxcbiAqIGB0aGlzYCBDYXB0dXJlIGluIE5lc3RlZCBBcnJvdyBTdGVwc1wiKS5cbiAqXG4gKiBUaGUgcmVkdWNlciBzZXJpYWxpemVzIHRoZW0gYXNcbiAqICAgYHsgc3RlcElkLCBjbG9zdXJlVmFycz8sIGJvdW5kVGhpcz8sIGJvdW5kQXJncz8gfWAuXG4gKiBUaGUgcmV2aXZlciByZWNvbnN0cnVjdHMgdGhlbSBieSBjYWxsaW5nIFdPUktGTE9XX1VTRV9TVEVQIGFuZCwgd2hlblxuICogYGJvdW5kVGhpc2AgKG9yIGBib3VuZEFyZ3NgKSBpcyBwcmVzZW50LCByZS1iaW5kaW5nIHRoZSByZXN1bHRpbmdcbiAqIHByb3h5IHNvIHRoZSBjYWxsZXIncyBjYXB0dXJlZCBgdGhpc2AgKGFuZCBwcmVmaWxsZWQgYXJncykgc3Vydml2ZSB0aGVcbiAqIHJvdW5kIHRyaXAuXG4gKi9cblxuaW1wb3J0IHtcbiAgaGFzUHJvcGVydHksXG4gIGlzVXNlU3RlcENsb3N1cmVGbixcbiAgcmVhZFByb3BlcnR5LFxuICByZWNvcmRHdWVzdENvZGUsXG59IGZyb20gJy4uL2hhcmRlbmVkLmpzJztcbmltcG9ydCB0eXBlIHsgUmVkdWNlcnMsIFJldml2ZXJzIH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG4vLyAtLS0tIFJlZHVjZXIgLS0tLVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RlcEZ1bmN0aW9uUmVkdWNlcigpOiBQYXJ0aWFsPFJlZHVjZXJzPiB7XG4gIHJldHVybiB7XG4gICAgU3RlcEZ1bmN0aW9uOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicpIHJldHVybiBmYWxzZTtcbiAgICAgIGNvbnN0IHN0ZXBJZCA9IHJlYWRQcm9wZXJ0eSh2YWx1ZSwgJ3N0ZXBJZCcpO1xuICAgICAgaWYgKHR5cGVvZiBzdGVwSWQgIT09ICdzdHJpbmcnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIGNvbnN0IGNsb3N1cmVWYXJzRm4gPSByZWFkUHJvcGVydHkodmFsdWUsICdfX2Nsb3N1cmVWYXJzRm4nKTtcbiAgICAgIC8vIFRoZSByZWR1Y2VyIGhhcyB0byBpbnZva2UgdGhpcyB0byByZWFkIHRoZSBzdGVwJ3MgY2FwdHVyZWQgY2xvc3VyZVxuICAgICAgLy8gdmFyaWFibGVzLiBUaGUgY29tcGlsZXItZ2VuZXJhdGVkIGZ1bmN0aW9uIGlzIGEgc2VxdWVuY2Ugb2YgbGV4aWNhbFxuICAgICAgLy8gcmVhZHMgYW5kIGNhbm5vdCBwZXJ0dXJiIG9ic2VydmFibGUgVk0gc3RhdGUsIHNvIHJlcG9ydGluZyBpdCB3b3VsZFxuICAgICAgLy8gZmxhZyBldmVyeSBzdGVwIHRoYXQgY2FwdHVyZXMgYSB2YXJpYWJsZS4gQnV0IHRoZSBwcm9wZXJ0eSBpc1xuICAgICAgLy8gcmVhY2hhYmxlIGZyb20gd29ya2Zsb3cgY29kZSwgd2hpY2ggY2FuIHJlcGxhY2UgaXQgd2l0aCBhbnl0aGluZy5cbiAgICAgIC8vIGBzdGVwLnRzYCBtYXJrcyB0aGUgZnVuY3Rpb24gdGhhdCBjYW1lIHRocm91Z2ggYHVzZVN0ZXBgIHdoZW4gaXRcbiAgICAgIC8vIGJ1aWxkcyB0aGUgcHJveHksIHNvIHRoaXMgaXMgY2hlY2tlZCByYXRoZXIgdGhhbiBhc3N1bWVkOyBhbnl0aGluZ1xuICAgICAgLy8gdW5yZWNvZ25pemVkIGlzIHJlcG9ydGVkIGxpa2Ugb3RoZXIgZ3Vlc3QgY29kZS4gU2VlXG4gICAgICAvLyBgbWFya1VzZVN0ZXBDbG9zdXJlRm5gIGZvciB3aGF0IHRoZSBtYXJrIGRvZXMgYW5kIGRvZXMgbm90IHByb3ZlLlxuICAgICAgbGV0IGNsb3N1cmVWYXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICAgIGlmICh0eXBlb2YgY2xvc3VyZVZhcnNGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAoIWlzVXNlU3RlcENsb3N1cmVGbihjbG9zdXJlVmFyc0ZuKSkge1xuICAgICAgICAgIHJlY29yZEd1ZXN0Q29kZSgnbWV0aG9kJywgJ19fY2xvc3VyZVZhcnNGbicpO1xuICAgICAgICB9XG4gICAgICAgIGNsb3N1cmVWYXJzID0gKGNsb3N1cmVWYXJzRm4gYXMgKCkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj4pKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGBfX2JvdW5kVGhpc2AgLyBgX19ib3VuZEFyZ3NgIGFyZSBtYXJrZXIgcHJvcGVydGllcyBhZGRlZCBieSB0aGVcbiAgICAgIC8vIHN0ZXAgcHJveHkncyBvdmVycmlkZGVuIGAuYmluZGAgKHNlZSBzdGVwLnRzKSB0byByZWNvcmQgdGhlXG4gICAgICAvLyBib3VuZCByZWNlaXZlciBhbmQgYW55IHByZWZpbGxlZCBhcmd1bWVudHMuIFVzZSBgaW5gIGZvclxuICAgICAgLy8gYF9fYm91bmRUaGlzYCBzbyB3ZSByb3VuZC10cmlwIGV2ZW4gd2hlbiB0aGUgYm91bmQgYHRoaXNgIGlzXG4gICAgICAvLyBgdW5kZWZpbmVkYC9gbnVsbGAuIGBfX2JvdW5kQXJnc2AgaXMgb25seSBzZXQgd2hlbiB0aGUgdXNlclxuICAgICAgLy8gYWN0dWFsbHkgc3VwcGxpZWQgcHJlZmlsbGVkIGFyZ3MsIHNvIGEgbWlzc2luZyBwcm9wZXJ0eSBtZWFuc1xuICAgICAgLy8gXCJubyBwcmVmaWxsZWQgYXJnc1wiLlxuICAgICAgY29uc3QgaGFzQm91bmRUaGlzID0gaGFzUHJvcGVydHkodmFsdWUsICdfX2JvdW5kVGhpcycpO1xuICAgICAgY29uc3QgYm91bmRUaGlzID0gaGFzQm91bmRUaGlzXG4gICAgICAgID8gcmVhZFByb3BlcnR5KHZhbHVlLCAnX19ib3VuZFRoaXMnKVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGJvdW5kQXJncyA9IHJlYWRQcm9wZXJ0eSh2YWx1ZSwgJ19fYm91bmRBcmdzJykgYXNcbiAgICAgICAgfCB1bmtub3duW11cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICAgIGNvbnN0IHBheWxvYWQ6IHtcbiAgICAgICAgc3RlcElkOiBzdHJpbmc7XG4gICAgICAgIGNsb3N1cmVWYXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAgICAgYm91bmRUaGlzPzogdW5rbm93bjtcbiAgICAgICAgYm91bmRBcmdzPzogdW5rbm93bltdO1xuICAgICAgfSA9IHsgc3RlcElkIH07XG4gICAgICBpZiAoY2xvc3VyZVZhcnMgIT09IHVuZGVmaW5lZCkgcGF5bG9hZC5jbG9zdXJlVmFycyA9IGNsb3N1cmVWYXJzO1xuICAgICAgaWYgKGhhc0JvdW5kVGhpcykgcGF5bG9hZC5ib3VuZFRoaXMgPSBib3VuZFRoaXM7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShib3VuZEFyZ3MpICYmIGJvdW5kQXJncy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHBheWxvYWQuYm91bmRBcmdzID0gYm91bmRBcmdzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGF5bG9hZDtcbiAgICB9LFxuICB9O1xufVxuXG4vLyAtLS0tIFJldml2ZXIgLS0tLVxuXG4vKipcbiAqIENyZWF0ZSB0aGUgU3RlcEZ1bmN0aW9uIHJldml2ZXIgZm9yIHdvcmtmbG93IGNvbnRleHQuXG4gKlxuICogVGhlIHJldml2ZXIgY2FsbHMgV09SS0ZMT1dfVVNFX1NURVAgdG8gY3JlYXRlIHRoZSBzdGVwIHByb3h5LFxuICogcmVzdG9yaW5nIHRoZSBhYmlsaXR5IHRvIGNhbGwgdGhlIHN0ZXAgZnJvbSB3b3JrZmxvdyBjb2RlLiBJZiB0aGVcbiAqIHNlcmlhbGl6ZWQgcGF5bG9hZCBpbmNsdWRlcyBgYm91bmRUaGlzYCAoYW5kIG9wdGlvbmFsbHkgYGJvdW5kQXJnc2ApLFxuICogdGhlIHJldml2ZXIgYWxzbyByZS1iaW5kcyB0aGUgZnJlc2hseS1jcmVhdGVkIHByb3h5IHNvIGEgc3RlcCBwcm94eVxuICogdGhhdCB3YXMgY29uc3RydWN0ZWQgd2l0aCBgLmJpbmQodGhpcywg4oCmKWAgaW4gdGhlIHdvcmtmbG93IGJ1bmRsZVxuICogY29udGludWVzIHRvIGNhcnJ5IHRoYXQgcmVjZWl2ZXIgYW5kIGFueSBwcmVmaWxsZWQgYXJndW1lbnRzIGFmdGVyXG4gKiBiZWluZyBkZXNlcmlhbGl6ZWQgaW4gYW5vdGhlciBidW5kbGUgKGUuZy4gd2hlbiBwYXNzZWQgYXMgYSBzdGVwXG4gKiBhcmd1bWVudCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGVwRnVuY3Rpb25SZXZpdmVyKFxuICBnbG9iYWw6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBnbG9iYWxUaGlzXG4pOiBQYXJ0aWFsPFJldml2ZXJzPiB7XG4gIGNvbnN0IHVzZVN0ZXAgPSAoZ2xvYmFsIGFzIGFueSlbU3ltYm9sLmZvcignV09SS0ZMT1dfVVNFX1NURVAnKV0gYXNcbiAgICB8ICgoXG4gICAgICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgICAgICBjbG9zdXJlVmFyc0ZuPzogKCkgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICAgICkgPT4gKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gUHJvbWlzZTx1bmtub3duPilcbiAgICB8IHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIFN0ZXBGdW5jdGlvbjogKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBzdGVwSWQgPSB2YWx1ZS5zdGVwSWQ7XG4gICAgICBjb25zdCBjbG9zdXJlVmFycyA9IHZhbHVlLmNsb3N1cmVWYXJzO1xuXG4gICAgICBpZiAoIXVzZVN0ZXApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdXT1JLRkxPV19VU0VfU1RFUCBub3QgZm91bmQgb24gZ2xvYmFsIG9iamVjdC4gU3RlcCBmdW5jdGlvbnMgY2Fubm90IGJlIGRlc2VyaWFsaXplZCBvdXRzaWRlIHdvcmtmbG93IGNvbnRleHQuJ1xuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm94eSA9IGNsb3N1cmVWYXJzXG4gICAgICAgID8gdXNlU3RlcChzdGVwSWQsICgpID0+IGNsb3N1cmVWYXJzKVxuICAgICAgICA6IHVzZVN0ZXAoc3RlcElkKTtcblxuICAgICAgaWYgKCdib3VuZFRoaXMnIGluIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGJvdW5kQXJncyA9IEFycmF5LmlzQXJyYXkodmFsdWUuYm91bmRBcmdzKSA/IHZhbHVlLmJvdW5kQXJncyA6IFtdO1xuICAgICAgICByZXR1cm4gKHByb3h5IGFzIGFueSkuYmluZCh2YWx1ZS5ib3VuZFRoaXMsIC4uLmJvdW5kQXJncyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcHJveHk7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Step mode serialization.
|
|
3
3
|
*
|
|
4
|
-
* Used by the step
|
|
4
|
+
* Used by the step executor for serializing step return values and
|
|
5
5
|
* deserializing step arguments. Supports encryption as a composable layer.
|
|
6
6
|
*/
|
|
7
7
|
import type { CodecOptions } from './codec.js';
|
|
8
|
-
import { type
|
|
8
|
+
import { type PayloadKey } from './encryption.js';
|
|
9
9
|
/**
|
|
10
10
|
* Serialize a value from the step execution environment.
|
|
11
11
|
*/
|
|
12
|
-
export declare function serialize(value: unknown, encryptionKey?:
|
|
12
|
+
export declare function serialize(value: unknown, encryptionKey?: PayloadKey, options?: CodecOptions): Promise<Uint8Array | unknown>;
|
|
13
13
|
/**
|
|
14
14
|
* Deserialize a value for the step execution environment.
|
|
15
15
|
*/
|
|
16
|
-
export declare function deserialize(data: Uint8Array | unknown, encryptionKey?:
|
|
16
|
+
export declare function deserialize(data: Uint8Array | unknown, encryptionKey?: PayloadKey, options?: CodecOptions): Promise<unknown>;
|
|
17
17
|
//# sourceMappingURL=step.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/serialization/step.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/serialization/step.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AAKzB;;GAEG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,OAAO,EACd,aAAa,CAAC,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAmB/B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,aAAa,CAAC,EAAE,UAAU,EAC1B,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,CAsBlB"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Step mode serialization.
|
|
3
3
|
*
|
|
4
|
-
* Used by the step
|
|
4
|
+
* Used by the step executor for serializing step return values and
|
|
5
5
|
* deserializing step arguments. Supports encryption as a composable layer.
|
|
6
6
|
*/
|
|
7
7
|
import { SerializationError } from '@workflow/errors';
|
|
8
8
|
import { devalueCodec } from './codec-devalue.js';
|
|
9
|
+
import { compress, decompress } from './compression.js';
|
|
9
10
|
import { decrypt as decryptData, encrypt as encryptData, } from './encryption.js';
|
|
10
|
-
import { formatSerializationError } from './errors.js';
|
|
11
|
+
import { formatSerializationError, rethrowIfRuntimeError } from './errors.js';
|
|
11
12
|
import { decodeFormatPrefix, encodeWithFormatPrefix } from './format.js';
|
|
12
13
|
import { SerializationFormat } from './types.js';
|
|
13
14
|
/**
|
|
@@ -17,9 +18,12 @@ export async function serialize(value, encryptionKey, options) {
|
|
|
17
18
|
try {
|
|
18
19
|
const payload = devalueCodec.serialize(value, 'step', options);
|
|
19
20
|
const prefixed = encodeWithFormatPrefix(SerializationFormat.DEVALUE_V1, payload);
|
|
20
|
-
|
|
21
|
+
// Compress before encrypting, since encrypted bytes don't compress.
|
|
22
|
+
const compressed = await compress(prefixed, options?.compression === true, options?.compressionStats);
|
|
23
|
+
return encryptData(compressed, encryptionKey);
|
|
21
24
|
}
|
|
22
25
|
catch (error) {
|
|
26
|
+
rethrowIfRuntimeError(error);
|
|
23
27
|
const { message, hint } = formatSerializationError('step value', error);
|
|
24
28
|
throw new SerializationError(message, { hint, cause: error });
|
|
25
29
|
}
|
|
@@ -28,7 +32,7 @@ export async function serialize(value, encryptionKey, options) {
|
|
|
28
32
|
* Deserialize a value for the step execution environment.
|
|
29
33
|
*/
|
|
30
34
|
export async function deserialize(data, encryptionKey, options) {
|
|
31
|
-
const decrypted = await decryptData(data, encryptionKey);
|
|
35
|
+
const decrypted = await decompress(await decryptData(data, encryptionKey), options?.compressionStats);
|
|
32
36
|
if (!(decrypted instanceof Uint8Array)) {
|
|
33
37
|
if (devalueCodec.deserializeLegacy) {
|
|
34
38
|
return devalueCodec.deserializeLegacy(decrypted, 'step', options);
|
|
@@ -41,4 +45,4 @@ export async function deserialize(data, encryptionKey, options) {
|
|
|
41
45
|
}
|
|
42
46
|
throw new Error(`Unsupported serialization format: ${format}`);
|
|
43
47
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemF0aW9uL3N0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsT0FBTyxJQUFJLFdBQVcsRUFDdEIsT0FBTyxJQUFJLFdBQVcsR0FFdkIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUM3QixLQUFjLEVBQ2QsYUFBMEIsRUFDMUIsT0FBc0I7SUFFdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUNyQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQzlCLE9BQU8sQ0FDTSxDQUFDO1FBQ2hCLG9FQUFvRTtRQUNwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FDL0IsUUFBUSxFQUNSLE9BQU8sRUFBRSxXQUFXLEtBQUssSUFBSSxFQUM3QixPQUFPLEVBQUUsZ0JBQWdCLENBQzFCLENBQUM7UUFDRixPQUFPLFdBQVcsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLHdCQUF3QixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RSxNQUFNLElBQUksa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVcsQ0FDL0IsSUFBMEIsRUFDMUIsYUFBMEIsRUFDMUIsT0FBc0I7SUFFdEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxVQUFVLENBQ2hDLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsRUFDdEMsT0FBTyxFQUFFLGdCQUFnQixDQUMxQixDQUFDO0lBRUYsSUFBSSxDQUFDLENBQUMsU0FBUyxZQUFZLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDdkMsSUFBSSxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFMUQsSUFBSSxNQUFNLEtBQUssbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3RlcCBtb2RlIHNlcmlhbGl6YXRpb24uXG4gKlxuICogVXNlZCBieSB0aGUgc3RlcCBleGVjdXRvciBmb3Igc2VyaWFsaXppbmcgc3RlcCByZXR1cm4gdmFsdWVzIGFuZFxuICogZGVzZXJpYWxpemluZyBzdGVwIGFyZ3VtZW50cy4gU3VwcG9ydHMgZW5jcnlwdGlvbiBhcyBhIGNvbXBvc2FibGUgbGF5ZXIuXG4gKi9cblxuaW1wb3J0IHsgU2VyaWFsaXphdGlvbkVycm9yIH0gZnJvbSAnQHdvcmtmbG93L2Vycm9ycyc7XG5pbXBvcnQgdHlwZSB7IENvZGVjT3B0aW9ucyB9IGZyb20gJy4vY29kZWMuanMnO1xuaW1wb3J0IHsgZGV2YWx1ZUNvZGVjIH0gZnJvbSAnLi9jb2RlYy1kZXZhbHVlLmpzJztcbmltcG9ydCB7IGNvbXByZXNzLCBkZWNvbXByZXNzIH0gZnJvbSAnLi9jb21wcmVzc2lvbi5qcyc7XG5pbXBvcnQge1xuICBkZWNyeXB0IGFzIGRlY3J5cHREYXRhLFxuICBlbmNyeXB0IGFzIGVuY3J5cHREYXRhLFxuICB0eXBlIFBheWxvYWRLZXksXG59IGZyb20gJy4vZW5jcnlwdGlvbi5qcyc7XG5pbXBvcnQgeyBmb3JtYXRTZXJpYWxpemF0aW9uRXJyb3IsIHJldGhyb3dJZlJ1bnRpbWVFcnJvciB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB7IGRlY29kZUZvcm1hdFByZWZpeCwgZW5jb2RlV2l0aEZvcm1hdFByZWZpeCB9IGZyb20gJy4vZm9ybWF0LmpzJztcbmltcG9ydCB7IFNlcmlhbGl6YXRpb25Gb3JtYXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBTZXJpYWxpemUgYSB2YWx1ZSBmcm9tIHRoZSBzdGVwIGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlcmlhbGl6ZShcbiAgdmFsdWU6IHVua25vd24sXG4gIGVuY3J5cHRpb25LZXk/OiBQYXlsb2FkS2V5LFxuICBvcHRpb25zPzogQ29kZWNPcHRpb25zXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXkgfCB1bmtub3duPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGRldmFsdWVDb2RlYy5zZXJpYWxpemUodmFsdWUsICdzdGVwJywgb3B0aW9ucyk7XG4gICAgY29uc3QgcHJlZml4ZWQgPSBlbmNvZGVXaXRoRm9ybWF0UHJlZml4KFxuICAgICAgU2VyaWFsaXphdGlvbkZvcm1hdC5ERVZBTFVFX1YxLFxuICAgICAgcGF5bG9hZFxuICAgICkgYXMgVWludDhBcnJheTtcbiAgICAvLyBDb21wcmVzcyBiZWZvcmUgZW5jcnlwdGluZywgc2luY2UgZW5jcnlwdGVkIGJ5dGVzIGRvbid0IGNvbXByZXNzLlxuICAgIGNvbnN0IGNvbXByZXNzZWQgPSBhd2FpdCBjb21wcmVzcyhcbiAgICAgIHByZWZpeGVkLFxuICAgICAgb3B0aW9ucz8uY29tcHJlc3Npb24gPT09IHRydWUsXG4gICAgICBvcHRpb25zPy5jb21wcmVzc2lvblN0YXRzXG4gICAgKTtcbiAgICByZXR1cm4gZW5jcnlwdERhdGEoY29tcHJlc3NlZCwgZW5jcnlwdGlvbktleSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0aHJvd0lmUnVudGltZUVycm9yKGVycm9yKTtcbiAgICBjb25zdCB7IG1lc3NhZ2UsIGhpbnQgfSA9IGZvcm1hdFNlcmlhbGl6YXRpb25FcnJvcignc3RlcCB2YWx1ZScsIGVycm9yKTtcbiAgICB0aHJvdyBuZXcgU2VyaWFsaXphdGlvbkVycm9yKG1lc3NhZ2UsIHsgaGludCwgY2F1c2U6IGVycm9yIH0pO1xuICB9XG59XG5cbi8qKlxuICogRGVzZXJpYWxpemUgYSB2YWx1ZSBmb3IgdGhlIHN0ZXAgZXhlY3V0aW9uIGVudmlyb25tZW50LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVzZXJpYWxpemUoXG4gIGRhdGE6IFVpbnQ4QXJyYXkgfCB1bmtub3duLFxuICBlbmNyeXB0aW9uS2V5PzogUGF5bG9hZEtleSxcbiAgb3B0aW9ucz86IENvZGVjT3B0aW9uc1xuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIGNvbnN0IGRlY3J5cHRlZCA9IGF3YWl0IGRlY29tcHJlc3MoXG4gICAgYXdhaXQgZGVjcnlwdERhdGEoZGF0YSwgZW5jcnlwdGlvbktleSksXG4gICAgb3B0aW9ucz8uY29tcHJlc3Npb25TdGF0c1xuICApO1xuXG4gIGlmICghKGRlY3J5cHRlZCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7XG4gICAgaWYgKGRldmFsdWVDb2RlYy5kZXNlcmlhbGl6ZUxlZ2FjeSkge1xuICAgICAgcmV0dXJuIGRldmFsdWVDb2RlYy5kZXNlcmlhbGl6ZUxlZ2FjeShkZWNyeXB0ZWQsICdzdGVwJywgb3B0aW9ucyk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDYW5ub3QgZGVzZXJpYWxpemUgbm9uLWJpbmFyeSBkYXRhIHdpdGhvdXQgbGVnYWN5IHN1cHBvcnQnXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHsgZm9ybWF0LCBwYXlsb2FkIH0gPSBkZWNvZGVGb3JtYXRQcmVmaXgoZGVjcnlwdGVkKTtcblxuICBpZiAoZm9ybWF0ID09PSBTZXJpYWxpemF0aW9uRm9ybWF0LkRFVkFMVUVfVjEpIHtcbiAgICByZXR1cm4gZGV2YWx1ZUNvZGVjLmRlc2VyaWFsaXplKHBheWxvYWQsICdzdGVwJywgb3B0aW9ucyk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHNlcmlhbGl6YXRpb24gZm9ybWF0OiAke2Zvcm1hdH1gKTtcbn1cbiJdfQ==
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared types for the serialization system.
|
|
3
3
|
*/
|
|
4
|
+
import type { RuntimeDecryptionErrorContext } from '@workflow/errors';
|
|
4
5
|
/**
|
|
5
6
|
* A format prefix is exactly 4 lowercase alphanumeric characters [a-z0-9].
|
|
6
7
|
*
|
|
7
|
-
* This is a branded string type
|
|
8
|
+
* This is a branded string type: use `isFormatPrefix()` to validate
|
|
8
9
|
* at runtime. The `SerializationFormat` object provides well-known
|
|
9
10
|
* constants, but codecs may define additional prefixes.
|
|
10
11
|
*/
|
|
@@ -25,7 +26,32 @@ export declare const SerializationFormat: {
|
|
|
25
26
|
readonly DEVALUE_V1: FormatPrefix;
|
|
26
27
|
/** Encrypted payload (inner payload has its own format prefix) */
|
|
27
28
|
readonly ENCRYPTED: FormatPrefix;
|
|
29
|
+
/**
|
|
30
|
+
* Sealed payload: asymmetrically encrypted to a run's X25519 public key
|
|
31
|
+
* (inner payload has its own format prefix).
|
|
32
|
+
*
|
|
33
|
+
* Used for *cross-run* writes (hook payloads, forwarded stream frames),
|
|
34
|
+
* where the writer holds only the recipient run's public key and therefore
|
|
35
|
+
* cannot decrypt. A run's own payloads continue to use {@link ENCRYPTED}.
|
|
36
|
+
* See `sealed-box.ts` for the construction.
|
|
37
|
+
*/
|
|
38
|
+
readonly SEALED: FormatPrefix;
|
|
39
|
+
/** Gzip-compressed payload (inner payload has its own format prefix) */
|
|
40
|
+
readonly GZIP: FormatPrefix;
|
|
41
|
+
/** Zstandard-compressed payload (inner payload has its own format prefix) */
|
|
42
|
+
readonly ZSTD: FormatPrefix;
|
|
28
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Wire-framing format identifier carried in the serialized
|
|
46
|
+
* `ReadableStream` ref's `framing` field.
|
|
47
|
+
*
|
|
48
|
+
* - absent / `'raw'`: chunks are written to the transport verbatim
|
|
49
|
+
* (legacy format, no auto-reconnect support).
|
|
50
|
+
* - `'framed-v1'`: each chunk is wrapped in a 4-byte big-endian length
|
|
51
|
+
* prefix, allowing the reader to identify chunk boundaries and
|
|
52
|
+
* transparently reconnect on transient stream errors.
|
|
53
|
+
*/
|
|
54
|
+
export type ByteStreamFraming = 'raw' | 'framed-v1';
|
|
29
55
|
/**
|
|
30
56
|
* Types that need specialized handling when serialized/deserialized.
|
|
31
57
|
* If a type is added here, it MUST also be added to the `Serializable`
|
|
@@ -62,6 +88,13 @@ export interface SerializableSpecial {
|
|
|
62
88
|
cause?: unknown;
|
|
63
89
|
};
|
|
64
90
|
Headers: [string, string][];
|
|
91
|
+
HookConflictError: {
|
|
92
|
+
message: string;
|
|
93
|
+
stack?: string;
|
|
94
|
+
cause?: unknown;
|
|
95
|
+
token: string;
|
|
96
|
+
conflictingRunId?: string;
|
|
97
|
+
};
|
|
65
98
|
Int8Array: string;
|
|
66
99
|
Int16Array: string;
|
|
67
100
|
Int32Array: string;
|
|
@@ -75,6 +108,16 @@ export interface SerializableSpecial {
|
|
|
75
108
|
name: string;
|
|
76
109
|
type?: 'bytes';
|
|
77
110
|
startIndex?: number;
|
|
111
|
+
/**
|
|
112
|
+
* Wire-framing format for byte streams. See {@link ByteStreamFraming}
|
|
113
|
+
* and `getByteFramingStream` / `getByteUnframingStream`.
|
|
114
|
+
*
|
|
115
|
+
* Only meaningful when `type === 'bytes'`. Absent on object streams
|
|
116
|
+
* (which always use length-prefixed devalue framing) and on legacy
|
|
117
|
+
* byte streams written by SDKs that predate framing support; those
|
|
118
|
+
* are interpreted as `'raw'` by the consumer.
|
|
119
|
+
*/
|
|
120
|
+
framing?: ByteStreamFraming;
|
|
78
121
|
} | {
|
|
79
122
|
bodyInit: any;
|
|
80
123
|
};
|
|
@@ -98,6 +141,19 @@ export interface SerializableSpecial {
|
|
|
98
141
|
cause?: unknown;
|
|
99
142
|
retryAfter: number;
|
|
100
143
|
};
|
|
144
|
+
RuntimeDecryptionError: {
|
|
145
|
+
message: string;
|
|
146
|
+
stack?: string;
|
|
147
|
+
cause?: unknown;
|
|
148
|
+
context?: RuntimeDecryptionErrorContext;
|
|
149
|
+
};
|
|
150
|
+
StreamError: {
|
|
151
|
+
message: string;
|
|
152
|
+
stack?: string;
|
|
153
|
+
cause?: unknown;
|
|
154
|
+
status?: number;
|
|
155
|
+
url?: string;
|
|
156
|
+
};
|
|
101
157
|
Request: {
|
|
102
158
|
method: string;
|
|
103
159
|
url: string;
|
|
@@ -178,6 +234,29 @@ export interface SerializableSpecial {
|
|
|
178
234
|
};
|
|
179
235
|
WritableStream: {
|
|
180
236
|
name: string;
|
|
237
|
+
/**
|
|
238
|
+
* The runId of the workflow run that owns the underlying server
|
|
239
|
+
* stream. Present only when the writable was forwarded across a
|
|
240
|
+
* `start()` boundary (parent → child). When omitted, the writable
|
|
241
|
+
* belongs to the receiving run (the normal in-run case).
|
|
242
|
+
*/
|
|
243
|
+
runId?: string;
|
|
244
|
+
/**
|
|
245
|
+
* The deployment that owns the server stream. Carried with `runId`
|
|
246
|
+
* so a child running on a newer deployment can encrypt chunks with
|
|
247
|
+
* the parent's key without fetching the parent run first.
|
|
248
|
+
*/
|
|
249
|
+
deploymentId?: string;
|
|
250
|
+
/**
|
|
251
|
+
* The owning run's X25519 public key (base64), when it has one.
|
|
252
|
+
*
|
|
253
|
+
* Lets the receiving run seal frames to the stream's owner with no
|
|
254
|
+
* lookup at all: neither a run fetch nor a key-API round trip. The
|
|
255
|
+
* owner derives this locally when it creates the stream, so including
|
|
256
|
+
* it here is free. Absent for runs created by older SDKs, in which
|
|
257
|
+
* case the receiver falls back to resolving the owner's symmetric key.
|
|
258
|
+
*/
|
|
259
|
+
encryptionPublicKey?: string;
|
|
181
260
|
};
|
|
182
261
|
AbortController: {
|
|
183
262
|
streamName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/serialization/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/serialization/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,5 +17,19 @@ export const SerializationFormat = {
|
|
|
17
17
|
DEVALUE_V1: 'devl',
|
|
18
18
|
/** Encrypted payload (inner payload has its own format prefix) */
|
|
19
19
|
ENCRYPTED: 'encr',
|
|
20
|
+
/**
|
|
21
|
+
* Sealed payload: asymmetrically encrypted to a run's X25519 public key
|
|
22
|
+
* (inner payload has its own format prefix).
|
|
23
|
+
*
|
|
24
|
+
* Used for *cross-run* writes (hook payloads, forwarded stream frames),
|
|
25
|
+
* where the writer holds only the recipient run's public key and therefore
|
|
26
|
+
* cannot decrypt. A run's own payloads continue to use {@link ENCRYPTED}.
|
|
27
|
+
* See `sealed-box.ts` for the construction.
|
|
28
|
+
*/
|
|
29
|
+
SEALED: 'encp',
|
|
30
|
+
/** Gzip-compressed payload (inner payload has its own format prefix) */
|
|
31
|
+
GZIP: 'gzip',
|
|
32
|
+
/** Zstandard-compressed payload (inner payload has its own format prefix) */
|
|
33
|
+
ZSTD: 'zstd',
|
|
20
34
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXphdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQWFIOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWE7SUFDMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDJEQUEyRDtJQUMzRCxVQUFVLEVBQUUsTUFBc0I7SUFDbEMsa0VBQWtFO0lBQ2xFLFNBQVMsRUFBRSxNQUFzQjtDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaGFyZWQgdHlwZXMgZm9yIHRoZSBzZXJpYWxpemF0aW9uIHN5c3RlbS5cbiAqL1xuXG4vLyAtLS0tIEZvcm1hdCBQcmVmaXggLS0tLVxuXG4vKipcbiAqIEEgZm9ybWF0IHByZWZpeCBpcyBleGFjdGx5IDQgbG93ZXJjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXowLTldLlxuICpcbiAqIFRoaXMgaXMgYSBicmFuZGVkIHN0cmluZyB0eXBlIOKAlCB1c2UgYGlzRm9ybWF0UHJlZml4KClgIHRvIHZhbGlkYXRlXG4gKiBhdCBydW50aW1lLiBUaGUgYFNlcmlhbGl6YXRpb25Gb3JtYXRgIG9iamVjdCBwcm92aWRlcyB3ZWxsLWtub3duXG4gKiBjb25zdGFudHMsIGJ1dCBjb2RlY3MgbWF5IGRlZmluZSBhZGRpdGlvbmFsIHByZWZpeGVzLlxuICovXG5leHBvcnQgdHlwZSBGb3JtYXRQcmVmaXggPSBzdHJpbmcgJiB7IHJlYWRvbmx5IF9fYnJhbmQ6ICdGb3JtYXRQcmVmaXgnIH07XG5cbi8qKlxuICogUnVudGltZSB0eXBlIGd1YXJkIGZvciBmb3JtYXQgcHJlZml4IHN0cmluZ3MuXG4gKlxuICogVmFsaWRhdGVzIHRoYXQgYSBzdHJpbmcgaXMgZXhhY3RseSA0IGNoYXJhY3RlcnMgb2YgW2EtejAtOV0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1hdFByZWZpeCh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgRm9ybWF0UHJlZml4IHtcbiAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gNCAmJiAvXlthLXowLTldezR9JC8udGVzdCh2YWx1ZSk7XG59XG5cbi8qKlxuICogV2VsbC1rbm93biBmb3JtYXQgcHJlZml4IGNvbnN0YW50cy4gQ29kZWNzIG1heSBkZWZpbmUgYWRkaXRpb25hbCBvbmVzLlxuICovXG5leHBvcnQgY29uc3QgU2VyaWFsaXphdGlvbkZvcm1hdCA9IHtcbiAgLyoqIGRldmFsdWUgc3RyaW5naWZ5L3BhcnNlIHdpdGggVGV4dEVuY29kZXIvVGV4dERlY29kZXIgKi9cbiAgREVWQUxVRV9WMTogJ2RldmwnIGFzIEZvcm1hdFByZWZpeCxcbiAgLyoqIEVuY3J5cHRlZCBwYXlsb2FkIChpbm5lciBwYXlsb2FkIGhhcyBpdHMgb3duIGZvcm1hdCBwcmVmaXgpICovXG4gIEVOQ1JZUFRFRDogJ2VuY3InIGFzIEZvcm1hdFByZWZpeCxcbn0gYXMgY29uc3Q7XG5cbi8vIC0tLS0gU2VyaWFsaXphYmxlIFR5cGVzIC0tLS1cblxuLyoqXG4gKiBUeXBlcyB0aGF0IG5lZWQgc3BlY2lhbGl6ZWQgaGFuZGxpbmcgd2hlbiBzZXJpYWxpemVkL2Rlc2VyaWFsaXplZC5cbiAqIElmIGEgdHlwZSBpcyBhZGRlZCBoZXJlLCBpdCBNVVNUIGFsc28gYmUgYWRkZWQgdG8gdGhlIGBTZXJpYWxpemFibGVgXG4gKiB0eXBlIGluIGBzY2hlbWFzLnRzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJpYWxpemFibGVTcGVjaWFsIHtcbiAgQXJyYXlCdWZmZXI6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBCaWdJbnQ6IHN0cmluZzsgLy8gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGJpZ2ludFxuICBCaWdJbnQ2NEFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgQmlnVWludDY0QXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBEYXRlOiBzdHJpbmc7IC8vIElTTyBzdHJpbmdcbiAgRE9NRXhjZXB0aW9uOiB7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gIH07XG4gIEZhdGFsRXJyb3I6IHsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIEZsb2F0MzJBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIEZsb2F0NjRBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIEVycm9yOiB7IG5hbWU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIEV2YWxFcnJvcjogeyBtZXNzYWdlOiBzdHJpbmc7IHN0YWNrPzogc3RyaW5nOyBjYXVzZT86IHVua25vd24gfTtcbiAgSGVhZGVyczogW3N0cmluZywgc3RyaW5nXVtdO1xuICBJbnQ4QXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBJbnQxNkFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgSW50MzJBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIE1hcDogW2FueSwgYW55XVtdO1xuICBSYW5nZUVycm9yOiB7IG1lc3NhZ2U6IHN0cmluZzsgc3RhY2s/OiBzdHJpbmc7IGNhdXNlPzogdW5rbm93biB9O1xuICBSZWFkYWJsZVN0cmVhbTpcbiAgICB8IHsgbmFtZTogc3RyaW5nOyB0eXBlPzogJ2J5dGVzJzsgc3RhcnRJbmRleD86IG51bWJlciB9XG4gICAgfCB7IGJvZHlJbml0OiBhbnkgfTtcbiAgUmVmZXJlbmNlRXJyb3I6IHsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIFJlZ0V4cDogeyBzb3VyY2U6IHN0cmluZzsgZmxhZ3M6IHN0cmluZyB9O1xuICAvKipcbiAgICogYHJldHJ5QWZ0ZXJgIGlzIHNlcmlhbGl6ZWQgYXMgYSBudW1lcmljIGVwb2NoIHRpbWVzdGFtcCByYXRoZXIgdGhhbiBhXG4gICAqIGBEYXRlYCB0byBiZSByZWFsbS1zYWZlLiBUaGUgRGF0ZSByZWR1Y2VyIHVzZXMgYGluc3RhbmNlb2YgZ2xvYmFsLkRhdGVgLFxuICAgKiB3aGljaCBmYWlscyBmb3IgRGF0ZXMgZnJvbSBhIGRpZmZlcmVudCBWTSByZWFsbS5cbiAgICovXG4gIFJldHJ5YWJsZUVycm9yOiB7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIHN0YWNrPzogc3RyaW5nO1xuICAgIGNhdXNlPzogdW5rbm93bjtcbiAgICByZXRyeUFmdGVyOiBudW1iZXI7XG4gIH07XG4gIFJlcXVlc3Q6IHtcbiAgICBtZXRob2Q6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICAgIGJvZHk6IFJlcXVlc3RbJ2JvZHknXTtcbiAgICBkdXBsZXg6IFJlcXVlc3RbJ2R1cGxleCddO1xuICAgIHJlc3BvbnNlV3JpdGFibGU/OiBXcml0YWJsZVN0cmVhbTxSZXNwb25zZT47XG4gICAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIH07XG4gIFJlc3BvbnNlOiB7XG4gICAgdHlwZTogUmVzcG9uc2VbJ3R5cGUnXTtcbiAgICB1cmw6IHN0cmluZztcbiAgICBzdGF0dXM6IG51bWJlcjtcbiAgICBzdGF0dXNUZXh0OiBzdHJpbmc7XG4gICAgaGVhZGVyczogSGVhZGVycztcbiAgICBib2R5OiBSZXNwb25zZVsnYm9keSddO1xuICAgIHJlZGlyZWN0ZWQ6IGJvb2xlYW47XG4gIH07XG4gIENsYXNzOiB7XG4gICAgY2xhc3NJZDogc3RyaW5nO1xuICB9O1xuICBJbnN0YW5jZToge1xuICAgIGNsYXNzSWQ6IHN0cmluZztcbiAgICBkYXRhOiB1bmtub3duO1xuICB9O1xuICBTZXQ6IGFueVtdO1xuICBTeW50YXhFcnJvcjogeyBtZXNzYWdlOiBzdHJpbmc7IHN0YWNrPzogc3RyaW5nOyBjYXVzZT86IHVua25vd24gfTtcbiAgU3RlcEZ1bmN0aW9uOiB7XG4gICAgc3RlcElkOiBzdHJpbmc7XG4gICAgY2xvc3VyZVZhcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIC8qKlxuICAgICAqIENhcHR1cmVkIGxleGljYWwgYHRoaXNgIGZvciBzdGVwIHByb3hpZXMgdGhhdCB3ZXJlIGNyZWF0ZWQgdmlhXG4gICAgICogYHVzZVN0ZXAoLi4uKS5iaW5kKHRoaXNBcmcpYCAodGhlIFNXQyBwbHVnaW4gZW1pdHMgdGhpcyBmb3IgbmVzdGVkXG4gICAgICogYXJyb3cgc3RlcHMgdGhhdCBjbG9zZSBvdmVyIHRoZWlyIGVuY2xvc2luZyBmdW5jdGlvbidzIGB0aGlzYCkuXG4gICAgICogVGhlIHJldml2ZXIgcmUtYmluZHMgdGhlIGZyZXNobHktY3JlYXRlZCBwcm94eSB0byB0aGlzIHZhbHVlIHNvIHRoZVxuICAgICAqIGJpbmRpbmcgc3Vydml2ZXMgc2VyaWFsaXphdGlvbiByb3VuZC10cmlwcy5cbiAgICAgKi9cbiAgICBib3VuZFRoaXM/OiB1bmtub3duO1xuICAgIC8qKlxuICAgICAqIFByZWZpbGxlZCBhcmd1bWVudHMgY2FwdHVyZWQgd2hlbiB0aGUgdXNlciAocmF0aGVyIHRoYW4gdGhlIFNXQ1xuICAgICAqIHBsdWdpbikgY2FsbGVkIGB1c2VTdGVwKC4uLikuYmluZCh0aGlzQXJnLCB4LCB5KWAuIFRoZSByZXZpdmVyXG4gICAgICogcmUtYXBwbGllcyB0aGVzZSBhbG9uZ3NpZGUgYGJvdW5kVGhpc2Agc28gcGFydGlhbCBhcHBsaWNhdGlvblxuICAgICAqIHN1cnZpdmVzIHNlcmlhbGl6YXRpb24uIFRoZSBTV0MgcGx1Z2luIG9ubHkgZXZlciBlbWl0c1xuICAgICAqIGAuYmluZCh0aGlzKWAgd2l0aCBubyBleHRyYSBhcmdzIHRvZGF5OyB0aGlzIHNsb3QgZXhpc3RzIHNvIGFcbiAgICAgKiBoYW5kLXdyaXR0ZW4gYC5iaW5kKHRoaXNBcmcsIHgpYCBkb2Vzbid0IHNpbGVudGx5IGxvc2UgYHhgIGFmdGVyXG4gICAgICogcm91bmQtdHJpcHBpbmcgdGhyb3VnaCB0aGUgcmVkdWNlci9yZXZpdmVyLlxuICAgICAqL1xuICAgIGJvdW5kQXJncz86IHVua25vd25bXTtcbiAgfTtcbiAgVHlwZUVycm9yOiB7IG1lc3NhZ2U6IHN0cmluZzsgc3RhY2s/OiBzdHJpbmc7IGNhdXNlPzogdW5rbm93biB9O1xuICBVUklFcnJvcjogeyBtZXNzYWdlOiBzdHJpbmc7IHN0YWNrPzogc3RyaW5nOyBjYXVzZT86IHVua25vd24gfTtcbiAgVVJMOiBzdHJpbmc7XG4gIFdvcmtmbG93RnVuY3Rpb246IHtcbiAgICB3b3JrZmxvd0lkOiBzdHJpbmc7XG4gIH07XG4gIFVSTFNlYXJjaFBhcmFtczogc3RyaW5nO1xuICBVaW50OEFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgVWludDhDbGFtcGVkQXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBVaW50MTZBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIFVpbnQzMkFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgQWdncmVnYXRlRXJyb3I6IHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgc3RhY2s/OiBzdHJpbmc7XG4gICAgY2F1c2U/OiB1bmtub3duO1xuICAgIGVycm9yczogdW5rbm93bltdO1xuICB9O1xuICBXcml0YWJsZVN0cmVhbTogeyBuYW1lOiBzdHJpbmcgfTtcbiAgQWJvcnRDb250cm9sbGVyOiB7XG4gICAgc3RyZWFtTmFtZTogc3RyaW5nO1xuICAgIGhvb2tUb2tlbjogc3RyaW5nO1xuICAgIGFib3J0ZWQ6IGJvb2xlYW47XG4gICAgcmVhc29uPzogdW5rbm93bjtcbiAgfTtcbiAgQWJvcnRTaWduYWw6IHtcbiAgICBzdHJlYW1OYW1lOiBzdHJpbmc7XG4gICAgaG9va1Rva2VuOiBzdHJpbmc7XG4gICAgYWJvcnRlZDogYm9vbGVhbjtcbiAgICByZWFzb24/OiB1bmtub3duO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBSZWR1Y2VycyA9IHtcbiAgW0sgaW4ga2V5b2YgU2VyaWFsaXphYmxlU3BlY2lhbF06IChcbiAgICB2YWx1ZTogYW55XG4gICkgPT4gU2VyaWFsaXphYmxlU3BlY2lhbFtLXSB8IGZhbHNlO1xufTtcblxuZXhwb3J0IHR5cGUgUmV2aXZlcnMgPSB7XG4gIFtLIGluIGtleW9mIFNlcmlhbGl6YWJsZVNwZWNpYWxdOiAodmFsdWU6IFNlcmlhbGl6YWJsZVNwZWNpYWxbS10pID0+IGFueTtcbn07XG4iXX0=
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXphdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQWVIOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWE7SUFDMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLDJEQUEyRDtJQUMzRCxVQUFVLEVBQUUsTUFBc0I7SUFDbEMsa0VBQWtFO0lBQ2xFLFNBQVMsRUFBRSxNQUFzQjtJQUNqQzs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sRUFBRSxNQUFzQjtJQUM5Qix3RUFBd0U7SUFDeEUsSUFBSSxFQUFFLE1BQXNCO0lBQzVCLDZFQUE2RTtJQUM3RSxJQUFJLEVBQUUsTUFBc0I7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2hhcmVkIHR5cGVzIGZvciB0aGUgc2VyaWFsaXphdGlvbiBzeXN0ZW0uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBSdW50aW1lRGVjcnlwdGlvbkVycm9yQ29udGV4dCB9IGZyb20gJ0B3b3JrZmxvdy9lcnJvcnMnO1xuXG4vLyAtLS0tIEZvcm1hdCBQcmVmaXggLS0tLVxuXG4vKipcbiAqIEEgZm9ybWF0IHByZWZpeCBpcyBleGFjdGx5IDQgbG93ZXJjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIFthLXowLTldLlxuICpcbiAqIFRoaXMgaXMgYSBicmFuZGVkIHN0cmluZyB0eXBlOiB1c2UgYGlzRm9ybWF0UHJlZml4KClgIHRvIHZhbGlkYXRlXG4gKiBhdCBydW50aW1lLiBUaGUgYFNlcmlhbGl6YXRpb25Gb3JtYXRgIG9iamVjdCBwcm92aWRlcyB3ZWxsLWtub3duXG4gKiBjb25zdGFudHMsIGJ1dCBjb2RlY3MgbWF5IGRlZmluZSBhZGRpdGlvbmFsIHByZWZpeGVzLlxuICovXG5leHBvcnQgdHlwZSBGb3JtYXRQcmVmaXggPSBzdHJpbmcgJiB7IHJlYWRvbmx5IF9fYnJhbmQ6ICdGb3JtYXRQcmVmaXgnIH07XG5cbi8qKlxuICogUnVudGltZSB0eXBlIGd1YXJkIGZvciBmb3JtYXQgcHJlZml4IHN0cmluZ3MuXG4gKlxuICogVmFsaWRhdGVzIHRoYXQgYSBzdHJpbmcgaXMgZXhhY3RseSA0IGNoYXJhY3RlcnMgb2YgW2EtejAtOV0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1hdFByZWZpeCh2YWx1ZTogc3RyaW5nKTogdmFsdWUgaXMgRm9ybWF0UHJlZml4IHtcbiAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gNCAmJiAvXlthLXowLTldezR9JC8udGVzdCh2YWx1ZSk7XG59XG5cbi8qKlxuICogV2VsbC1rbm93biBmb3JtYXQgcHJlZml4IGNvbnN0YW50cy4gQ29kZWNzIG1heSBkZWZpbmUgYWRkaXRpb25hbCBvbmVzLlxuICovXG5leHBvcnQgY29uc3QgU2VyaWFsaXphdGlvbkZvcm1hdCA9IHtcbiAgLyoqIGRldmFsdWUgc3RyaW5naWZ5L3BhcnNlIHdpdGggVGV4dEVuY29kZXIvVGV4dERlY29kZXIgKi9cbiAgREVWQUxVRV9WMTogJ2RldmwnIGFzIEZvcm1hdFByZWZpeCxcbiAgLyoqIEVuY3J5cHRlZCBwYXlsb2FkIChpbm5lciBwYXlsb2FkIGhhcyBpdHMgb3duIGZvcm1hdCBwcmVmaXgpICovXG4gIEVOQ1JZUFRFRDogJ2VuY3InIGFzIEZvcm1hdFByZWZpeCxcbiAgLyoqXG4gICAqIFNlYWxlZCBwYXlsb2FkOiBhc3ltbWV0cmljYWxseSBlbmNyeXB0ZWQgdG8gYSBydW4ncyBYMjU1MTkgcHVibGljIGtleVxuICAgKiAoaW5uZXIgcGF5bG9hZCBoYXMgaXRzIG93biBmb3JtYXQgcHJlZml4KS5cbiAgICpcbiAgICogVXNlZCBmb3IgKmNyb3NzLXJ1biogd3JpdGVzIChob29rIHBheWxvYWRzLCBmb3J3YXJkZWQgc3RyZWFtIGZyYW1lcyksXG4gICAqIHdoZXJlIHRoZSB3cml0ZXIgaG9sZHMgb25seSB0aGUgcmVjaXBpZW50IHJ1bidzIHB1YmxpYyBrZXkgYW5kIHRoZXJlZm9yZVxuICAgKiBjYW5ub3QgZGVjcnlwdC4gQSBydW4ncyBvd24gcGF5bG9hZHMgY29udGludWUgdG8gdXNlIHtAbGluayBFTkNSWVBURUR9LlxuICAgKiBTZWUgYHNlYWxlZC1ib3gudHNgIGZvciB0aGUgY29uc3RydWN0aW9uLlxuICAgKi9cbiAgU0VBTEVEOiAnZW5jcCcgYXMgRm9ybWF0UHJlZml4LFxuICAvKiogR3ppcC1jb21wcmVzc2VkIHBheWxvYWQgKGlubmVyIHBheWxvYWQgaGFzIGl0cyBvd24gZm9ybWF0IHByZWZpeCkgKi9cbiAgR1pJUDogJ2d6aXAnIGFzIEZvcm1hdFByZWZpeCxcbiAgLyoqIFpzdGFuZGFyZC1jb21wcmVzc2VkIHBheWxvYWQgKGlubmVyIHBheWxvYWQgaGFzIGl0cyBvd24gZm9ybWF0IHByZWZpeCkgKi9cbiAgWlNURDogJ3pzdGQnIGFzIEZvcm1hdFByZWZpeCxcbn0gYXMgY29uc3Q7XG5cbi8vIC0tLS0gU2VyaWFsaXphYmxlIFR5cGVzIC0tLS1cblxuLyoqXG4gKiBXaXJlLWZyYW1pbmcgZm9ybWF0IGlkZW50aWZpZXIgY2FycmllZCBpbiB0aGUgc2VyaWFsaXplZFxuICogYFJlYWRhYmxlU3RyZWFtYCByZWYncyBgZnJhbWluZ2AgZmllbGQuXG4gKlxuICogLSBhYnNlbnQgLyBgJ3JhdydgOiBjaHVua3MgYXJlIHdyaXR0ZW4gdG8gdGhlIHRyYW5zcG9ydCB2ZXJiYXRpbVxuICogICAobGVnYWN5IGZvcm1hdCwgbm8gYXV0by1yZWNvbm5lY3Qgc3VwcG9ydCkuXG4gKiAtIGAnZnJhbWVkLXYxJ2A6IGVhY2ggY2h1bmsgaXMgd3JhcHBlZCBpbiBhIDQtYnl0ZSBiaWctZW5kaWFuIGxlbmd0aFxuICogICBwcmVmaXgsIGFsbG93aW5nIHRoZSByZWFkZXIgdG8gaWRlbnRpZnkgY2h1bmsgYm91bmRhcmllcyBhbmRcbiAqICAgdHJhbnNwYXJlbnRseSByZWNvbm5lY3Qgb24gdHJhbnNpZW50IHN0cmVhbSBlcnJvcnMuXG4gKi9cbmV4cG9ydCB0eXBlIEJ5dGVTdHJlYW1GcmFtaW5nID0gJ3JhdycgfCAnZnJhbWVkLXYxJztcblxuLyoqXG4gKiBUeXBlcyB0aGF0IG5lZWQgc3BlY2lhbGl6ZWQgaGFuZGxpbmcgd2hlbiBzZXJpYWxpemVkL2Rlc2VyaWFsaXplZC5cbiAqIElmIGEgdHlwZSBpcyBhZGRlZCBoZXJlLCBpdCBNVVNUIGFsc28gYmUgYWRkZWQgdG8gdGhlIGBTZXJpYWxpemFibGVgXG4gKiB0eXBlIGluIGBzY2hlbWFzLnRzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJpYWxpemFibGVTcGVjaWFsIHtcbiAgQXJyYXlCdWZmZXI6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBCaWdJbnQ6IHN0cmluZzsgLy8gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGJpZ2ludFxuICBCaWdJbnQ2NEFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgQmlnVWludDY0QXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBEYXRlOiBzdHJpbmc7IC8vIElTTyBzdHJpbmdcbiAgRE9NRXhjZXB0aW9uOiB7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gIH07XG4gIEZhdGFsRXJyb3I6IHsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIEZsb2F0MzJBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIEZsb2F0NjRBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIEVycm9yOiB7IG5hbWU6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIEV2YWxFcnJvcjogeyBtZXNzYWdlOiBzdHJpbmc7IHN0YWNrPzogc3RyaW5nOyBjYXVzZT86IHVua25vd24gfTtcbiAgSGVhZGVyczogW3N0cmluZywgc3RyaW5nXVtdO1xuICBIb29rQ29uZmxpY3RFcnJvcjoge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gICAgdG9rZW46IHN0cmluZztcbiAgICAvLyBUT0RPOiBNYWtlIHRoaXMgcmVxdWlyZWQgd2hlbiBIb29rQ29uZmxpY3RFcnJvci5jb25mbGljdGluZ1J1bklkIGlzIHJlcXVpcmVkLlxuICAgIGNvbmZsaWN0aW5nUnVuSWQ/OiBzdHJpbmc7XG4gIH07XG4gIEludDhBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIEludDE2QXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBJbnQzMkFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgTWFwOiBbYW55LCBhbnldW107XG4gIFJhbmdlRXJyb3I6IHsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIFJlYWRhYmxlU3RyZWFtOlxuICAgIHwge1xuICAgICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICAgIHR5cGU/OiAnYnl0ZXMnO1xuICAgICAgICBzdGFydEluZGV4PzogbnVtYmVyO1xuICAgICAgICAvKipcbiAgICAgICAgICogV2lyZS1mcmFtaW5nIGZvcm1hdCBmb3IgYnl0ZSBzdHJlYW1zLiBTZWUge0BsaW5rIEJ5dGVTdHJlYW1GcmFtaW5nfVxuICAgICAgICAgKiBhbmQgYGdldEJ5dGVGcmFtaW5nU3RyZWFtYCAvIGBnZXRCeXRlVW5mcmFtaW5nU3RyZWFtYC5cbiAgICAgICAgICpcbiAgICAgICAgICogT25seSBtZWFuaW5nZnVsIHdoZW4gYHR5cGUgPT09ICdieXRlcydgLiBBYnNlbnQgb24gb2JqZWN0IHN0cmVhbXNcbiAgICAgICAgICogKHdoaWNoIGFsd2F5cyB1c2UgbGVuZ3RoLXByZWZpeGVkIGRldmFsdWUgZnJhbWluZykgYW5kIG9uIGxlZ2FjeVxuICAgICAgICAgKiBieXRlIHN0cmVhbXMgd3JpdHRlbiBieSBTREtzIHRoYXQgcHJlZGF0ZSBmcmFtaW5nIHN1cHBvcnQ7IHRob3NlXG4gICAgICAgICAqIGFyZSBpbnRlcnByZXRlZCBhcyBgJ3JhdydgIGJ5IHRoZSBjb25zdW1lci5cbiAgICAgICAgICovXG4gICAgICAgIGZyYW1pbmc/OiBCeXRlU3RyZWFtRnJhbWluZztcbiAgICAgIH1cbiAgICB8IHsgYm9keUluaXQ6IGFueSB9O1xuICBSZWZlcmVuY2VFcnJvcjogeyBtZXNzYWdlOiBzdHJpbmc7IHN0YWNrPzogc3RyaW5nOyBjYXVzZT86IHVua25vd24gfTtcbiAgUmVnRXhwOiB7IHNvdXJjZTogc3RyaW5nOyBmbGFnczogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBgcmV0cnlBZnRlcmAgaXMgc2VyaWFsaXplZCBhcyBhIG51bWVyaWMgZXBvY2ggdGltZXN0YW1wIHJhdGhlciB0aGFuIGFcbiAgICogYERhdGVgIHRvIGJlIHJlYWxtLXNhZmUuIFRoZSBEYXRlIHJlZHVjZXIgdXNlcyBgaW5zdGFuY2VvZiBnbG9iYWwuRGF0ZWAsXG4gICAqIHdoaWNoIGZhaWxzIGZvciBEYXRlcyBmcm9tIGEgZGlmZmVyZW50IFZNIHJlYWxtLlxuICAgKi9cbiAgUmV0cnlhYmxlRXJyb3I6IHtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgc3RhY2s/OiBzdHJpbmc7XG4gICAgY2F1c2U/OiB1bmtub3duO1xuICAgIHJldHJ5QWZ0ZXI6IG51bWJlcjtcbiAgfTtcbiAgUnVudGltZURlY3J5cHRpb25FcnJvcjoge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gICAgY29udGV4dD86IFJ1bnRpbWVEZWNyeXB0aW9uRXJyb3JDb250ZXh0O1xuICB9O1xuICBTdHJlYW1FcnJvcjoge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gICAgc3RhdHVzPzogbnVtYmVyO1xuICAgIHVybD86IHN0cmluZztcbiAgfTtcbiAgUmVxdWVzdDoge1xuICAgIG1ldGhvZDogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gICAgYm9keTogUmVxdWVzdFsnYm9keSddO1xuICAgIGR1cGxleDogUmVxdWVzdFsnZHVwbGV4J107XG4gICAgcmVzcG9uc2VXcml0YWJsZT86IFdyaXRhYmxlU3RyZWFtPFJlc3BvbnNlPjtcbiAgICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbiAgfTtcbiAgUmVzcG9uc2U6IHtcbiAgICB0eXBlOiBSZXNwb25zZVsndHlwZSddO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHN0YXR1czogbnVtYmVyO1xuICAgIHN0YXR1c1RleHQ6IHN0cmluZztcbiAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICAgIGJvZHk6IFJlc3BvbnNlWydib2R5J107XG4gICAgcmVkaXJlY3RlZDogYm9vbGVhbjtcbiAgfTtcbiAgQ2xhc3M6IHtcbiAgICBjbGFzc0lkOiBzdHJpbmc7XG4gIH07XG4gIEluc3RhbmNlOiB7XG4gICAgY2xhc3NJZDogc3RyaW5nO1xuICAgIGRhdGE6IHVua25vd247XG4gIH07XG4gIFNldDogYW55W107XG4gIFN5bnRheEVycm9yOiB7IG1lc3NhZ2U6IHN0cmluZzsgc3RhY2s/OiBzdHJpbmc7IGNhdXNlPzogdW5rbm93biB9O1xuICBTdGVwRnVuY3Rpb246IHtcbiAgICBzdGVwSWQ6IHN0cmluZztcbiAgICBjbG9zdXJlVmFycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgLyoqXG4gICAgICogQ2FwdHVyZWQgbGV4aWNhbCBgdGhpc2AgZm9yIHN0ZXAgcHJveGllcyB0aGF0IHdlcmUgY3JlYXRlZCB2aWFcbiAgICAgKiBgdXNlU3RlcCguLi4pLmJpbmQodGhpc0FyZylgICh0aGUgU1dDIHBsdWdpbiBlbWl0cyB0aGlzIGZvciBuZXN0ZWRcbiAgICAgKiBhcnJvdyBzdGVwcyB0aGF0IGNsb3NlIG92ZXIgdGhlaXIgZW5jbG9zaW5nIGZ1bmN0aW9uJ3MgYHRoaXNgKS5cbiAgICAgKiBUaGUgcmV2aXZlciByZS1iaW5kcyB0aGUgZnJlc2hseS1jcmVhdGVkIHByb3h5IHRvIHRoaXMgdmFsdWUgc28gdGhlXG4gICAgICogYmluZGluZyBzdXJ2aXZlcyBzZXJpYWxpemF0aW9uIHJvdW5kLXRyaXBzLlxuICAgICAqL1xuICAgIGJvdW5kVGhpcz86IHVua25vd247XG4gICAgLyoqXG4gICAgICogUHJlZmlsbGVkIGFyZ3VtZW50cyBjYXB0dXJlZCB3aGVuIHRoZSB1c2VyIChyYXRoZXIgdGhhbiB0aGUgU1dDXG4gICAgICogcGx1Z2luKSBjYWxsZWQgYHVzZVN0ZXAoLi4uKS5iaW5kKHRoaXNBcmcsIHgsIHkpYC4gVGhlIHJldml2ZXJcbiAgICAgKiByZS1hcHBsaWVzIHRoZXNlIGFsb25nc2lkZSBgYm91bmRUaGlzYCBzbyBwYXJ0aWFsIGFwcGxpY2F0aW9uXG4gICAgICogc3Vydml2ZXMgc2VyaWFsaXphdGlvbi4gVGhlIFNXQyBwbHVnaW4gb25seSBldmVyIGVtaXRzXG4gICAgICogYC5iaW5kKHRoaXMpYCB3aXRoIG5vIGV4dHJhIGFyZ3MgdG9kYXk7IHRoaXMgc2xvdCBleGlzdHMgc28gYVxuICAgICAqIGhhbmQtd3JpdHRlbiBgLmJpbmQodGhpc0FyZywgeClgIGRvZXNuJ3Qgc2lsZW50bHkgbG9zZSBgeGAgYWZ0ZXJcbiAgICAgKiByb3VuZC10cmlwcGluZyB0aHJvdWdoIHRoZSByZWR1Y2VyL3Jldml2ZXIuXG4gICAgICovXG4gICAgYm91bmRBcmdzPzogdW5rbm93bltdO1xuICB9O1xuICBUeXBlRXJyb3I6IHsgbWVzc2FnZTogc3RyaW5nOyBzdGFjaz86IHN0cmluZzsgY2F1c2U/OiB1bmtub3duIH07XG4gIFVSSUVycm9yOiB7IG1lc3NhZ2U6IHN0cmluZzsgc3RhY2s/OiBzdHJpbmc7IGNhdXNlPzogdW5rbm93biB9O1xuICBVUkw6IHN0cmluZztcbiAgV29ya2Zsb3dGdW5jdGlvbjoge1xuICAgIHdvcmtmbG93SWQ6IHN0cmluZztcbiAgfTtcbiAgVVJMU2VhcmNoUGFyYW1zOiBzdHJpbmc7XG4gIFVpbnQ4QXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBVaW50OENsYW1wZWRBcnJheTogc3RyaW5nOyAvLyBiYXNlNjQgc3RyaW5nXG4gIFVpbnQxNkFycmF5OiBzdHJpbmc7IC8vIGJhc2U2NCBzdHJpbmdcbiAgVWludDMyQXJyYXk6IHN0cmluZzsgLy8gYmFzZTY0IHN0cmluZ1xuICBBZ2dyZWdhdGVFcnJvcjoge1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBzdGFjaz86IHN0cmluZztcbiAgICBjYXVzZT86IHVua25vd247XG4gICAgZXJyb3JzOiB1bmtub3duW107XG4gIH07XG4gIFdyaXRhYmxlU3RyZWFtOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIFRoZSBydW5JZCBvZiB0aGUgd29ya2Zsb3cgcnVuIHRoYXQgb3ducyB0aGUgdW5kZXJseWluZyBzZXJ2ZXJcbiAgICAgKiBzdHJlYW0uIFByZXNlbnQgb25seSB3aGVuIHRoZSB3cml0YWJsZSB3YXMgZm9yd2FyZGVkIGFjcm9zcyBhXG4gICAgICogYHN0YXJ0KClgIGJvdW5kYXJ5IChwYXJlbnQg4oaSIGNoaWxkKS4gV2hlbiBvbWl0dGVkLCB0aGUgd3JpdGFibGVcbiAgICAgKiBiZWxvbmdzIHRvIHRoZSByZWNlaXZpbmcgcnVuICh0aGUgbm9ybWFsIGluLXJ1biBjYXNlKS5cbiAgICAgKi9cbiAgICBydW5JZD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgZGVwbG95bWVudCB0aGF0IG93bnMgdGhlIHNlcnZlciBzdHJlYW0uIENhcnJpZWQgd2l0aCBgcnVuSWRgXG4gICAgICogc28gYSBjaGlsZCBydW5uaW5nIG9uIGEgbmV3ZXIgZGVwbG95bWVudCBjYW4gZW5jcnlwdCBjaHVua3Mgd2l0aFxuICAgICAqIHRoZSBwYXJlbnQncyBrZXkgd2l0aG91dCBmZXRjaGluZyB0aGUgcGFyZW50IHJ1biBmaXJzdC5cbiAgICAgKi9cbiAgICBkZXBsb3ltZW50SWQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIG93bmluZyBydW4ncyBYMjU1MTkgcHVibGljIGtleSAoYmFzZTY0KSwgd2hlbiBpdCBoYXMgb25lLlxuICAgICAqXG4gICAgICogTGV0cyB0aGUgcmVjZWl2aW5nIHJ1biBzZWFsIGZyYW1lcyB0byB0aGUgc3RyZWFtJ3Mgb3duZXIgd2l0aCBub1xuICAgICAqIGxvb2t1cCBhdCBhbGw6IG5laXRoZXIgYSBydW4gZmV0Y2ggbm9yIGEga2V5LUFQSSByb3VuZCB0cmlwLiBUaGVcbiAgICAgKiBvd25lciBkZXJpdmVzIHRoaXMgbG9jYWxseSB3aGVuIGl0IGNyZWF0ZXMgdGhlIHN0cmVhbSwgc28gaW5jbHVkaW5nXG4gICAgICogaXQgaGVyZSBpcyBmcmVlLiBBYnNlbnQgZm9yIHJ1bnMgY3JlYXRlZCBieSBvbGRlciBTREtzLCBpbiB3aGljaFxuICAgICAqIGNhc2UgdGhlIHJlY2VpdmVyIGZhbGxzIGJhY2sgdG8gcmVzb2x2aW5nIHRoZSBvd25lcidzIHN5bW1ldHJpYyBrZXkuXG4gICAgICovXG4gICAgZW5jcnlwdGlvblB1YmxpY0tleT86IHN0cmluZztcbiAgfTtcbiAgQWJvcnRDb250cm9sbGVyOiB7XG4gICAgc3RyZWFtTmFtZTogc3RyaW5nO1xuICAgIGhvb2tUb2tlbjogc3RyaW5nO1xuICAgIGFib3J0ZWQ6IGJvb2xlYW47XG4gICAgcmVhc29uPzogdW5rbm93bjtcbiAgfTtcbiAgQWJvcnRTaWduYWw6IHtcbiAgICBzdHJlYW1OYW1lOiBzdHJpbmc7XG4gICAgaG9va1Rva2VuOiBzdHJpbmc7XG4gICAgYWJvcnRlZDogYm9vbGVhbjtcbiAgICByZWFzb24/OiB1bmtub3duO1xuICB9O1xufVxuXG5leHBvcnQgdHlwZSBSZWR1Y2VycyA9IHtcbiAgW0sgaW4ga2V5b2YgU2VyaWFsaXphYmxlU3BlY2lhbF06IChcbiAgICB2YWx1ZTogYW55XG4gICkgPT4gU2VyaWFsaXphYmxlU3BlY2lhbFtLXSB8IGZhbHNlO1xufTtcblxuZXhwb3J0IHR5cGUgUmV2aXZlcnMgPSB7XG4gIFtLIGluIGtleW9mIFNlcmlhbGl6YWJsZVNwZWNpYWxdOiAodmFsdWU6IFNlcmlhbGl6YWJsZVNwZWNpYWxbS10pID0+IGFueTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-side reference implementation of the QuickJS engine's workflow-mode
|
|
3
|
+
* wire codec.
|
|
4
|
+
*
|
|
5
|
+
* The QuickJS engine serializes through handles on the host
|
|
6
|
+
* (runtime/quickjs-serde.ts); this module is the value-space equivalent of
|
|
7
|
+
* that codec and is used by tests to build wire fixtures and assert
|
|
8
|
+
* byte-level parity. It has NO Node.js dependencies (no Buffer, no
|
|
9
|
+
* node:util), which is also what made it bundleable into the VM before the
|
|
10
|
+
* serde moved host-side.
|
|
11
|
+
*
|
|
12
|
+
* Produces and consumes the same wire format as the Node.js workflow.ts:
|
|
13
|
+
* format-prefixed devalue data ("devl" + devalue.stringify output).
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Serialize a value to format-prefixed bytes.
|
|
17
|
+
*
|
|
18
|
+
* @param value - The value to serialize
|
|
19
|
+
* @returns Uint8Array with "devl" prefix + devalue payload
|
|
20
|
+
*/
|
|
21
|
+
export declare function serialize(value: unknown): Uint8Array;
|
|
22
|
+
/**
|
|
23
|
+
* Deserialize format-prefixed bytes back to a value.
|
|
24
|
+
*
|
|
25
|
+
* @param data - Uint8Array with format prefix, or legacy non-binary data
|
|
26
|
+
* @returns The deserialized value
|
|
27
|
+
*/
|
|
28
|
+
export declare function deserialize(data: Uint8Array | unknown): unknown;
|
|
29
|
+
//# sourceMappingURL=workflow-vm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-vm.d.ts","sourceRoot":"","sources":["../../src/serialization/workflow-vm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAsBH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CA0B/D"}
|