@workflow/core 5.0.0-beta.4 → 5.0.0-beta.6

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.
Files changed (168) hide show
  1. package/dist/capture-stack.d.ts +16 -0
  2. package/dist/capture-stack.d.ts.map +1 -0
  3. package/dist/capture-stack.js +21 -0
  4. package/dist/classify-error.d.ts +7 -0
  5. package/dist/classify-error.d.ts.map +1 -1
  6. package/dist/classify-error.js +25 -4
  7. package/dist/context-errors.d.ts +27 -0
  8. package/dist/context-errors.d.ts.map +1 -0
  9. package/dist/context-errors.js +101 -0
  10. package/dist/context-violation-error.d.ts +97 -0
  11. package/dist/context-violation-error.d.ts.map +1 -0
  12. package/dist/context-violation-error.js +147 -0
  13. package/dist/create-hook.d.ts.map +1 -1
  14. package/dist/create-hook.js +4 -3
  15. package/dist/define-hook.d.ts.map +1 -1
  16. package/dist/define-hook.js +20 -5
  17. package/dist/describe-error.d.ts +70 -0
  18. package/dist/describe-error.d.ts.map +1 -0
  19. package/dist/describe-error.js +119 -0
  20. package/dist/encryption.d.ts.map +1 -1
  21. package/dist/encryption.js +4 -20
  22. package/dist/events-consumer.d.ts +7 -0
  23. package/dist/events-consumer.d.ts.map +1 -1
  24. package/dist/events-consumer.js +9 -2
  25. package/dist/flushable-stream.d.ts +10 -10
  26. package/dist/flushable-stream.d.ts.map +1 -1
  27. package/dist/flushable-stream.js +13 -12
  28. package/dist/global.d.ts +4 -0
  29. package/dist/global.d.ts.map +1 -1
  30. package/dist/global.js +8 -2
  31. package/dist/log-format.d.ts +25 -0
  32. package/dist/log-format.d.ts.map +1 -0
  33. package/dist/log-format.js +250 -0
  34. package/dist/logger.d.ts +28 -30
  35. package/dist/logger.d.ts.map +1 -1
  36. package/dist/logger.js +77 -31
  37. package/dist/private.js +3 -3
  38. package/dist/runtime/get-port-lazy.d.ts +10 -0
  39. package/dist/runtime/get-port-lazy.d.ts.map +1 -0
  40. package/dist/runtime/get-port-lazy.js +30 -0
  41. package/dist/runtime/get-world-lazy.d.ts +32 -0
  42. package/dist/runtime/get-world-lazy.d.ts.map +1 -0
  43. package/dist/runtime/get-world-lazy.js +56 -0
  44. package/dist/runtime/helpers.d.ts +38 -5
  45. package/dist/runtime/helpers.d.ts.map +1 -1
  46. package/dist/runtime/helpers.js +67 -18
  47. package/dist/runtime/resume-hook.js +4 -4
  48. package/dist/runtime/run.d.ts.map +1 -1
  49. package/dist/runtime/run.js +31 -6
  50. package/dist/runtime/start.js +3 -3
  51. package/dist/runtime/step-executor.d.ts +40 -0
  52. package/dist/runtime/step-executor.d.ts.map +1 -0
  53. package/dist/runtime/step-executor.js +480 -0
  54. package/dist/runtime/step-handler.d.ts.map +1 -1
  55. package/dist/runtime/step-handler.js +209 -111
  56. package/dist/runtime/suspension-handler.d.ts +22 -4
  57. package/dist/runtime/suspension-handler.d.ts.map +1 -1
  58. package/dist/runtime/suspension-handler.js +86 -73
  59. package/dist/runtime/world-init.d.ts +75 -0
  60. package/dist/runtime/world-init.d.ts.map +1 -0
  61. package/dist/runtime/world-init.js +75 -0
  62. package/dist/runtime/world.d.ts.map +1 -1
  63. package/dist/runtime/world.js +47 -18
  64. package/dist/runtime.d.ts +8 -7
  65. package/dist/runtime.d.ts.map +1 -1
  66. package/dist/runtime.js +649 -292
  67. package/dist/schemas.d.ts +1 -1
  68. package/dist/schemas.d.ts.map +1 -1
  69. package/dist/schemas.js +1 -1
  70. package/dist/serialization/client.d.ts +17 -0
  71. package/dist/serialization/client.d.ts.map +1 -0
  72. package/dist/serialization/client.js +44 -0
  73. package/dist/serialization/codec-devalue.d.ts +14 -0
  74. package/dist/serialization/codec-devalue.d.ts.map +1 -0
  75. package/dist/serialization/codec-devalue.js +98 -0
  76. package/dist/serialization/codec.d.ts +90 -0
  77. package/dist/serialization/codec.d.ts.map +1 -0
  78. package/dist/serialization/codec.js +17 -0
  79. package/dist/serialization/encryption.d.ts +32 -0
  80. package/dist/serialization/encryption.d.ts.map +1 -0
  81. package/dist/serialization/encryption.js +51 -0
  82. package/dist/serialization/errors.d.ts +21 -0
  83. package/dist/serialization/errors.d.ts.map +1 -0
  84. package/dist/serialization/errors.js +41 -0
  85. package/dist/serialization/format.d.ts +60 -0
  86. package/dist/serialization/format.d.ts.map +1 -0
  87. package/dist/serialization/format.js +97 -0
  88. package/dist/serialization/index.d.ts +18 -0
  89. package/dist/serialization/index.d.ts.map +1 -0
  90. package/dist/serialization/index.js +20 -0
  91. package/dist/serialization/reducers/class.d.ts +11 -0
  92. package/dist/serialization/reducers/class.d.ts.map +1 -0
  93. package/dist/serialization/reducers/class.js +68 -0
  94. package/dist/serialization/reducers/common.d.ts +16 -0
  95. package/dist/serialization/reducers/common.d.ts.map +1 -0
  96. package/dist/serialization/reducers/common.js +386 -0
  97. package/dist/serialization/reducers/step-function.d.ts +35 -0
  98. package/dist/serialization/reducers/step-function.d.ts.map +1 -0
  99. package/dist/serialization/reducers/step-function.js +88 -0
  100. package/dist/serialization/step.d.ts +17 -0
  101. package/dist/serialization/step.d.ts.map +1 -0
  102. package/dist/serialization/step.js +44 -0
  103. package/dist/serialization/types.d.ts +208 -0
  104. package/dist/serialization/types.d.ts.map +1 -0
  105. package/dist/serialization/types.js +21 -0
  106. package/dist/serialization/workflow.d.ts +29 -0
  107. package/dist/serialization/workflow.d.ts.map +1 -0
  108. package/dist/serialization/workflow.js +54 -0
  109. package/dist/serialization-format.d.ts.map +1 -1
  110. package/dist/serialization-format.js +77 -3
  111. package/dist/serialization.d.ts +209 -226
  112. package/dist/serialization.d.ts.map +1 -1
  113. package/dist/serialization.js +773 -633
  114. package/dist/sleep.d.ts.map +1 -1
  115. package/dist/sleep.js +3 -2
  116. package/dist/step/get-closure-vars.d.ts.map +1 -1
  117. package/dist/step/get-closure-vars.js +3 -2
  118. package/dist/step/get-step-metadata.d.ts.map +1 -1
  119. package/dist/step/get-step-metadata.js +3 -2
  120. package/dist/step/get-workflow-metadata.d.ts.map +1 -1
  121. package/dist/step/get-workflow-metadata.js +3 -2
  122. package/dist/step/writable-stream.d.ts.map +1 -1
  123. package/dist/step/writable-stream.js +3 -2
  124. package/dist/step.d.ts.map +1 -1
  125. package/dist/step.js +83 -16
  126. package/dist/symbols.d.ts +4 -0
  127. package/dist/symbols.d.ts.map +1 -1
  128. package/dist/symbols.js +5 -1
  129. package/dist/telemetry/semantic-conventions.d.ts +2 -2
  130. package/dist/telemetry/semantic-conventions.js +1 -1
  131. package/dist/util.d.ts +18 -3
  132. package/dist/util.d.ts.map +1 -1
  133. package/dist/util.js +28 -5
  134. package/dist/version.d.ts +1 -1
  135. package/dist/version.js +2 -2
  136. package/dist/vm/index.d.ts.map +1 -1
  137. package/dist/vm/index.js +3 -2
  138. package/dist/workflow/abort-controller.d.ts +65 -0
  139. package/dist/workflow/abort-controller.d.ts.map +1 -0
  140. package/dist/workflow/abort-controller.js +245 -0
  141. package/dist/workflow/create-hook.d.ts.map +1 -1
  142. package/dist/workflow/create-hook.js +3 -2
  143. package/dist/workflow/define-hook.d.ts +1 -1
  144. package/dist/workflow/define-hook.d.ts.map +1 -1
  145. package/dist/workflow/define-hook.js +8 -4
  146. package/dist/workflow/get-workflow-metadata.d.ts.map +1 -1
  147. package/dist/workflow/get-workflow-metadata.js +14 -3
  148. package/dist/workflow/hook.d.ts.map +1 -1
  149. package/dist/workflow/hook.js +2 -2
  150. package/dist/workflow/index.d.ts.map +1 -1
  151. package/dist/workflow/index.js +4 -3
  152. package/dist/workflow/world-init-stub.d.ts +15 -0
  153. package/dist/workflow/world-init-stub.d.ts.map +1 -0
  154. package/dist/workflow/world-init-stub.js +15 -0
  155. package/dist/workflow.d.ts.map +1 -1
  156. package/dist/workflow.js +71 -28
  157. package/docs/foundations/cancellation.mdx +460 -0
  158. package/docs/foundations/errors-and-retries.mdx +7 -3
  159. package/docs/foundations/index.mdx +3 -0
  160. package/docs/foundations/meta.json +3 -1
  161. package/docs/foundations/serialization.mdx +77 -41
  162. package/docs/foundations/starting-workflows.mdx +5 -1
  163. package/docs/foundations/versioning.mdx +263 -0
  164. package/docs/how-it-works/cancellation.mdx +287 -0
  165. package/docs/how-it-works/code-transform.mdx +2 -2
  166. package/docs/how-it-works/event-sourcing.mdx +2 -2
  167. package/docs/how-it-works/meta.json +2 -1
  168. package/package.json +15 -6
@@ -1,57 +1,9 @@
1
1
  import { type CryptoKey } from './encryption.js';
2
- /**
3
- * Encryption key parameter type. Accepts a resolved key, undefined (no encryption),
4
- * or a promise that resolves to either. This allows synchronous function signatures
5
- * (e.g., getReadable()) to thread the key through without awaiting it the promise
6
- * is resolved lazily inside the first async transform() call.
7
- */
8
- export type EncryptionKeyParam = CryptoKey | undefined | Promise<CryptoKey | undefined>;
9
- /**
10
- * Known serialization format identifiers.
11
- * Each format ID is exactly 4 ASCII characters, matching the convention
12
- * used for other workflow IDs (wrun, step, wait, etc.)
13
- */
14
- export declare const SerializationFormat: {
15
- /** devalue stringify/parse with TextEncoder/TextDecoder */
16
- readonly DEVALUE_V1: "devl";
17
- /** Encrypted payload (inner payload has its own format prefix) */
18
- readonly ENCRYPTED: "encr";
19
- };
2
+ import { decrypt, type EncryptionKeyParam, encrypt } from './serialization/encryption.js';
3
+ import { decodeFormatPrefix, encodeWithFormatPrefix, isEncrypted, peekFormatPrefix } from './serialization/format.js';
4
+ import { type FormatPrefix, isFormatPrefix, SerializationFormat } from './serialization/types.js';
5
+ export { SerializationFormat, type FormatPrefix, isFormatPrefix, encodeWithFormatPrefix, decodeFormatPrefix, peekFormatPrefix, isEncrypted, encrypt, decrypt, type EncryptionKeyParam, };
20
6
  export type SerializationFormatType = (typeof SerializationFormat)[keyof typeof SerializationFormat];
21
- /**
22
- * Encode a payload with a format prefix.
23
- *
24
- * @param format - The format identifier (must be exactly 4 ASCII characters)
25
- * @param payload - The serialized payload bytes
26
- * @returns A new Uint8Array with format prefix prepended
27
- */
28
- export declare function encodeWithFormatPrefix(format: SerializationFormatType, payload: Uint8Array | unknown): Uint8Array | unknown;
29
- /**
30
- * Peek at the format prefix without consuming it.
31
- * Useful for checking if data is encrypted before deciding how to process it.
32
- *
33
- * @param data - The format-prefixed data
34
- * @returns The format identifier, or null if data is legacy/non-binary
35
- */
36
- export declare function peekFormatPrefix(data: Uint8Array | unknown): SerializationFormatType | null;
37
- /**
38
- * Check if data is encrypted (has 'encr' format prefix).
39
- *
40
- * @param data - The format-prefixed data
41
- * @returns true if data has the encrypted format prefix
42
- */
43
- export declare function isEncrypted(data: Uint8Array | unknown): boolean;
44
- /**
45
- * Decode a format-prefixed payload.
46
- *
47
- * @param data - The format-prefixed data
48
- * @returns An object with the format identifier and payload
49
- * @throws Error if the data is too short or has an unknown format
50
- */
51
- export declare function decodeFormatPrefix(data: Uint8Array | unknown): {
52
- format: SerializationFormatType;
53
- payload: Uint8Array;
54
- };
55
7
  /**
56
8
  * Detect if a readable stream is a byte stream.
57
9
  *
@@ -59,8 +11,8 @@ export declare function decodeFormatPrefix(data: Uint8Array | unknown): {
59
11
  * @returns `"bytes"` if the stream is a byte stream, `undefined` otherwise
60
12
  */
61
13
  export declare function getStreamType(stream: ReadableStream): 'bytes' | undefined;
62
- export declare function getSerializeStream(reducers: Reducers, cryptoKey: EncryptionKeyParam): TransformStream<any, Uint8Array>;
63
- export declare function getDeserializeStream(revivers: Revivers, cryptoKey: EncryptionKeyParam): TransformStream<Uint8Array, any>;
14
+ export declare function getSerializeStream(reducers: Partial<Reducers>, cryptoKey: EncryptionKeyParam): TransformStream<any, Uint8Array>;
15
+ export declare function getDeserializeStream(revivers: Partial<Revivers>, cryptoKey: EncryptionKeyParam): TransformStream<Uint8Array, any>;
64
16
  export declare class WorkflowServerReadableStream extends ReadableStream<Uint8Array> {
65
17
  #private;
66
18
  constructor(runId: string, name: string, startIndex?: number);
@@ -68,144 +20,184 @@ export declare class WorkflowServerReadableStream extends ReadableStream<Uint8Ar
68
20
  export declare class WorkflowServerWritableStream extends WritableStream<Uint8Array> {
69
21
  constructor(runId: string, name: string);
70
22
  }
71
- export interface SerializableSpecial {
72
- ArrayBuffer: string;
73
- BigInt: string;
74
- BigInt64Array: string;
75
- BigUint64Array: string;
76
- Date: string;
77
- DOMException: {
23
+ export type { Reducers, Revivers, SerializableSpecial, } from './serialization/types.js';
24
+ import type { Reducers, Revivers } from './serialization/types.js';
25
+ /**
26
+ * Reducers for serialization boundary from the client side, passing arguments
27
+ * to the workflow handler.
28
+ *
29
+ * @param global
30
+ * @param ops
31
+ * @returns
32
+ */
33
+ export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Partial<Reducers>;
34
+ /**
35
+ * Reducers for serialization boundary from within the workflow execution
36
+ * environment, passing return value to the client side and into step arguments.
37
+ *
38
+ * @param global
39
+ * @returns
40
+ */
41
+ export declare function getWorkflowReducers(global?: Record<string, any>): Partial<Reducers>;
42
+ /**
43
+ * Cancel dangling abort-stream readers on any AbortController instances found
44
+ * in the hydrated step arguments. Called after the step function returns
45
+ * (success or failure) to prevent reader promises from keeping the serverless
46
+ * function alive indefinitely.
47
+ */
48
+ export declare function cancelAbortReaders(...values: unknown[]): void;
49
+ /**
50
+ * Base revivers shared across all serialization boundaries.
51
+ * Composes: class + common revivers from the modular modules.
52
+ *
53
+ * This is exported because serialization-format.ts and other files reference it.
54
+ */
55
+ export declare function getCommonRevivers(global?: Record<string, any>): {
56
+ ArrayBuffer?: ((value: string) => any) | undefined;
57
+ BigInt?: ((value: string) => any) | undefined;
58
+ BigInt64Array?: ((value: string) => any) | undefined;
59
+ BigUint64Array?: ((value: string) => any) | undefined;
60
+ Date?: ((value: string) => any) | undefined;
61
+ DOMException?: ((value: {
78
62
  message: string;
79
63
  name: string;
80
64
  stack?: string;
81
65
  cause?: unknown;
82
- };
83
- Float32Array: string;
84
- Float64Array: string;
85
- Error: Record<string, any>;
86
- Headers: [string, string][];
87
- Int8Array: string;
88
- Int16Array: string;
89
- Int32Array: string;
90
- Map: [any, any][];
91
- ReadableStream: {
66
+ }) => any) | undefined;
67
+ FatalError?: ((value: {
68
+ message: string;
69
+ stack?: string;
70
+ cause?: unknown;
71
+ }) => any) | undefined;
72
+ Float32Array?: ((value: string) => any) | undefined;
73
+ Float64Array?: ((value: string) => any) | undefined;
74
+ Error?: ((value: {
92
75
  name: string;
93
- type?: 'bytes';
76
+ message: string;
77
+ stack?: string;
78
+ cause?: unknown;
79
+ }) => any) | undefined;
80
+ EvalError?: ((value: {
81
+ message: string;
82
+ stack?: string;
83
+ cause?: unknown;
84
+ }) => any) | undefined;
85
+ Headers?: ((value: [string, string][]) => any) | undefined;
86
+ HookConflictError?: ((value: {
87
+ message: string;
88
+ stack?: string;
89
+ cause?: unknown;
90
+ token: string;
91
+ conflictingRunId?: string;
92
+ }) => any) | undefined;
93
+ Int8Array?: ((value: string) => any) | undefined;
94
+ Int16Array?: ((value: string) => any) | undefined;
95
+ Int32Array?: ((value: string) => any) | undefined;
96
+ Map?: ((value: [any, any][]) => any) | undefined;
97
+ RangeError?: ((value: {
98
+ message: string;
99
+ stack?: string;
100
+ cause?: unknown;
101
+ }) => any) | undefined;
102
+ ReadableStream?: ((value: {
103
+ name: string;
104
+ type?: "bytes";
94
105
  startIndex?: number;
95
106
  } | {
96
107
  bodyInit: any;
97
- };
98
- RegExp: {
108
+ }) => any) | undefined;
109
+ ReferenceError?: ((value: {
110
+ message: string;
111
+ stack?: string;
112
+ cause?: unknown;
113
+ }) => any) | undefined;
114
+ RegExp?: ((value: {
99
115
  source: string;
100
116
  flags: string;
101
- };
102
- Request: {
117
+ }) => any) | undefined;
118
+ RetryableError?: ((value: {
119
+ message: string;
120
+ stack?: string;
121
+ cause?: unknown;
122
+ retryAfter: number;
123
+ }) => any) | undefined;
124
+ Request?: ((value: {
103
125
  method: string;
104
126
  url: string;
105
127
  headers: Headers;
106
- body: Request['body'];
107
- duplex: Request['duplex'];
128
+ body: Request["body"];
129
+ duplex: Request["duplex"];
108
130
  responseWritable?: WritableStream<Response>;
109
- };
110
- Response: {
111
- type: Response['type'];
131
+ signal?: AbortSignal;
132
+ }) => any) | undefined;
133
+ Response?: ((value: {
134
+ type: Response["type"];
112
135
  url: string;
113
136
  status: number;
114
137
  statusText: string;
115
138
  headers: Headers;
116
- body: Response['body'];
139
+ body: Response["body"];
117
140
  redirected: boolean;
118
- };
119
- Class: {
141
+ }) => any) | undefined;
142
+ Class?: ((value: {
120
143
  classId: string;
121
- };
122
- /**
123
- * Custom serialized class instance.
124
- * The class must have a `classId` property and be registered for deserialization.
125
- */
126
- Instance: {
144
+ }) => any) | undefined;
145
+ Instance?: ((value: {
127
146
  classId: string;
128
147
  data: unknown;
129
- };
130
- Set: any[];
131
- StepFunction: {
148
+ }) => any) | undefined;
149
+ Set?: ((value: any[]) => any) | undefined;
150
+ SyntaxError?: ((value: {
151
+ message: string;
152
+ stack?: string;
153
+ cause?: unknown;
154
+ }) => any) | undefined;
155
+ StepFunction?: ((value: {
132
156
  stepId: string;
133
157
  closureVars?: Record<string, any>;
134
- };
135
- URL: string;
136
- WorkflowFunction: {
158
+ boundThis?: unknown;
159
+ boundArgs?: unknown[];
160
+ }) => any) | undefined;
161
+ TypeError?: ((value: {
162
+ message: string;
163
+ stack?: string;
164
+ cause?: unknown;
165
+ }) => any) | undefined;
166
+ URIError?: ((value: {
167
+ message: string;
168
+ stack?: string;
169
+ cause?: unknown;
170
+ }) => any) | undefined;
171
+ URL?: ((value: string) => any) | undefined;
172
+ WorkflowFunction?: ((value: {
137
173
  workflowId: string;
138
- };
139
- URLSearchParams: string;
140
- Uint8Array: string;
141
- Uint8ClampedArray: string;
142
- Uint16Array: string;
143
- Uint32Array: string;
144
- WritableStream: {
145
- name: string;
146
- };
147
- }
148
- type Reducers = {
149
- [K in keyof SerializableSpecial]: (value: any) => SerializableSpecial[K] | false;
150
- };
151
- type Revivers = {
152
- [K in keyof SerializableSpecial]: (value: SerializableSpecial[K]) => any;
153
- };
154
- /**
155
- * Reducers for serialization boundary from the client side, passing arguments
156
- * to the workflow handler.
157
- *
158
- * @param global
159
- * @param ops
160
- * @returns
161
- */
162
- export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Reducers;
163
- /**
164
- * Reducers for serialization boundary from within the workflow execution
165
- * environment, passing return value to the client side and into step arguments.
166
- *
167
- * @param global
168
- * @returns
169
- */
170
- export declare function getWorkflowReducers(global?: Record<string, any>): Reducers;
171
- export declare function getCommonRevivers(global?: Record<string, any>): {
172
- readonly ArrayBuffer: (value: string) => any;
173
- readonly BigInt: (value: string) => any;
174
- readonly BigInt64Array: (value: string) => any;
175
- readonly BigUint64Array: (value: string) => any;
176
- readonly Date: (value: string) => any;
177
- readonly DOMException: (value: {
174
+ }) => any) | undefined;
175
+ URLSearchParams?: ((value: string) => any) | undefined;
176
+ Uint8Array?: ((value: string) => any) | undefined;
177
+ Uint8ClampedArray?: ((value: string) => any) | undefined;
178
+ Uint16Array?: ((value: string) => any) | undefined;
179
+ Uint32Array?: ((value: string) => any) | undefined;
180
+ AggregateError?: ((value: {
178
181
  message: string;
179
- name: string;
180
182
  stack?: string;
181
183
  cause?: unknown;
182
- }) => any;
183
- readonly Error: (value: Record<string, any>) => any;
184
- readonly Float32Array: (value: string) => any;
185
- readonly Float64Array: (value: string) => any;
186
- readonly Headers: (value: [string, string][]) => any;
187
- readonly Int8Array: (value: string) => any;
188
- readonly Int16Array: (value: string) => any;
189
- readonly Int32Array: (value: string) => any;
190
- readonly Map: (value: [any, any][]) => any;
191
- readonly RegExp: (value: {
192
- source: string;
193
- flags: string;
194
- }) => any;
195
- readonly Class: (value: {
196
- classId: string;
197
- }) => Function;
198
- readonly Instance: (value: {
199
- classId: string;
200
- data: unknown;
201
- }) => any;
202
- readonly Set: (value: any[]) => any;
203
- readonly URL: (value: string) => any;
204
- readonly URLSearchParams: (value: string) => any;
205
- readonly Uint8Array: (value: string) => any;
206
- readonly Uint8ClampedArray: (value: string) => any;
207
- readonly Uint16Array: (value: string) => any;
208
- readonly Uint32Array: (value: string) => any;
184
+ errors: unknown[];
185
+ }) => any) | undefined;
186
+ WritableStream?: ((value: {
187
+ name: string;
188
+ }) => any) | undefined;
189
+ AbortController?: ((value: {
190
+ streamName: string;
191
+ hookToken: string;
192
+ aborted: boolean;
193
+ reason?: unknown;
194
+ }) => any) | undefined;
195
+ AbortSignal?: ((value: {
196
+ streamName: string;
197
+ hookToken: string;
198
+ aborted: boolean;
199
+ reason?: unknown;
200
+ }) => any) | undefined;
209
201
  };
210
202
  /**
211
203
  * Revivers for deserialization boundary from the client side,
@@ -215,7 +207,7 @@ export declare function getCommonRevivers(global?: Record<string, any>): {
215
207
  * @param ops
216
208
  * @param runId
217
209
  */
218
- export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Revivers;
210
+ export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Partial<Revivers>;
219
211
  /**
220
212
  * Revivers for deserialization boundary from within the workflow execution
221
213
  * environment, receiving arguments from the client side, and return values
@@ -224,95 +216,100 @@ export declare function getExternalRevivers(global: Record<string, any> | undefi
224
216
  * @param global
225
217
  * @returns
226
218
  */
227
- export declare function getWorkflowRevivers(global?: Record<string, any>): Revivers;
219
+ export declare function getWorkflowRevivers(global?: Record<string, any>): Partial<Revivers>;
228
220
  /**
229
221
  * Encrypt data if the world supports encryption.
230
222
  * Returns original data if encryption is not available.
231
223
  *
232
- * @param data - Serialized data to encrypt
233
- * @param key - Encryption key (undefined to skip encryption)
234
- * @param context - Encryption context with runId
235
- * @returns Encrypted data if encryption available, original data otherwise
224
+ * @deprecated Use `encrypt` from `./serialization/encryption.js` instead.
236
225
  */
237
226
  export declare function maybeEncrypt(data: Uint8Array, key: CryptoKey | undefined): Promise<Uint8Array>;
238
227
  /**
239
228
  * Decrypt data if it has the 'encr' prefix.
240
229
  *
241
- * @param data - Data that may be encrypted
242
- * @param key - Encryption key (undefined if no key available)
243
- * @returns Decrypted data if encrypted, original data otherwise
244
- * @throws {WorkflowRuntimeError} If the data is encrypted but no key is
245
- * available. Callers (e.g., `Run.pollReturnValue()`, `hydrateStepReturnValue`)
246
- * should be aware this can surface as a rejected promise during key rotation
247
- * or misconfiguration scenarios.
230
+ * @deprecated Use `decrypt` from `./serialization/encryption.js` instead.
248
231
  */
249
232
  export declare function maybeDecrypt(data: Uint8Array | unknown, key: CryptoKey | undefined): Promise<Uint8Array | unknown>;
250
233
  /**
251
234
  * Called from the `start()` function to serialize the workflow arguments
252
235
  * into a format that can be saved to the database and then hydrated from
253
236
  * within the workflow execution environment.
254
- *
255
- * @param value - The value to serialize
256
- * @param runId - The workflow run ID (required for encryption context)
257
- * @param key - Encryption key (undefined to skip encryption)
258
- * @param ops - Promise array for stream operations
259
- * @param global - Global object for serialization context
260
- * @param v1Compat - Enable legacy v1 compatibility mode
261
- * @returns The dehydrated value as binary data (Uint8Array) with format prefix
262
237
  */
263
238
  export declare function dehydrateWorkflowArguments(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<void>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
264
239
  /**
265
240
  * Called from workflow execution environment to hydrate the workflow
266
241
  * arguments from the database at the start of workflow execution.
267
- *
268
- * @param value - Binary serialized data (Uint8Array) with format prefix
269
- * @param _runId - Workflow run ID (reserved for future decryption context; decryption is currently driven solely by the provided key)
270
- * @param key - Encryption key (undefined to skip decryption)
271
- * @param global - Global object for deserialization context
272
- * @param extraRevivers - Additional revivers for custom types
273
- * @returns The hydrated value
274
242
  */
275
243
  export declare function hydrateWorkflowArguments(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
276
244
  /**
277
245
  * Dehydrate workflow return value for storage.
246
+ */
247
+ export declare function dehydrateWorkflowReturnValue(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
248
+ /**
249
+ * Called from the client side to hydrate the workflow return value
250
+ * of a completed workflow run.
251
+ */
252
+ export declare function hydrateWorkflowReturnValue(value: Uint8Array | unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<void>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
253
+ /**
254
+ * Called from the workflow handler when a step is being created.
255
+ * Dehydrates values from within the workflow execution environment.
256
+ */
257
+ export declare function dehydrateStepArguments(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
258
+ /**
259
+ * Called from the step handler to hydrate the arguments of a step
260
+ * from the database at the start of the step execution.
261
+ */
262
+ export declare function hydrateStepArguments(value: Uint8Array | unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
263
+ /**
264
+ * Called from the step handler when a step has completed.
265
+ * Dehydrates values from within the step execution environment.
266
+ */
267
+ export declare function dehydrateStepReturnValue(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
268
+ /**
269
+ * Called from the step handler when a step throws. Dehydrates the thrown
270
+ * value from within the step execution environment into a format that can
271
+ * be saved to the database in a `step_failed` or `step_retrying` event.
278
272
  *
279
- * @param value - The value to serialize
273
+ * Any JavaScript value can be thrown (strings, numbers, objects, Errors,
274
+ * Error subclasses), so the same serialization pipeline used for step
275
+ * arguments and return values is applied here.
276
+ *
277
+ * @param value - The thrown value to serialize (can be any type)
280
278
  * @param runId - Run ID for encryption context
281
279
  * @param key - Encryption key (undefined to skip encryption)
280
+ * @param ops - Promise array for stream operations
282
281
  * @param global - Global object for serialization context
283
282
  * @returns The dehydrated value as binary data (Uint8Array) with format prefix
284
283
  */
285
- export declare function dehydrateWorkflowReturnValue(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
284
+ export declare function dehydrateStepError(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>): Promise<Uint8Array>;
286
285
  /**
287
- * Called from the client side (i.e. the execution environment where
288
- * the workflow run was initiated from) to hydrate the workflow
289
- * return value of a completed workflow run.
286
+ * Called from the workflow handler when replaying the event log of a
287
+ * `step_failed` or `step_retrying` event. Hydrates the thrown value from
288
+ * the database so the workflow can see the original thrown value.
290
289
  *
291
290
  * @param value - Binary serialized data (Uint8Array) with format prefix
292
291
  * @param runId - Run ID for decryption context
293
292
  * @param key - Encryption key (undefined to skip decryption)
294
- * @param ops - Promise array for stream operations
295
293
  * @param global - Global object for deserialization context
296
294
  * @param extraRevivers - Additional revivers for custom types
297
- * @returns The hydrated return value, ready to be consumed by the client
295
+ * @returns The hydrated thrown value, ready to reject the step promise
298
296
  */
299
- export declare function hydrateWorkflowReturnValue(value: Uint8Array | unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<void>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
297
+ export declare function hydrateStepError(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<unknown>;
300
298
  /**
301
- * Called from the workflow handler when a step is being created.
302
- * Dehydrates values from within the workflow execution environment
303
- * into a format that can be saved to the database.
299
+ * Called from the workflow handler when the workflow itself throws.
300
+ * Dehydrates the thrown value from within the workflow execution environment
301
+ * into a format that can be saved to the database in a `run_failed` event.
304
302
  *
305
- * @param value - The value to serialize
303
+ * @param value - The thrown value to serialize (can be any type)
306
304
  * @param runId - Run ID for encryption context
307
305
  * @param key - Encryption key (undefined to skip encryption)
308
306
  * @param global - Global object for serialization context
309
- * @param v1Compat - Enable legacy v1 compatibility mode
310
307
  * @returns The dehydrated value as binary data (Uint8Array) with format prefix
311
308
  */
312
- export declare function dehydrateStepArguments(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
309
+ export declare function dehydrateRunError(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>): Promise<Uint8Array>;
313
310
  /**
314
- * Called from the step handler to hydrate the arguments of a step
315
- * from the database at the start of the step execution.
311
+ * Called from the client side (or observability tools) to hydrate the run
312
+ * error value of a failed workflow run.
316
313
  *
317
314
  * @param value - Binary serialized data (Uint8Array) with format prefix
318
315
  * @param runId - Run ID for decryption context
@@ -320,23 +317,9 @@ export declare function dehydrateStepArguments(value: unknown, _runId: string, k
320
317
  * @param ops - Promise array for stream operations
321
318
  * @param global - Global object for deserialization context
322
319
  * @param extraRevivers - Additional revivers for custom types
323
- * @returns The hydrated value, ready to be consumed by the step user-code function
324
- */
325
- export declare function hydrateStepArguments(value: Uint8Array | unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
326
- /**
327
- * Called from the step handler when a step has completed.
328
- * Dehydrates values from within the step execution environment
329
- * into a format that can be saved to the database.
330
- *
331
- * @param value - The value to serialize
332
- * @param runId - Run ID for encryption context
333
- * @param key - Encryption key (undefined to skip encryption)
334
- * @param ops - Promise array for stream operations
335
- * @param global - Global object for serialization context
336
- * @param v1Compat - Enable legacy v1 compatibility mode
337
- * @returns The dehydrated value as binary data (Uint8Array) with format prefix
320
+ * @returns The hydrated thrown value, ready to be consumed by the client
338
321
  */
339
- export declare function dehydrateStepReturnValue(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
322
+ export declare function hydrateRunError(value: Uint8Array | unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<void>[], global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<unknown>;
340
323
  /**
341
324
  * Called from the workflow handler when replaying the event log of a `step_completed` event.
342
325
  * Hydrates the return value of a step from the database.
@@ -346,8 +329,8 @@ export declare function dehydrateStepReturnValue(value: unknown, runId: string,
346
329
  * @param key - Encryption key (undefined to skip decryption)
347
330
  * @param global - Global object for deserialization context
348
331
  * @param extraRevivers - Additional revivers for custom types
349
- * @returns The hydrated return value of a step, ready to be consumed by the workflow handler
332
+ * Called from the workflow handler when replaying the event log
333
+ * of a `step_completed` event.
350
334
  */
351
335
  export declare function hydrateStepReturnValue(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
352
- export {};
353
336
  //# sourceMappingURL=serialization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}