@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,326 @@
1
+ import { MessageId } from "./message-id.mjs";
2
+ import { RunId } from "./run-id.mjs";
3
+ import { StepId } from "./step-id.mjs";
4
+ import { WorkflowChildWorkflowCancellationPolicy } from "./step.mjs";
5
+ import { WorkflowRunFailureSummary, WorkflowRunRetrySummary, WorkflowRunStatusCounts } from "./summary.mjs";
6
+ import { WorkflowMaterializedStepType } from "./run.mjs";
7
+ import { WorkflowErrorRecord } from "./error.mjs";
8
+ import { StorageValue } from "@temelj/storage";
9
+ import { z } from "zod";
10
+ //#region src/types/step-attempts.d.ts
11
+ declare const workflowStepAttemptStatusSchema: z.ZodEnum<{
12
+ abandoned: "abandoned";
13
+ completed: "completed";
14
+ failed: "failed";
15
+ running: "running";
16
+ }>;
17
+ declare const workflowStepAttemptRecordSchema: z.ZodObject<{
18
+ runId: z.ZodString;
19
+ stepId: z.ZodString;
20
+ stepName: z.ZodString;
21
+ kind: z.ZodEnum<{
22
+ deterministic: "deterministic";
23
+ "message-send": "message-send";
24
+ "message-wait": "message-wait";
25
+ run: "run";
26
+ sleep: "sleep";
27
+ stream: "stream";
28
+ workflow: "workflow";
29
+ }>;
30
+ status: z.ZodEnum<{
31
+ abandoned: "abandoned";
32
+ completed: "completed";
33
+ failed: "failed";
34
+ running: "running";
35
+ }>;
36
+ attempt: z.ZodNumber;
37
+ count: z.ZodOptional<z.ZodNumber>;
38
+ output: z.ZodOptional<z.ZodType<StorageValue, unknown, z.core.$ZodTypeInternals<StorageValue, unknown>>>;
39
+ error: z.ZodOptional<z.ZodObject<{
40
+ code: z.ZodOptional<z.ZodEnum<{
41
+ readonly ERROR: "workflow.error";
42
+ readonly DEFINITION_INVALID: "definition.invalid";
43
+ readonly CAPABILITY_UNSUPPORTED: "capability.unsupported";
44
+ readonly OPTIONS_INVALID: "options.invalid";
45
+ readonly OPTIONS_EXPECTED_OBJECT: "options.expected_object";
46
+ readonly OPTIONS_EXPECTED_ARRAY: "options.expected_array";
47
+ readonly OPTIONS_EXPECTED_FUNCTION: "options.expected_function";
48
+ readonly OPTIONS_EXPECTED_STRING: "options.expected_string";
49
+ readonly OPTIONS_EXPECTED_NON_EMPTY: "options.expected_non_empty";
50
+ readonly OPTIONS_EXPECTED_NON_BLANK: "options.expected_non_blank";
51
+ readonly OPTIONS_EXPECTED_NUMBER: "options.expected_number";
52
+ readonly OPTIONS_EXPECTED_BOOLEAN: "options.expected_boolean";
53
+ readonly OPTIONS_REQUIRED: "options.required";
54
+ readonly OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER: "options.expected_positive_safe_integer";
55
+ readonly OPTIONS_EXPECTED_NON_NEGATIVE_SAFE_INTEGER: "options.expected_non_negative_safe_integer";
56
+ readonly OPTIONS_EXPECTED_POSITIVE_DURATION: "options.expected_positive_duration";
57
+ readonly OPTIONS_EXPECTED_NON_NEGATIVE_DURATION: "options.expected_non_negative_duration";
58
+ readonly OPTIONS_EXPECTED_TIMER_SAFE_DURATION: "options.expected_timer_safe_duration";
59
+ readonly OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER_DURATION: "options.expected_positive_safe_integer_duration";
60
+ readonly OPTIONS_EXPECTED_TEMPORAL_INSTANT: "options.expected_temporal_instant";
61
+ readonly OPTIONS_EXPECTED_ABORT_SIGNAL: "options.expected_abort_signal";
62
+ readonly OPTIONS_CHILD_CANCELLATION_POLICY_INVALID: "options.child_cancellation_policy_invalid";
63
+ readonly OPTIONS_CURSOR_INVALID: "options.cursor_invalid";
64
+ readonly OPTIONS_RETRY_MAXIMUM_INTERVAL_TOO_SMALL: "options.retry_maximum_interval_too_small";
65
+ readonly OPTIONS_RETRYABLE_ERROR_DELAY_CONFLICT: "options.retryable_error_delay_conflict";
66
+ readonly OPTIONS_ENGINE_STORE_STORAGE_CONFLICT: "options.engine_store_storage_conflict";
67
+ readonly OPTIONS_MISSING_IMPLEMENTATION_RETRY_ATTEMPT_INVALID: "options.missing_implementation_retry_attempt_invalid";
68
+ readonly STATE_INVALID: "state.invalid";
69
+ readonly STATE_RUN_NAMESPACE_MISMATCH: "state.run_namespace_mismatch";
70
+ readonly STATE_RUN_ID_MISMATCH: "state.run_id_mismatch";
71
+ readonly STATE_RUN_ALREADY_EXISTS: "state.run_already_exists";
72
+ readonly STATE_EVENT_HISTORY_ALREADY_EXISTS: "state.event_history_already_exists";
73
+ readonly STATE_EVENT_NOT_TERMINAL_STEP: "state.event_not_terminal_step";
74
+ readonly STATE_RECORDED_STEP_EVENT_UNSUPPORTED: "state.recorded_step_event_unsupported";
75
+ readonly STATE_STEP_ATTEMPT_FIELD_MISMATCH: "state.step_attempt_field_mismatch";
76
+ readonly STATE_FAILED_RUN_MISSING_ERROR: "state.failed_run_missing_error";
77
+ readonly STATE_RUN_NOT_CLAIMABLE: "state.run_not_claimable";
78
+ readonly STATE_WORKER_STOPPED_BEFORE_RUN: "state.worker_stopped_before_run";
79
+ readonly STATE_STORE_RUN_ID_INVALID: "state.store_run_id_invalid";
80
+ readonly STATE_IDEMPOTENCY_KEY_CLAIMED_WITHOUT_RUN: "state.idempotency_key_claimed_without_run";
81
+ readonly STATE_RUN_MISSING_IDEMPOTENCY_KEY: "state.run_missing_idempotency_key";
82
+ readonly STATE_RUN_METADATA_UPDATE_FAILED: "state.run_metadata_update_failed";
83
+ readonly STATE_RUN_ATTRIBUTES_UPDATE_FAILED: "state.run_attributes_update_failed";
84
+ readonly STATE_RUN_CANNOT_BE_RESCHEDULED: "state.run_cannot_be_rescheduled";
85
+ readonly STATE_RUN_RESCHEDULE_FAILED: "state.run_reschedule_failed";
86
+ readonly STATE_STALE_LEASE_RELEASE_REQUIRES_RUNNING: "state.stale_lease_release_requires_running";
87
+ readonly STATE_RUN_LEASE_STILL_ACTIVE: "state.run_lease_still_active";
88
+ readonly STATE_STALE_RUN_LEASE_RELEASE_FAILED: "state.stale_run_lease_release_failed";
89
+ readonly STATE_RUN_RETRY_REQUIRES_FAILED: "state.run_retry_requires_failed";
90
+ readonly STATE_RUN_RETRY_REQUIRES_FORCE_AFTER_PERMANENT_FAILURE: "state.run_retry_requires_force_after_permanent_failure";
91
+ readonly STATE_FAILED_RUN_RETRY_REQUIRES_FORCE: "state.failed_run_retry_requires_force";
92
+ readonly STATE_RUN_RETRY_FAILED: "state.run_retry_failed";
93
+ readonly STATE_PERMANENT_RUN_FAILURE_FAILED: "state.permanent_run_failure_failed";
94
+ readonly STATE_PERMANENT_FAILURE_STATUS_INVALID: "state.permanent_failure_status_invalid";
95
+ readonly STATE_MESSAGE_APPEND_FAILED: "state.message_append_failed";
96
+ readonly STATE_CLEANUP_SELECTED_NON_TERMINAL_RUN: "state.cleanup_selected_non_terminal_run";
97
+ readonly STATE_CLEANUP_RUN_MISSING_FINISHED_AT: "state.cleanup_run_missing_finished_at";
98
+ readonly STATE_WORKFLOW_EVENT_APPEND_FAILED: "state.workflow_event_append_failed";
99
+ readonly STATE_STEP_ATTEMPT_MATERIALIZATION_FAILED: "state.step_attempt_materialization_failed";
100
+ readonly STATE_APPEND_PROJECTION_PIPELINE_MISSING: "state.append_projection_pipeline_missing";
101
+ readonly RUNTIME_INVALID: "runtime.invalid";
102
+ readonly RUN_ERROR: "run.error";
103
+ readonly STEP_ERROR: "step.error";
104
+ readonly MESSAGE_ERROR: "message.error";
105
+ readonly IMPLEMENTATION_NOT_FOUND: "implementation.not_found";
106
+ readonly DURATION_INVALID: "duration.invalid";
107
+ readonly SERIALIZATION_FAILED: "serialization.failed";
108
+ readonly NON_RETRYABLE_FAILURE: "failure.non_retryable";
109
+ readonly PERMANENT_FAILURE: "failure.permanent";
110
+ readonly RETRYABLE_FAILURE: "failure.retryable";
111
+ readonly REPLAY_DIVERGED: "replay.diverged";
112
+ readonly LOCK_ALREADY_HELD: "lock.already_held";
113
+ readonly RUN_NOT_FOUND: "run.not_found";
114
+ readonly RUN_INVALID: "run.invalid";
115
+ readonly RUN_WORKFLOW_MISMATCH: "run.workflow_mismatch";
116
+ readonly RUN_RESULT_TIMEOUT: "run.result_timeout";
117
+ readonly RUN_CANCELED: "run.canceled";
118
+ readonly RUN_CANCELLATION_REJECTED: "run.cancellation_rejected";
119
+ readonly RUN_TRANSITION_INVALID: "run.transition_invalid";
120
+ readonly RUN_PARENT_INVALID: "run.parent_invalid";
121
+ readonly RUN_DEADLINE_EXCEEDED: "run.deadline_exceeded";
122
+ readonly CHILD_WORKFLOW_TIMEOUT: "child_workflow.timeout";
123
+ readonly MESSAGE_WAIT_TIMEOUT: "message.wait_timeout";
124
+ readonly HOOK_DISPOSED: "hook.disposed";
125
+ readonly MESSAGE_DELIVERY_REJECTED: "message.delivery_rejected";
126
+ readonly MESSAGE_IDEMPOTENCY_CONFLICT: "message.idempotency_conflict";
127
+ readonly STEP_TIMEOUT: "step.timeout";
128
+ readonly STEP_EXECUTION_FAILED: "step.execution_failed";
129
+ readonly STEP_RETRY_LIMIT_EXCEEDED: "step.retry_limit_exceeded";
130
+ readonly STEP_ATTEMPT_LIMIT_EXCEEDED: "step.attempt_limit_exceeded";
131
+ readonly SCHEDULE_ALREADY_EXISTS: "schedule.already_exists";
132
+ readonly SCHEDULE_NAMESPACE_MISMATCH: "schedule.namespace_mismatch";
133
+ readonly SCHEDULE_RECORD_INVALID: "schedule.record_invalid";
134
+ readonly SCHEDULE_ID_CHANGE_REJECTED: "schedule.id_change_rejected";
135
+ readonly SCHEDULE_CURRENT_RECORD_INVALID: "schedule.current_record_invalid";
136
+ readonly SCHEDULE_NEXT_RECORD_INVALID: "schedule.next_record_invalid";
137
+ readonly SCHEDULE_UPSERT_CONFLICT_EXHAUSTED: "schedule.upsert_conflict_exhausted";
138
+ readonly SCHEDULE_NOT_FOUND: "schedule.not_found";
139
+ readonly SCHEDULE_UPDATE_CONFLICT_EXHAUSTED: "schedule.update_conflict_exhausted";
140
+ readonly STREAM_NOT_FOUND: "stream.not_found";
141
+ readonly STREAM_CHUNK_LIMIT_EXCEEDED: "stream.chunk_limit_exceeded";
142
+ readonly STREAM_READ_OFFSET_CONFLICT: "stream.read_offset_conflict";
143
+ readonly STREAM_CHUNK_INDEX_NON_CONTIGUOUS: "stream.chunk_index_non_contiguous";
144
+ readonly STREAM_CHUNK_AFTER_TERMINAL: "stream.chunk_after_terminal";
145
+ readonly STREAM_ALREADY_CLOSED: "stream.already_closed";
146
+ readonly LOCK_ALREADY_HELD_WITHOUT_WAIT: "lock.already_held_without_wait";
147
+ readonly LOCK_HOLDER_MISMATCH: "lock.holder_mismatch";
148
+ readonly LOCK_ALREADY_RELEASED: "lock.already_released";
149
+ readonly LOCK_NOT_STALE: "lock.not_stale";
150
+ readonly LOCK_WAIT_DEADLINE_CONFLICT: "lock.wait_deadline_conflict";
151
+ readonly LOCK_TIMEOUT_REQUIRES_WAIT: "lock.timeout_requires_wait";
152
+ readonly LOCK_NAMESPACE_MISMATCH: "lock.namespace_mismatch";
153
+ readonly LOCK_KEY_CHANGE_REJECTED: "lock.key_change_rejected";
154
+ readonly LOCK_CURRENT_RECORD_INVALID: "lock.current_record_invalid";
155
+ readonly LOCK_NEXT_RECORD_INVALID: "lock.next_record_invalid";
156
+ readonly LOCK_ACQUIRE_CONFLICT_EXHAUSTED: "lock.acquire_conflict_exhausted";
157
+ readonly LOCK_NOT_FOUND: "lock.not_found";
158
+ readonly LOCK_RELEASE_CONFLICT_EXHAUSTED: "lock.release_conflict_exhausted";
159
+ readonly LOCK_STALE_RELEASE_CONFLICT_EXHAUSTED: "lock.stale_release_conflict_exhausted";
160
+ readonly HOOK_TOKEN_INVALID: "hook.token_invalid";
161
+ readonly WEBHOOK_TOKEN_INVALID: "webhook.token_invalid";
162
+ readonly HOOK_TOKEN_NOT_UNIQUE: "hook.token_not_unique";
163
+ readonly HOOK_WAITING_STEP_MISSING: "hook.waiting_step_missing";
164
+ }>>;
165
+ name: z.ZodString;
166
+ message: z.ZodString;
167
+ stack: z.ZodOptional<z.ZodString>;
168
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
169
+ }, z.core.$loose>>;
170
+ until: z.ZodOptional<z.ZodCustom<Temporal.Instant, Temporal.Instant>>;
171
+ duration: z.ZodOptional<z.ZodCustom<Temporal.Duration, Temporal.Duration>>;
172
+ childRunId: z.ZodOptional<z.ZodString>;
173
+ workflowName: z.ZodOptional<z.ZodString>;
174
+ workflowVersion: z.ZodOptional<z.ZodString>;
175
+ cancellation: z.ZodOptional<z.ZodEnum<{
176
+ cascade: "cascade";
177
+ detach: "detach";
178
+ }>>;
179
+ input: z.ZodOptional<z.ZodType<StorageValue, unknown, z.core.$ZodTypeInternals<StorageValue, unknown>>>;
180
+ timeoutAt: z.ZodOptional<z.ZodCustom<Temporal.Instant, Temporal.Instant>>;
181
+ messageId: z.ZodOptional<z.ZodString>;
182
+ targetRunId: z.ZodOptional<z.ZodString>;
183
+ payload: z.ZodOptional<z.ZodType<StorageValue, unknown, z.core.$ZodTypeInternals<StorageValue, unknown>>>;
184
+ messageTimestamp: z.ZodOptional<z.ZodCustom<Temporal.Instant, Temporal.Instant>>;
185
+ createdAt: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
186
+ startedAt: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
187
+ finishedAt: z.ZodOptional<z.ZodCustom<Temporal.Instant, Temporal.Instant>>;
188
+ }, z.core.$strip>;
189
+ /** Status values for workflow step attempt. */
190
+ type WorkflowStepAttemptStatus = "running" | "completed" | "failed" | "abandoned";
191
+ /** Stored record for workflow step attempt. */
192
+ interface WorkflowStepAttemptRecord {
193
+ readonly runId: RunId;
194
+ readonly stepId: StepId;
195
+ readonly stepName: string;
196
+ readonly kind: WorkflowMaterializedStepType;
197
+ readonly status: WorkflowStepAttemptStatus;
198
+ readonly attempt: number;
199
+ readonly count?: number;
200
+ readonly output?: StorageValue;
201
+ readonly error?: WorkflowErrorRecord;
202
+ readonly until?: Temporal.Instant;
203
+ readonly duration?: Temporal.Duration;
204
+ readonly childRunId?: RunId;
205
+ readonly workflowName?: string;
206
+ readonly workflowVersion?: string;
207
+ readonly cancellation?: WorkflowChildWorkflowCancellationPolicy;
208
+ readonly input?: StorageValue;
209
+ readonly timeoutAt?: Temporal.Instant;
210
+ readonly messageId?: MessageId;
211
+ readonly targetRunId?: RunId;
212
+ readonly payload?: StorageValue;
213
+ readonly messageTimestamp?: Temporal.Instant;
214
+ readonly createdAt: Temporal.Instant;
215
+ readonly startedAt: Temporal.Instant;
216
+ readonly finishedAt?: Temporal.Instant;
217
+ }
218
+ /** Options for workflow list step attempts. */
219
+ interface WorkflowListStepAttemptsOptions {
220
+ readonly status?: WorkflowStepAttemptStatus | readonly WorkflowStepAttemptStatus[];
221
+ readonly kind?: WorkflowMaterializedStepType | readonly WorkflowMaterializedStepType[];
222
+ readonly stepId?: StepId;
223
+ readonly stepName?: string;
224
+ readonly attempt?: number;
225
+ readonly childRunId?: RunId;
226
+ readonly workflowName?: string;
227
+ readonly workflowVersion?: string;
228
+ readonly messageId?: MessageId;
229
+ readonly targetRunId?: RunId;
230
+ readonly createdAtFrom?: Temporal.Instant;
231
+ readonly createdAtTo?: Temporal.Instant;
232
+ readonly startedAtFrom?: Temporal.Instant;
233
+ readonly startedAtTo?: Temporal.Instant;
234
+ readonly finishedAtFrom?: Temporal.Instant;
235
+ readonly finishedAtTo?: Temporal.Instant;
236
+ readonly untilFrom?: Temporal.Instant;
237
+ readonly untilTo?: Temporal.Instant;
238
+ readonly durationFrom?: Temporal.Duration;
239
+ readonly durationTo?: Temporal.Duration;
240
+ readonly timeoutAtFrom?: Temporal.Instant;
241
+ readonly timeoutAtTo?: Temporal.Instant;
242
+ readonly messageTimestampFrom?: Temporal.Instant;
243
+ readonly messageTimestampTo?: Temporal.Instant;
244
+ readonly limit?: number;
245
+ }
246
+ type WorkflowStepAttemptSummaryStringArray = readonly string[];
247
+ /** Summary data for workflow step attempt. */
248
+ interface WorkflowStepAttemptSummary {
249
+ readonly total: number;
250
+ readonly status: WorkflowStepAttemptStatusCounts;
251
+ readonly statusStepIds: WorkflowStepAttemptStatusStepIds;
252
+ readonly statusAttemptKeys: WorkflowStepAttemptStatusAttemptKeys;
253
+ readonly kind: WorkflowStepAttemptKindCounts;
254
+ readonly kindStepIds: WorkflowStepAttemptKindStepIds;
255
+ readonly kindAttemptKeys: WorkflowStepAttemptKindAttemptKeys;
256
+ readonly failure?: WorkflowStepAttemptFailureSummary;
257
+ readonly oldestRunningAt?: Temporal.Instant;
258
+ readonly latestFinishedAt?: Temporal.Instant;
259
+ readonly activeSleepStepIds?: WorkflowStepAttemptSummaryStringArray;
260
+ readonly activeSleepAttemptKeys?: WorkflowStepAttemptSummaryStringArray;
261
+ readonly nextSleepUntil?: Temporal.Instant;
262
+ readonly nextSleepStepId?: StepId;
263
+ readonly nextSleepAttemptKey?: string;
264
+ readonly nextSleepDuration?: Temporal.Duration;
265
+ readonly activeChildWorkflows?: WorkflowActiveChildWorkflowSummary;
266
+ readonly activeMessageWaits?: WorkflowActiveMessageWaitSummary;
267
+ }
268
+ /** Counts grouped by step attempt status. */
269
+ type WorkflowStepAttemptStatusCounts = Readonly<Record<WorkflowStepAttemptStatus, number>>;
270
+ /** Step IDs grouped by step attempt status. */
271
+ type WorkflowStepAttemptStatusStepIds = Readonly<Record<WorkflowStepAttemptStatus, WorkflowStepAttemptSummaryStringArray>>;
272
+ /** Step attempt keys grouped by step attempt status. */
273
+ type WorkflowStepAttemptStatusAttemptKeys = Readonly<Record<WorkflowStepAttemptStatus, WorkflowStepAttemptSummaryStringArray>>;
274
+ /** Counts grouped by step attempt kind. */
275
+ type WorkflowStepAttemptKindCounts = Readonly<Record<WorkflowMaterializedStepType, number>>;
276
+ /** Step IDs grouped by step attempt kind. */
277
+ type WorkflowStepAttemptKindStepIds = Readonly<Record<WorkflowMaterializedStepType, WorkflowStepAttemptSummaryStringArray>>;
278
+ /** Step attempt keys grouped by step attempt kind. */
279
+ type WorkflowStepAttemptKindAttemptKeys = Readonly<Record<WorkflowMaterializedStepType, WorkflowStepAttemptSummaryStringArray>>;
280
+ /** Summary data for workflow step attempt failure. */
281
+ interface WorkflowStepAttemptFailureSummary {
282
+ readonly total: number;
283
+ readonly failedStepIds: WorkflowStepAttemptSummaryStringArray;
284
+ readonly failedAttemptKeys: WorkflowStepAttemptSummaryStringArray;
285
+ readonly errors: readonly WorkflowStepAttemptFailureErrorSummary[];
286
+ readonly latestFailedAt?: Temporal.Instant;
287
+ }
288
+ /** Summary data for workflow step attempt failure error. */
289
+ interface WorkflowStepAttemptFailureErrorSummary {
290
+ readonly name: string;
291
+ readonly count: number;
292
+ readonly failedStepIds: WorkflowStepAttemptSummaryStringArray;
293
+ readonly failedAttemptKeys: WorkflowStepAttemptSummaryStringArray;
294
+ readonly latestFailedAt?: Temporal.Instant;
295
+ }
296
+ /** Summary data for workflow active message wait. */
297
+ interface WorkflowActiveMessageWaitSummary {
298
+ readonly total: number;
299
+ readonly stepIds: WorkflowStepAttemptSummaryStringArray;
300
+ readonly attemptKeys: WorkflowStepAttemptSummaryStringArray;
301
+ readonly messages: WorkflowStepAttemptSummaryStringArray;
302
+ readonly oldestStartedAt?: Temporal.Instant;
303
+ readonly nextTimeoutAt?: Temporal.Instant;
304
+ readonly nextTimeoutStepId?: StepId;
305
+ readonly nextTimeoutAttemptKey?: string;
306
+ }
307
+ /** Summary data for workflow active child workflow. */
308
+ interface WorkflowActiveChildWorkflowSummary {
309
+ readonly total: number;
310
+ readonly stepIds: WorkflowStepAttemptSummaryStringArray;
311
+ readonly attemptKeys: WorkflowStepAttemptSummaryStringArray;
312
+ readonly childRunIds: WorkflowStepAttemptSummaryStringArray;
313
+ readonly retryChildRunIds?: WorkflowStepAttemptSummaryStringArray;
314
+ readonly failedChildRunIds?: WorkflowStepAttemptSummaryStringArray;
315
+ readonly canceledChildRunIds?: WorkflowStepAttemptSummaryStringArray;
316
+ readonly workflows: WorkflowStepAttemptSummaryStringArray;
317
+ readonly childStatus: WorkflowRunStatusCounts;
318
+ readonly childRetry?: WorkflowRunRetrySummary;
319
+ readonly childFailure?: WorkflowRunFailureSummary;
320
+ readonly oldestStartedAt?: Temporal.Instant;
321
+ readonly nextTimeoutAt?: Temporal.Instant;
322
+ readonly nextTimeoutStepId?: StepId;
323
+ readonly nextTimeoutAttemptKey?: string;
324
+ }
325
+ //#endregion
326
+ export { WorkflowActiveChildWorkflowSummary, WorkflowActiveMessageWaitSummary, WorkflowListStepAttemptsOptions, WorkflowStepAttemptFailureErrorSummary, WorkflowStepAttemptFailureSummary, WorkflowStepAttemptKindAttemptKeys, WorkflowStepAttemptKindCounts, WorkflowStepAttemptKindStepIds, WorkflowStepAttemptRecord, WorkflowStepAttemptStatus, WorkflowStepAttemptStatusAttemptKeys, WorkflowStepAttemptStatusCounts, WorkflowStepAttemptStatusStepIds, WorkflowStepAttemptSummary, workflowStepAttemptRecordSchema, workflowStepAttemptStatusSchema };
@@ -0,0 +1,43 @@
1
+ import { nonBlankStringSchema, positiveSafeIntegerSchema, temporalInstantSchema } from "./common.mjs";
2
+ import { workflowErrorRecordSchema } from "./error.mjs";
3
+ import { runIdSchema } from "./run-id.mjs";
4
+ import { stepIdSchema } from "./step-id.mjs";
5
+ import { workflowMaterializedStepTypeSchema, workflowPersistedValueSchema } from "./run.mjs";
6
+ import { messageIdSchema } from "./message-id.mjs";
7
+ import { workflowChildWorkflowCancellationPolicySchema } from "./step.mjs";
8
+ import { z } from "zod";
9
+ //#region src/types/step-attempts.ts
10
+ const workflowStepAttemptStatusSchema = z.enum([
11
+ "running",
12
+ "completed",
13
+ "failed",
14
+ "abandoned"
15
+ ]);
16
+ const workflowStepAttemptRecordSchema = z.object({
17
+ runId: runIdSchema,
18
+ stepId: stepIdSchema,
19
+ stepName: nonBlankStringSchema,
20
+ kind: workflowMaterializedStepTypeSchema,
21
+ status: workflowStepAttemptStatusSchema,
22
+ attempt: positiveSafeIntegerSchema,
23
+ count: positiveSafeIntegerSchema.optional(),
24
+ output: workflowPersistedValueSchema.optional(),
25
+ error: workflowErrorRecordSchema.optional(),
26
+ until: temporalInstantSchema.optional(),
27
+ duration: z.instanceof(Temporal.Duration, { error: "Expected a Temporal.Duration" }).optional(),
28
+ childRunId: runIdSchema.optional(),
29
+ workflowName: nonBlankStringSchema.optional(),
30
+ workflowVersion: nonBlankStringSchema.optional(),
31
+ cancellation: workflowChildWorkflowCancellationPolicySchema.optional(),
32
+ input: workflowPersistedValueSchema.optional(),
33
+ timeoutAt: temporalInstantSchema.optional(),
34
+ messageId: messageIdSchema.optional(),
35
+ targetRunId: runIdSchema.optional(),
36
+ payload: workflowPersistedValueSchema.optional(),
37
+ messageTimestamp: temporalInstantSchema.optional(),
38
+ createdAt: temporalInstantSchema,
39
+ startedAt: temporalInstantSchema,
40
+ finishedAt: temporalInstantSchema.optional()
41
+ });
42
+ //#endregion
43
+ export { workflowStepAttemptRecordSchema, workflowStepAttemptStatusSchema };
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ //#region src/types/step-id.d.ts
3
+ declare const stepIdSchema: z.ZodString;
4
+ /** Non-empty identifier used for workflow steps. */
5
+ type StepId = string;
6
+ //#endregion
7
+ export { StepId, stepIdSchema };
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ //#region src/types/step-id.ts
3
+ const stepIdSchema = z.string().refine((value) => value.trim().length > 0, "Expected an ID");
4
+ //#endregion
5
+ export { stepIdSchema };
@@ -0,0 +1,183 @@
1
+ import { RunId } from "./run-id.mjs";
2
+ import { StepId } from "./step-id.mjs";
3
+ import { WorkflowResolvedStepRetryConfig, WorkflowRetryConfig } from "./retry.mjs";
4
+ import { WorkflowStartTarget } from "./definition.mjs";
5
+ import { CreateHookOptions, CreateWebhookOptions, Hook, Webhook } from "./hook.mjs";
6
+ import { LockRecord, WorkflowStepAcquireLockOptions, WorkflowStepReleaseLockOptions } from "./lock.mjs";
7
+ import { MessageChannel, SendMessageChannelOptions, SendMessageOptions, WaitForMessageChannelOptions, WaitForMessageOptions } from "./message.mjs";
8
+ import { CreateStreamOptions, Stream } from "./stream.mjs";
9
+ import { WorkflowAttributePatch, WorkflowMaterializedStepType } from "./run.mjs";
10
+ import { z } from "zod";
11
+ import { Schema, SchemaOutput } from "@temelj/standard-schema";
12
+ import { Logger } from "@temelj/log";
13
+ //#region src/types/step.d.ts
14
+ declare const workflowChildWorkflowCancellationPolicySchema: z.ZodEnum<{
15
+ cascade: "cascade";
16
+ detach: "detach";
17
+ }>;
18
+ /** Grouped durable commands available inside a workflow handler. */
19
+ interface WorkflowStepApi {
20
+ /** Scoped operational logger for workflow orchestration code. */
21
+ readonly log: Logger;
22
+ /** Durable task, reusable step, sleep, and sleep-until commands. */
23
+ readonly task: WorkflowStepTaskApi;
24
+ /** Durable child-workflow start and run commands. */
25
+ readonly workflow: WorkflowStepWorkflowApi;
26
+ /** Durable message send and wait commands. */
27
+ readonly message: WorkflowStepMessageApi;
28
+ /** Durable lock acquire, release, and scoped lock commands. */
29
+ readonly lock: WorkflowStepLockApi;
30
+ /** Commands that persist workflow run metadata and attributes. */
31
+ readonly runData: WorkflowStepRunDataApi;
32
+ /** Replay-safe time, random, ID, and byte sources. */
33
+ readonly deterministic: WorkflowDeterministicApi;
34
+ /** Durable stream creation commands. */
35
+ readonly stream: WorkflowStepStreamApi;
36
+ /** External resume hook and webhook creation commands. */
37
+ readonly hook: WorkflowStepHookApi;
38
+ }
39
+ /** Durable task, reusable step, and sleep commands available inside a workflow handler. */
40
+ interface WorkflowStepTaskApi {
41
+ /** Runs an inline durable task and records the callback result for replay. */
42
+ run<TOutput>(config: WorkflowStepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput): Promise<TOutput>;
43
+ /** Calls a reusable step definition with typed arguments. */
44
+ call<const TArgs extends readonly unknown[], TOutput>(definition: WorkflowStepDefinition<TArgs, TOutput>, ...args: TArgs): Promise<TOutput>;
45
+ /** Pauses workflow execution for a durable duration. */
46
+ sleep(commandId: string, duration: Temporal.Duration): Promise<void>;
47
+ /** Pauses workflow execution until a durable instant. */
48
+ sleepUntil(commandId: string, timestamp: Temporal.Instant): Promise<void>;
49
+ }
50
+ /** Durable child-workflow commands available inside a workflow handler. */
51
+ interface WorkflowStepWorkflowApi {
52
+ /** Starts a child workflow and waits for its result. */
53
+ run<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStepRunWorkflowOptions): Promise<TOutput>;
54
+ /** Starts a child workflow without waiting for it to finish and returns its run ID. */
55
+ start<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStepStartWorkflowOptions): Promise<string>;
56
+ }
57
+ /** Durable message send and wait commands available inside a workflow handler. */
58
+ interface WorkflowStepMessageApi {
59
+ /** Sends a named message to another workflow run. */
60
+ send(runId: RunId, options: SendMessageOptions): Promise<void>;
61
+ /** Sends a message through a typed message channel to another workflow run. */
62
+ send<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
63
+ /** Waits for a named message and returns its payload. */
64
+ wait<TPayload = unknown>(options: WaitForMessageOptions): Promise<TPayload>;
65
+ /** Waits for a named message and validates its payload with the configured schema. */
66
+ wait<const TSchema extends Schema>(options: WaitForMessageOptions<TSchema>): Promise<SchemaOutput<TSchema>>;
67
+ /** Waits for a message through a typed message channel. */
68
+ wait<TPayload, TKey = void>(channel: MessageChannel<TPayload, TKey>, options?: WaitForMessageChannelOptions<TKey>): Promise<TPayload>;
69
+ }
70
+ /** Durable lock commands available inside a workflow handler. */
71
+ interface WorkflowStepLockApi {
72
+ /** Acquires a workflow lock and records the fencing token in history. */
73
+ acquire(commandId: string, key: string, options: WorkflowStepAcquireLockOptions): Promise<LockRecord>;
74
+ /** Releases a workflow lock held by this workflow. */
75
+ release(commandId: string, key: string, options?: WorkflowStepReleaseLockOptions): Promise<LockRecord>;
76
+ /** Acquires a workflow lock, runs a callback, and releases the lock afterward. */
77
+ with<TOutput>(commandId: string, key: string, options: WorkflowStepAcquireLockOptions, callback: (lock: LockRecord) => Promise<TOutput> | TOutput): Promise<TOutput>;
78
+ }
79
+ /** Durable run metadata and attribute update commands available inside a workflow handler. */
80
+ interface WorkflowStepRunDataApi {
81
+ /** Replaces the workflow run metadata value. */
82
+ setMetadata(commandId: string, metadata: unknown): Promise<void>;
83
+ /** Applies a workflow run attribute patch. */
84
+ setAttributes(commandId: string, attributes: WorkflowAttributePatch): Promise<void>;
85
+ }
86
+ /** Replay-safe sources for time, randomness, generated IDs, and bytes inside a workflow handler. */
87
+ interface WorkflowDeterministicApi {
88
+ /** Returns the current instant, recording it once so replay sees the same value. */
89
+ now(commandId?: string): Promise<Temporal.Instant>;
90
+ /** Returns a random number in [0, 1), recording it once so replay sees the same value. */
91
+ random(commandId?: string): Promise<number>;
92
+ /** Returns an engine-generated recorded ID for the command. */
93
+ recordedId(commandId?: string): Promise<string>;
94
+ /** Alias for recordedId. */
95
+ id(commandId?: string): Promise<string>;
96
+ /** Returns a random UUID, recording it once so replay sees the same value. */
97
+ uuid(commandId?: string): Promise<string>;
98
+ /** Returns recorded random bytes with the requested length. */
99
+ bytes(commandId: string, length: number): Promise<Uint8Array>;
100
+ }
101
+ /** Compatibility alias for the deterministic API exposed on WorkflowStepApi. */
102
+ type WorkflowStepDeterministicApi = WorkflowDeterministicApi;
103
+ /** Durable stream creation commands available inside a workflow handler. */
104
+ interface WorkflowStepStreamApi {
105
+ /** Creates a durable stream that can be read while the workflow is running. */
106
+ create<TChunk = unknown>(commandId: string, options?: CreateStreamOptions): Stream<TChunk>;
107
+ }
108
+ /** External resume token commands available inside a workflow handler. */
109
+ interface WorkflowStepHookApi {
110
+ /** Creates a message-backed external resume hook. */
111
+ create<TPayload = unknown>(options: CreateHookOptions): Hook<TPayload>;
112
+ /** Creates a message-backed external resume hook with schema-validated payloads. */
113
+ create<const TSchema extends Schema>(options: CreateHookOptions<TSchema>): Hook<SchemaOutput<TSchema>>;
114
+ /** Creates a webhook-labeled external resume hook. */
115
+ createWebhook<TPayload = unknown>(options: CreateWebhookOptions): Webhook<TPayload>;
116
+ /** Creates a webhook-labeled external resume hook with schema-validated payloads. */
117
+ createWebhook<const TSchema extends Schema>(options: CreateWebhookOptions<TSchema>): Webhook<SchemaOutput<TSchema>>;
118
+ }
119
+ /** Configuration for a single durable task command or reusable step definition. */
120
+ interface WorkflowStepRunConfig {
121
+ readonly name?: string;
122
+ readonly commandId?: string;
123
+ readonly retry?: WorkflowRetryConfig;
124
+ readonly timeout?: Temporal.Duration;
125
+ }
126
+ /** Handler signature for reusable durable step definitions. */
127
+ type WorkflowStepDefinitionHandler<TArgs extends readonly unknown[], TOutput> = (...args: [...TArgs, WorkflowStepContext]) => Promise<TOutput> | TOutput;
128
+ /** Reusable named durable task that can be called from workflow handlers. */
129
+ interface WorkflowStepDefinition<TArgs extends readonly unknown[] = readonly unknown[], TOutput = unknown> {
130
+ /** Runtime configuration used when the reusable step is called. */
131
+ readonly config: WorkflowStepRunConfig;
132
+ /** Durable command name used as the step identity by default. */
133
+ readonly name: string;
134
+ /** Handler invoked when the step is first executed. */
135
+ readonly handler: WorkflowStepDefinitionHandler<TArgs, TOutput>;
136
+ /** Compile-time type markers for arguments and output. */
137
+ readonly types?: WorkflowStepDefinitionTypes<TArgs, TOutput>;
138
+ }
139
+ /** Compile-time type markers carried by a reusable step definition. */
140
+ interface WorkflowStepDefinitionTypes<TArgs extends readonly unknown[], TOutput> {
141
+ /** Argument tuple accepted by the step handler before the context parameter. */
142
+ readonly args: TArgs;
143
+ /** Awaited output returned by the step handler. */
144
+ readonly output: TOutput;
145
+ }
146
+ /** Options for running a child workflow and waiting for its result from a durable step. */
147
+ interface WorkflowStepRunWorkflowOptions extends WorkflowStepStartWorkflowOptions {
148
+ readonly timeout?: Temporal.Duration;
149
+ readonly pollInterval?: Temporal.Duration;
150
+ readonly retry?: WorkflowRetryConfig;
151
+ }
152
+ /** Options for starting a child workflow in the background from a durable step. */
153
+ interface WorkflowStepStartWorkflowOptions {
154
+ readonly commandId?: string;
155
+ readonly name?: string;
156
+ readonly id?: string;
157
+ readonly idempotencyKey?: string;
158
+ readonly cancellation?: WorkflowChildWorkflowCancellationPolicy;
159
+ }
160
+ /** Controls whether child workflow runs are canceled when their parent run is canceled. */
161
+ type WorkflowChildWorkflowCancellationPolicy = "cascade" | "detach";
162
+ /** Context passed to a durable task attempt. */
163
+ interface WorkflowStepContext {
164
+ /** Stable identity and encounter count for this durable command. */
165
+ readonly step: WorkflowStepMetadata;
166
+ /** Current attempt number for retryable durable work. */
167
+ readonly attempt: number;
168
+ /** Resolved retry configuration for this attempt. */
169
+ readonly config: WorkflowResolvedStepRetryConfig;
170
+ /** Abort signal for cancellation or timeout of this attempt. */
171
+ readonly signal: AbortSignal;
172
+ /** Scoped operational logger for this durable task attempt. */
173
+ readonly log: Logger;
174
+ }
175
+ /** Identity and encounter metadata for a durable task attempt. */
176
+ interface WorkflowStepMetadata {
177
+ readonly id: string;
178
+ readonly name: string;
179
+ readonly count: number;
180
+ readonly kind: WorkflowMaterializedStepType;
181
+ }
182
+ //#endregion
183
+ export { type StepId, WorkflowChildWorkflowCancellationPolicy, WorkflowDeterministicApi, WorkflowStepApi, WorkflowStepContext, WorkflowStepDefinition, WorkflowStepDefinitionHandler, WorkflowStepDefinitionTypes, WorkflowStepDeterministicApi, WorkflowStepHookApi, WorkflowStepLockApi, WorkflowStepMessageApi, WorkflowStepMetadata, WorkflowStepRunConfig, WorkflowStepRunDataApi, WorkflowStepRunWorkflowOptions, WorkflowStepStartWorkflowOptions, WorkflowStepStreamApi, WorkflowStepTaskApi, WorkflowStepWorkflowApi, workflowChildWorkflowCancellationPolicySchema };
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ //#region src/types/step.ts
3
+ const workflowChildWorkflowCancellationPolicySchema = z.enum(["cascade", "detach"]);
4
+ //#endregion
5
+ export { workflowChildWorkflowCancellationPolicySchema };