@workflow/core 4.0.1-beta.8 → 4.1.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.
Files changed (179) hide show
  1. package/dist/builtins.js +1 -1
  2. package/dist/class-serialization.d.ts +26 -0
  3. package/dist/class-serialization.d.ts.map +1 -0
  4. package/dist/class-serialization.js +66 -0
  5. package/dist/create-hook.js +1 -1
  6. package/dist/define-hook.d.ts +40 -25
  7. package/dist/define-hook.d.ts.map +1 -1
  8. package/dist/define-hook.js +22 -27
  9. package/dist/events-consumer.d.ts.map +1 -1
  10. package/dist/events-consumer.js +5 -1
  11. package/dist/flushable-stream.d.ts +82 -0
  12. package/dist/flushable-stream.d.ts.map +1 -0
  13. package/dist/flushable-stream.js +214 -0
  14. package/dist/global.d.ts +4 -1
  15. package/dist/global.d.ts.map +1 -1
  16. package/dist/global.js +21 -9
  17. package/dist/index.d.ts +3 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -3
  20. package/dist/logger.js +1 -1
  21. package/dist/observability.d.ts +60 -0
  22. package/dist/observability.d.ts.map +1 -1
  23. package/dist/observability.js +265 -32
  24. package/dist/private.d.ts +10 -1
  25. package/dist/private.d.ts.map +1 -1
  26. package/dist/private.js +6 -1
  27. package/dist/runtime/helpers.d.ts +52 -0
  28. package/dist/runtime/helpers.d.ts.map +1 -0
  29. package/dist/runtime/helpers.js +264 -0
  30. package/dist/runtime/resume-hook.d.ts +17 -12
  31. package/dist/runtime/resume-hook.d.ts.map +1 -1
  32. package/dist/runtime/resume-hook.js +79 -64
  33. package/dist/runtime/start.d.ts +14 -0
  34. package/dist/runtime/start.d.ts.map +1 -1
  35. package/dist/runtime/start.js +71 -45
  36. package/dist/runtime/step-handler.d.ts +7 -0
  37. package/dist/runtime/step-handler.d.ts.map +1 -0
  38. package/dist/runtime/step-handler.js +337 -0
  39. package/dist/runtime/suspension-handler.d.ts +25 -0
  40. package/dist/runtime/suspension-handler.d.ts.map +1 -0
  41. package/dist/runtime/suspension-handler.js +182 -0
  42. package/dist/runtime/world.d.ts.map +1 -1
  43. package/dist/runtime/world.js +20 -21
  44. package/dist/runtime.d.ts +3 -7
  45. package/dist/runtime.d.ts.map +1 -1
  46. package/dist/runtime.js +103 -410
  47. package/dist/schemas.d.ts +1 -15
  48. package/dist/schemas.d.ts.map +1 -1
  49. package/dist/schemas.js +2 -15
  50. package/dist/serialization.d.ts +112 -21
  51. package/dist/serialization.d.ts.map +1 -1
  52. package/dist/serialization.js +469 -85
  53. package/dist/sleep.d.ts +10 -0
  54. package/dist/sleep.d.ts.map +1 -1
  55. package/dist/sleep.js +1 -1
  56. package/dist/source-map.d.ts +10 -0
  57. package/dist/source-map.d.ts.map +1 -0
  58. package/dist/source-map.js +56 -0
  59. package/dist/step/context-storage.d.ts +2 -0
  60. package/dist/step/context-storage.d.ts.map +1 -1
  61. package/dist/step/context-storage.js +1 -1
  62. package/dist/step/get-closure-vars.d.ts +9 -0
  63. package/dist/step/get-closure-vars.d.ts.map +1 -0
  64. package/dist/step/get-closure-vars.js +16 -0
  65. package/dist/step/get-step-metadata.js +1 -1
  66. package/dist/step/get-workflow-metadata.js +1 -1
  67. package/dist/{writable-stream.d.ts → step/writable-stream.d.ts} +5 -5
  68. package/dist/step/writable-stream.d.ts.map +1 -0
  69. package/dist/step/writable-stream.js +30 -0
  70. package/dist/step.d.ts +1 -1
  71. package/dist/step.d.ts.map +1 -1
  72. package/dist/step.js +93 -47
  73. package/dist/symbols.d.ts +6 -0
  74. package/dist/symbols.d.ts.map +1 -1
  75. package/dist/symbols.js +7 -1
  76. package/dist/telemetry/semantic-conventions.d.ts +66 -38
  77. package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
  78. package/dist/telemetry/semantic-conventions.js +16 -3
  79. package/dist/telemetry.d.ts +8 -4
  80. package/dist/telemetry.d.ts.map +1 -1
  81. package/dist/telemetry.js +39 -6
  82. package/dist/types.js +1 -1
  83. package/dist/util.d.ts +5 -24
  84. package/dist/util.d.ts.map +1 -1
  85. package/dist/util.js +19 -38
  86. package/dist/version.d.ts +2 -0
  87. package/dist/version.d.ts.map +1 -0
  88. package/dist/version.js +3 -0
  89. package/dist/vm/index.js +2 -2
  90. package/dist/vm/uuid.js +1 -1
  91. package/dist/workflow/create-hook.js +1 -1
  92. package/dist/workflow/define-hook.d.ts +3 -3
  93. package/dist/workflow/define-hook.d.ts.map +1 -1
  94. package/dist/workflow/define-hook.js +1 -1
  95. package/dist/workflow/get-workflow-metadata.js +1 -1
  96. package/dist/workflow/hook.d.ts.map +1 -1
  97. package/dist/workflow/hook.js +49 -14
  98. package/dist/workflow/index.d.ts +1 -1
  99. package/dist/workflow/index.d.ts.map +1 -1
  100. package/dist/workflow/index.js +2 -2
  101. package/dist/workflow/sleep.d.ts +1 -1
  102. package/dist/workflow/sleep.d.ts.map +1 -1
  103. package/dist/workflow/sleep.js +26 -39
  104. package/dist/workflow/writable-stream.d.ts +1 -1
  105. package/dist/workflow/writable-stream.d.ts.map +1 -1
  106. package/dist/workflow/writable-stream.js +1 -1
  107. package/dist/workflow.d.ts +1 -1
  108. package/dist/workflow.d.ts.map +1 -1
  109. package/dist/workflow.js +72 -9
  110. package/docs/api-reference/create-hook.mdx +133 -0
  111. package/docs/api-reference/create-webhook.mdx +225 -0
  112. package/docs/api-reference/define-hook.mdx +206 -0
  113. package/docs/api-reference/fatal-error.mdx +37 -0
  114. package/docs/api-reference/fetch.mdx +139 -0
  115. package/docs/api-reference/get-step-metadata.mdx +76 -0
  116. package/docs/api-reference/get-workflow-metadata.mdx +44 -0
  117. package/docs/api-reference/get-writable.mdx +292 -0
  118. package/docs/api-reference/index.mdx +55 -0
  119. package/docs/api-reference/meta.json +3 -0
  120. package/docs/api-reference/retryable-error.mdx +106 -0
  121. package/docs/api-reference/sleep.mdx +59 -0
  122. package/docs/foundations/common-patterns.mdx +253 -0
  123. package/docs/foundations/errors-and-retries.mdx +190 -0
  124. package/docs/foundations/hooks.mdx +455 -0
  125. package/docs/foundations/idempotency.mdx +55 -0
  126. package/docs/foundations/index.mdx +32 -0
  127. package/docs/foundations/meta.json +14 -0
  128. package/docs/foundations/serialization.mdx +157 -0
  129. package/docs/foundations/starting-workflows.mdx +211 -0
  130. package/docs/foundations/streaming.mdx +569 -0
  131. package/docs/foundations/workflows-and-steps.mdx +197 -0
  132. package/docs/how-it-works/code-transform.mdx +334 -0
  133. package/docs/how-it-works/event-sourcing.mdx +254 -0
  134. package/docs/how-it-works/framework-integrations.mdx +437 -0
  135. package/docs/how-it-works/meta.json +10 -0
  136. package/docs/how-it-works/understanding-directives.mdx +611 -0
  137. package/package.json +31 -25
  138. package/dist/builtins.js.map +0 -1
  139. package/dist/create-hook.js.map +0 -1
  140. package/dist/define-hook.js.map +0 -1
  141. package/dist/events-consumer.js.map +0 -1
  142. package/dist/global.js.map +0 -1
  143. package/dist/index.js.map +0 -1
  144. package/dist/logger.js.map +0 -1
  145. package/dist/observability.js.map +0 -1
  146. package/dist/parse-name.d.ts +0 -25
  147. package/dist/parse-name.d.ts.map +0 -1
  148. package/dist/parse-name.js +0 -40
  149. package/dist/parse-name.js.map +0 -1
  150. package/dist/private.js.map +0 -1
  151. package/dist/runtime/resume-hook.js.map +0 -1
  152. package/dist/runtime/start.js.map +0 -1
  153. package/dist/runtime/world.js.map +0 -1
  154. package/dist/runtime.js.map +0 -1
  155. package/dist/schemas.js.map +0 -1
  156. package/dist/serialization.js.map +0 -1
  157. package/dist/sleep.js.map +0 -1
  158. package/dist/step/context-storage.js.map +0 -1
  159. package/dist/step/get-step-metadata.js.map +0 -1
  160. package/dist/step/get-workflow-metadata.js.map +0 -1
  161. package/dist/step.js.map +0 -1
  162. package/dist/symbols.js.map +0 -1
  163. package/dist/telemetry/semantic-conventions.js.map +0 -1
  164. package/dist/telemetry.js.map +0 -1
  165. package/dist/types.js.map +0 -1
  166. package/dist/util.js.map +0 -1
  167. package/dist/vm/index.js.map +0 -1
  168. package/dist/vm/uuid.js.map +0 -1
  169. package/dist/workflow/create-hook.js.map +0 -1
  170. package/dist/workflow/define-hook.js.map +0 -1
  171. package/dist/workflow/get-workflow-metadata.js.map +0 -1
  172. package/dist/workflow/hook.js.map +0 -1
  173. package/dist/workflow/index.js.map +0 -1
  174. package/dist/workflow/sleep.js.map +0 -1
  175. package/dist/workflow/writable-stream.js.map +0 -1
  176. package/dist/workflow.js.map +0 -1
  177. package/dist/writable-stream.d.ts.map +0 -1
  178. package/dist/writable-stream.js +0 -16
  179. package/dist/writable-stream.js.map +0 -1
@@ -38,138 +38,166 @@
38
38
  */
39
39
  /** The name of the workflow being executed */
40
40
  export declare const WorkflowName: (value: string) => {
41
- [x: string]: string;
41
+ [k: string]: string;
42
42
  };
43
43
  /** The operation being performed on the workflow */
44
- export declare const WorkflowOperation: (value: "start" | "execute" | "run") => {
45
- [x: string]: "start" | "execute" | "run";
44
+ export declare const WorkflowOperation: (value: "run" | "start" | "execute") => {
45
+ [k: string]: "run" | "start" | "execute";
46
46
  };
47
47
  /** Unique identifier for a specific workflow run instance */
48
48
  export declare const WorkflowRunId: (value: string) => {
49
- [x: string]: string;
49
+ [k: string]: string;
50
50
  };
51
51
  /** Current status of the workflow run */
52
- export declare const WorkflowRunStatus: (value: "pending" | "running" | "completed" | "failed" | "paused" | "cancelled" | "pending_steps") => {
53
- [x: string]: "pending" | "running" | "completed" | "failed" | "paused" | "cancelled" | "pending_steps";
52
+ export declare const WorkflowRunStatus: (value: "pending" | "running" | "cancelled" | "completed" | "failed" | "workflow_suspended") => {
53
+ [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed" | "workflow_suspended";
54
54
  };
55
55
  /** Timestamp when the workflow execution started (Unix timestamp) */
56
56
  export declare const WorkflowStartedAt: (value: number) => {
57
- [x: string]: number;
57
+ [k: string]: number;
58
58
  };
59
59
  /** Number of events processed during workflow execution */
60
60
  export declare const WorkflowEventsCount: (value: number) => {
61
- [x: string]: number;
61
+ [k: string]: number;
62
62
  };
63
63
  /** Number of arguments passed to the workflow */
64
64
  export declare const WorkflowArgumentsCount: (value: number) => {
65
- [x: string]: number;
65
+ [k: string]: number;
66
66
  };
67
67
  /** Type of the workflow result */
68
68
  export declare const WorkflowResultType: (value: string) => {
69
- [x: string]: string;
69
+ [k: string]: string;
70
70
  };
71
71
  /** Whether trace context was propagated to this workflow execution */
72
72
  export declare const WorkflowTracePropagated: (value: boolean) => {
73
- [x: string]: boolean;
73
+ [k: string]: boolean;
74
74
  };
75
75
  /** Name of the error that caused workflow failure */
76
76
  export declare const WorkflowErrorName: (value: string) => {
77
- [x: string]: string;
77
+ [k: string]: string;
78
78
  };
79
79
  /** Error message when workflow fails */
80
80
  export declare const WorkflowErrorMessage: (value: string) => {
81
- [x: string]: string;
81
+ [k: string]: string;
82
82
  };
83
83
  /** Number of steps created during workflow execution */
84
84
  export declare const WorkflowStepsCreated: (value: number) => {
85
- [x: string]: number;
85
+ [k: string]: number;
86
+ };
87
+ /** Number of hooks created during workflow execution */
88
+ export declare const WorkflowHooksCreated: (value: number) => {
89
+ [k: string]: number;
90
+ };
91
+ /** Number of waits created during workflow execution */
92
+ export declare const WorkflowWaitsCreated: (value: number) => {
93
+ [k: string]: number;
86
94
  };
87
95
  /** Name of the step function being executed */
88
96
  export declare const StepName: (value: string) => {
89
- [x: string]: string;
97
+ [k: string]: string;
90
98
  };
91
99
  /** Unique identifier for the step instance */
92
100
  export declare const StepId: (value: string) => {
93
- [x: string]: string;
101
+ [k: string]: string;
94
102
  };
95
103
  /** Current attempt number for step execution (starts at 1) */
96
104
  export declare const StepAttempt: (value: number) => {
97
- [x: string]: number;
105
+ [k: string]: number;
98
106
  };
99
107
  /** Current status of the step */
100
- export declare const StepStatus: (value: "pending" | "running" | "completed" | "failed" | "cancelled") => {
101
- [x: string]: "pending" | "running" | "completed" | "failed" | "cancelled";
108
+ export declare const StepStatus: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => {
109
+ [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed";
102
110
  };
103
111
  /** Maximum number of retries allowed for this step */
104
112
  export declare const StepMaxRetries: (value: number) => {
105
- [x: string]: number;
113
+ [k: string]: number;
106
114
  };
107
115
  /** Whether trace context was propagated to this step execution */
108
116
  export declare const StepTracePropagated: (value: boolean) => {
109
- [x: string]: boolean;
117
+ [k: string]: boolean;
110
118
  };
111
119
  /** Whether the step was skipped during execution */
112
120
  export declare const StepSkipped: (value: boolean) => {
113
- [x: string]: boolean;
121
+ [k: string]: boolean;
114
122
  };
115
123
  /** Reason why the step was skipped */
116
- export declare const StepSkipReason: (value: "pending" | "running" | "completed" | "failed" | "cancelled") => {
117
- [x: string]: "pending" | "running" | "completed" | "failed" | "cancelled";
124
+ export declare const StepSkipReason: (value: "pending" | "running" | "cancelled" | "completed" | "failed") => {
125
+ [k: string]: "pending" | "running" | "cancelled" | "completed" | "failed";
118
126
  };
119
127
  /** Number of arguments passed to the step function */
120
128
  export declare const StepArgumentsCount: (value: number) => {
121
- [x: string]: number;
129
+ [k: string]: number;
122
130
  };
123
131
  /** Type of the step result */
124
132
  export declare const StepResultType: (value: string) => {
125
- [x: string]: string;
133
+ [k: string]: string;
126
134
  };
127
135
  /** Name of the error that caused step failure */
128
136
  export declare const StepErrorName: (value: string) => {
129
- [x: string]: string;
137
+ [k: string]: string;
130
138
  };
131
139
  /** Error message when step fails */
132
140
  export declare const StepErrorMessage: (value: string) => {
133
- [x: string]: string;
141
+ [k: string]: string;
134
142
  };
135
143
  /** Whether the step failed with a fatal error (no retries) */
136
144
  export declare const StepFatalError: (value: boolean) => {
137
- [x: string]: boolean;
145
+ [k: string]: boolean;
138
146
  };
139
147
  /** Whether all retry attempts have been exhausted */
140
148
  export declare const StepRetryExhausted: (value: boolean) => {
141
- [x: string]: boolean;
149
+ [k: string]: boolean;
142
150
  };
143
151
  /** Number of seconds to wait before next retry attempt */
144
152
  export declare const StepRetryTimeoutSeconds: (value: number) => {
145
- [x: string]: number;
153
+ [k: string]: number;
146
154
  };
147
155
  /** Whether the step will be retried after this failure */
148
156
  export declare const StepRetryWillRetry: (value: boolean) => {
149
- [x: string]: boolean;
157
+ [k: string]: boolean;
150
158
  };
151
159
  /** Name of the queue being used for message processing */
152
160
  export declare const QueueName: (value: string) => {
153
- [x: string]: string;
161
+ [k: string]: string;
162
+ };
163
+ /** The message id being handled */
164
+ export declare const QueueMessageId: (value: string & import("zod").$brand<"MessageId">) => {
165
+ [k: string]: string & import("zod").$brand<"MessageId">;
166
+ };
167
+ /** Time taken to enqueue the message in milliseconds */
168
+ export declare const QueueOverheadMs: (value: number) => {
169
+ [k: string]: number;
154
170
  };
155
171
  /** Unique identifier for the deployment environment */
156
172
  export declare const DeploymentId: (value: string) => {
157
- [x: string]: string;
173
+ [k: string]: string;
158
174
  };
159
175
  /** Token identifying a specific hook */
160
176
  export declare const HookToken: (value: string) => {
161
- [x: string]: string;
177
+ [k: string]: string;
162
178
  };
163
179
  /** Unique identifier for a hook instance */
164
180
  export declare const HookId: (value: string) => {
165
- [x: string]: string;
181
+ [k: string]: string;
166
182
  };
167
183
  /** Whether a hook was found by its token */
168
184
  export declare const HookFound: (value: boolean) => {
169
- [x: string]: boolean;
185
+ [k: string]: boolean;
170
186
  };
171
187
  /** Number of webhook handlers triggered */
172
188
  export declare const WebhookHandlersTriggered: (value: number) => {
173
- [x: string]: number;
189
+ [k: string]: number;
190
+ };
191
+ export declare const WorkflowSuspensionState: (value: "suspended") => {
192
+ [k: string]: "suspended";
193
+ };
194
+ export declare const WorkflowSuspensionHookCount: (value: number) => {
195
+ [k: string]: number;
196
+ };
197
+ export declare const WorkflowSuspensionStepCount: (value: number) => {
198
+ [k: string]: number;
199
+ };
200
+ export declare const WorkflowSuspensionWaitCount: (value: number) => {
201
+ [k: string]: number;
174
202
  };
175
203
  //# sourceMappingURL=semantic-conventions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-conventions.d.ts","sourceRoot":"","sources":["../../src/telemetry/semantic-conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAeH,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAExE,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;CAEP,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,iBAAiB;;CAEN,CAAC;AAEzB,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAIF,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;CAA0C,CAAC;AAEhE,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;CAAwC,CAAC;AAE5D,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;CAA6C,CAAC;AAEtE,iCAAiC;AACjC,eAAO,MAAM,UAAU;;CAAoD,CAAC;AAE5E,sDAAsD;AACtD,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW;;CAA8C,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,cAAc;;CAC6B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,iDAAiD;AACjD,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB;;CACqB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;CAAkD,CAAC;AAE9E,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAIlE,uDAAuD;AACvD,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAIxE,wCAAwC;AACxC,eAAO,MAAM,SAAS;;CAAoD,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;CAAiD,CAAC;AAErE,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;CAAqD,CAAC;AAI5E,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;CAEpC,CAAC"}
1
+ {"version":3,"file":"semantic-conventions.d.ts","sourceRoot":"","sources":["../../src/telemetry/semantic-conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAgBH,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAExE,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;CAEP,CAAC;AAExB,6DAA6D;AAC7D,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,yCAAyC;AACzC,eAAO,MAAM,iBAAiB;;CAEN,CAAC;AAEzB,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,iBAAiB;;CAE7B,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAIF,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;CAA0C,CAAC;AAEhE,8CAA8C;AAC9C,eAAO,MAAM,MAAM;;CAAwC,CAAC;AAE5D,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;CAA6C,CAAC;AAEtE,iCAAiC;AACjC,eAAO,MAAM,UAAU;;CAAoD,CAAC;AAE5E,sDAAsD;AACtD,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;CAE/B,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,WAAW;;CAA8C,CAAC;AAEvE,sCAAsC;AACtC,eAAO,MAAM,cAAc;;CAC6B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;CAAiD,CAAC;AAE7E,iDAAiD;AACjD,eAAO,MAAM,aAAa;;CAAgD,CAAC;AAE3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB;;CACqB,CAAC;AAEnD,8DAA8D;AAC9D,eAAO,MAAM,cAAc;;CAAkD,CAAC;AAE9E,qDAAqD;AACrD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAIF,0DAA0D;AAC1D,eAAO,MAAM,SAAS;;CAA2C,CAAC;AAElE,mCAAmC;AACnC,eAAO,MAAM,cAAc;;CAG1B,CAAC;AAEF,wDAAwD;AACxD,eAAO,MAAM,eAAe;;CAAkD,CAAC;AAI/E,uDAAuD;AACvD,eAAO,MAAM,YAAY;;CAA8C,CAAC;AAIxE,wCAAwC;AACxC,eAAO,MAAM,SAAS;;CAAoD,CAAC;AAE3E,4CAA4C;AAC5C,eAAO,MAAM,MAAM;;CAAiD,CAAC;AAErE,4CAA4C;AAC5C,eAAO,MAAM,SAAS;;CAAqD,CAAC;AAI5E,2CAA2C;AAC3C,eAAO,MAAM,wBAAwB;;CAEpC,CAAC;AAIF,eAAO,MAAM,uBAAuB;;CAEnC,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAEvC,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAEvC,CAAC;AACF,eAAO,MAAM,2BAA2B;;CAEvC,CAAC"}
@@ -41,8 +41,8 @@
41
41
  * @param name - The attribute name following OpenTelemetry semantic conventions
42
42
  * @returns A function that takes a value and returns an attribute object
43
43
  */
44
- function SemanticConvention(name) {
45
- return (value) => ({ [name]: value });
44
+ function SemanticConvention(...names) {
45
+ return (value) => Object.fromEntries(names.map((name) => [name, value]));
46
46
  }
47
47
  // Workflow attributes
48
48
  /** The name of the workflow being executed */
@@ -69,6 +69,10 @@ export const WorkflowErrorName = SemanticConvention('workflow.error.name');
69
69
  export const WorkflowErrorMessage = SemanticConvention('workflow.error.message');
70
70
  /** Number of steps created during workflow execution */
71
71
  export const WorkflowStepsCreated = SemanticConvention('workflow.steps.created');
72
+ /** Number of hooks created during workflow execution */
73
+ export const WorkflowHooksCreated = SemanticConvention('workflow.hooks.created');
74
+ /** Number of waits created during workflow execution */
75
+ export const WorkflowWaitsCreated = SemanticConvention('workflow.waits.created');
72
76
  // Step attributes
73
77
  /** Name of the step function being executed */
74
78
  export const StepName = SemanticConvention('step.name');
@@ -105,6 +109,10 @@ export const StepRetryWillRetry = SemanticConvention('step.retry.will_retry');
105
109
  // Queue attributes
106
110
  /** Name of the queue being used for message processing */
107
111
  export const QueueName = SemanticConvention('queue.name');
112
+ /** The message id being handled */
113
+ export const QueueMessageId = SemanticConvention('messaging.message.id', 'queue.message.id');
114
+ /** Time taken to enqueue the message in milliseconds */
115
+ export const QueueOverheadMs = SemanticConvention('queue.overhead_ms');
108
116
  // Deployment attributes
109
117
  /** Unique identifier for the deployment environment */
110
118
  export const DeploymentId = SemanticConvention('deployment.id');
@@ -118,4 +126,9 @@ export const HookFound = SemanticConvention('workflow.hook.found');
118
126
  // Webhook attributes
119
127
  /** Number of webhook handlers triggered */
120
128
  export const WebhookHandlersTriggered = SemanticConvention('webhook.handlers.triggered');
121
- //# sourceMappingURL=semantic-conventions.js.map
129
+ // Suspension attributes
130
+ export const WorkflowSuspensionState = SemanticConvention('workflow.suspension.state');
131
+ export const WorkflowSuspensionHookCount = SemanticConvention('workflow.suspension.hook_count');
132
+ export const WorkflowSuspensionStepCount = SemanticConvention('workflow.suspension.step_count');
133
+ export const WorkflowSuspensionWaitCount = SemanticConvention('workflow.suspension.wait_count');
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtYW50aWMtY29udmVudGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVsZW1ldHJ5L3NlbWFudGljLWNvbnZlbnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBSUg7Ozs7R0FJRztBQUNILFNBQVMsa0JBQWtCLENBQUksR0FBRyxLQUFlO0lBQy9DLE9BQU8sQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUNsQixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBVSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsc0JBQXNCO0FBRXRCLDhDQUE4QztBQUM5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQVMsZUFBZSxDQUFDLENBQUM7QUFFeEUsb0RBQW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUVqRCxvQkFBb0IsQ0FBQyxDQUFDO0FBRXhCLDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQVMsaUJBQWlCLENBQUMsQ0FBQztBQUUzRSx5Q0FBeUM7QUFDekMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsa0JBQWtCLENBRWpELHFCQUFxQixDQUFDLENBQUM7QUFFekIscUVBQXFFO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUNqRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGLDJEQUEyRDtBQUMzRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FDbkQsdUJBQXVCLENBQ3hCLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtC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
@@ -1,4 +1,5 @@
1
- import type { Span, SpanOptions } from '@opentelemetry/api';
1
+ import type * as api from '@opentelemetry/api';
2
+ import type { Span, SpanKind, SpanOptions } from '@opentelemetry/api';
2
3
  /**
3
4
  * Serializes the current trace context into a format that can be passed through queues
4
5
  * @returns A record of strings representing the trace context
@@ -9,7 +10,7 @@ export declare function serializeTraceCarrier(): Promise<Record<string, string>>
9
10
  * @param traceCarrier The serialized trace context
10
11
  * @returns OpenTelemetry context with the restored trace
11
12
  */
12
- export declare function deserializeTraceCarrier(traceCarrier: Record<string, string>): Promise<import("@opentelemetry/api").Context | undefined>;
13
+ export declare function deserializeTraceCarrier(traceCarrier: Record<string, string>): Promise<api.Context | undefined>;
13
14
  /**
14
15
  * Runs a function within the context of a deserialized trace
15
16
  * @param traceCarrier The serialized trace carrier (optional)
@@ -18,7 +19,10 @@ export declare function deserializeTraceCarrier(traceCarrier: Record<string, str
18
19
  */
19
20
  export declare function withTraceContext<T>(traceCarrier: Record<string, string> | undefined, fn: () => Promise<T>): Promise<T>;
20
21
  export declare function trace<T>(spanName: string, ...args: [fn: (span?: Span) => Promise<T>] | [opts: SpanOptions, fn: (span?: Span) => Promise<T>]): Promise<T>;
21
- export declare function getSpanContextForTraceCarrier(carrier: Record<string, string>): Promise<import("@opentelemetry/api").SpanContext | undefined>;
22
- export declare function getActiveSpan(): Promise<Span | null | undefined>;
22
+ export declare function getSpanContextForTraceCarrier(carrier: Record<string, string>): Promise<api.SpanContext | undefined>;
23
+ export declare function getActiveSpan(): Promise<api.Span | undefined>;
23
24
  export declare function instrumentObject<T extends object>(prefix: string, o: T): T;
25
+ export declare function getSpanKind(field: keyof typeof SpanKind): Promise<api.SpanKind | undefined>;
26
+ export declare function withOtel<T>(fn: (otel: typeof api) => T): Promise<Awaited<T> | undefined>;
27
+ export declare function linkToCurrentContext(): Promise<[api.Link] | undefined>;
24
28
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAO5D;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,6DAMrC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAiBD,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EACH,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,iEAQhC;AAED,wBAAsB,aAAa,qCAIlC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAa1E"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAStE;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAO7E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,oCAMrC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAiBD,wBAAsB,KAAK,CAAC,CAAC,EAC3B,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EACH,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAwBD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,wCAQhC;AAED,wBAAsB,aAAa,kCAElC;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAa1E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,OAAO,QAAQ,qCAE7D;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC,GAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAIjC;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAMtE"}
package/dist/telemetry.js CHANGED
@@ -1,4 +1,6 @@
1
- import { once } from './util.js';
1
+ import { once } from '@workflow/utils';
2
+ import { WorkflowSuspension } from './global.js';
3
+ import * as Attr from './telemetry/semantic-conventions.js';
2
4
  // ============================================================
3
5
  // Trace Context Propagation Utilities
4
6
  // ============================================================
@@ -82,6 +84,7 @@ export async function trace(spanName, ...args) {
82
84
  code: otel.SpanStatusCode.ERROR,
83
85
  message: e.message,
84
86
  });
87
+ applyWorkflowSuspensionToSpan(e, otel, span);
85
88
  throw e;
86
89
  }
87
90
  finally {
@@ -89,6 +92,22 @@ export async function trace(spanName, ...args) {
89
92
  }
90
93
  });
91
94
  }
95
+ /**
96
+ * Applies workflow suspension attributes to the given span if the error is a WorkflowSuspension
97
+ * which is technically not an error, but an algebraic effect indicating suspension.
98
+ */
99
+ function applyWorkflowSuspensionToSpan(error, otel, span) {
100
+ if (!error || !WorkflowSuspension.is(error)) {
101
+ return;
102
+ }
103
+ span.setStatus({ code: otel.SpanStatusCode.OK });
104
+ span.setAttributes({
105
+ ...Attr.WorkflowSuspensionState('suspended'),
106
+ ...Attr.WorkflowSuspensionStepCount(error.stepCount),
107
+ ...Attr.WorkflowSuspensionHookCount(error.hookCount),
108
+ ...Attr.WorkflowSuspensionWaitCount(error.waitCount),
109
+ });
110
+ }
92
111
  export async function getSpanContextForTraceCarrier(carrier) {
93
112
  const [deserialized, otel] = await Promise.all([
94
113
  deserializeTraceCarrier(carrier),
@@ -99,10 +118,7 @@ export async function getSpanContextForTraceCarrier(carrier) {
99
118
  return otel.trace.getSpanContext(deserialized);
100
119
  }
101
120
  export async function getActiveSpan() {
102
- const otel = await OtelApi.value;
103
- if (!otel)
104
- return null;
105
- return otel.trace.getActiveSpan();
121
+ return await withOtel((otel) => otel.trace.getActiveSpan());
106
122
  }
107
123
  export function instrumentObject(prefix, o) {
108
124
  const handlers = {};
@@ -118,4 +134,21 @@ export function instrumentObject(prefix, o) {
118
134
  }
119
135
  return handlers;
120
136
  }
121
- //# sourceMappingURL=telemetry.js.map
137
+ export async function getSpanKind(field) {
138
+ return withOtel((x) => x.SpanKind[field]);
139
+ }
140
+ export async function withOtel(fn) {
141
+ const otel = await OtelApi.value;
142
+ if (!otel)
143
+ return undefined;
144
+ return await fn(otel);
145
+ }
146
+ export function linkToCurrentContext() {
147
+ return withOtel((otel) => {
148
+ const context = otel.trace.getActiveSpan()?.spanContext();
149
+ if (!context)
150
+ return;
151
+ return [{ context }];
152
+ });
153
+ }
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlbGVtZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sS0FBSyxJQUFJLE1BQU0scUNBQXFDLENBQUM7QUFFNUQsK0RBQStEO0FBQy9ELHNDQUFzQztBQUN0QywrREFBK0Q7QUFFL0Q7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUI7SUFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDckIsTUFBTSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztJQUMzQyw4Q0FBOEM7SUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQzNDLFlBQW9DO0lBRXBDLE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQztJQUNqQyxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU87SUFDbEIsdUNBQXVDO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxZQUFnRCxFQUNoRCxFQUFvQjtJQUVwQixJQUFJLENBQUMs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
package/dist/types.js CHANGED
@@ -11,4 +11,4 @@ export function getErrorStack(v) {
11
11
  }
12
12
  return '';
13
13
  }
14
- //# sourceMappingURL=types.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsQyxNQUFNLFVBQVUsWUFBWSxDQUFDLENBQVU7SUFDckMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxDQUFVO0lBQ3RDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyJ9
package/dist/util.d.ts CHANGED
@@ -1,27 +1,3 @@
1
- export interface PromiseWithResolvers<T> {
2
- promise: Promise<T>;
3
- resolve: (value: T) => void;
4
- reject: (reason?: any) => void;
5
- }
6
- /**
7
- * Polyfill for `Promise.withResolvers()`.
8
- *
9
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers
10
- */
11
- export declare function withResolvers<T>(): PromiseWithResolvers<T>;
12
- /**
13
- * Creates a lazily-evaluated, memoized version of the provided function.
14
- *
15
- * The returned object exposes a `value` getter that calls `fn` only once,
16
- * caches its result, and returns the cached value on subsequent accesses.
17
- *
18
- * @typeParam T - The return type of the provided function.
19
- * @param fn - The function to be called once and whose result will be cached.
20
- * @returns An object with a `value` property that returns the memoized result of `fn`.
21
- */
22
- export declare function once<T>(fn: () => T): {
23
- readonly value: T;
24
- };
25
1
  /**
26
2
  * Builds a workflow suspension log message based on the counts of steps, hooks, and waits.
27
3
  * @param runId - The workflow run ID
@@ -41,4 +17,9 @@ export declare function buildWorkflowSuspensionMessage(runId: string, stepCount:
41
17
  * @returns The stream ID in format: `strm_{ULID}_user_{base64(namespace)?}`
42
18
  */
43
19
  export declare function getWorkflowRunStreamId(runId: string, namespace?: string): string;
20
+ /**
21
+ * A small wrapper around `waitUntil` that also returns
22
+ * the result of the awaited promise.
23
+ */
24
+ export declare function waitedUntil<T>(fn: () => Promise<T>): Promise<T>;
44
25
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAQ1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC;;EASlC;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CA6Bf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,UAUvE"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CA6Bf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,UAUvE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAUrE"}
package/dist/util.js CHANGED
@@ -1,37 +1,5 @@
1
- /**
2
- * Polyfill for `Promise.withResolvers()`.
3
- *
4
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers
5
- */
6
- export function withResolvers() {
7
- let resolve;
8
- let reject;
9
- const promise = new Promise((_resolve, _reject) => {
10
- resolve = _resolve;
11
- reject = _reject;
12
- });
13
- return { promise, resolve, reject };
14
- }
15
- /**
16
- * Creates a lazily-evaluated, memoized version of the provided function.
17
- *
18
- * The returned object exposes a `value` getter that calls `fn` only once,
19
- * caches its result, and returns the cached value on subsequent accesses.
20
- *
21
- * @typeParam T - The return type of the provided function.
22
- * @param fn - The function to be called once and whose result will be cached.
23
- * @returns An object with a `value` property that returns the memoized result of `fn`.
24
- */
25
- export function once(fn) {
26
- const result = {
27
- get value() {
28
- const value = fn();
29
- Object.defineProperty(result, 'value', { value });
30
- return value;
31
- },
32
- };
33
- return result;
34
- }
1
+ import { waitUntil } from '@vercel/functions';
2
+ import { pluralize } from '@workflow/utils';
35
3
  /**
36
4
  * Builds a workflow suspension log message based on the counts of steps, hooks, and waits.
37
5
  * @param runId - The workflow run ID
@@ -46,13 +14,13 @@ export function buildWorkflowSuspensionMessage(runId, stepCount, hookCount, wait
46
14
  }
47
15
  const parts = [];
48
16
  if (stepCount > 0) {
49
- parts.push(`${stepCount} ${stepCount === 1 ? 'step' : 'steps'}`);
17
+ parts.push(`${stepCount} ${pluralize('step', 'steps', stepCount)}`);
50
18
  }
51
19
  if (hookCount > 0) {
52
- parts.push(`${hookCount} ${hookCount === 1 ? 'hook' : 'hooks'}`);
20
+ parts.push(`${hookCount} ${pluralize('hook', 'hooks', hookCount)}`);
53
21
  }
54
22
  if (waitCount > 0) {
55
- parts.push(`${waitCount} ${waitCount === 1 ? 'timer' : 'timers'}`);
23
+ parts.push(`${waitCount} ${pluralize('timer', 'timers', waitCount)}`);
56
24
  }
57
25
  const resumeMsgParts = [];
58
26
  if (stepCount > 0) {
@@ -85,4 +53,17 @@ export function getWorkflowRunStreamId(runId, namespace) {
85
53
  const encodedNamespace = Buffer.from(namespace, 'utf-8').toString('base64url');
86
54
  return `${streamId}_${encodedNamespace}`;
87
55
  }
88
- //# sourceMappingURL=util.js.map
56
+ /**
57
+ * A small wrapper around `waitUntil` that also returns
58
+ * the result of the awaited promise.
59
+ */
60
+ export async function waitedUntil(fn) {
61
+ const result = fn();
62
+ waitUntil(result.catch(() => {
63
+ // Ignore error from the promise being rejected.
64
+ // It's expected that the invoker of `waitedUntil`
65
+ // will handle the error.
66
+ }));
67
+ return result;
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLFNBQWlCO0lBRWpCLElBQUksU0FBUyxLQUFLLENBQUMsSUFBSSxTQUFTLEtBQUssQ0FBQyxJQUFJLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQWEsRUFBRSxDQUFDO0lBQ3BDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xCLGNBQWMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbEIsY0FBYyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNsQixjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFL0MsT0FBTyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLDREQUE0RCxTQUFTLEVBQUUsQ0FBQztBQUNoSSxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBYSxFQUFFLFNBQWtCO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUMzRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsaUdBQWlHO0lBQ2pHLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUMvRCxXQUFXLENBQ1osQ0FBQztJQUNGLE9BQU8sR0FBRyxRQUFRLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQUksRUFBb0I7SUFDdkQsTUFBTSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDcEIsU0FBUyxDQUNQLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2hCLGdEQUFnRDtRQUNoRCxrREFBa0Q7UUFDbEQseUJBQXlCO0lBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export declare const version = "4.1.0-beta.51";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ // Generated by genversion.
2
+ export const version = '4.1.0-beta.51';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFBIn0=
package/dist/vm/index.js CHANGED
@@ -69,7 +69,7 @@ export function createContext(options) {
69
69
  });
70
70
  // Propagate environment variables
71
71
  g.process = {
72
- env: process.env,
72
+ env: Object.freeze({ ...process.env }),
73
73
  };
74
74
  // Stateless + synchronous Web APIs that are made available inside the sandbox
75
75
  g.Headers = globalThis.Headers;
@@ -90,4 +90,4 @@ export function createContext(options) {
90
90
  },
91
91
  };
92
92
  }
93
- //# sourceMappingURL=index.js.map
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLElBQUksZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFRN0M7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUE2QjtJQUN6RCxJQUFJLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ2pDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLE1BQU0sT0FBTyxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBRWxDLE1BQU0sQ0FBQyxHQUFzQixZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRWpFLGdDQUFnQztJQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFFcEIsaUZBQWlGO0lBQ2pGLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckIsNkhBQTZIO0lBQzVILENBQVMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxJQUFJLENBQzdCLEdBQUcsSUFBK0M7UUFFbEQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUNELDBEQUEwRDtRQUMxRCxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDO0lBQ0QsQ0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxD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
package/dist/vm/uuid.js CHANGED
@@ -27,4 +27,4 @@ export function createRandomUUID(rng) {
27
27
  return uuid;
28
28
  };
29
29
  }
30
- //# sourceMappingURL=uuid.js.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92bS91dWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBaUI7SUFDaEQsT0FBTyxTQUFTLFVBQVU7UUFDeEIsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDakMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLElBQUksR0FBRyxDQUFDO1lBQ2QsQ0FBQztpQkFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQjtZQUNoQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNwQixJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDNUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUE0QyxDQUFDO0lBQ3RELENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -19,4 +19,4 @@ export function createWebhook(options) {
19
19
  hook.url = `${url}/.well-known/workflow/v1/webhook/${encodeURIComponent(hook.token)}`;
20
20
  return hook;
21
21
  }
22
- //# sourceMappingURL=create-hook.js.map
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cvY3JlYXRlLWhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE1BQU0sVUFBVSxVQUFVLENBQVUsT0FBcUI7SUFDdkQsK0ZBQStGO0lBQy9GLE1BQU0sWUFBWSxHQUFJLFVBQWtCLENBQ3RDLG9CQUFvQixDQUNHLENBQUM7SUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQ2IsOERBQThELENBQy9ELENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQU1ELE1BQU0sVUFBVSxhQUFhLENBQzNCLE9BQXdCO0lBRXhCLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQy9DLElBQUksUUFBeUQsQ0FBQztJQUM5RCxJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FFYixDQUFDO0lBRWpDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO0lBQ3RDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLG9DQUFvQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUV0RixPQUFPLElBQUksQ0FBQztBQUNkLENBQUMifQ==
@@ -3,8 +3,8 @@ import type { Hook, HookOptions } from '../create-hook.js';
3
3
  /**
4
4
  * NOTE: This is the implementation of `defineHook()` that is used in workflow contexts.
5
5
  */
6
- export declare function defineHook<T>(): {
7
- create(options?: HookOptions): Hook<T>;
8
- resume(_token: string, _payload: T): Promise<HookEntity | null>;
6
+ export declare function defineHook<TInput, TOutput = TInput>(): {
7
+ create(options?: HookOptions): Hook<TOutput>;
8
+ resume(_token: string, _payload: TInput): Promise<HookEntity | null>;
9
9
  };
10
10
  //# sourceMappingURL=define-hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-hook.d.ts","sourceRoot":"","sources":["../../src/workflow/define-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC;qBAEP,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;mBAIvB,MAAM,YAAY,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;EAMlE"}
1
+ {"version":3,"file":"define-hook.d.ts","sourceRoot":"","sources":["../../src/workflow/define-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;qBAE9B,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;mBAI7B,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;EAMvE"}
@@ -12,4 +12,4 @@ export function defineHook() {
12
12
  },
13
13
  };
14
14
  }
15
- //# sourceMappingURL=define-hook.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWhvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cvZGVmaW5lLWhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFxQjtZQUMxQixPQUFPLFVBQVUsQ0FBVSxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsTUFBTSxDQUFDLE1BQWMsRUFBRSxRQUFnQjtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLHNGQUFzRixDQUN2RixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIn0=
@@ -8,4 +8,4 @@ export function getWorkflowMetadata() {
8
8
  }
9
9
  return ctx;
10
10
  }
11
- //# sourceMappingURL=get-workflow-metadata.js.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXdvcmtmbG93LW1ldGFkYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dvcmtmbG93L2dldC13b3JrZmxvdy1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCO0FBQ2xDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFakQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyx5RkFBeUY7SUFDekYsTUFBTSxHQUFHLEdBQUksVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBcUIsQ0FBQztJQUM3RSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxNQUFNLElBQUksS0FBSyxDQUNiLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/workflow/hook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAIjE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,IAChC,CAAC,GAAG,GAAG,EAAE,UAAS,WAAgB,KAAG,IAAI,CAAC,CAAC,CAAC,CAiI5E"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/workflow/hook.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAIjE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,2BAA2B,IAChC,CAAC,GAAG,GAAG,EAAE,UAAS,WAAgB,KAAG,IAAI,CAAC,CAAC,CAAC,CA8K5E"}