@workflow/core 5.0.0-beta.5 → 5.0.0-beta.51
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/README.md +5 -0
- 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 +297 -0
- package/dist/events-consumer.d.ts.map +1 -1
- package/dist/events-consumer.js +673 -42
- package/dist/flushable-stream.d.ts +97 -1
- package/dist/flushable-stream.d.ts.map +1 -1
- package/dist/flushable-stream.js +291 -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 +19 -12
- 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-divergence.d.ts +25 -0
- package/dist/replay-divergence.d.ts.map +1 -0
- package/dist/replay-divergence.js +61 -0
- 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 +415 -29
- package/dist/runtime/helpers.d.ts.map +1 -1
- package/dist/runtime/helpers.js +686 -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 +158 -0
- package/dist/runtime/quickjs-entrypoint.d.ts.map +1 -0
- package/dist/runtime/quickjs-entrypoint.js +1863 -0
- package/dist/runtime/quickjs-log-view.d.ts +129 -0
- package/dist/runtime/quickjs-log-view.d.ts.map +1 -0
- package/dist/runtime/quickjs-log-view.js +229 -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 +186 -5
- package/dist/runtime/step-executor.d.ts.map +1 -1
- package/dist/runtime/step-executor.js +768 -130
- 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 +247 -7
- package/dist/runtime/suspension-handler.d.ts.map +1 -1
- package/dist/runtime/suspension-handler.js +1304 -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 +3911 -489
- 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 +1885 -277
- 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 +63 -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 +80 -13
- 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 +433 -2
- package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
- package/dist/telemetry/semantic-conventions.js +319 -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 +107 -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 +900 -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 +108 -60
- 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 +125 -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,74 @@
|
|
|
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
|
+
import { globalSingleton } from '@workflow/utils';
|
|
16
|
+
import { devalueVmCodec } from './codec-devalue-vm.js';
|
|
17
|
+
import { isFormatPrefix, SerializationFormat } from './types.js';
|
|
18
|
+
const FORMAT_PREFIX_LENGTH = 4;
|
|
19
|
+
// On `globalThis` (see `globalSingleton`) so one process builds one pair,
|
|
20
|
+
// rather than one per bundler layer this module is compiled into.
|
|
21
|
+
const codecs = globalSingleton('@workflow/core//vmTextCodecs', 1, () => ({
|
|
22
|
+
encoder: undefined,
|
|
23
|
+
decoder: undefined,
|
|
24
|
+
}));
|
|
25
|
+
function getEncoder() {
|
|
26
|
+
codecs.encoder ??= new globalThis.TextEncoder();
|
|
27
|
+
return codecs.encoder;
|
|
28
|
+
}
|
|
29
|
+
function getDecoder() {
|
|
30
|
+
codecs.decoder ??= new globalThis.TextDecoder();
|
|
31
|
+
return codecs.decoder;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Serialize a value to format-prefixed bytes.
|
|
35
|
+
*
|
|
36
|
+
* @param value - The value to serialize
|
|
37
|
+
* @returns Uint8Array with "devl" prefix + devalue payload
|
|
38
|
+
*/
|
|
39
|
+
export function serialize(value) {
|
|
40
|
+
const payload = devalueVmCodec.serialize(value, 'workflow');
|
|
41
|
+
const prefix = getEncoder().encode(SerializationFormat.DEVALUE_V1);
|
|
42
|
+
const result = new Uint8Array(prefix.length + payload.length);
|
|
43
|
+
result.set(prefix, 0);
|
|
44
|
+
result.set(payload, prefix.length);
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Deserialize format-prefixed bytes back to a value.
|
|
49
|
+
*
|
|
50
|
+
* @param data - Uint8Array with format prefix, or legacy non-binary data
|
|
51
|
+
* @returns The deserialized value
|
|
52
|
+
*/
|
|
53
|
+
export function deserialize(data) {
|
|
54
|
+
// Legacy: non-binary data
|
|
55
|
+
if (!(data instanceof Uint8Array)) {
|
|
56
|
+
if (devalueVmCodec.deserializeLegacy) {
|
|
57
|
+
return devalueVmCodec.deserializeLegacy(data, 'workflow');
|
|
58
|
+
}
|
|
59
|
+
throw new Error('Cannot deserialize non-binary data without legacy support');
|
|
60
|
+
}
|
|
61
|
+
if (data.length < FORMAT_PREFIX_LENGTH) {
|
|
62
|
+
throw new Error('Data too short to contain format prefix');
|
|
63
|
+
}
|
|
64
|
+
const prefixStr = getDecoder().decode(data.subarray(0, FORMAT_PREFIX_LENGTH));
|
|
65
|
+
if (!isFormatPrefix(prefixStr)) {
|
|
66
|
+
throw new Error(`Invalid format prefix: "${prefixStr}"`);
|
|
67
|
+
}
|
|
68
|
+
if (prefixStr === SerializationFormat.DEVALUE_V1) {
|
|
69
|
+
const payload = data.subarray(FORMAT_PREFIX_LENGTH);
|
|
70
|
+
return devalueVmCodec.deserialize(payload, 'workflow');
|
|
71
|
+
}
|
|
72
|
+
throw new Error(`Unsupported serialization format: ${prefixStr}`);
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctdm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXphdGlvbi93b3JrZmxvdy12bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpFLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLDBFQUEwRTtBQUMxRSxrRUFBa0U7QUFDbEUsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLDhCQUE4QixFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sRUFBRSxTQUEwRDtJQUNuRSxPQUFPLEVBQUUsU0FBMEQ7Q0FDcEUsQ0FBQyxDQUFDLENBQUM7QUFDSixTQUFTLFVBQVU7SUFDakIsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFLLFVBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsT0FBTyxNQUFNLENBQUMsT0FBNEMsQ0FBQztBQUM3RCxDQUFDO0FBQ0QsU0FBUyxVQUFVO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSyxVQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pELE9BQU8sTUFBTSxDQUFDLE9BQTRDLENBQUM7QUFDN0QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFjO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sTUFBTSxHQUFHLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUEwQjtJQUNwRCwwQkFBMEI7SUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsSUFBSSxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMkRBQTJELENBQzVELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEQsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIb3N0LXNpZGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBRdWlja0pTIGVuZ2luZSdzIHdvcmtmbG93LW1vZGVcbiAqIHdpcmUgY29kZWMuXG4gKlxuICogVGhlIFF1aWNrSlMgZW5naW5lIHNlcmlhbGl6ZXMgdGhyb3VnaCBoYW5kbGVzIG9uIHRoZSBob3N0XG4gKiAocnVudGltZS9xdWlja2pzLXNlcmRlLnRzKTsgdGhpcyBtb2R1bGUgaXMgdGhlIHZhbHVlLXNwYWNlIGVxdWl2YWxlbnQgb2ZcbiAqIHRoYXQgY29kZWMgYW5kIGlzIHVzZWQgYnkgdGVzdHMgdG8gYnVpbGQgd2lyZSBmaXh0dXJlcyBhbmQgYXNzZXJ0XG4gKiBieXRlLWxldmVsIHBhcml0eS4gSXQgaGFzIE5PIE5vZGUuanMgZGVwZW5kZW5jaWVzIChubyBCdWZmZXIsIG5vXG4gKiBub2RlOnV0aWwpLCB3aGljaCBpcyBhbHNvIHdoYXQgbWFkZSBpdCBidW5kbGVhYmxlIGludG8gdGhlIFZNIGJlZm9yZSB0aGVcbiAqIHNlcmRlIG1vdmVkIGhvc3Qtc2lkZS5cbiAqXG4gKiBQcm9kdWNlcyBhbmQgY29uc3VtZXMgdGhlIHNhbWUgd2lyZSBmb3JtYXQgYXMgdGhlIE5vZGUuanMgd29ya2Zsb3cudHM6XG4gKiBmb3JtYXQtcHJlZml4ZWQgZGV2YWx1ZSBkYXRhIChcImRldmxcIiArIGRldmFsdWUuc3RyaW5naWZ5IG91dHB1dCkuXG4gKi9cblxuaW1wb3J0IHsgZ2xvYmFsU2luZ2xldG9uIH0gZnJvbSAnQHdvcmtmbG93L3V0aWxzJztcbmltcG9ydCB7IGRldmFsdWVWbUNvZGVjIH0gZnJvbSAnLi9jb2RlYy1kZXZhbHVlLXZtLmpzJztcbmltcG9ydCB7IGlzRm9ybWF0UHJlZml4LCBTZXJpYWxpemF0aW9uRm9ybWF0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmNvbnN0IEZPUk1BVF9QUkVGSVhfTEVOR1RIID0gNDtcbi8vIE9uIGBnbG9iYWxUaGlzYCAoc2VlIGBnbG9iYWxTaW5nbGV0b25gKSBzbyBvbmUgcHJvY2VzcyBidWlsZHMgb25lIHBhaXIsXG4vLyByYXRoZXIgdGhhbiBvbmUgcGVyIGJ1bmRsZXIgbGF5ZXIgdGhpcyBtb2R1bGUgaXMgY29tcGlsZWQgaW50by5cbmNvbnN0IGNvZGVjcyA9IGdsb2JhbFNpbmdsZXRvbignQHdvcmtmbG93L2NvcmUvL3ZtVGV4dENvZGVjcycsIDEsICgpID0+ICh7XG4gIGVuY29kZXI6IHVuZGVmaW5lZCBhcyB7IGVuY29kZShzOiBzdHJpbmcpOiBVaW50OEFycmF5IH0gfCB1bmRlZmluZWQsXG4gIGRlY29kZXI6IHVuZGVmaW5lZCBhcyB7IGRlY29kZShkOiBVaW50OEFycmF5KTogc3RyaW5nIH0gfCB1bmRlZmluZWQsXG59KSk7XG5mdW5jdGlvbiBnZXRFbmNvZGVyKCk6IHsgZW5jb2RlKHM6IHN0cmluZyk6IFVpbnQ4QXJyYXkgfSB7XG4gIGNvZGVjcy5lbmNvZGVyID8/PSBuZXcgKGdsb2JhbFRoaXMgYXMgYW55KS5UZXh0RW5jb2RlcigpO1xuICByZXR1cm4gY29kZWNzLmVuY29kZXIgYXMgeyBlbmNvZGUoczogc3RyaW5nKTogVWludDhBcnJheSB9O1xufVxuZnVuY3Rpb24gZ2V0RGVjb2RlcigpOiB7IGRlY29kZShkOiBVaW50OEFycmF5KTogc3RyaW5nIH0ge1xuICBjb2RlY3MuZGVjb2RlciA/Pz0gbmV3IChnbG9iYWxUaGlzIGFzIGFueSkuVGV4dERlY29kZXIoKTtcbiAgcmV0dXJuIGNvZGVjcy5kZWNvZGVyIGFzIHsgZGVjb2RlKGQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemUgYSB2YWx1ZSB0byBmb3JtYXQtcHJlZml4ZWQgYnl0ZXMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNlcmlhbGl6ZVxuICogQHJldHVybnMgVWludDhBcnJheSB3aXRoIFwiZGV2bFwiIHByZWZpeCArIGRldmFsdWUgcGF5bG9hZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKHZhbHVlOiB1bmtub3duKTogVWludDhBcnJheSB7XG4gIGNvbnN0IHBheWxvYWQgPSBkZXZhbHVlVm1Db2RlYy5zZXJpYWxpemUodmFsdWUsICd3b3JrZmxvdycpO1xuICBjb25zdCBwcmVmaXggPSBnZXRFbmNvZGVyKCkuZW5jb2RlKFNlcmlhbGl6YXRpb25Gb3JtYXQuREVWQUxVRV9WMSk7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBVaW50OEFycmF5KHByZWZpeC5sZW5ndGggKyBwYXlsb2FkLmxlbmd0aCk7XG4gIHJlc3VsdC5zZXQocHJlZml4LCAwKTtcbiAgcmVzdWx0LnNldChwYXlsb2FkLCBwcmVmaXgubGVuZ3RoKTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBEZXNlcmlhbGl6ZSBmb3JtYXQtcHJlZml4ZWQgYnl0ZXMgYmFjayB0byBhIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVWludDhBcnJheSB3aXRoIGZvcm1hdCBwcmVmaXgsIG9yIGxlZ2FjeSBub24tYmluYXJ5IGRhdGFcbiAqIEByZXR1cm5zIFRoZSBkZXNlcmlhbGl6ZWQgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplKGRhdGE6IFVpbnQ4QXJyYXkgfCB1bmtub3duKTogdW5rbm93biB7XG4gIC8vIExlZ2FjeTogbm9uLWJpbmFyeSBkYXRhXG4gIGlmICghKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSkge1xuICAgIGlmIChkZXZhbHVlVm1Db2RlYy5kZXNlcmlhbGl6ZUxlZ2FjeSkge1xuICAgICAgcmV0dXJuIGRldmFsdWVWbUNvZGVjLmRlc2VyaWFsaXplTGVnYWN5KGRhdGEsICd3b3JrZmxvdycpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ2Fubm90IGRlc2VyaWFsaXplIG5vbi1iaW5hcnkgZGF0YSB3aXRob3V0IGxlZ2FjeSBzdXBwb3J0J1xuICAgICk7XG4gIH1cblxuICBpZiAoZGF0YS5sZW5ndGggPCBGT1JNQVRfUFJFRklYX0xFTkdUSCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRGF0YSB0b28gc2hvcnQgdG8gY29udGFpbiBmb3JtYXQgcHJlZml4Jyk7XG4gIH1cblxuICBjb25zdCBwcmVmaXhTdHIgPSBnZXREZWNvZGVyKCkuZGVjb2RlKGRhdGEuc3ViYXJyYXkoMCwgRk9STUFUX1BSRUZJWF9MRU5HVEgpKTtcbiAgaWYgKCFpc0Zvcm1hdFByZWZpeChwcmVmaXhTdHIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZvcm1hdCBwcmVmaXg6IFwiJHtwcmVmaXhTdHJ9XCJgKTtcbiAgfVxuXG4gIGlmIChwcmVmaXhTdHIgPT09IFNlcmlhbGl6YXRpb25Gb3JtYXQuREVWQUxVRV9WMSkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBkYXRhLnN1YmFycmF5KEZPUk1BVF9QUkVGSVhfTEVOR1RIKTtcbiAgICByZXR1cm4gZGV2YWx1ZVZtQ29kZWMuZGVzZXJpYWxpemUocGF5bG9hZCwgJ3dvcmtmbG93Jyk7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHNlcmlhbGl6YXRpb24gZm9ybWF0OiAke3ByZWZpeFN0cn1gKTtcbn1cbiJdfQ==
|
|
@@ -5,11 +5,36 @@
|
|
|
5
5
|
* dispatch, and shared types/classes used by all environments (runtime, web
|
|
6
6
|
* o11y, CLI o11y). It has NO Node.js dependencies.
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Re-exported from the envelope layer so browser consumers (web dashboard,
|
|
10
|
+
* web-shared) can resolve key material without importing
|
|
11
|
+
* `@workflow/core/serialization`, whose module graph reaches Node built-ins
|
|
12
|
+
* (`node:util`, `node:async_hooks`) and cannot be bundled for the browser.
|
|
13
|
+
*
|
|
14
|
+
* Everything below is Web Crypto only: `serialization/encryption.ts`,
|
|
15
|
+
* `encryption.ts` and `sealed-box.ts` are all free of Node dependencies.
|
|
16
|
+
*/
|
|
17
|
+
export { type DecryptionKey, decrypt as decryptEnvelope, deriveRunPayloadKeys, encrypt as encryptEnvelope, isRunPayloadKeys, isSealTarget, type PayloadKey, type RunPayloadKeys, runPayloadKeys, type SealTarget, sealTo, } from './serialization/encryption.js';
|
|
8
18
|
export declare const SerializationFormat: {
|
|
9
19
|
/** devalue stringify/parse with TextEncoder/TextDecoder */
|
|
10
20
|
readonly DEVALUE_V1: "devl";
|
|
11
21
|
/** Encrypted payload (inner payload has its own format prefix after decryption) */
|
|
12
22
|
readonly ENCRYPTED: "encr";
|
|
23
|
+
/**
|
|
24
|
+
* Sealed payload: asymmetrically encrypted to a run's X25519 public key
|
|
25
|
+
* (inner payload has its own format prefix after opening).
|
|
26
|
+
*
|
|
27
|
+
* Written by cross-run writers that hold only the recipient run's public
|
|
28
|
+
* key. Opening it requires the run's private scalar rather than the
|
|
29
|
+
* symmetric per-run key, so o11y display treats it as ciphertext via
|
|
30
|
+
* {@link isEncryptedData} but {@link hydrateDataWithKey} does not attempt
|
|
31
|
+
* an AES-GCM decrypt on it.
|
|
32
|
+
*/
|
|
33
|
+
readonly SEALED: "encp";
|
|
34
|
+
/** Gzip-compressed payload (inner payload has its own format prefix after decompression) */
|
|
35
|
+
readonly GZIP: "gzip";
|
|
36
|
+
/** Zstandard-compressed payload (inner payload has its own format prefix after decompression) */
|
|
37
|
+
readonly ZSTD: "zstd";
|
|
13
38
|
};
|
|
14
39
|
export type SerializationFormatType = (typeof SerializationFormat)[keyof typeof SerializationFormat];
|
|
15
40
|
/**
|
|
@@ -38,10 +63,36 @@ export declare const ENCRYPTED_PLACEHOLDER = "\uD83D\uDD12 Encrypted";
|
|
|
38
63
|
*/
|
|
39
64
|
export declare function isExpiredStub(data: unknown): boolean;
|
|
40
65
|
/**
|
|
41
|
-
* Check if a binary value
|
|
42
|
-
*
|
|
66
|
+
* Check if a binary value is ciphertext: either a symmetrically encrypted
|
|
67
|
+
* payload ('encr') or a sealed cross-run payload ('encp').
|
|
68
|
+
*
|
|
69
|
+
* This is the predicate display layers want: both schemes are opaque bytes
|
|
70
|
+
* that must not be fed to the devalue parser, and both render as the same
|
|
71
|
+
* "Encrypted" affordance in the CLI and web UI. Use {@link isSealedData} when
|
|
72
|
+
* the *scheme* matters, notably when choosing a decryption path, since a
|
|
73
|
+
* sealed payload needs the run's private scalar rather than its symmetric key.
|
|
74
|
+
*
|
|
75
|
+
* Browser-safe: does not depend on the full serialization module.
|
|
43
76
|
*/
|
|
44
77
|
export declare function isEncryptedData(data: unknown): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Check if a binary value has the 'encp' format prefix, indicating a sealed
|
|
80
|
+
* (asymmetrically encrypted) cross-run payload.
|
|
81
|
+
*
|
|
82
|
+
* Browser-safe: does not depend on the full serialization module.
|
|
83
|
+
*/
|
|
84
|
+
export declare function isSealedData(data: unknown): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Check if a binary value has a compression format prefix ('gzip' or 'zstd').
|
|
87
|
+
* Browser-safe: does not depend on the full serialization module.
|
|
88
|
+
*/
|
|
89
|
+
export declare function isCompressedData(data: unknown): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Register a browser zstd decoder (e.g. a WASM-backed one). The web o11y UI
|
|
92
|
+
* calls this at init so `hydrateDataWithKey` can inflate zstd payloads after
|
|
93
|
+
* client-side decryption. Node readers use `node:zlib` and ignore this.
|
|
94
|
+
*/
|
|
95
|
+
export declare function registerZstdDecoder(decoder: (payload: Uint8Array) => Promise<Uint8Array>): void;
|
|
45
96
|
/**
|
|
46
97
|
* A map of type name → reviver function, used by devalue's `parse`/`unflatten`.
|
|
47
98
|
* Each environment (runtime, web, CLI) provides its own set.
|
|
@@ -58,7 +109,7 @@ export type Revivers = Record<string, (value: any) => any>;
|
|
|
58
109
|
*
|
|
59
110
|
* Encrypted data is intentionally left as a `Uint8Array` so that consumers
|
|
60
111
|
* (CLI, web UI) can detect it with `isEncryptedData()` and decide how to
|
|
61
|
-
* handle it
|
|
112
|
+
* handle it: the CLI replaces it with a styled placeholder, the web UI
|
|
62
113
|
* renders an "Encrypted" card with a Decrypt button that triggers
|
|
63
114
|
* client-side decryption on demand.
|
|
64
115
|
*/
|
|
@@ -70,11 +121,15 @@ export declare function hydrateData(value: unknown, revivers: Revivers): unknown
|
|
|
70
121
|
* decryption. Used by o11y tooling (web UI, CLI) when the user requests
|
|
71
122
|
* decryption.
|
|
72
123
|
*
|
|
73
|
-
* @param value - The value to hydrate (may be encrypted)
|
|
124
|
+
* @param value - The value to hydrate (may be encrypted or sealed)
|
|
74
125
|
* @param revivers - Devalue revivers for deserialization
|
|
75
|
-
* @param key -
|
|
126
|
+
* @param key - The run's key material. Pass `RunPayloadKeys` (from
|
|
127
|
+
* `deriveRunPayloadKeys`) to open both symmetric (`encr`) and sealed
|
|
128
|
+
* (`encp`) payloads; a bare `CryptoKey` opens only the symmetric ones.
|
|
129
|
+
* Typed as a read capability so a write-only seal target (which could open
|
|
130
|
+
* neither scheme) is rejected at compile time rather than failing here.
|
|
76
131
|
*/
|
|
77
|
-
export declare function hydrateDataWithKey(value: unknown, revivers: Revivers, key: import('./encryption.js').
|
|
132
|
+
export declare function hydrateDataWithKey(value: unknown, revivers: Revivers, key: import('./serialization/encryption.js').DecryptionKey | undefined): Promise<unknown>;
|
|
78
133
|
/** Marker for stream reference objects rendered as links in the UI */
|
|
79
134
|
export declare const STREAM_REF_TYPE = "__workflow_stream_ref__";
|
|
80
135
|
/** A stream reference for UI display */
|
|
@@ -100,7 +155,7 @@ export declare const CLASS_INSTANCE_REF_TYPE = "__workflow_class_instance_ref__"
|
|
|
100
155
|
/**
|
|
101
156
|
* A class instance reference for o11y display.
|
|
102
157
|
*
|
|
103
|
-
* Browser-safe base class
|
|
158
|
+
* Browser-safe base class: no `util.inspect.custom`. Environment-specific
|
|
104
159
|
* rendering (CLI inspect, web component) is handled by each consumer.
|
|
105
160
|
*/
|
|
106
161
|
export declare class ClassInstanceRef {
|
|
@@ -151,13 +206,14 @@ export declare const observabilityRevivers: Revivers;
|
|
|
151
206
|
* Dispatches by resource type (step, hook, event, workflow) and calls
|
|
152
207
|
* `hydrateData` with the provided revivers for each data field.
|
|
153
208
|
*
|
|
154
|
-
* Each environment (web, CLI) provides its own revivers
|
|
209
|
+
* Each environment (web, CLI) provides its own revivers; this function
|
|
155
210
|
* only handles the dispatch logic and field mapping.
|
|
156
211
|
*/
|
|
157
212
|
export declare function hydrateResourceIO<T extends {
|
|
158
213
|
stepId?: string;
|
|
159
214
|
hookId?: string;
|
|
160
215
|
eventId?: string;
|
|
216
|
+
eventType?: string;
|
|
161
217
|
input?: any;
|
|
162
218
|
output?: any;
|
|
163
219
|
metadata?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialization-format.d.ts","sourceRoot":"","sources":["../src/serialization-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"serialization-format.d.ts","sourceRoot":"","sources":["../src/serialization-format.ts"],"names":[],"mappings":"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"}
|