@workflow/core 5.0.0-beta.0 → 5.0.0-beta.10

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 (222) hide show
  1. package/README.md +1 -1
  2. package/dist/attribute-changes.d.ts +7 -0
  3. package/dist/attribute-changes.d.ts.map +1 -0
  4. package/dist/attribute-changes.js +25 -0
  5. package/dist/capabilities.js +1 -1
  6. package/dist/capture-stack.d.ts +16 -0
  7. package/dist/capture-stack.d.ts.map +1 -0
  8. package/dist/capture-stack.js +21 -0
  9. package/dist/class-serialization.js +1 -1
  10. package/dist/classify-error.d.ts +11 -3
  11. package/dist/classify-error.d.ts.map +1 -1
  12. package/dist/classify-error.js +56 -6
  13. package/dist/context-errors.d.ts +27 -0
  14. package/dist/context-errors.d.ts.map +1 -0
  15. package/dist/context-errors.js +101 -0
  16. package/dist/context-violation-error.d.ts +97 -0
  17. package/dist/context-violation-error.d.ts.map +1 -0
  18. package/dist/context-violation-error.js +147 -0
  19. package/dist/create-hook.d.ts.map +1 -1
  20. package/dist/create-hook.js +4 -3
  21. package/dist/define-hook.d.ts.map +1 -1
  22. package/dist/define-hook.js +20 -5
  23. package/dist/describe-error.d.ts +70 -0
  24. package/dist/describe-error.d.ts.map +1 -0
  25. package/dist/describe-error.js +165 -0
  26. package/dist/encryption.d.ts +22 -1
  27. package/dist/encryption.d.ts.map +1 -1
  28. package/dist/encryption.js +72 -27
  29. package/dist/events-consumer.d.ts +7 -0
  30. package/dist/events-consumer.d.ts.map +1 -1
  31. package/dist/events-consumer.js +18 -3
  32. package/dist/flushable-stream.d.ts +10 -10
  33. package/dist/flushable-stream.d.ts.map +1 -1
  34. package/dist/flushable-stream.js +18 -13
  35. package/dist/global.d.ts +4 -0
  36. package/dist/global.d.ts.map +1 -1
  37. package/dist/global.js +8 -2
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -1
  41. package/dist/log-format.d.ts +25 -0
  42. package/dist/log-format.d.ts.map +1 -0
  43. package/dist/log-format.js +250 -0
  44. package/dist/logger.d.ts +28 -30
  45. package/dist/logger.d.ts.map +1 -1
  46. package/dist/logger.js +77 -31
  47. package/dist/private.d.ts +5 -5
  48. package/dist/private.d.ts.map +1 -1
  49. package/dist/private.js +8 -8
  50. package/dist/runtime/constants.d.ts +48 -0
  51. package/dist/runtime/constants.d.ts.map +1 -1
  52. package/dist/runtime/constants.js +91 -8
  53. package/dist/runtime/get-port-lazy.d.ts +10 -0
  54. package/dist/runtime/get-port-lazy.d.ts.map +1 -0
  55. package/dist/runtime/get-port-lazy.js +30 -0
  56. package/dist/runtime/get-world-lazy.d.ts +32 -0
  57. package/dist/runtime/get-world-lazy.d.ts.map +1 -0
  58. package/dist/runtime/get-world-lazy.js +56 -0
  59. package/dist/runtime/helpers.d.ts +40 -7
  60. package/dist/runtime/helpers.d.ts.map +1 -1
  61. package/dist/runtime/helpers.js +93 -36
  62. package/dist/runtime/replay-budget.d.ts +98 -0
  63. package/dist/runtime/replay-budget.d.ts.map +1 -0
  64. package/dist/runtime/replay-budget.js +191 -0
  65. package/dist/runtime/resume-hook.d.ts.map +1 -1
  66. package/dist/runtime/resume-hook.js +5 -4
  67. package/dist/runtime/run.d.ts +10 -32
  68. package/dist/runtime/run.d.ts.map +1 -1
  69. package/dist/runtime/run.js +83 -33
  70. package/dist/runtime/runs.d.ts +1 -1
  71. package/dist/runtime/runs.d.ts.map +1 -1
  72. package/dist/runtime/runs.js +7 -4
  73. package/dist/runtime/start.js +17 -6
  74. package/dist/runtime/step-executor.d.ts +40 -0
  75. package/dist/runtime/step-executor.d.ts.map +1 -0
  76. package/dist/runtime/step-executor.js +492 -0
  77. package/dist/runtime/step-handler.d.ts +0 -5
  78. package/dist/runtime/step-handler.d.ts.map +1 -1
  79. package/dist/runtime/step-handler.js +227 -119
  80. package/dist/runtime/suspension-handler.d.ts +22 -4
  81. package/dist/runtime/suspension-handler.d.ts.map +1 -1
  82. package/dist/runtime/suspension-handler.js +90 -73
  83. package/dist/runtime/world-init.d.ts +75 -0
  84. package/dist/runtime/world-init.d.ts.map +1 -0
  85. package/dist/runtime/world-init.js +75 -0
  86. package/dist/runtime/world.d.ts +4 -3
  87. package/dist/runtime/world.d.ts.map +1 -1
  88. package/dist/runtime/world.js +98 -9
  89. package/dist/runtime.d.ts +8 -7
  90. package/dist/runtime.d.ts.map +1 -1
  91. package/dist/runtime.js +810 -324
  92. package/dist/schemas.d.ts +1 -1
  93. package/dist/schemas.d.ts.map +1 -1
  94. package/dist/schemas.js +1 -1
  95. package/dist/serialization/client.d.ts +17 -0
  96. package/dist/serialization/client.d.ts.map +1 -0
  97. package/dist/serialization/client.js +45 -0
  98. package/dist/serialization/codec-devalue.d.ts +14 -0
  99. package/dist/serialization/codec-devalue.d.ts.map +1 -0
  100. package/dist/serialization/codec-devalue.js +98 -0
  101. package/dist/serialization/codec.d.ts +90 -0
  102. package/dist/serialization/codec.d.ts.map +1 -0
  103. package/dist/serialization/codec.js +17 -0
  104. package/dist/serialization/encryption.d.ts +32 -0
  105. package/dist/serialization/encryption.d.ts.map +1 -0
  106. package/dist/serialization/encryption.js +67 -0
  107. package/dist/serialization/errors.d.ts +34 -0
  108. package/dist/serialization/errors.d.ts.map +1 -0
  109. package/dist/serialization/errors.js +59 -0
  110. package/dist/serialization/format.d.ts +60 -0
  111. package/dist/serialization/format.d.ts.map +1 -0
  112. package/dist/serialization/format.js +97 -0
  113. package/dist/serialization/index.d.ts +18 -0
  114. package/dist/serialization/index.d.ts.map +1 -0
  115. package/dist/serialization/index.js +20 -0
  116. package/dist/serialization/reducers/class.d.ts +11 -0
  117. package/dist/serialization/reducers/class.d.ts.map +1 -0
  118. package/dist/serialization/reducers/class.js +68 -0
  119. package/dist/serialization/reducers/common.d.ts +16 -0
  120. package/dist/serialization/reducers/common.d.ts.map +1 -0
  121. package/dist/serialization/reducers/common.js +417 -0
  122. package/dist/serialization/reducers/step-function.d.ts +35 -0
  123. package/dist/serialization/reducers/step-function.d.ts.map +1 -0
  124. package/dist/serialization/reducers/step-function.js +88 -0
  125. package/dist/serialization/step.d.ts +17 -0
  126. package/dist/serialization/step.d.ts.map +1 -0
  127. package/dist/serialization/step.js +45 -0
  128. package/dist/serialization/types.d.ts +222 -0
  129. package/dist/serialization/types.d.ts.map +1 -0
  130. package/dist/serialization/types.js +21 -0
  131. package/dist/serialization/workflow.d.ts +29 -0
  132. package/dist/serialization/workflow.d.ts.map +1 -0
  133. package/dist/serialization/workflow.js +54 -0
  134. package/dist/serialization-format.d.ts +16 -2
  135. package/dist/serialization-format.d.ts.map +1 -1
  136. package/dist/serialization-format.js +104 -5
  137. package/dist/serialization.d.ts +217 -224
  138. package/dist/serialization.d.ts.map +1 -1
  139. package/dist/serialization.js +940 -643
  140. package/dist/set-attributes.d.ts +13 -0
  141. package/dist/set-attributes.d.ts.map +1 -0
  142. package/dist/set-attributes.js +40 -0
  143. package/dist/sleep.d.ts.map +1 -1
  144. package/dist/sleep.js +3 -2
  145. package/dist/source-map.d.ts.map +1 -1
  146. package/dist/source-map.js +44 -6
  147. package/dist/step/context-storage.d.ts +14 -0
  148. package/dist/step/context-storage.d.ts.map +1 -1
  149. package/dist/step/context-storage.js +1 -1
  150. package/dist/step/get-closure-vars.d.ts.map +1 -1
  151. package/dist/step/get-closure-vars.js +3 -2
  152. package/dist/step/get-step-metadata.d.ts.map +1 -1
  153. package/dist/step/get-step-metadata.js +3 -2
  154. package/dist/step/get-workflow-metadata.d.ts.map +1 -1
  155. package/dist/step/get-workflow-metadata.js +3 -2
  156. package/dist/step/writable-stream.d.ts.map +1 -1
  157. package/dist/step/writable-stream.js +39 -5
  158. package/dist/step.d.ts.map +1 -1
  159. package/dist/step.js +97 -19
  160. package/dist/symbols.d.ts +20 -0
  161. package/dist/symbols.d.ts.map +1 -1
  162. package/dist/symbols.js +21 -1
  163. package/dist/telemetry/semantic-conventions.d.ts +2 -2
  164. package/dist/telemetry/semantic-conventions.js +1 -1
  165. package/dist/telemetry.js +1 -1
  166. package/dist/types.d.ts +6 -0
  167. package/dist/types.d.ts.map +1 -1
  168. package/dist/types.js +23 -1
  169. package/dist/util.d.ts +18 -3
  170. package/dist/util.d.ts.map +1 -1
  171. package/dist/util.js +28 -5
  172. package/dist/version.d.ts +1 -1
  173. package/dist/version.d.ts.map +1 -1
  174. package/dist/version.js +2 -2
  175. package/dist/vm/index.d.ts.map +1 -1
  176. package/dist/vm/index.js +3 -2
  177. package/dist/vm/uint8array-base64.js +1 -1
  178. package/dist/vm/uuid.js +1 -1
  179. package/dist/workflow/abort-controller.d.ts +65 -0
  180. package/dist/workflow/abort-controller.d.ts.map +1 -0
  181. package/dist/workflow/abort-controller.js +260 -0
  182. package/dist/workflow/create-hook.d.ts.map +1 -1
  183. package/dist/workflow/create-hook.js +3 -2
  184. package/dist/workflow/define-hook.d.ts +1 -1
  185. package/dist/workflow/define-hook.d.ts.map +1 -1
  186. package/dist/workflow/define-hook.js +8 -4
  187. package/dist/workflow/get-workflow-metadata.d.ts +11 -0
  188. package/dist/workflow/get-workflow-metadata.d.ts.map +1 -1
  189. package/dist/workflow/get-workflow-metadata.js +14 -3
  190. package/dist/workflow/hook.d.ts.map +1 -1
  191. package/dist/workflow/hook.js +13 -4
  192. package/dist/workflow/index.d.ts +1 -0
  193. package/dist/workflow/index.d.ts.map +1 -1
  194. package/dist/workflow/index.js +5 -3
  195. package/dist/workflow/set-attributes.d.ts +74 -0
  196. package/dist/workflow/set-attributes.d.ts.map +1 -0
  197. package/dist/workflow/set-attributes.js +66 -0
  198. package/dist/workflow/sleep.d.ts.map +1 -1
  199. package/dist/workflow/sleep.js +22 -3
  200. package/dist/workflow/world-init-stub.d.ts +15 -0
  201. package/dist/workflow/world-init-stub.d.ts.map +1 -0
  202. package/dist/workflow/world-init-stub.js +15 -0
  203. package/dist/workflow/writable-stream.js +1 -1
  204. package/dist/workflow.d.ts.map +1 -1
  205. package/dist/workflow.js +84 -31
  206. package/docs/api-reference/create-webhook.mdx +37 -18
  207. package/docs/api-reference/experimental-set-attributes.mdx +63 -0
  208. package/docs/api-reference/get-workflow-metadata.mdx +61 -0
  209. package/docs/api-reference/index.mdx +3 -0
  210. package/docs/foundations/cancellation.mdx +460 -0
  211. package/docs/foundations/errors-and-retries.mdx +7 -3
  212. package/docs/foundations/index.mdx +3 -3
  213. package/docs/foundations/meta.json +3 -2
  214. package/docs/foundations/serialization.mdx +78 -42
  215. package/docs/foundations/starting-workflows.mdx +6 -2
  216. package/docs/foundations/versioning.mdx +263 -0
  217. package/docs/how-it-works/cancellation.mdx +287 -0
  218. package/docs/how-it-works/code-transform.mdx +8 -7
  219. package/docs/how-it-works/event-sourcing.mdx +2 -2
  220. package/docs/how-it-works/meta.json +2 -1
  221. package/package.json +19 -10
  222. package/docs/foundations/common-patterns.mdx +0 -265
@@ -1,208 +1,210 @@
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
7
  /**
22
- * Encode a payload with a format prefix.
8
+ * Detect if a readable stream is a byte stream.
23
9
  *
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
10
+ * @param stream
11
+ * @returns `"bytes"` if the stream is a byte stream, `undefined` otherwise
27
12
  */
28
- export declare function encodeWithFormatPrefix(format: SerializationFormatType, payload: Uint8Array | unknown): Uint8Array | unknown;
13
+ export declare function getStreamType(stream: ReadableStream): 'bytes' | undefined;
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>;
16
+ export declare class WorkflowServerReadableStream extends ReadableStream<Uint8Array> {
17
+ #private;
18
+ constructor(runId: string, name: string, startIndex?: number);
19
+ }
20
+ export declare class WorkflowServerWritableStream extends WritableStream<Uint8Array> {
21
+ constructor(runId: string, name: string);
22
+ }
23
+ export type { Reducers, Revivers, SerializableSpecial, } from './serialization/types.js';
24
+ import type { Reducers, Revivers } from './serialization/types.js';
29
25
  /**
30
- * Peek at the format prefix without consuming it.
31
- * Useful for checking if data is encrypted before deciding how to process it.
26
+ * Reducers for serialization boundary from the client side, passing arguments
27
+ * to the workflow handler.
32
28
  *
33
- * @param data - The format-prefixed data
34
- * @returns The format identifier, or null if data is legacy/non-binary
29
+ * @param global
30
+ * @param ops
31
+ * @returns
35
32
  */
36
- export declare function peekFormatPrefix(data: Uint8Array | unknown): SerializationFormatType | null;
33
+ export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Partial<Reducers>;
37
34
  /**
38
- * Check if data is encrypted (has 'encr' format prefix).
35
+ * Reducers for serialization boundary from within the workflow execution
36
+ * environment, passing return value to the client side and into step arguments.
39
37
  *
40
- * @param data - The format-prefixed data
41
- * @returns true if data has the encrypted format prefix
38
+ * @param global
39
+ * @returns
42
40
  */
43
- export declare function isEncrypted(data: Uint8Array | unknown): boolean;
41
+ export declare function getWorkflowReducers(global?: Record<string, any>): Partial<Reducers>;
44
42
  /**
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
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.
50
47
  */
51
- export declare function decodeFormatPrefix(data: Uint8Array | unknown): {
52
- format: SerializationFormatType;
53
- payload: Uint8Array;
54
- };
48
+ export declare function cancelAbortReaders(...values: unknown[]): void;
55
49
  /**
56
- * Detect if a readable stream is a byte stream.
50
+ * Base revivers shared across all serialization boundaries.
51
+ * Composes: class + common revivers from the modular modules.
57
52
  *
58
- * @param stream
59
- * @returns `"bytes"` if the stream is a byte stream, `undefined` otherwise
53
+ * This is exported because serialization-format.ts and other files reference it.
60
54
  */
61
- 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>;
64
- export declare class WorkflowServerReadableStream extends ReadableStream<Uint8Array> {
65
- #private;
66
- constructor(name: string, startIndex?: number);
67
- }
68
- export declare class WorkflowServerWritableStream extends WritableStream<Uint8Array> {
69
- constructor(name: string, runId: string);
70
- }
71
- export interface SerializableSpecial {
72
- ArrayBuffer: string;
73
- BigInt: string;
74
- BigInt64Array: string;
75
- BigUint64Array: string;
76
- Date: string;
77
- DOMException: {
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: {
75
+ name: string;
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: {
92
103
  name: string;
93
- type?: 'bytes';
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
+ RuntimeDecryptionError?: ((value: {
125
+ message: string;
126
+ stack?: string;
127
+ cause?: unknown;
128
+ context?: import("@workflow/errors").RuntimeDecryptionErrorContext;
129
+ }) => any) | undefined;
130
+ Request?: ((value: {
103
131
  method: string;
104
132
  url: string;
105
133
  headers: Headers;
106
- body: Request['body'];
107
- duplex: Request['duplex'];
134
+ body: Request["body"];
135
+ duplex: Request["duplex"];
108
136
  responseWritable?: WritableStream<Response>;
109
- };
110
- Response: {
111
- type: Response['type'];
137
+ signal?: AbortSignal;
138
+ }) => any) | undefined;
139
+ Response?: ((value: {
140
+ type: Response["type"];
112
141
  url: string;
113
142
  status: number;
114
143
  statusText: string;
115
144
  headers: Headers;
116
- body: Response['body'];
145
+ body: Response["body"];
117
146
  redirected: boolean;
118
- };
119
- Class: {
147
+ }) => any) | undefined;
148
+ Class?: ((value: {
120
149
  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: {
150
+ }) => any) | undefined;
151
+ Instance?: ((value: {
127
152
  classId: string;
128
153
  data: unknown;
129
- };
130
- Set: any[];
131
- StepFunction: {
154
+ }) => any) | undefined;
155
+ Set?: ((value: any[]) => any) | undefined;
156
+ SyntaxError?: ((value: {
157
+ message: string;
158
+ stack?: string;
159
+ cause?: unknown;
160
+ }) => any) | undefined;
161
+ StepFunction?: ((value: {
132
162
  stepId: string;
133
163
  closureVars?: Record<string, any>;
134
- };
135
- URL: string;
136
- URLSearchParams: string;
137
- Uint8Array: string;
138
- Uint8ClampedArray: string;
139
- Uint16Array: string;
140
- Uint32Array: string;
141
- WritableStream: {
142
- name: string;
143
- };
144
- }
145
- type Reducers = {
146
- [K in keyof SerializableSpecial]: (value: any) => SerializableSpecial[K] | false;
147
- };
148
- type Revivers = {
149
- [K in keyof SerializableSpecial]: (value: SerializableSpecial[K]) => any;
150
- };
151
- /**
152
- * Reducers for serialization boundary from the client side, passing arguments
153
- * to the workflow handler.
154
- *
155
- * @param global
156
- * @param ops
157
- * @returns
158
- */
159
- export declare function getExternalReducers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Reducers;
160
- /**
161
- * Reducers for serialization boundary from within the workflow execution
162
- * environment, passing return value to the client side and into step arguments.
163
- *
164
- * @param global
165
- * @returns
166
- */
167
- export declare function getWorkflowReducers(global?: Record<string, any>): Reducers;
168
- export declare function getCommonRevivers(global?: Record<string, any>): {
169
- readonly ArrayBuffer: (value: string) => any;
170
- readonly BigInt: (value: string) => any;
171
- readonly BigInt64Array: (value: string) => any;
172
- readonly BigUint64Array: (value: string) => any;
173
- readonly Date: (value: string) => any;
174
- readonly DOMException: (value: {
164
+ boundThis?: unknown;
165
+ boundArgs?: unknown[];
166
+ }) => any) | undefined;
167
+ TypeError?: ((value: {
175
168
  message: string;
176
- name: string;
177
169
  stack?: string;
178
170
  cause?: unknown;
179
- }) => any;
180
- readonly Error: (value: Record<string, any>) => any;
181
- readonly Float32Array: (value: string) => any;
182
- readonly Float64Array: (value: string) => any;
183
- readonly Headers: (value: [string, string][]) => any;
184
- readonly Int8Array: (value: string) => any;
185
- readonly Int16Array: (value: string) => any;
186
- readonly Int32Array: (value: string) => any;
187
- readonly Map: (value: [any, any][]) => any;
188
- readonly RegExp: (value: {
189
- source: string;
190
- flags: string;
191
- }) => any;
192
- readonly Class: (value: {
193
- classId: string;
194
- }) => Function;
195
- readonly Instance: (value: {
196
- classId: string;
197
- data: unknown;
198
- }) => any;
199
- readonly Set: (value: any[]) => any;
200
- readonly URL: (value: string) => any;
201
- readonly URLSearchParams: (value: string) => any;
202
- readonly Uint8Array: (value: string) => any;
203
- readonly Uint8ClampedArray: (value: string) => any;
204
- readonly Uint16Array: (value: string) => any;
205
- readonly Uint32Array: (value: string) => any;
171
+ }) => any) | undefined;
172
+ URIError?: ((value: {
173
+ message: string;
174
+ stack?: string;
175
+ cause?: unknown;
176
+ }) => any) | undefined;
177
+ URL?: ((value: string) => any) | undefined;
178
+ WorkflowFunction?: ((value: {
179
+ workflowId: string;
180
+ }) => any) | undefined;
181
+ URLSearchParams?: ((value: string) => any) | undefined;
182
+ Uint8Array?: ((value: string) => any) | undefined;
183
+ Uint8ClampedArray?: ((value: string) => any) | undefined;
184
+ Uint16Array?: ((value: string) => any) | undefined;
185
+ Uint32Array?: ((value: string) => any) | undefined;
186
+ AggregateError?: ((value: {
187
+ message: string;
188
+ stack?: string;
189
+ cause?: unknown;
190
+ errors: unknown[];
191
+ }) => any) | undefined;
192
+ WritableStream?: ((value: {
193
+ name: string;
194
+ runId?: string;
195
+ }) => any) | undefined;
196
+ AbortController?: ((value: {
197
+ streamName: string;
198
+ hookToken: string;
199
+ aborted: boolean;
200
+ reason?: unknown;
201
+ }) => any) | undefined;
202
+ AbortSignal?: ((value: {
203
+ streamName: string;
204
+ hookToken: string;
205
+ aborted: boolean;
206
+ reason?: unknown;
207
+ }) => any) | undefined;
206
208
  };
207
209
  /**
208
210
  * Revivers for deserialization boundary from the client side,
@@ -212,7 +214,7 @@ export declare function getCommonRevivers(global?: Record<string, any>): {
212
214
  * @param ops
213
215
  * @param runId
214
216
  */
215
- export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Revivers;
217
+ export declare function getExternalRevivers(global: Record<string, any> | undefined, ops: Promise<void>[], runId: string, cryptoKey: EncryptionKeyParam): Partial<Revivers>;
216
218
  /**
217
219
  * Revivers for deserialization boundary from within the workflow execution
218
220
  * environment, receiving arguments from the client side, and return values
@@ -221,95 +223,100 @@ export declare function getExternalRevivers(global: Record<string, any> | undefi
221
223
  * @param global
222
224
  * @returns
223
225
  */
224
- export declare function getWorkflowRevivers(global?: Record<string, any>): Revivers;
226
+ export declare function getWorkflowRevivers(global?: Record<string, any>): Partial<Revivers>;
225
227
  /**
226
228
  * Encrypt data if the world supports encryption.
227
229
  * Returns original data if encryption is not available.
228
230
  *
229
- * @param data - Serialized data to encrypt
230
- * @param key - Encryption key (undefined to skip encryption)
231
- * @param context - Encryption context with runId
232
- * @returns Encrypted data if encryption available, original data otherwise
231
+ * @deprecated Use `encrypt` from `./serialization/encryption.js` instead.
233
232
  */
234
233
  export declare function maybeEncrypt(data: Uint8Array, key: CryptoKey | undefined): Promise<Uint8Array>;
235
234
  /**
236
235
  * Decrypt data if it has the 'encr' prefix.
237
236
  *
238
- * @param data - Data that may be encrypted
239
- * @param key - Encryption key (undefined if no key available)
240
- * @returns Decrypted data if encrypted, original data otherwise
241
- * @throws {WorkflowRuntimeError} If the data is encrypted but no key is
242
- * available. Callers (e.g., `Run.pollReturnValue()`, `hydrateStepReturnValue`)
243
- * should be aware this can surface as a rejected promise during key rotation
244
- * or misconfiguration scenarios.
237
+ * @deprecated Use `decrypt` from `./serialization/encryption.js` instead.
245
238
  */
246
239
  export declare function maybeDecrypt(data: Uint8Array | unknown, key: CryptoKey | undefined): Promise<Uint8Array | unknown>;
247
240
  /**
248
241
  * Called from the `start()` function to serialize the workflow arguments
249
242
  * into a format that can be saved to the database and then hydrated from
250
243
  * within the workflow execution environment.
251
- *
252
- * @param value - The value to serialize
253
- * @param runId - The workflow run ID (required for encryption context)
254
- * @param key - Encryption key (undefined to skip encryption)
255
- * @param ops - Promise array for stream operations
256
- * @param global - Global object for serialization context
257
- * @param v1Compat - Enable legacy v1 compatibility mode
258
- * @returns The dehydrated value as binary data (Uint8Array) with format prefix
259
244
  */
260
245
  export declare function dehydrateWorkflowArguments(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<void>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
261
246
  /**
262
247
  * Called from workflow execution environment to hydrate the workflow
263
248
  * arguments from the database at the start of workflow execution.
264
- *
265
- * @param value - Binary serialized data (Uint8Array) with format prefix
266
- * @param _runId - Workflow run ID (reserved for future decryption context; decryption is currently driven solely by the provided key)
267
- * @param key - Encryption key (undefined to skip decryption)
268
- * @param global - Global object for deserialization context
269
- * @param extraRevivers - Additional revivers for custom types
270
- * @returns The hydrated value
271
249
  */
272
250
  export declare function hydrateWorkflowArguments(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
273
251
  /**
274
252
  * Dehydrate workflow return value for storage.
253
+ */
254
+ export declare function dehydrateWorkflowReturnValue(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
255
+ /**
256
+ * Called from the client side to hydrate the workflow return value
257
+ * of a completed workflow run.
258
+ */
259
+ 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>;
260
+ /**
261
+ * Called from the workflow handler when a step is being created.
262
+ * Dehydrates values from within the workflow execution environment.
263
+ */
264
+ export declare function dehydrateStepArguments(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
265
+ /**
266
+ * Called from the step handler to hydrate the arguments of a step
267
+ * from the database at the start of the step execution.
268
+ */
269
+ 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>;
270
+ /**
271
+ * Called from the step handler when a step has completed.
272
+ * Dehydrates values from within the step execution environment.
273
+ */
274
+ export declare function dehydrateStepReturnValue(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
275
+ /**
276
+ * Called from the step handler when a step throws. Dehydrates the thrown
277
+ * value from within the step execution environment into a format that can
278
+ * be saved to the database in a `step_failed` or `step_retrying` event.
275
279
  *
276
- * @param value - The value to serialize
280
+ * Any JavaScript value can be thrown (strings, numbers, objects, Errors,
281
+ * Error subclasses), so the same serialization pipeline used for step
282
+ * arguments and return values is applied here.
283
+ *
284
+ * @param value - The thrown value to serialize (can be any type)
277
285
  * @param runId - Run ID for encryption context
278
286
  * @param key - Encryption key (undefined to skip encryption)
287
+ * @param ops - Promise array for stream operations
279
288
  * @param global - Global object for serialization context
280
289
  * @returns The dehydrated value as binary data (Uint8Array) with format prefix
281
290
  */
282
- export declare function dehydrateWorkflowReturnValue(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
291
+ export declare function dehydrateStepError(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>): Promise<Uint8Array>;
283
292
  /**
284
- * Called from the client side (i.e. the execution environment where
285
- * the workflow run was initiated from) to hydrate the workflow
286
- * return value of a completed workflow run.
293
+ * Called from the workflow handler when replaying the event log of a
294
+ * `step_failed` or `step_retrying` event. Hydrates the thrown value from
295
+ * the database so the workflow can see the original thrown value.
287
296
  *
288
297
  * @param value - Binary serialized data (Uint8Array) with format prefix
289
298
  * @param runId - Run ID for decryption context
290
299
  * @param key - Encryption key (undefined to skip decryption)
291
- * @param ops - Promise array for stream operations
292
300
  * @param global - Global object for deserialization context
293
301
  * @param extraRevivers - Additional revivers for custom types
294
- * @returns The hydrated return value, ready to be consumed by the client
302
+ * @returns The hydrated thrown value, ready to reject the step promise
295
303
  */
296
- 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>;
304
+ export declare function hydrateStepError(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<unknown>;
297
305
  /**
298
- * Called from the workflow handler when a step is being created.
299
- * Dehydrates values from within the workflow execution environment
300
- * into a format that can be saved to the database.
306
+ * Called from the workflow handler when the workflow itself throws.
307
+ * Dehydrates the thrown value from within the workflow execution environment
308
+ * into a format that can be saved to the database in a `run_failed` event.
301
309
  *
302
- * @param value - The value to serialize
310
+ * @param value - The thrown value to serialize (can be any type)
303
311
  * @param runId - Run ID for encryption context
304
312
  * @param key - Encryption key (undefined to skip encryption)
305
313
  * @param global - Global object for serialization context
306
- * @param v1Compat - Enable legacy v1 compatibility mode
307
314
  * @returns The dehydrated value as binary data (Uint8Array) with format prefix
308
315
  */
309
- export declare function dehydrateStepArguments(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
316
+ export declare function dehydrateRunError(value: unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>): Promise<Uint8Array>;
310
317
  /**
311
- * Called from the step handler to hydrate the arguments of a step
312
- * from the database at the start of the step execution.
318
+ * Called from the client side (or observability tools) to hydrate the run
319
+ * error value of a failed workflow run.
313
320
  *
314
321
  * @param value - Binary serialized data (Uint8Array) with format prefix
315
322
  * @param runId - Run ID for decryption context
@@ -317,23 +324,9 @@ export declare function dehydrateStepArguments(value: unknown, _runId: string, k
317
324
  * @param ops - Promise array for stream operations
318
325
  * @param global - Global object for deserialization context
319
326
  * @param extraRevivers - Additional revivers for custom types
320
- * @returns The hydrated value, ready to be consumed by the step user-code function
321
- */
322
- 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>;
323
- /**
324
- * Called from the step handler when a step has completed.
325
- * Dehydrates values from within the step execution environment
326
- * into a format that can be saved to the database.
327
- *
328
- * @param value - The value to serialize
329
- * @param runId - Run ID for encryption context
330
- * @param key - Encryption key (undefined to skip encryption)
331
- * @param ops - Promise array for stream operations
332
- * @param global - Global object for serialization context
333
- * @param v1Compat - Enable legacy v1 compatibility mode
334
- * @returns The dehydrated value as binary data (Uint8Array) with format prefix
327
+ * @returns The hydrated thrown value, ready to be consumed by the client
335
328
  */
336
- export declare function dehydrateStepReturnValue(value: unknown, runId: string, key: CryptoKey | undefined, ops?: Promise<any>[], global?: Record<string, any>, v1Compat?: boolean): Promise<Uint8Array | unknown>;
329
+ 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>;
337
330
  /**
338
331
  * Called from the workflow handler when replaying the event log of a `step_completed` event.
339
332
  * Hydrates the return value of a step from the database.
@@ -343,8 +336,8 @@ export declare function dehydrateStepReturnValue(value: unknown, runId: string,
343
336
  * @param key - Encryption key (undefined to skip decryption)
344
337
  * @param global - Global object for deserialization context
345
338
  * @param extraRevivers - Additional revivers for custom types
346
- * @returns The hydrated return value of a step, ready to be consumed by the workflow handler
339
+ * Called from the workflow handler when replaying the event log
340
+ * of a `step_completed` event.
347
341
  */
348
342
  export declare function hydrateStepReturnValue(value: Uint8Array | unknown, _runId: string, key: CryptoKey | undefined, global?: Record<string, any>, extraRevivers?: Record<string, (value: any) => any>): Promise<any>;
349
- export {};
350
343
  //# 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":"AAOA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,EACL,OAAO,EACP,KAAK,kBAAkB,EACvB,OAAO,EACR,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAenC,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EACd,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAoBlC,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,EACjB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,OAAO,EACP,KAAK,kBAAkB,GACxB,CAAC;AAIF,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AASjE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,GAAG,SAAS,CAMzE;AAwCD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,SAAS,EAAE,kBAAkB,GAC5B,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAwDlC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,SAAS,EAAE,kBAAkB,GAC5B,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAgIlC;AAED,qBAAa,4BAA6B,SAAQ,cAAc,CAAC,UAAU,CAAC;;gBAG9D,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAsC7D;AAQD,qBAAa,4BAA6B,SAAQ,cAAc,CAAC,UAAU,CAAC;gBAC9D,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAiIxC;AAGD,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EAET,MAAM,0BAA0B,CAAC;AA0NlC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAa,EACxC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAyGnB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,QAAQ,CAAC,CAoEnB;AA+HD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CA0C7D;AA6ND;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKzE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAa,EACxC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAyJnB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,QAAQ,CAAC,CA2GnB;AAwQD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,SAAS,GAAG,SAAS,GACzB,OAAO,CAAC,UAAU,CAAC,CAErB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,UAAU,GAAG,OAAO,EAC1B,GAAG,EAAE,SAAS,GAAG,SAAS,GACzB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAE/B;AASD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,IAAI,CAAC,EAAO,EACzB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,QAAQ,UAAQ,GACf,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAoB/B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,GAAG,CAAC,CAQd;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,QAAQ,UAAQ,GACf,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAkB/B;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,IAAI,CAAC,EAAO,EACzB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,QAAQ,UAAQ,GACf,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAe/B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,GAAG,CAAC,EAAO,EACxB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,GAAG,CAAC,CAQd;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,GAAG,CAAC,EAAO,EACxB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,QAAQ,UAAQ,GACf,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAoB/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,GAAG,CAAC,EAAO,EACxB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,OAAO,CAAC,CA8BlB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,GACvC,OAAO,CAAC,UAAU,CAAC,CAcrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,GAAG,GAAE,OAAO,CAAC,IAAI,CAAC,EAAO,EACzB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,UAAU,GAAG,OAAO,EAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAc,EACxC,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAM,GACtD,OAAO,CAAC,GAAG,CAAC,CAQd"}