@temelj/workflow 0.0.0-alpha.1

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 (393) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/attributes.d.mts +15 -0
  4. package/dist/attributes.mjs +30 -0
  5. package/dist/client/create.d.mts +31 -0
  6. package/dist/client/create.mjs +67 -0
  7. package/dist/client/facades.d.mts +21 -0
  8. package/dist/client/facades.mjs +142 -0
  9. package/dist/client/mod.d.mts +2 -0
  10. package/dist/client/mod.mjs +2 -0
  11. package/dist/client/run-handle.d.mts +66 -0
  12. package/dist/client/run-handle.mjs +156 -0
  13. package/dist/client/worker-options.d.mts +17 -0
  14. package/dist/client/worker-options.mjs +25 -0
  15. package/dist/collection.d.mts +15 -0
  16. package/dist/collection.mjs +33 -0
  17. package/dist/compiled-function.d.mts +27 -0
  18. package/dist/compiled-function.mjs +54 -0
  19. package/dist/definition.d.mts +37 -0
  20. package/dist/definition.mjs +83 -0
  21. package/dist/engine/child-workflow.d.mts +10 -0
  22. package/dist/engine/child-workflow.mjs +333 -0
  23. package/dist/engine/command-identity.d.mts +9 -0
  24. package/dist/engine/command-identity.mjs +14 -0
  25. package/dist/engine/create.d.mts +106 -0
  26. package/dist/engine/create.mjs +402 -0
  27. package/dist/engine/deterministic.d.mts +12 -0
  28. package/dist/engine/deterministic.mjs +102 -0
  29. package/dist/engine/durable-command.d.mts +10 -0
  30. package/dist/engine/durable-command.mjs +17 -0
  31. package/dist/engine/execution-api.d.mts +29 -0
  32. package/dist/engine/execution-api.mjs +33 -0
  33. package/dist/engine/execution-service.d.mts +41 -0
  34. package/dist/engine/execution-service.mjs +288 -0
  35. package/dist/engine/hooks.d.mts +56 -0
  36. package/dist/engine/hooks.mjs +237 -0
  37. package/dist/engine/inspection-api.d.mts +34 -0
  38. package/dist/engine/inspection-api.mjs +77 -0
  39. package/dist/engine/inspection.d.mts +18 -0
  40. package/dist/engine/inspection.mjs +149 -0
  41. package/dist/engine/lifecycle.d.mts +18 -0
  42. package/dist/engine/lifecycle.mjs +38 -0
  43. package/dist/engine/lock-replay.d.mts +30 -0
  44. package/dist/engine/lock-replay.mjs +38 -0
  45. package/dist/engine/lock.d.mts +21 -0
  46. package/dist/engine/lock.mjs +197 -0
  47. package/dist/engine/message.d.mts +47 -0
  48. package/dist/engine/message.mjs +357 -0
  49. package/dist/engine/mod.d.mts +4 -0
  50. package/dist/engine/mod.mjs +2 -0
  51. package/dist/engine/observation.d.mts +35 -0
  52. package/dist/engine/observation.mjs +201 -0
  53. package/dist/engine/recovery.d.mts +26 -0
  54. package/dist/engine/recovery.mjs +92 -0
  55. package/dist/engine/replay.d.mts +41 -0
  56. package/dist/engine/replay.mjs +122 -0
  57. package/dist/engine/retry-policy.d.mts +4 -0
  58. package/dist/engine/retry-policy.mjs +4 -0
  59. package/dist/engine/retry.d.mts +23 -0
  60. package/dist/engine/retry.mjs +75 -0
  61. package/dist/engine/run-data.d.mts +9 -0
  62. package/dist/engine/run-data.mjs +74 -0
  63. package/dist/engine/run-service.d.mts +38 -0
  64. package/dist/engine/run-service.mjs +133 -0
  65. package/dist/engine/run-utils.d.mts +16 -0
  66. package/dist/engine/run-utils.mjs +83 -0
  67. package/dist/engine/schedule.d.mts +25 -0
  68. package/dist/engine/schedule.mjs +207 -0
  69. package/dist/engine/serialization.d.mts +9 -0
  70. package/dist/engine/serialization.mjs +85 -0
  71. package/dist/engine/start-api.d.mts +30 -0
  72. package/dist/engine/start-api.mjs +98 -0
  73. package/dist/engine/state.d.mts +77 -0
  74. package/dist/engine/state.mjs +464 -0
  75. package/dist/engine/step-api.d.mts +9 -0
  76. package/dist/engine/step-api.mjs +25 -0
  77. package/dist/engine/stream.d.mts +55 -0
  78. package/dist/engine/stream.mjs +333 -0
  79. package/dist/engine/summary/active-events.d.mts +34 -0
  80. package/dist/engine/summary/active-events.mjs +69 -0
  81. package/dist/engine/summary/child-workflow-runs.d.mts +24 -0
  82. package/dist/engine/summary/child-workflow-runs.mjs +138 -0
  83. package/dist/engine/summary/child-workflow-waits.d.mts +21 -0
  84. package/dist/engine/summary/child-workflow-waits.mjs +67 -0
  85. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +11 -0
  86. package/dist/engine/summary/recovery-child-workflow-waits.mjs +89 -0
  87. package/dist/engine/summary/recovery-due-runs.d.mts +16 -0
  88. package/dist/engine/summary/recovery-due-runs.mjs +52 -0
  89. package/dist/engine/summary/recovery-failed-runs.d.mts +14 -0
  90. package/dist/engine/summary/recovery-failed-runs.mjs +33 -0
  91. package/dist/engine/summary/recovery-lease-runs.d.mts +16 -0
  92. package/dist/engine/summary/recovery-lease-runs.mjs +69 -0
  93. package/dist/engine/summary/recovery-locks.d.mts +18 -0
  94. package/dist/engine/summary/recovery-locks.mjs +100 -0
  95. package/dist/engine/summary/recovery-message-waits.d.mts +11 -0
  96. package/dist/engine/summary/recovery-message-waits.mjs +74 -0
  97. package/dist/engine/summary/recovery-retry-runs.d.mts +17 -0
  98. package/dist/engine/summary/recovery-retry-runs.mjs +65 -0
  99. package/dist/engine/summary/recovery-run-timestamps.d.mts +13 -0
  100. package/dist/engine/summary/recovery-run-timestamps.mjs +18 -0
  101. package/dist/engine/summary/recovery-runs.d.mts +23 -0
  102. package/dist/engine/summary/recovery-runs.mjs +54 -0
  103. package/dist/engine/summary/recovery-schedules.d.mts +10 -0
  104. package/dist/engine/summary/recovery-schedules.mjs +46 -0
  105. package/dist/engine/summary/recovery-sleep-waits.d.mts +10 -0
  106. package/dist/engine/summary/recovery-sleep-waits.mjs +53 -0
  107. package/dist/engine/summary/recovery-waits.d.mts +21 -0
  108. package/dist/engine/summary/recovery-waits.mjs +29 -0
  109. package/dist/engine/summary/run-availability.d.mts +13 -0
  110. package/dist/engine/summary/run-availability.mjs +37 -0
  111. package/dist/engine/summary/run-cleanup.d.mts +14 -0
  112. package/dist/engine/summary/run-cleanup.mjs +44 -0
  113. package/dist/engine/summary/run-failure.d.mts +14 -0
  114. package/dist/engine/summary/run-failure.mjs +62 -0
  115. package/dist/engine/summary/run-hooks.d.mts +14 -0
  116. package/dist/engine/summary/run-hooks.mjs +63 -0
  117. package/dist/engine/summary/run-lease.d.mts +11 -0
  118. package/dist/engine/summary/run-lease.mjs +64 -0
  119. package/dist/engine/summary/run-message-waits.d.mts +15 -0
  120. package/dist/engine/summary/run-message-waits.mjs +62 -0
  121. package/dist/engine/summary/run-metrics.d.mts +31 -0
  122. package/dist/engine/summary/run-metrics.mjs +93 -0
  123. package/dist/engine/summary/run-retry.d.mts +9 -0
  124. package/dist/engine/summary/run-retry.mjs +69 -0
  125. package/dist/engine/summary/run-sleeps.d.mts +15 -0
  126. package/dist/engine/summary/run-sleeps.mjs +61 -0
  127. package/dist/engine/summary/run-state.d.mts +26 -0
  128. package/dist/engine/summary/run-state.mjs +48 -0
  129. package/dist/engine/summary/run-status.d.mts +16 -0
  130. package/dist/engine/summary/run-status.mjs +35 -0
  131. package/dist/engine/summary/run-streams.d.mts +14 -0
  132. package/dist/engine/summary/run-streams.mjs +46 -0
  133. package/dist/engine/summary/run-transition.d.mts +9 -0
  134. package/dist/engine/summary/run-transition.mjs +39 -0
  135. package/dist/engine/summary/run-workflow.d.mts +9 -0
  136. package/dist/engine/summary/run-workflow.mjs +47 -0
  137. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +13 -0
  138. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +55 -0
  139. package/dist/engine/summary/step-attempt-active-fields.d.mts +23 -0
  140. package/dist/engine/summary/step-attempt-active-fields.mjs +14 -0
  141. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +12 -0
  142. package/dist/engine/summary/step-attempt-active-message-waits.mjs +47 -0
  143. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +19 -0
  144. package/dist/engine/summary/step-attempt-active-sleeps.mjs +44 -0
  145. package/dist/engine/summary/step-attempt-buckets.d.mts +22 -0
  146. package/dist/engine/summary/step-attempt-buckets.mjs +152 -0
  147. package/dist/engine/summary/step-attempt-failure.d.mts +12 -0
  148. package/dist/engine/summary/step-attempt-failure.mjs +61 -0
  149. package/dist/engine/summary/step-attempt-lifecycle.d.mts +13 -0
  150. package/dist/engine/summary/step-attempt-lifecycle.mjs +19 -0
  151. package/dist/engine/summary/step-attempts.d.mts +11 -0
  152. package/dist/engine/summary/step-attempts.mjs +43 -0
  153. package/dist/engine/summary.d.mts +32 -0
  154. package/dist/engine/summary.mjs +37 -0
  155. package/dist/engine/task.d.mts +6 -0
  156. package/dist/engine/task.mjs +207 -0
  157. package/dist/errors/base.d.mts +99 -0
  158. package/dist/errors/base.mjs +426 -0
  159. package/dist/errors/capability.d.mts +11 -0
  160. package/dist/errors/capability.mjs +23 -0
  161. package/dist/errors/definition.d.mts +21 -0
  162. package/dist/errors/definition.mjs +51 -0
  163. package/dist/errors/details.d.mts +13 -0
  164. package/dist/errors/details.mjs +65 -0
  165. package/dist/errors/failures.d.mts +81 -0
  166. package/dist/errors/failures.mjs +168 -0
  167. package/dist/errors/hook.d.mts +14 -0
  168. package/dist/errors/hook.mjs +30 -0
  169. package/dist/errors/implementation.d.mts +11 -0
  170. package/dist/errors/implementation.mjs +25 -0
  171. package/dist/errors/lock.d.mts +28 -0
  172. package/dist/errors/lock.mjs +70 -0
  173. package/dist/errors/message.d.mts +106 -0
  174. package/dist/errors/message.mjs +122 -0
  175. package/dist/errors/mod.d.mts +17 -0
  176. package/dist/errors/mod.mjs +17 -0
  177. package/dist/errors/record-view.d.mts +11 -0
  178. package/dist/errors/record-view.mjs +24 -0
  179. package/dist/errors/records.d.mts +7 -0
  180. package/dist/errors/records.mjs +280 -0
  181. package/dist/errors/run.d.mts +116 -0
  182. package/dist/errors/run.mjs +232 -0
  183. package/dist/errors/runtime.d.mts +12 -0
  184. package/dist/errors/runtime.mjs +24 -0
  185. package/dist/errors/schedule.d.mts +27 -0
  186. package/dist/errors/schedule.mjs +65 -0
  187. package/dist/errors/step.d.mts +76 -0
  188. package/dist/errors/step.mjs +113 -0
  189. package/dist/errors/stream.d.mts +24 -0
  190. package/dist/errors/stream.mjs +64 -0
  191. package/dist/esbuild.d.mts +7 -0
  192. package/dist/esbuild.mjs +6 -0
  193. package/dist/events/descriptors.d.mts +245 -0
  194. package/dist/events/descriptors.mjs +405 -0
  195. package/dist/events/mod.d.mts +3 -0
  196. package/dist/events/mod.mjs +2 -0
  197. package/dist/history/attempt-key.d.mts +6 -0
  198. package/dist/history/attempt-key.mjs +7 -0
  199. package/dist/history/mod.d.mts +71 -0
  200. package/dist/history/mod.mjs +195 -0
  201. package/dist/history/projection.d.mts +8 -0
  202. package/dist/history/projection.mjs +259 -0
  203. package/dist/history/replay-projection.d.mts +88 -0
  204. package/dist/history/replay-projection.mjs +369 -0
  205. package/dist/history/sequencer.d.mts +16 -0
  206. package/dist/history/sequencer.mjs +78 -0
  207. package/dist/history/step-attempts.d.mts +9 -0
  208. package/dist/history/step-attempts.mjs +50 -0
  209. package/dist/history/timeline.d.mts +16 -0
  210. package/dist/history/timeline.mjs +272 -0
  211. package/dist/history/validator.d.mts +9 -0
  212. package/dist/history/validator.mjs +110 -0
  213. package/dist/inspection/mod.d.mts +5 -0
  214. package/dist/inspection/mod.mjs +3 -0
  215. package/dist/message-options.d.mts +8 -0
  216. package/dist/message-options.mjs +25 -0
  217. package/dist/mod.d.mts +52 -0
  218. package/dist/mod.mjs +26 -0
  219. package/dist/otel/support.d.mts +18 -0
  220. package/dist/otel/support.mjs +102 -0
  221. package/dist/otel.d.mts +30 -0
  222. package/dist/otel.mjs +588 -0
  223. package/dist/pagination.d.mts +25 -0
  224. package/dist/pagination.mjs +73 -0
  225. package/dist/registry.d.mts +20 -0
  226. package/dist/registry.mjs +48 -0
  227. package/dist/rolldown.d.mts +7 -0
  228. package/dist/rolldown.mjs +6 -0
  229. package/dist/rollup.d.mts +7 -0
  230. package/dist/rollup.mjs +6 -0
  231. package/dist/rspack.d.mts +7 -0
  232. package/dist/rspack.mjs +6 -0
  233. package/dist/runtime.d.mts +34 -0
  234. package/dist/runtime.mjs +194 -0
  235. package/dist/step-definition.d.mts +10 -0
  236. package/dist/step-definition.mjs +15 -0
  237. package/dist/store/append-projection.d.mts +15 -0
  238. package/dist/store/append-projection.mjs +26 -0
  239. package/dist/store/capabilities.d.mts +14 -0
  240. package/dist/store/capabilities.mjs +42 -0
  241. package/dist/store/cleanup.d.mts +18 -0
  242. package/dist/store/cleanup.mjs +338 -0
  243. package/dist/store/compaction.d.mts +5 -0
  244. package/dist/store/compaction.mjs +8 -0
  245. package/dist/store/create.d.mts +52 -0
  246. package/dist/store/create.mjs +159 -0
  247. package/dist/store/event-append-project.d.mts +15 -0
  248. package/dist/store/event-append-project.mjs +77 -0
  249. package/dist/store/event-append.d.mts +37 -0
  250. package/dist/store/event-append.mjs +80 -0
  251. package/dist/store/event-history.d.mts +22 -0
  252. package/dist/store/event-history.mjs +75 -0
  253. package/dist/store/event.d.mts +10 -0
  254. package/dist/store/event.mjs +28 -0
  255. package/dist/store/idempotency.d.mts +10 -0
  256. package/dist/store/idempotency.mjs +167 -0
  257. package/dist/store/instrumentation.d.mts +7 -0
  258. package/dist/store/instrumentation.mjs +123 -0
  259. package/dist/store/lock.d.mts +8 -0
  260. package/dist/store/lock.mjs +28 -0
  261. package/dist/store/materialization.d.mts +30 -0
  262. package/dist/store/materialization.mjs +127 -0
  263. package/dist/store/message-index.d.mts +21 -0
  264. package/dist/store/message-index.mjs +121 -0
  265. package/dist/store/mod.d.mts +5 -0
  266. package/dist/store/mod.mjs +4 -0
  267. package/dist/store/query.d.mts +24 -0
  268. package/dist/store/query.mjs +82 -0
  269. package/dist/store/revision.d.mts +4 -0
  270. package/dist/store/revision.mjs +7 -0
  271. package/dist/store/run.d.mts +49 -0
  272. package/dist/store/run.mjs +236 -0
  273. package/dist/store/schedule.d.mts +12 -0
  274. package/dist/store/schedule.mjs +41 -0
  275. package/dist/store/schema.d.mts +14 -0
  276. package/dist/store/schema.mjs +17 -0
  277. package/dist/store/step-attempt.d.mts +14 -0
  278. package/dist/store/step-attempt.mjs +23 -0
  279. package/dist/store/storage-value.d.mts +5 -0
  280. package/dist/store/storage-value.mjs +6 -0
  281. package/dist/store/validation.d.mts +35 -0
  282. package/dist/store/validation.mjs +77 -0
  283. package/dist/store-keys.d.mts +49 -0
  284. package/dist/store-keys.mjs +63 -0
  285. package/dist/telemetry.d.mts +132 -0
  286. package/dist/telemetry.mjs +172 -0
  287. package/dist/temporal.d.mts +23 -0
  288. package/dist/temporal.mjs +59 -0
  289. package/dist/timer.d.mts +12 -0
  290. package/dist/timer.mjs +28 -0
  291. package/dist/types/cleanup.d.mts +112 -0
  292. package/dist/types/cleanup.mjs +22 -0
  293. package/dist/types/client.d.mts +270 -0
  294. package/dist/types/client.mjs +1 -0
  295. package/dist/types/common.d.mts +19 -0
  296. package/dist/types/common.mjs +15 -0
  297. package/dist/types/definition.d.mts +92 -0
  298. package/dist/types/definition.mjs +1 -0
  299. package/dist/types/engine-options.d.mts +76 -0
  300. package/dist/types/engine-options.mjs +1 -0
  301. package/dist/types/engine.d.mts +309 -0
  302. package/dist/types/engine.mjs +1 -0
  303. package/dist/types/error-code.d.mts +256 -0
  304. package/dist/types/error-code.mjs +131 -0
  305. package/dist/types/error.d.mts +236 -0
  306. package/dist/types/error.mjs +48 -0
  307. package/dist/types/events.d.mts +2869 -0
  308. package/dist/types/events.mjs +283 -0
  309. package/dist/types/hook.d.mts +149 -0
  310. package/dist/types/hook.mjs +66 -0
  311. package/dist/types/lock.d.mts +63 -0
  312. package/dist/types/lock.mjs +18 -0
  313. package/dist/types/message-id.d.mts +7 -0
  314. package/dist/types/message-id.mjs +5 -0
  315. package/dist/types/message.d.mts +87 -0
  316. package/dist/types/message.mjs +1 -0
  317. package/dist/types/observation.d.mts +146 -0
  318. package/dist/types/observation.mjs +1 -0
  319. package/dist/types/pagination.d.mts +32 -0
  320. package/dist/types/pagination.mjs +13 -0
  321. package/dist/types/result.d.mts +62 -0
  322. package/dist/types/result.mjs +1 -0
  323. package/dist/types/retry.d.mts +48 -0
  324. package/dist/types/retry.mjs +1 -0
  325. package/dist/types/run-id.d.mts +7 -0
  326. package/dist/types/run-id.mjs +5 -0
  327. package/dist/types/run-list.d.mts +43 -0
  328. package/dist/types/run-list.mjs +1 -0
  329. package/dist/types/run-options.d.mts +86 -0
  330. package/dist/types/run-options.mjs +1 -0
  331. package/dist/types/run.d.mts +355 -0
  332. package/dist/types/run.mjs +207 -0
  333. package/dist/types/runtime.d.mts +143 -0
  334. package/dist/types/runtime.mjs +21 -0
  335. package/dist/types/schedule.d.mts +127 -0
  336. package/dist/types/schedule.mjs +48 -0
  337. package/dist/types/step-attempts.d.mts +326 -0
  338. package/dist/types/step-attempts.mjs +43 -0
  339. package/dist/types/step-id.d.mts +7 -0
  340. package/dist/types/step-id.mjs +5 -0
  341. package/dist/types/step.d.mts +183 -0
  342. package/dist/types/step.mjs +5 -0
  343. package/dist/types/store.d.mts +254 -0
  344. package/dist/types/store.mjs +1 -0
  345. package/dist/types/stream-id.d.mts +7 -0
  346. package/dist/types/stream-id.mjs +5 -0
  347. package/dist/types/stream.d.mts +126 -0
  348. package/dist/types/stream.mjs +1 -0
  349. package/dist/types/summary.d.mts +318 -0
  350. package/dist/types/summary.mjs +1 -0
  351. package/dist/types/telemetry.d.mts +74 -0
  352. package/dist/types/telemetry.mjs +9 -0
  353. package/dist/types/timeline.d.mts +237 -0
  354. package/dist/types/timeline.mjs +1 -0
  355. package/dist/types/vite.d.mts +65 -0
  356. package/dist/types/vite.mjs +1 -0
  357. package/dist/types/worker-id.d.mts +7 -0
  358. package/dist/types/worker-id.mjs +5 -0
  359. package/dist/types/worker.d.mts +94 -0
  360. package/dist/types/worker.mjs +1 -0
  361. package/dist/utility.d.mts +49 -0
  362. package/dist/utility.mjs +122 -0
  363. package/dist/vite/ast.d.mts +23 -0
  364. package/dist/vite/ast.mjs +73 -0
  365. package/dist/vite/error.d.mts +19 -0
  366. package/dist/vite/error.mjs +47 -0
  367. package/dist/vite/generated-name.d.mts +7 -0
  368. package/dist/vite/generated-name.mjs +9 -0
  369. package/dist/vite/manifest.d.mts +7 -0
  370. package/dist/vite/manifest.mjs +106 -0
  371. package/dist/vite/plugin.d.mts +7 -0
  372. package/dist/vite/plugin.mjs +190 -0
  373. package/dist/vite/safety.d.mts +12 -0
  374. package/dist/vite/safety.mjs +96 -0
  375. package/dist/vite/source-edit.d.mts +12 -0
  376. package/dist/vite/source-edit.mjs +44 -0
  377. package/dist/vite/source-map.d.mts +11 -0
  378. package/dist/vite/source-map.mjs +53 -0
  379. package/dist/vite/source.d.mts +7 -0
  380. package/dist/vite/source.mjs +14 -0
  381. package/dist/vite/transform.d.mts +7 -0
  382. package/dist/vite/transform.mjs +405 -0
  383. package/dist/vite.d.mts +6 -0
  384. package/dist/vite.mjs +5 -0
  385. package/dist/webhook.d.mts +16 -0
  386. package/dist/webhook.mjs +17 -0
  387. package/dist/webpack.d.mts +7 -0
  388. package/dist/webpack.mjs +6 -0
  389. package/dist/worker/error.d.mts +11 -0
  390. package/dist/worker/error.mjs +40 -0
  391. package/dist/worker.d.mts +18 -0
  392. package/dist/worker.mjs +427 -0
  393. package/package.json +144 -0
@@ -0,0 +1,131 @@
1
+ import { z } from "zod";
2
+ //#region src/types/error-code.ts
3
+ /** Stable machine-readable conditions emitted by the workflow package. */
4
+ const WorkflowErrorCode = {
5
+ ERROR: "workflow.error",
6
+ DEFINITION_INVALID: "definition.invalid",
7
+ CAPABILITY_UNSUPPORTED: "capability.unsupported",
8
+ OPTIONS_INVALID: "options.invalid",
9
+ OPTIONS_EXPECTED_OBJECT: "options.expected_object",
10
+ OPTIONS_EXPECTED_ARRAY: "options.expected_array",
11
+ OPTIONS_EXPECTED_FUNCTION: "options.expected_function",
12
+ OPTIONS_EXPECTED_STRING: "options.expected_string",
13
+ OPTIONS_EXPECTED_NON_EMPTY: "options.expected_non_empty",
14
+ OPTIONS_EXPECTED_NON_BLANK: "options.expected_non_blank",
15
+ OPTIONS_EXPECTED_NUMBER: "options.expected_number",
16
+ OPTIONS_EXPECTED_BOOLEAN: "options.expected_boolean",
17
+ OPTIONS_REQUIRED: "options.required",
18
+ OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER: "options.expected_positive_safe_integer",
19
+ OPTIONS_EXPECTED_NON_NEGATIVE_SAFE_INTEGER: "options.expected_non_negative_safe_integer",
20
+ OPTIONS_EXPECTED_POSITIVE_DURATION: "options.expected_positive_duration",
21
+ OPTIONS_EXPECTED_NON_NEGATIVE_DURATION: "options.expected_non_negative_duration",
22
+ OPTIONS_EXPECTED_TIMER_SAFE_DURATION: "options.expected_timer_safe_duration",
23
+ OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER_DURATION: "options.expected_positive_safe_integer_duration",
24
+ OPTIONS_EXPECTED_TEMPORAL_INSTANT: "options.expected_temporal_instant",
25
+ OPTIONS_EXPECTED_ABORT_SIGNAL: "options.expected_abort_signal",
26
+ OPTIONS_CHILD_CANCELLATION_POLICY_INVALID: "options.child_cancellation_policy_invalid",
27
+ OPTIONS_CURSOR_INVALID: "options.cursor_invalid",
28
+ OPTIONS_RETRY_MAXIMUM_INTERVAL_TOO_SMALL: "options.retry_maximum_interval_too_small",
29
+ OPTIONS_RETRYABLE_ERROR_DELAY_CONFLICT: "options.retryable_error_delay_conflict",
30
+ OPTIONS_ENGINE_STORE_STORAGE_CONFLICT: "options.engine_store_storage_conflict",
31
+ OPTIONS_MISSING_IMPLEMENTATION_RETRY_ATTEMPT_INVALID: "options.missing_implementation_retry_attempt_invalid",
32
+ STATE_INVALID: "state.invalid",
33
+ STATE_RUN_NAMESPACE_MISMATCH: "state.run_namespace_mismatch",
34
+ STATE_RUN_ID_MISMATCH: "state.run_id_mismatch",
35
+ STATE_RUN_ALREADY_EXISTS: "state.run_already_exists",
36
+ STATE_EVENT_HISTORY_ALREADY_EXISTS: "state.event_history_already_exists",
37
+ STATE_EVENT_NOT_TERMINAL_STEP: "state.event_not_terminal_step",
38
+ STATE_RECORDED_STEP_EVENT_UNSUPPORTED: "state.recorded_step_event_unsupported",
39
+ STATE_STEP_ATTEMPT_FIELD_MISMATCH: "state.step_attempt_field_mismatch",
40
+ STATE_FAILED_RUN_MISSING_ERROR: "state.failed_run_missing_error",
41
+ STATE_RUN_NOT_CLAIMABLE: "state.run_not_claimable",
42
+ STATE_WORKER_STOPPED_BEFORE_RUN: "state.worker_stopped_before_run",
43
+ STATE_STORE_RUN_ID_INVALID: "state.store_run_id_invalid",
44
+ STATE_IDEMPOTENCY_KEY_CLAIMED_WITHOUT_RUN: "state.idempotency_key_claimed_without_run",
45
+ STATE_RUN_MISSING_IDEMPOTENCY_KEY: "state.run_missing_idempotency_key",
46
+ STATE_RUN_METADATA_UPDATE_FAILED: "state.run_metadata_update_failed",
47
+ STATE_RUN_ATTRIBUTES_UPDATE_FAILED: "state.run_attributes_update_failed",
48
+ STATE_RUN_CANNOT_BE_RESCHEDULED: "state.run_cannot_be_rescheduled",
49
+ STATE_RUN_RESCHEDULE_FAILED: "state.run_reschedule_failed",
50
+ STATE_STALE_LEASE_RELEASE_REQUIRES_RUNNING: "state.stale_lease_release_requires_running",
51
+ STATE_RUN_LEASE_STILL_ACTIVE: "state.run_lease_still_active",
52
+ STATE_STALE_RUN_LEASE_RELEASE_FAILED: "state.stale_run_lease_release_failed",
53
+ STATE_RUN_RETRY_REQUIRES_FAILED: "state.run_retry_requires_failed",
54
+ STATE_RUN_RETRY_REQUIRES_FORCE_AFTER_PERMANENT_FAILURE: "state.run_retry_requires_force_after_permanent_failure",
55
+ STATE_FAILED_RUN_RETRY_REQUIRES_FORCE: "state.failed_run_retry_requires_force",
56
+ STATE_RUN_RETRY_FAILED: "state.run_retry_failed",
57
+ STATE_PERMANENT_RUN_FAILURE_FAILED: "state.permanent_run_failure_failed",
58
+ STATE_PERMANENT_FAILURE_STATUS_INVALID: "state.permanent_failure_status_invalid",
59
+ STATE_MESSAGE_APPEND_FAILED: "state.message_append_failed",
60
+ STATE_CLEANUP_SELECTED_NON_TERMINAL_RUN: "state.cleanup_selected_non_terminal_run",
61
+ STATE_CLEANUP_RUN_MISSING_FINISHED_AT: "state.cleanup_run_missing_finished_at",
62
+ STATE_WORKFLOW_EVENT_APPEND_FAILED: "state.workflow_event_append_failed",
63
+ STATE_STEP_ATTEMPT_MATERIALIZATION_FAILED: "state.step_attempt_materialization_failed",
64
+ STATE_APPEND_PROJECTION_PIPELINE_MISSING: "state.append_projection_pipeline_missing",
65
+ RUNTIME_INVALID: "runtime.invalid",
66
+ RUN_ERROR: "run.error",
67
+ STEP_ERROR: "step.error",
68
+ MESSAGE_ERROR: "message.error",
69
+ IMPLEMENTATION_NOT_FOUND: "implementation.not_found",
70
+ DURATION_INVALID: "duration.invalid",
71
+ SERIALIZATION_FAILED: "serialization.failed",
72
+ NON_RETRYABLE_FAILURE: "failure.non_retryable",
73
+ PERMANENT_FAILURE: "failure.permanent",
74
+ RETRYABLE_FAILURE: "failure.retryable",
75
+ REPLAY_DIVERGED: "replay.diverged",
76
+ LOCK_ALREADY_HELD: "lock.already_held",
77
+ RUN_NOT_FOUND: "run.not_found",
78
+ RUN_INVALID: "run.invalid",
79
+ RUN_WORKFLOW_MISMATCH: "run.workflow_mismatch",
80
+ RUN_RESULT_TIMEOUT: "run.result_timeout",
81
+ RUN_CANCELED: "run.canceled",
82
+ RUN_CANCELLATION_REJECTED: "run.cancellation_rejected",
83
+ RUN_TRANSITION_INVALID: "run.transition_invalid",
84
+ RUN_PARENT_INVALID: "run.parent_invalid",
85
+ RUN_DEADLINE_EXCEEDED: "run.deadline_exceeded",
86
+ CHILD_WORKFLOW_TIMEOUT: "child_workflow.timeout",
87
+ MESSAGE_WAIT_TIMEOUT: "message.wait_timeout",
88
+ HOOK_DISPOSED: "hook.disposed",
89
+ MESSAGE_DELIVERY_REJECTED: "message.delivery_rejected",
90
+ MESSAGE_IDEMPOTENCY_CONFLICT: "message.idempotency_conflict",
91
+ STEP_TIMEOUT: "step.timeout",
92
+ STEP_EXECUTION_FAILED: "step.execution_failed",
93
+ STEP_RETRY_LIMIT_EXCEEDED: "step.retry_limit_exceeded",
94
+ STEP_ATTEMPT_LIMIT_EXCEEDED: "step.attempt_limit_exceeded",
95
+ SCHEDULE_ALREADY_EXISTS: "schedule.already_exists",
96
+ SCHEDULE_NAMESPACE_MISMATCH: "schedule.namespace_mismatch",
97
+ SCHEDULE_RECORD_INVALID: "schedule.record_invalid",
98
+ SCHEDULE_ID_CHANGE_REJECTED: "schedule.id_change_rejected",
99
+ SCHEDULE_CURRENT_RECORD_INVALID: "schedule.current_record_invalid",
100
+ SCHEDULE_NEXT_RECORD_INVALID: "schedule.next_record_invalid",
101
+ SCHEDULE_UPSERT_CONFLICT_EXHAUSTED: "schedule.upsert_conflict_exhausted",
102
+ SCHEDULE_NOT_FOUND: "schedule.not_found",
103
+ SCHEDULE_UPDATE_CONFLICT_EXHAUSTED: "schedule.update_conflict_exhausted",
104
+ STREAM_NOT_FOUND: "stream.not_found",
105
+ STREAM_CHUNK_LIMIT_EXCEEDED: "stream.chunk_limit_exceeded",
106
+ STREAM_READ_OFFSET_CONFLICT: "stream.read_offset_conflict",
107
+ STREAM_CHUNK_INDEX_NON_CONTIGUOUS: "stream.chunk_index_non_contiguous",
108
+ STREAM_CHUNK_AFTER_TERMINAL: "stream.chunk_after_terminal",
109
+ STREAM_ALREADY_CLOSED: "stream.already_closed",
110
+ LOCK_ALREADY_HELD_WITHOUT_WAIT: "lock.already_held_without_wait",
111
+ LOCK_HOLDER_MISMATCH: "lock.holder_mismatch",
112
+ LOCK_ALREADY_RELEASED: "lock.already_released",
113
+ LOCK_NOT_STALE: "lock.not_stale",
114
+ LOCK_WAIT_DEADLINE_CONFLICT: "lock.wait_deadline_conflict",
115
+ LOCK_TIMEOUT_REQUIRES_WAIT: "lock.timeout_requires_wait",
116
+ LOCK_NAMESPACE_MISMATCH: "lock.namespace_mismatch",
117
+ LOCK_KEY_CHANGE_REJECTED: "lock.key_change_rejected",
118
+ LOCK_CURRENT_RECORD_INVALID: "lock.current_record_invalid",
119
+ LOCK_NEXT_RECORD_INVALID: "lock.next_record_invalid",
120
+ LOCK_ACQUIRE_CONFLICT_EXHAUSTED: "lock.acquire_conflict_exhausted",
121
+ LOCK_NOT_FOUND: "lock.not_found",
122
+ LOCK_RELEASE_CONFLICT_EXHAUSTED: "lock.release_conflict_exhausted",
123
+ LOCK_STALE_RELEASE_CONFLICT_EXHAUSTED: "lock.stale_release_conflict_exhausted",
124
+ HOOK_TOKEN_INVALID: "hook.token_invalid",
125
+ WEBHOOK_TOKEN_INVALID: "webhook.token_invalid",
126
+ HOOK_TOKEN_NOT_UNIQUE: "hook.token_not_unique",
127
+ HOOK_WAITING_STEP_MISSING: "hook.waiting_step_missing"
128
+ };
129
+ const workflowErrorCodeSchema = z.enum(WorkflowErrorCode);
130
+ //#endregion
131
+ export { WorkflowErrorCode, workflowErrorCodeSchema };
@@ -0,0 +1,236 @@
1
+ import { WorkflowErrorCode, workflowErrorCodeSchema } from "./error-code.mjs";
2
+ import { MessageId } from "./message-id.mjs";
3
+ import { RunId } from "./run-id.mjs";
4
+ import { StepId } from "./step-id.mjs";
5
+ import { WorkflowRunStatus, WorkflowTerminalRunStatus } from "./run.mjs";
6
+ import { z } from "zod";
7
+ //#region src/types/error.d.ts
8
+ declare const workflowErrorDetailSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
9
+ declare const workflowErrorDetailsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
10
+ declare const workflowErrorRecordSchema: z.ZodObject<{
11
+ code: z.ZodOptional<z.ZodEnum<{
12
+ readonly ERROR: "workflow.error";
13
+ readonly DEFINITION_INVALID: "definition.invalid";
14
+ readonly CAPABILITY_UNSUPPORTED: "capability.unsupported";
15
+ readonly OPTIONS_INVALID: "options.invalid";
16
+ readonly OPTIONS_EXPECTED_OBJECT: "options.expected_object";
17
+ readonly OPTIONS_EXPECTED_ARRAY: "options.expected_array";
18
+ readonly OPTIONS_EXPECTED_FUNCTION: "options.expected_function";
19
+ readonly OPTIONS_EXPECTED_STRING: "options.expected_string";
20
+ readonly OPTIONS_EXPECTED_NON_EMPTY: "options.expected_non_empty";
21
+ readonly OPTIONS_EXPECTED_NON_BLANK: "options.expected_non_blank";
22
+ readonly OPTIONS_EXPECTED_NUMBER: "options.expected_number";
23
+ readonly OPTIONS_EXPECTED_BOOLEAN: "options.expected_boolean";
24
+ readonly OPTIONS_REQUIRED: "options.required";
25
+ readonly OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER: "options.expected_positive_safe_integer";
26
+ readonly OPTIONS_EXPECTED_NON_NEGATIVE_SAFE_INTEGER: "options.expected_non_negative_safe_integer";
27
+ readonly OPTIONS_EXPECTED_POSITIVE_DURATION: "options.expected_positive_duration";
28
+ readonly OPTIONS_EXPECTED_NON_NEGATIVE_DURATION: "options.expected_non_negative_duration";
29
+ readonly OPTIONS_EXPECTED_TIMER_SAFE_DURATION: "options.expected_timer_safe_duration";
30
+ readonly OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER_DURATION: "options.expected_positive_safe_integer_duration";
31
+ readonly OPTIONS_EXPECTED_TEMPORAL_INSTANT: "options.expected_temporal_instant";
32
+ readonly OPTIONS_EXPECTED_ABORT_SIGNAL: "options.expected_abort_signal";
33
+ readonly OPTIONS_CHILD_CANCELLATION_POLICY_INVALID: "options.child_cancellation_policy_invalid";
34
+ readonly OPTIONS_CURSOR_INVALID: "options.cursor_invalid";
35
+ readonly OPTIONS_RETRY_MAXIMUM_INTERVAL_TOO_SMALL: "options.retry_maximum_interval_too_small";
36
+ readonly OPTIONS_RETRYABLE_ERROR_DELAY_CONFLICT: "options.retryable_error_delay_conflict";
37
+ readonly OPTIONS_ENGINE_STORE_STORAGE_CONFLICT: "options.engine_store_storage_conflict";
38
+ readonly OPTIONS_MISSING_IMPLEMENTATION_RETRY_ATTEMPT_INVALID: "options.missing_implementation_retry_attempt_invalid";
39
+ readonly STATE_INVALID: "state.invalid";
40
+ readonly STATE_RUN_NAMESPACE_MISMATCH: "state.run_namespace_mismatch";
41
+ readonly STATE_RUN_ID_MISMATCH: "state.run_id_mismatch";
42
+ readonly STATE_RUN_ALREADY_EXISTS: "state.run_already_exists";
43
+ readonly STATE_EVENT_HISTORY_ALREADY_EXISTS: "state.event_history_already_exists";
44
+ readonly STATE_EVENT_NOT_TERMINAL_STEP: "state.event_not_terminal_step";
45
+ readonly STATE_RECORDED_STEP_EVENT_UNSUPPORTED: "state.recorded_step_event_unsupported";
46
+ readonly STATE_STEP_ATTEMPT_FIELD_MISMATCH: "state.step_attempt_field_mismatch";
47
+ readonly STATE_FAILED_RUN_MISSING_ERROR: "state.failed_run_missing_error";
48
+ readonly STATE_RUN_NOT_CLAIMABLE: "state.run_not_claimable";
49
+ readonly STATE_WORKER_STOPPED_BEFORE_RUN: "state.worker_stopped_before_run";
50
+ readonly STATE_STORE_RUN_ID_INVALID: "state.store_run_id_invalid";
51
+ readonly STATE_IDEMPOTENCY_KEY_CLAIMED_WITHOUT_RUN: "state.idempotency_key_claimed_without_run";
52
+ readonly STATE_RUN_MISSING_IDEMPOTENCY_KEY: "state.run_missing_idempotency_key";
53
+ readonly STATE_RUN_METADATA_UPDATE_FAILED: "state.run_metadata_update_failed";
54
+ readonly STATE_RUN_ATTRIBUTES_UPDATE_FAILED: "state.run_attributes_update_failed";
55
+ readonly STATE_RUN_CANNOT_BE_RESCHEDULED: "state.run_cannot_be_rescheduled";
56
+ readonly STATE_RUN_RESCHEDULE_FAILED: "state.run_reschedule_failed";
57
+ readonly STATE_STALE_LEASE_RELEASE_REQUIRES_RUNNING: "state.stale_lease_release_requires_running";
58
+ readonly STATE_RUN_LEASE_STILL_ACTIVE: "state.run_lease_still_active";
59
+ readonly STATE_STALE_RUN_LEASE_RELEASE_FAILED: "state.stale_run_lease_release_failed";
60
+ readonly STATE_RUN_RETRY_REQUIRES_FAILED: "state.run_retry_requires_failed";
61
+ readonly STATE_RUN_RETRY_REQUIRES_FORCE_AFTER_PERMANENT_FAILURE: "state.run_retry_requires_force_after_permanent_failure";
62
+ readonly STATE_FAILED_RUN_RETRY_REQUIRES_FORCE: "state.failed_run_retry_requires_force";
63
+ readonly STATE_RUN_RETRY_FAILED: "state.run_retry_failed";
64
+ readonly STATE_PERMANENT_RUN_FAILURE_FAILED: "state.permanent_run_failure_failed";
65
+ readonly STATE_PERMANENT_FAILURE_STATUS_INVALID: "state.permanent_failure_status_invalid";
66
+ readonly STATE_MESSAGE_APPEND_FAILED: "state.message_append_failed";
67
+ readonly STATE_CLEANUP_SELECTED_NON_TERMINAL_RUN: "state.cleanup_selected_non_terminal_run";
68
+ readonly STATE_CLEANUP_RUN_MISSING_FINISHED_AT: "state.cleanup_run_missing_finished_at";
69
+ readonly STATE_WORKFLOW_EVENT_APPEND_FAILED: "state.workflow_event_append_failed";
70
+ readonly STATE_STEP_ATTEMPT_MATERIALIZATION_FAILED: "state.step_attempt_materialization_failed";
71
+ readonly STATE_APPEND_PROJECTION_PIPELINE_MISSING: "state.append_projection_pipeline_missing";
72
+ readonly RUNTIME_INVALID: "runtime.invalid";
73
+ readonly RUN_ERROR: "run.error";
74
+ readonly STEP_ERROR: "step.error";
75
+ readonly MESSAGE_ERROR: "message.error";
76
+ readonly IMPLEMENTATION_NOT_FOUND: "implementation.not_found";
77
+ readonly DURATION_INVALID: "duration.invalid";
78
+ readonly SERIALIZATION_FAILED: "serialization.failed";
79
+ readonly NON_RETRYABLE_FAILURE: "failure.non_retryable";
80
+ readonly PERMANENT_FAILURE: "failure.permanent";
81
+ readonly RETRYABLE_FAILURE: "failure.retryable";
82
+ readonly REPLAY_DIVERGED: "replay.diverged";
83
+ readonly LOCK_ALREADY_HELD: "lock.already_held";
84
+ readonly RUN_NOT_FOUND: "run.not_found";
85
+ readonly RUN_INVALID: "run.invalid";
86
+ readonly RUN_WORKFLOW_MISMATCH: "run.workflow_mismatch";
87
+ readonly RUN_RESULT_TIMEOUT: "run.result_timeout";
88
+ readonly RUN_CANCELED: "run.canceled";
89
+ readonly RUN_CANCELLATION_REJECTED: "run.cancellation_rejected";
90
+ readonly RUN_TRANSITION_INVALID: "run.transition_invalid";
91
+ readonly RUN_PARENT_INVALID: "run.parent_invalid";
92
+ readonly RUN_DEADLINE_EXCEEDED: "run.deadline_exceeded";
93
+ readonly CHILD_WORKFLOW_TIMEOUT: "child_workflow.timeout";
94
+ readonly MESSAGE_WAIT_TIMEOUT: "message.wait_timeout";
95
+ readonly HOOK_DISPOSED: "hook.disposed";
96
+ readonly MESSAGE_DELIVERY_REJECTED: "message.delivery_rejected";
97
+ readonly MESSAGE_IDEMPOTENCY_CONFLICT: "message.idempotency_conflict";
98
+ readonly STEP_TIMEOUT: "step.timeout";
99
+ readonly STEP_EXECUTION_FAILED: "step.execution_failed";
100
+ readonly STEP_RETRY_LIMIT_EXCEEDED: "step.retry_limit_exceeded";
101
+ readonly STEP_ATTEMPT_LIMIT_EXCEEDED: "step.attempt_limit_exceeded";
102
+ readonly SCHEDULE_ALREADY_EXISTS: "schedule.already_exists";
103
+ readonly SCHEDULE_NAMESPACE_MISMATCH: "schedule.namespace_mismatch";
104
+ readonly SCHEDULE_RECORD_INVALID: "schedule.record_invalid";
105
+ readonly SCHEDULE_ID_CHANGE_REJECTED: "schedule.id_change_rejected";
106
+ readonly SCHEDULE_CURRENT_RECORD_INVALID: "schedule.current_record_invalid";
107
+ readonly SCHEDULE_NEXT_RECORD_INVALID: "schedule.next_record_invalid";
108
+ readonly SCHEDULE_UPSERT_CONFLICT_EXHAUSTED: "schedule.upsert_conflict_exhausted";
109
+ readonly SCHEDULE_NOT_FOUND: "schedule.not_found";
110
+ readonly SCHEDULE_UPDATE_CONFLICT_EXHAUSTED: "schedule.update_conflict_exhausted";
111
+ readonly STREAM_NOT_FOUND: "stream.not_found";
112
+ readonly STREAM_CHUNK_LIMIT_EXCEEDED: "stream.chunk_limit_exceeded";
113
+ readonly STREAM_READ_OFFSET_CONFLICT: "stream.read_offset_conflict";
114
+ readonly STREAM_CHUNK_INDEX_NON_CONTIGUOUS: "stream.chunk_index_non_contiguous";
115
+ readonly STREAM_CHUNK_AFTER_TERMINAL: "stream.chunk_after_terminal";
116
+ readonly STREAM_ALREADY_CLOSED: "stream.already_closed";
117
+ readonly LOCK_ALREADY_HELD_WITHOUT_WAIT: "lock.already_held_without_wait";
118
+ readonly LOCK_HOLDER_MISMATCH: "lock.holder_mismatch";
119
+ readonly LOCK_ALREADY_RELEASED: "lock.already_released";
120
+ readonly LOCK_NOT_STALE: "lock.not_stale";
121
+ readonly LOCK_WAIT_DEADLINE_CONFLICT: "lock.wait_deadline_conflict";
122
+ readonly LOCK_TIMEOUT_REQUIRES_WAIT: "lock.timeout_requires_wait";
123
+ readonly LOCK_NAMESPACE_MISMATCH: "lock.namespace_mismatch";
124
+ readonly LOCK_KEY_CHANGE_REJECTED: "lock.key_change_rejected";
125
+ readonly LOCK_CURRENT_RECORD_INVALID: "lock.current_record_invalid";
126
+ readonly LOCK_NEXT_RECORD_INVALID: "lock.next_record_invalid";
127
+ readonly LOCK_ACQUIRE_CONFLICT_EXHAUSTED: "lock.acquire_conflict_exhausted";
128
+ readonly LOCK_NOT_FOUND: "lock.not_found";
129
+ readonly LOCK_RELEASE_CONFLICT_EXHAUSTED: "lock.release_conflict_exhausted";
130
+ readonly LOCK_STALE_RELEASE_CONFLICT_EXHAUSTED: "lock.stale_release_conflict_exhausted";
131
+ readonly HOOK_TOKEN_INVALID: "hook.token_invalid";
132
+ readonly WEBHOOK_TOKEN_INVALID: "webhook.token_invalid";
133
+ readonly HOOK_TOKEN_NOT_UNIQUE: "hook.token_not_unique";
134
+ readonly HOOK_WAITING_STEP_MISSING: "hook.waiting_step_missing";
135
+ }>>;
136
+ name: z.ZodString;
137
+ message: z.ZodString;
138
+ stack: z.ZodOptional<z.ZodString>;
139
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
140
+ }, z.core.$loose>;
141
+ declare const optionalWorkflowErrorStringSchema: z.ZodOptional<z.ZodString>;
142
+ declare const workflowErrorRunStatusSchema: z.ZodType<WorkflowRunStatus>;
143
+ declare const workflowTerminalErrorRunStatusSchema: z.ZodType<WorkflowTerminalRunStatus>;
144
+ /** Returns workflow-safe error details, or undefined when the input cannot be persisted. */
145
+ declare function sanitizedWorkflowErrorDetails(details: unknown): WorkflowErrorDetails | undefined;
146
+ /** JSON-serializable detail fields attached to workflow errors. */
147
+ type WorkflowErrorDetails = Readonly<Record<string, string | number | boolean | null>>;
148
+ /** Persisted representation of an error captured during workflow execution. */
149
+ interface WorkflowErrorRecord {
150
+ readonly [key: string]: unknown;
151
+ readonly code?: WorkflowErrorCode;
152
+ readonly name: string;
153
+ readonly message: string;
154
+ readonly stack?: string;
155
+ readonly details?: WorkflowErrorDetails;
156
+ }
157
+ /** Options for workflow error. */
158
+ interface WorkflowErrorOptions extends ErrorOptions {
159
+ readonly code?: WorkflowErrorCode;
160
+ readonly details?: WorkflowErrorDetails;
161
+ }
162
+ /** Options for marking a workflow failure as non-retryable. */
163
+ type WorkflowNonRetryableErrorOptions = WorkflowErrorOptions;
164
+ /** Options for workflow retryable error. */
165
+ interface WorkflowRetryableErrorOptions extends WorkflowErrorOptions {
166
+ readonly retryAt?: Temporal.Instant;
167
+ readonly retryDelay?: Temporal.Duration;
168
+ }
169
+ /** Options for workflow step execution error. */
170
+ interface WorkflowStepExecutionErrorOptions {
171
+ readonly stepId: StepId;
172
+ readonly stepName: string;
173
+ readonly attempt: number;
174
+ readonly cause: unknown;
175
+ }
176
+ /** Options for errors raised when a run belongs to a different workflow than expected. */
177
+ interface WorkflowRunMismatchErrorOptions {
178
+ readonly runId: RunId;
179
+ readonly expectedWorkflowName: string;
180
+ readonly actualWorkflowName: string;
181
+ }
182
+ /** Options for errors raised when a child workflow does not finish before its timeout. */
183
+ interface WorkflowChildWorkflowTimeoutErrorOptions {
184
+ readonly runId: RunId;
185
+ readonly childrunId: RunId;
186
+ readonly stepId: StepId;
187
+ readonly timeoutAt: Temporal.Instant;
188
+ }
189
+ /** Options for errors raised when a workflow message wait times out. */
190
+ interface WorkflowMessageWaitTimeoutErrorOptions {
191
+ readonly runId: RunId;
192
+ readonly stepId: StepId;
193
+ readonly stepName: string;
194
+ readonly messageId: MessageId;
195
+ readonly timeoutAt: Temporal.Instant;
196
+ }
197
+ /** Options for errors raised when a pending external resume hook is disposed. */
198
+ interface WorkflowHookDisposedErrorOptions {
199
+ readonly runId: RunId;
200
+ readonly stepId: StepId;
201
+ readonly stepName: string;
202
+ readonly messageId: MessageId;
203
+ }
204
+ /** Options for errors raised when a messageId cannot be delivered to a terminal run. */
205
+ interface WorkflowMessageDeliveryErrorOptions {
206
+ readonly runId: RunId;
207
+ readonly status: WorkflowTerminalRunStatus;
208
+ readonly messageId: MessageId;
209
+ }
210
+ /** Options for errors raised when a messageId idempotency key conflicts with another messageId. */
211
+ interface WorkflowMessageIdempotencyConflictErrorOptions {
212
+ readonly runId: RunId;
213
+ readonly messageId: MessageId;
214
+ readonly idempotencyKey: string;
215
+ }
216
+ /** Options for marking a workflow run as permanently failed with an operator reason. */
217
+ interface WorkflowPermanentFailureErrorOptions {
218
+ readonly runId: RunId;
219
+ readonly reason: string;
220
+ }
221
+ /** Options for errors raised when a durable step attempt exceeds its timeout. */
222
+ interface WorkflowStepTimeoutErrorOptions {
223
+ readonly runId: RunId;
224
+ readonly stepId: StepId;
225
+ readonly stepName: string;
226
+ readonly attempt: number;
227
+ readonly timeoutAt: Temporal.Instant;
228
+ }
229
+ /** Options for errors raised when replayed history no longer matches the workflow code. */
230
+ interface WorkflowReplayDivergenceErrorOptions {
231
+ readonly expectedStepId?: string;
232
+ readonly actualStepId?: string;
233
+ readonly message: string;
234
+ }
235
+ //#endregion
236
+ export { WorkflowChildWorkflowTimeoutErrorOptions, WorkflowErrorCode, WorkflowErrorDetails, WorkflowErrorOptions, WorkflowErrorRecord, WorkflowHookDisposedErrorOptions, WorkflowMessageDeliveryErrorOptions, WorkflowMessageIdempotencyConflictErrorOptions, WorkflowMessageWaitTimeoutErrorOptions, WorkflowNonRetryableErrorOptions, WorkflowPermanentFailureErrorOptions, WorkflowReplayDivergenceErrorOptions, WorkflowRetryableErrorOptions, WorkflowRunMismatchErrorOptions, WorkflowStepExecutionErrorOptions, WorkflowStepTimeoutErrorOptions, optionalWorkflowErrorStringSchema, sanitizedWorkflowErrorDetails, workflowErrorCodeSchema, workflowErrorDetailSchema, workflowErrorDetailsSchema, workflowErrorRecordSchema, workflowErrorRunStatusSchema, workflowTerminalErrorRunStatusSchema };
@@ -0,0 +1,48 @@
1
+ import { WorkflowErrorCode, workflowErrorCodeSchema } from "./error-code.mjs";
2
+ import { nonBlankStringSchema } from "./common.mjs";
3
+ import { z } from "zod";
4
+ //#region src/types/error.ts
5
+ const workflowRunStatuses = [
6
+ "pending",
7
+ "running",
8
+ "waiting",
9
+ "completed",
10
+ "failed",
11
+ "canceled"
12
+ ];
13
+ const workflowTerminalRunStatuses = [
14
+ "completed",
15
+ "failed",
16
+ "canceled"
17
+ ];
18
+ const workflowErrorDetailSchema = z.union([
19
+ z.string(),
20
+ z.number(),
21
+ z.boolean(),
22
+ z.null()
23
+ ]);
24
+ const workflowErrorDetailsSchema = z.record(nonBlankStringSchema, workflowErrorDetailSchema).refine((value) => {
25
+ const prototype = Object.getPrototypeOf(value);
26
+ return prototype === Object.prototype || prototype === null;
27
+ }, { error: "Expected a plain error details object" });
28
+ const workflowErrorRecordSchema = z.looseObject({
29
+ code: workflowErrorCodeSchema.optional(),
30
+ name: nonBlankStringSchema,
31
+ message: nonBlankStringSchema,
32
+ stack: nonBlankStringSchema.optional(),
33
+ details: workflowErrorDetailsSchema.optional()
34
+ });
35
+ const optionalWorkflowErrorStringSchema = nonBlankStringSchema.optional();
36
+ const workflowErrorRunStatusSchema = z.enum(workflowRunStatuses, { error: "Expected a workflow run status" });
37
+ const workflowTerminalErrorRunStatusSchema = z.enum(workflowTerminalRunStatuses, { error: "Expected a terminal workflow run status" });
38
+ /** Returns workflow-safe error details, or undefined when the input cannot be persisted. */
39
+ function sanitizedWorkflowErrorDetails(details) {
40
+ const parsed = workflowErrorDetailsSchema.safeParse(details);
41
+ if (!parsed.success) return;
42
+ const sanitized = Object.fromEntries(Object.entries(parsed.data).filter(([key, value]) => {
43
+ return nonBlankStringSchema.safeParse(key).success && workflowErrorDetailSchema.safeParse(value).success;
44
+ }));
45
+ return Object.keys(sanitized).length === 0 ? void 0 : sanitized;
46
+ }
47
+ //#endregion
48
+ export { WorkflowErrorCode, optionalWorkflowErrorStringSchema, sanitizedWorkflowErrorDetails, workflowErrorCodeSchema, workflowErrorDetailSchema, workflowErrorDetailsSchema, workflowErrorRecordSchema, workflowErrorRunStatusSchema, workflowTerminalErrorRunStatusSchema };