@temelj/workflow 0.0.0-alpha.2 → 0.0.0-alpha.4

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 (461) hide show
  1. package/README.md +394 -2
  2. package/dist/attributes.d.mts +11 -9
  3. package/dist/attributes.mjs +23 -5
  4. package/dist/bundle.d.mts +5 -23
  5. package/dist/bundle.mjs +2 -18
  6. package/dist/client/create.d.mts +26 -23
  7. package/dist/client/create.mjs +26 -32
  8. package/dist/client/facades.d.mts +12 -18
  9. package/dist/client/facades.mjs +102 -93
  10. package/dist/client/mod.mjs +1 -2
  11. package/dist/client/run-handle.d.mts +17 -54
  12. package/dist/client/run-handle.mjs +35 -105
  13. package/dist/client/worker-options.d.mts +8 -8
  14. package/dist/client/worker-options.mjs +11 -11
  15. package/dist/cloudflare/cloudflare.d.mts +4 -5
  16. package/dist/cloudflare/codec.d.mts +28 -13
  17. package/dist/cloudflare/codec.mjs +40 -17
  18. package/dist/cloudflare/entrypoint.d.mts +3 -4
  19. package/dist/cloudflare/entrypoint.mjs +4 -3
  20. package/dist/cloudflare/execution.d.mts +3 -4
  21. package/dist/cloudflare/execution.mjs +20 -13
  22. package/dist/cloudflare/host.d.mts +6 -7
  23. package/dist/cloudflare/host.mjs +7 -6
  24. package/dist/cloudflare/mod.d.mts +4 -4
  25. package/dist/cloudflare/mod.mjs +2 -2
  26. package/dist/cloudflare/name.d.mts +3 -4
  27. package/dist/cloudflare/name.mjs +3 -3
  28. package/dist/cloudflare/registry.d.mts +3 -23
  29. package/dist/cloudflare/registry.mjs +2 -20
  30. package/dist/cloudflare/runtime.d.mts +11 -18
  31. package/dist/cloudflare/runtime.mjs +52 -73
  32. package/dist/cloudflare/step.d.mts +6 -6
  33. package/dist/cloudflare/step.mjs +69 -57
  34. package/dist/cloudflare/types.d.mts +17 -36
  35. package/dist/collection.d.mts +8 -11
  36. package/dist/collection.mjs +10 -14
  37. package/dist/compiled-function.d.mts +14 -19
  38. package/dist/compiled-function.mjs +12 -24
  39. package/dist/compiled.d.mts +4 -0
  40. package/dist/compiled.mjs +4 -0
  41. package/dist/compiler/ast.d.mts +26 -0
  42. package/dist/{vite → compiler}/ast.mjs +24 -16
  43. package/dist/{vite → compiler}/error.d.mts +4 -6
  44. package/dist/{vite → compiler}/error.mjs +14 -16
  45. package/dist/compiler/manifest.d.mts +6 -0
  46. package/dist/{vite → compiler}/manifest.mjs +9 -7
  47. package/dist/compiler/plugin.d.mts +7 -0
  48. package/dist/{vite → compiler}/plugin.mjs +45 -46
  49. package/dist/compiler/safety.d.mts +12 -0
  50. package/dist/{vite → compiler}/safety.mjs +5 -11
  51. package/dist/{vite → compiler}/source-edit.d.mts +3 -4
  52. package/dist/{vite → compiler}/source-edit.mjs +1 -1
  53. package/dist/{vite → compiler}/source-map.d.mts +4 -3
  54. package/dist/{vite → compiler}/source-map.mjs +3 -3
  55. package/dist/compiler/source.d.mts +7 -0
  56. package/dist/{vite → compiler}/source.mjs +1 -1
  57. package/dist/compiler/transform.d.mts +12 -0
  58. package/dist/{vite → compiler}/transform.mjs +37 -38
  59. package/dist/definition.d.mts +17 -25
  60. package/dist/definition.mjs +19 -35
  61. package/dist/engine/child-workflow.d.mts +5 -9
  62. package/dist/engine/child-workflow.mjs +46 -67
  63. package/dist/engine/command-identity.d.mts +5 -6
  64. package/dist/engine/command-identity.mjs +9 -5
  65. package/dist/engine/context.d.mts +17 -0
  66. package/dist/engine/create.d.mts +36 -94
  67. package/dist/engine/create.mjs +55 -260
  68. package/dist/engine/deterministic.d.mts +6 -11
  69. package/dist/engine/deterministic.mjs +47 -68
  70. package/dist/engine/durable-command.d.mts +5 -5
  71. package/dist/engine/durable-command.mjs +2 -2
  72. package/dist/engine/execution-service.d.mts +20 -24
  73. package/dist/engine/execution-service.mjs +54 -52
  74. package/dist/engine/hooks.d.mts +17 -39
  75. package/dist/engine/hooks.mjs +73 -94
  76. package/dist/engine/inspection.d.mts +23 -15
  77. package/dist/engine/inspection.mjs +55 -29
  78. package/dist/engine/lifecycle.d.mts +6 -12
  79. package/dist/engine/lifecycle.mjs +5 -5
  80. package/dist/engine/lock-replay.d.mts +8 -15
  81. package/dist/engine/lock-replay.mjs +12 -25
  82. package/dist/engine/lock.d.mts +10 -15
  83. package/dist/engine/lock.mjs +65 -51
  84. package/dist/engine/message.d.mts +14 -34
  85. package/dist/engine/message.mjs +94 -127
  86. package/dist/engine/observation.d.mts +9 -11
  87. package/dist/engine/observation.mjs +18 -27
  88. package/dist/engine/replay.d.mts +18 -19
  89. package/dist/engine/replay.mjs +32 -56
  90. package/dist/engine/resume.d.mts +16 -0
  91. package/dist/engine/resume.mjs +24 -0
  92. package/dist/engine/retry.d.mts +15 -19
  93. package/dist/engine/retry.mjs +17 -17
  94. package/dist/engine/run-data.d.mts +4 -8
  95. package/dist/engine/run-data.mjs +24 -22
  96. package/dist/engine/run-service.d.mts +24 -33
  97. package/dist/engine/run-service.mjs +125 -93
  98. package/dist/engine/run-utils.d.mts +11 -13
  99. package/dist/engine/run-utils.mjs +23 -46
  100. package/dist/engine/schedule.d.mts +8 -22
  101. package/dist/engine/schedule.mjs +37 -34
  102. package/dist/engine/serialization.d.mts +9 -6
  103. package/dist/engine/serialization.mjs +30 -21
  104. package/dist/engine/signals.d.mts +23 -0
  105. package/dist/engine/signals.mjs +41 -0
  106. package/dist/engine/start.d.mts +18 -0
  107. package/dist/engine/start.mjs +88 -0
  108. package/dist/engine/state.d.mts +37 -67
  109. package/dist/engine/state.mjs +127 -282
  110. package/dist/engine/step-api.d.mts +5 -8
  111. package/dist/engine/step-api.mjs +16 -16
  112. package/dist/engine/stream-reader.d.mts +12 -0
  113. package/dist/engine/stream-reader.mjs +154 -0
  114. package/dist/engine/stream.d.mts +9 -54
  115. package/dist/engine/stream.mjs +54 -196
  116. package/dist/engine/summary/recovery.d.mts +35 -0
  117. package/dist/engine/summary/recovery.mjs +363 -0
  118. package/dist/engine/summary/runs.d.mts +43 -0
  119. package/dist/engine/summary/runs.mjs +294 -0
  120. package/dist/engine/summary/step-attempts.d.mts +5 -10
  121. package/dist/engine/summary/step-attempts.mjs +157 -36
  122. package/dist/engine/summary/tally.d.mts +44 -0
  123. package/dist/engine/summary/tally.mjs +142 -0
  124. package/dist/engine/task.d.mts +4 -5
  125. package/dist/engine/task.mjs +40 -48
  126. package/dist/errors/base.d.mts +17 -77
  127. package/dist/errors/base.mjs +26 -327
  128. package/dist/errors/capability.d.mts +3 -6
  129. package/dist/errors/capability.mjs +4 -8
  130. package/dist/errors/codes.d.mts +116 -0
  131. package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
  132. package/dist/errors/definition.d.mts +3 -17
  133. package/dist/errors/definition.mjs +5 -42
  134. package/dist/errors/failures.d.mts +17 -51
  135. package/dist/errors/failures.mjs +35 -102
  136. package/dist/errors/hook.d.mts +5 -9
  137. package/dist/errors/hook.mjs +4 -16
  138. package/dist/errors/implementation.d.mts +3 -6
  139. package/dist/errors/implementation.mjs +7 -12
  140. package/dist/errors/lock.d.mts +7 -20
  141. package/dist/errors/lock.mjs +8 -44
  142. package/dist/errors/message.d.mts +14 -59
  143. package/dist/errors/message.mjs +13 -39
  144. package/dist/errors/mod.d.mts +4 -5
  145. package/dist/errors/mod.mjs +5 -7
  146. package/dist/errors/records.d.mts +10 -4
  147. package/dist/errors/records.mjs +256 -256
  148. package/dist/errors/run.d.mts +27 -68
  149. package/dist/errors/run.mjs +31 -85
  150. package/dist/errors/schedule.d.mts +7 -18
  151. package/dist/errors/schedule.mjs +7 -39
  152. package/dist/errors/step.d.mts +12 -45
  153. package/dist/errors/step.mjs +13 -34
  154. package/dist/errors/stream.d.mts +8 -16
  155. package/dist/errors/stream.mjs +7 -41
  156. package/dist/esbuild.d.mts +6 -4
  157. package/dist/esbuild.mjs +2 -1
  158. package/dist/events/descriptors.d.mts +12 -241
  159. package/dist/events/descriptors.mjs +12 -5
  160. package/dist/history/projection.d.mts +4 -6
  161. package/dist/history/projection.mjs +22 -26
  162. package/dist/history/replay-projection.d.mts +44 -48
  163. package/dist/history/replay-projection.mjs +41 -50
  164. package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
  165. package/dist/history/{mod.mjs → replay.mjs} +21 -25
  166. package/dist/history/sequencer.d.mts +10 -11
  167. package/dist/history/sequencer.mjs +11 -7
  168. package/dist/history/step-attempts.d.mts +4 -7
  169. package/dist/history/step-attempts.mjs +8 -9
  170. package/dist/history/timeline.d.mts +4 -13
  171. package/dist/history/timeline.mjs +46 -265
  172. package/dist/history/validator.d.mts +5 -7
  173. package/dist/history/validator.mjs +9 -24
  174. package/dist/hook-token.d.mts +7 -0
  175. package/dist/hook-token.mjs +32 -0
  176. package/dist/ids.d.mts +8 -0
  177. package/dist/ids.mjs +21 -0
  178. package/dist/message-options.d.mts +11 -5
  179. package/dist/message-options.mjs +9 -7
  180. package/dist/mod.d.mts +32 -36
  181. package/dist/mod.mjs +9 -13
  182. package/dist/otel/metrics.d.mts +31 -0
  183. package/dist/otel/metrics.mjs +60 -0
  184. package/dist/otel/mod.d.mts +3 -0
  185. package/dist/otel/mod.mjs +3 -0
  186. package/dist/otel/spans.d.mts +24 -0
  187. package/dist/otel/spans.mjs +218 -0
  188. package/dist/otel/support.d.mts +15 -8
  189. package/dist/otel/support.mjs +18 -40
  190. package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
  191. package/dist/otel/telemetry.mjs +305 -0
  192. package/dist/pagination.d.mts +6 -12
  193. package/dist/pagination.mjs +10 -14
  194. package/dist/registry.d.mts +8 -5
  195. package/dist/registry.mjs +19 -10
  196. package/dist/rolldown.d.mts +6 -4
  197. package/dist/rolldown.mjs +2 -1
  198. package/dist/rollup.d.mts +6 -4
  199. package/dist/rollup.mjs +2 -1
  200. package/dist/rspack.d.mts +6 -4
  201. package/dist/rspack.mjs +2 -1
  202. package/dist/run-status.d.mts +29 -0
  203. package/dist/run-status.mjs +42 -0
  204. package/dist/schema/common.d.mts +22 -0
  205. package/dist/schema/common.mjs +54 -0
  206. package/dist/schema/error.d.mts +17 -0
  207. package/dist/schema/error.mjs +39 -0
  208. package/dist/schema/events.d.mts +446 -0
  209. package/dist/schema/events.mjs +235 -0
  210. package/dist/schema/pagination.d.mts +5 -0
  211. package/dist/schema/pagination.mjs +11 -0
  212. package/dist/schema/persisted-value.d.mts +8 -0
  213. package/dist/schema/persisted-value.mjs +94 -0
  214. package/dist/schema/run.d.mts +51 -0
  215. package/dist/schema/run.mjs +88 -0
  216. package/dist/schema/store.d.mts +94 -0
  217. package/dist/schema/store.mjs +116 -0
  218. package/dist/step-definition.d.mts +4 -9
  219. package/dist/step-definition.mjs +2 -2
  220. package/dist/store/capabilities.d.mts +8 -9
  221. package/dist/store/capabilities.mjs +7 -7
  222. package/dist/store/cleanup.d.mts +9 -14
  223. package/dist/store/cleanup.mjs +86 -85
  224. package/dist/store/create.d.mts +28 -29
  225. package/dist/store/create.mjs +10 -11
  226. package/dist/store/events.d.mts +48 -0
  227. package/dist/store/events.mjs +263 -0
  228. package/dist/store/indexes.d.mts +25 -0
  229. package/dist/store/indexes.mjs +282 -0
  230. package/dist/store/instrumentation.d.mts +2 -3
  231. package/dist/store/instrumentation.mjs +30 -30
  232. package/dist/store/lock.d.mts +4 -5
  233. package/dist/store/lock.mjs +5 -7
  234. package/dist/store/materialization.d.mts +10 -17
  235. package/dist/store/materialization.mjs +39 -33
  236. package/dist/store/mod.d.mts +3 -3
  237. package/dist/store/mod.mjs +2 -2
  238. package/dist/store/query.d.mts +13 -17
  239. package/dist/store/query.mjs +13 -13
  240. package/dist/store/run.d.mts +25 -34
  241. package/dist/store/run.mjs +67 -108
  242. package/dist/store/schedule.d.mts +6 -8
  243. package/dist/store/schedule.mjs +11 -11
  244. package/dist/store/step-attempt.d.mts +9 -12
  245. package/dist/store/step-attempt.mjs +9 -9
  246. package/dist/store/storage-value.d.mts +3 -3
  247. package/dist/store/storage-value.mjs +17 -1
  248. package/dist/store/validation.d.mts +17 -20
  249. package/dist/store/validation.mjs +30 -33
  250. package/dist/store-keys.d.mts +35 -47
  251. package/dist/store-keys.mjs +9 -17
  252. package/dist/telemetry.d.mts +16 -16
  253. package/dist/telemetry.mjs +3 -3
  254. package/dist/temporal.d.mts +11 -16
  255. package/dist/temporal.mjs +8 -9
  256. package/dist/timer.d.mts +12 -10
  257. package/dist/timer.mjs +11 -3
  258. package/dist/types/cleanup.d.mts +13 -50
  259. package/dist/types/cleanup.mjs +1 -22
  260. package/dist/types/client.d.mts +101 -162
  261. package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
  262. package/dist/types/compiler.mjs +1 -0
  263. package/dist/types/definition.d.mts +22 -34
  264. package/dist/types/engine-options.d.mts +10 -17
  265. package/dist/types/engine.d.mts +15 -274
  266. package/dist/types/error.d.mts +15 -217
  267. package/dist/types/error.mjs +1 -48
  268. package/dist/types/events.d.mts +59 -2730
  269. package/dist/types/events.mjs +1 -283
  270. package/dist/types/hook.d.mts +27 -85
  271. package/dist/types/hook.mjs +1 -66
  272. package/dist/types/ids.d.mts +9 -0
  273. package/dist/types/ids.mjs +1 -0
  274. package/dist/types/lock.d.mts +8 -26
  275. package/dist/types/lock.mjs +1 -18
  276. package/dist/types/message.d.mts +29 -43
  277. package/dist/types/observation.d.mts +43 -58
  278. package/dist/types/pagination.d.mts +6 -22
  279. package/dist/types/pagination.mjs +1 -13
  280. package/dist/types/result.d.mts +11 -43
  281. package/dist/types/retry.d.mts +7 -14
  282. package/dist/types/run-list.d.mts +9 -11
  283. package/dist/types/run-options.d.mts +25 -32
  284. package/dist/types/run.d.mts +35 -315
  285. package/dist/types/run.mjs +1 -207
  286. package/dist/types/runtime.d.mts +33 -145
  287. package/dist/types/runtime.mjs +1 -21
  288. package/dist/types/schedule.d.mts +13 -72
  289. package/dist/types/schedule.mjs +1 -48
  290. package/dist/types/step-attempts.d.mts +65 -261
  291. package/dist/types/step-attempts.mjs +1 -43
  292. package/dist/types/step.d.mts +66 -77
  293. package/dist/types/step.mjs +1 -5
  294. package/dist/types/store.d.mts +50 -182
  295. package/dist/types/stream.d.mts +19 -40
  296. package/dist/types/summary.d.mts +174 -278
  297. package/dist/types/telemetry.d.mts +23 -28
  298. package/dist/types/telemetry.mjs +1 -9
  299. package/dist/types/timeline.d.mts +46 -233
  300. package/dist/types/worker.d.mts +22 -29
  301. package/dist/values.d.mts +15 -0
  302. package/dist/values.mjs +57 -0
  303. package/dist/vite.d.mts +5 -6
  304. package/dist/vite.mjs +3 -4
  305. package/dist/webpack.d.mts +6 -4
  306. package/dist/webpack.mjs +2 -1
  307. package/dist/worker/error.d.mts +2 -9
  308. package/dist/worker/error.mjs +20 -32
  309. package/dist/worker/missing-implementation.d.mts +19 -0
  310. package/dist/worker/missing-implementation.mjs +62 -0
  311. package/dist/worker/worker.d.mts +18 -0
  312. package/dist/{worker.mjs → worker/worker.mjs} +64 -118
  313. package/package.json +28 -47
  314. package/dist/engine/execution-api.d.mts +0 -29
  315. package/dist/engine/execution-api.mjs +0 -33
  316. package/dist/engine/inspection-api.d.mts +0 -34
  317. package/dist/engine/inspection-api.mjs +0 -78
  318. package/dist/engine/mod.d.mts +0 -4
  319. package/dist/engine/mod.mjs +0 -2
  320. package/dist/engine/recovery.d.mts +0 -26
  321. package/dist/engine/recovery.mjs +0 -92
  322. package/dist/engine/retry-policy.d.mts +0 -4
  323. package/dist/engine/retry-policy.mjs +0 -4
  324. package/dist/engine/start-api.d.mts +0 -30
  325. package/dist/engine/start-api.mjs +0 -99
  326. package/dist/engine/summary/active-events.d.mts +0 -34
  327. package/dist/engine/summary/active-events.mjs +0 -69
  328. package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
  329. package/dist/engine/summary/child-workflow-runs.mjs +0 -138
  330. package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
  331. package/dist/engine/summary/child-workflow-waits.mjs +0 -67
  332. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
  333. package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
  334. package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
  335. package/dist/engine/summary/recovery-due-runs.mjs +0 -52
  336. package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
  337. package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
  338. package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
  339. package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
  340. package/dist/engine/summary/recovery-locks.d.mts +0 -18
  341. package/dist/engine/summary/recovery-locks.mjs +0 -100
  342. package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
  343. package/dist/engine/summary/recovery-message-waits.mjs +0 -74
  344. package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
  345. package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
  346. package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
  347. package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
  348. package/dist/engine/summary/recovery-runs.d.mts +0 -23
  349. package/dist/engine/summary/recovery-runs.mjs +0 -54
  350. package/dist/engine/summary/recovery-schedules.d.mts +0 -10
  351. package/dist/engine/summary/recovery-schedules.mjs +0 -46
  352. package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
  353. package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
  354. package/dist/engine/summary/recovery-waits.d.mts +0 -21
  355. package/dist/engine/summary/recovery-waits.mjs +0 -29
  356. package/dist/engine/summary/run-availability.d.mts +0 -13
  357. package/dist/engine/summary/run-availability.mjs +0 -37
  358. package/dist/engine/summary/run-cleanup.d.mts +0 -14
  359. package/dist/engine/summary/run-cleanup.mjs +0 -44
  360. package/dist/engine/summary/run-failure.d.mts +0 -14
  361. package/dist/engine/summary/run-failure.mjs +0 -62
  362. package/dist/engine/summary/run-hooks.d.mts +0 -14
  363. package/dist/engine/summary/run-hooks.mjs +0 -63
  364. package/dist/engine/summary/run-lease.d.mts +0 -11
  365. package/dist/engine/summary/run-lease.mjs +0 -64
  366. package/dist/engine/summary/run-message-waits.d.mts +0 -15
  367. package/dist/engine/summary/run-message-waits.mjs +0 -62
  368. package/dist/engine/summary/run-metrics.d.mts +0 -31
  369. package/dist/engine/summary/run-metrics.mjs +0 -93
  370. package/dist/engine/summary/run-retry.d.mts +0 -9
  371. package/dist/engine/summary/run-retry.mjs +0 -69
  372. package/dist/engine/summary/run-sleeps.d.mts +0 -15
  373. package/dist/engine/summary/run-sleeps.mjs +0 -61
  374. package/dist/engine/summary/run-state.d.mts +0 -26
  375. package/dist/engine/summary/run-state.mjs +0 -48
  376. package/dist/engine/summary/run-status.d.mts +0 -16
  377. package/dist/engine/summary/run-status.mjs +0 -35
  378. package/dist/engine/summary/run-streams.d.mts +0 -14
  379. package/dist/engine/summary/run-streams.mjs +0 -46
  380. package/dist/engine/summary/run-transition.d.mts +0 -9
  381. package/dist/engine/summary/run-transition.mjs +0 -39
  382. package/dist/engine/summary/run-workflow.d.mts +0 -9
  383. package/dist/engine/summary/run-workflow.mjs +0 -47
  384. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
  385. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
  386. package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
  387. package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
  388. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
  389. package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
  390. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
  391. package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
  392. package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
  393. package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
  394. package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
  395. package/dist/engine/summary/step-attempt-failure.mjs +0 -61
  396. package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
  397. package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
  398. package/dist/engine/summary.d.mts +0 -32
  399. package/dist/engine/summary.mjs +0 -37
  400. package/dist/errors/details.d.mts +0 -13
  401. package/dist/errors/details.mjs +0 -66
  402. package/dist/errors/record-view.d.mts +0 -11
  403. package/dist/errors/record-view.mjs +0 -24
  404. package/dist/errors/runtime.d.mts +0 -12
  405. package/dist/errors/runtime.mjs +0 -24
  406. package/dist/events/mod.d.mts +0 -3
  407. package/dist/events/mod.mjs +0 -2
  408. package/dist/history/attempt-key.d.mts +0 -6
  409. package/dist/history/attempt-key.mjs +0 -7
  410. package/dist/inspection/mod.d.mts +0 -5
  411. package/dist/inspection/mod.mjs +0 -3
  412. package/dist/otel.mjs +0 -590
  413. package/dist/runtime.d.mts +0 -35
  414. package/dist/runtime.mjs +0 -198
  415. package/dist/store/append-projection.d.mts +0 -15
  416. package/dist/store/append-projection.mjs +0 -26
  417. package/dist/store/compaction.d.mts +0 -5
  418. package/dist/store/compaction.mjs +0 -8
  419. package/dist/store/event-append-project.d.mts +0 -15
  420. package/dist/store/event-append-project.mjs +0 -77
  421. package/dist/store/event-append.d.mts +0 -37
  422. package/dist/store/event-append.mjs +0 -80
  423. package/dist/store/event-history.d.mts +0 -22
  424. package/dist/store/event-history.mjs +0 -75
  425. package/dist/store/event.d.mts +0 -10
  426. package/dist/store/event.mjs +0 -28
  427. package/dist/store/idempotency.d.mts +0 -10
  428. package/dist/store/idempotency.mjs +0 -167
  429. package/dist/store/message-index.d.mts +0 -21
  430. package/dist/store/message-index.mjs +0 -122
  431. package/dist/store/revision.d.mts +0 -4
  432. package/dist/store/revision.mjs +0 -7
  433. package/dist/store/schema.d.mts +0 -14
  434. package/dist/store/schema.mjs +0 -17
  435. package/dist/types/common.d.mts +0 -20
  436. package/dist/types/common.mjs +0 -16
  437. package/dist/types/error-code.d.mts +0 -256
  438. package/dist/types/message-id.d.mts +0 -7
  439. package/dist/types/message-id.mjs +0 -5
  440. package/dist/types/run-id.d.mts +0 -7
  441. package/dist/types/run-id.mjs +0 -5
  442. package/dist/types/step-id.d.mts +0 -7
  443. package/dist/types/step-id.mjs +0 -5
  444. package/dist/types/stream-id.d.mts +0 -7
  445. package/dist/types/stream-id.mjs +0 -5
  446. package/dist/types/worker-id.d.mts +0 -7
  447. package/dist/types/worker-id.mjs +0 -5
  448. package/dist/utility.d.mts +0 -49
  449. package/dist/utility.mjs +0 -122
  450. package/dist/vite/ast.d.mts +0 -23
  451. package/dist/vite/generated-name.d.mts +0 -7
  452. package/dist/vite/generated-name.mjs +0 -9
  453. package/dist/vite/manifest.d.mts +0 -7
  454. package/dist/vite/plugin.d.mts +0 -7
  455. package/dist/vite/safety.d.mts +0 -12
  456. package/dist/vite/source.d.mts +0 -7
  457. package/dist/vite/transform.d.mts +0 -7
  458. package/dist/webhook.d.mts +0 -16
  459. package/dist/webhook.mjs +0 -17
  460. package/dist/worker.d.mts +0 -19
  461. /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
@@ -1,9 +1,12 @@
1
1
  import { WorkflowErrorRecord } from "../types/error.mjs";
2
- import { WorkflowEngineSerializationLimits } from "../types/engine-options.mjs";
2
+ import { WorkflowDefinition } from "../types/definition.mjs";
3
+ import { ExecutionLimits } from "../types/engine-options.mjs";
3
4
  import { StorageValue } from "@temelj/storage";
4
5
  //#region src/engine/serialization.d.ts
5
- declare function serializeError(error: unknown): WorkflowErrorRecord;
6
- declare function toPersistedValue(value: unknown, path: string, limits?: WorkflowEngineSerializationLimits): StorageValue;
7
- declare function toOptionalPersistedValue(value: unknown, path: string, limits?: WorkflowEngineSerializationLimits): StorageValue | undefined;
8
- //#endregion
9
- export { serializeError, toOptionalPersistedValue, toPersistedValue };
6
+ export declare function serializeError(cause: unknown): WorkflowErrorRecord;
7
+ /** Validates workflow input and returns the value admitted to durable storage. */
8
+ export declare function parseInput(definition: WorkflowDefinition, input: unknown): Promise<StorageValue | undefined>;
9
+ export declare function toPersistedValue(value: unknown, path: string, limits?: ExecutionLimits): StorageValue;
10
+ export declare function toOptionalPersistedValue(value: unknown, path: string, limits?: ExecutionLimits): StorageValue | undefined;
11
+ export declare function enforceStorageValueSize(value: StorageValue | undefined, path: string, limits: ExecutionLimits | undefined): void;
12
+ //#endregion
@@ -1,37 +1,39 @@
1
1
  import { WorkflowError } from "../errors/base.mjs";
2
2
  import { WorkflowSerializationError } from "../errors/failures.mjs";
3
- import { sanitizedWorkflowErrorDetails } from "../types/error.mjs";
4
- import { persistedValueIssue } from "../types/run.mjs";
5
3
  import { WorkflowStepExecutionError } from "../errors/step.mjs";
4
+ import { sanitizedErrorDetails } from "../errors/records.mjs";
6
5
  import "../errors/mod.mjs";
6
+ import { persistedValueIssue } from "../schema/persisted-value.mjs";
7
+ import { validateStandardSchema } from "@temelj/standard-schema";
8
+ import { isString } from "@temelj/value";
7
9
  import { createSuperJsonStorageCodec } from "@temelj/storage";
8
10
  //#region src/engine/serialization.ts
9
11
  const PERSISTED_VALUE_CODEC = createSuperJsonStorageCodec({ format: "bytes" });
10
- function serializeError(error) {
11
- if (error instanceof Error) {
12
- const name = typeof error.name === "string" && error.name.trim() !== "" ? error.name : "Error";
13
- const message = typeof error.message === "string" && error.message.trim() !== "" ? error.message : name;
14
- const stack = typeof error.stack === "string" && error.stack.trim() !== "" ? error.stack : void 0;
12
+ function serializeError(cause) {
13
+ if (cause instanceof Error) {
14
+ const name = isString(cause.name) && cause.name.trim() !== "" ? cause.name : "Error";
15
+ const message = isString(cause.message) && cause.message.trim() !== "" ? cause.message : name;
16
+ const stack = isString(cause.stack) && cause.stack.trim() !== "" ? cause.stack : void 0;
15
17
  return {
16
- ...error instanceof WorkflowError ? { code: error.code } : {},
17
18
  name,
18
19
  message,
19
- ...stack === void 0 ? {} : { stack },
20
- ...workflowErrorDetails(error)
20
+ ...workflowErrorDetails(cause),
21
+ code: cause instanceof WorkflowError ? cause.code : void 0,
22
+ stack
21
23
  };
22
24
  }
23
25
  return {
24
26
  name: "Error",
25
- message: String(error).trim() === "" ? "Error" : String(error)
27
+ message: String(cause).trim() === "" ? "Error" : String(cause)
26
28
  };
27
29
  }
28
30
  function workflowErrorDetails(error) {
29
31
  if (error instanceof WorkflowStepExecutionError) return { details: {
30
- ...sanitizedWorkflowErrorDetails(error.details),
32
+ ...sanitizedErrorDetails(error.details),
31
33
  ...workflowErrorCauseDetails(error.cause)
32
34
  } };
33
35
  if (error instanceof WorkflowError && error.details !== void 0) {
34
- const details = sanitizedWorkflowErrorDetails(error.details);
36
+ const details = sanitizedErrorDetails(error.details);
35
37
  return details === void 0 ? {} : { details };
36
38
  }
37
39
  return {};
@@ -39,12 +41,13 @@ function workflowErrorDetails(error) {
39
41
  function workflowErrorCauseDetails(cause) {
40
42
  if (!(cause instanceof Error)) return {};
41
43
  const record = serializeError(cause);
42
- return prefixWorkflowErrorCauseDetails({
43
- ...causeDetailsWithoutReservedIdentity(record.details),
44
- ...record.code === void 0 ? {} : { code: record.code },
44
+ const details = causeDetailsWithoutReservedIdentity(record.details);
45
+ return prefixErrorCauseDetails({
46
+ ...details,
45
47
  name: record.name,
46
48
  message: record.message,
47
- ...record.stack === void 0 ? {} : { stack: record.stack }
49
+ code: record.code ?? details.code,
50
+ stack: record.stack
48
51
  });
49
52
  }
50
53
  function causeDetailsWithoutReservedIdentity(details) {
@@ -54,14 +57,20 @@ function causeDetailsWithoutReservedIdentity(details) {
54
57
  return prefixedKey !== "causeName" && prefixedKey !== "causeMessage" && prefixedKey !== "causeStack";
55
58
  }));
56
59
  }
57
- function prefixWorkflowErrorCauseDetails(details) {
60
+ function prefixErrorCauseDetails(details) {
58
61
  return Object.fromEntries(Object.entries(details).map(([key, value]) => [key.startsWith("cause") ? key : `cause${key[0]?.toUpperCase() ?? ""}${key.slice(1)}`, value]));
59
62
  }
63
+ /** Validates workflow input and returns the value admitted to durable storage. */
64
+ async function parseInput(definition, input) {
65
+ const schema = definition.config.schema;
66
+ return toOptionalPersistedValue(schema === void 0 ? input : await validateStandardSchema(schema, input, "Workflow input validation failed"), "workflow input");
67
+ }
60
68
  function toPersistedValue(value, path, limits) {
61
69
  const issue = persistedValueIssue(value, path, /* @__PURE__ */ new WeakSet(), false);
62
70
  if (issue !== void 0) WorkflowSerializationError.notSerializable(issue.path, issue.message);
63
- enforceStorageValueSize(value, path, limits);
64
- return value;
71
+ const persisted = value;
72
+ enforceStorageValueSize(persisted, path, limits);
73
+ return persisted;
65
74
  }
66
75
  function toOptionalPersistedValue(value, path, limits) {
67
76
  if (value === void 0) return;
@@ -82,4 +91,4 @@ function persistedValueByteLength(value, path) {
82
91
  }
83
92
  }
84
93
  //#endregion
85
- export { serializeError, toOptionalPersistedValue, toPersistedValue };
94
+ export { enforceStorageValueSize, parseInput, serializeError, toOptionalPersistedValue, toPersistedValue };
@@ -0,0 +1,23 @@
1
+ import { RunId } from "../types/ids.mjs";
2
+ import { StepIdentity } from "../types/run.mjs";
3
+ //#region src/engine/signals.d.ts
4
+ /** Stops execution until `availableAt`, such as for a sleep, a message wait, or a step retry. */
5
+ export declare class Suspended extends Error {
6
+ readonly availableAt: Temporal.Instant;
7
+ readonly retryAt?: Temporal.Instant;
8
+ readonly retryReason?: "step";
9
+ readonly retryAttempt?: number;
10
+ readonly retryStep?: StepIdentity;
11
+ constructor(availableAt: Temporal.Instant, retry?: {
12
+ readonly step: StepIdentity;
13
+ readonly attempt: number;
14
+ });
15
+ static until(this: void, availableAt: Temporal.Instant): never;
16
+ static forStepRetry(this: void, retryAt: Temporal.Instant, step: StepIdentity, attempt: number): never;
17
+ }
18
+ /** Stops an execution that lost ownership of its run, such as after its lease was reclaimed. */
19
+ export declare class StaleExecutionError extends Error {
20
+ constructor(runId: RunId);
21
+ static stale(this: void, runId: RunId): never;
22
+ }
23
+ //#endregion
@@ -0,0 +1,41 @@
1
+ //#region src/engine/signals.ts
2
+ /** Stops execution until `availableAt`, such as for a sleep, a message wait, or a step retry. */
3
+ var Suspended = class Suspended extends Error {
4
+ availableAt;
5
+ retryAt;
6
+ retryReason;
7
+ retryAttempt;
8
+ retryStep;
9
+ constructor(availableAt, retry) {
10
+ super(`Workflow suspended until ${availableAt.toString()}`);
11
+ this.name = "WorkflowSuspended";
12
+ this.availableAt = availableAt;
13
+ if (retry !== void 0) {
14
+ this.retryAt = availableAt;
15
+ this.retryReason = "step";
16
+ this.retryAttempt = retry.attempt;
17
+ this.retryStep = retry.step;
18
+ }
19
+ }
20
+ static until(availableAt) {
21
+ throw new Suspended(availableAt);
22
+ }
23
+ static forStepRetry(retryAt, step, attempt) {
24
+ throw new Suspended(retryAt, {
25
+ step,
26
+ attempt
27
+ });
28
+ }
29
+ };
30
+ /** Stops an execution that lost ownership of its run, such as after its lease was reclaimed. */
31
+ var StaleExecutionError = class StaleExecutionError extends Error {
32
+ constructor(runId) {
33
+ super(`Workflow execution no longer owns run: ${runId}`);
34
+ this.name = "WorkflowStaleExecutionError";
35
+ }
36
+ static stale(runId) {
37
+ throw new StaleExecutionError(runId);
38
+ }
39
+ };
40
+ //#endregion
41
+ export { StaleExecutionError, Suspended };
@@ -0,0 +1,18 @@
1
+ import { RunId } from "../types/ids.mjs";
2
+ import { StartTarget, WorkflowDefinition } from "../types/definition.mjs";
3
+ import { ResolvedScheduleNextOptions, ScheduleNextOptions, StartOptions } from "../types/run-options.mjs";
4
+ import { WorkflowEngine } from "./create.mjs";
5
+ import { StorageValue } from "@temelj/storage";
6
+ //#region src/engine/start.d.ts
7
+ /** Resolves schedule-next options and derives the start time for the next run. */
8
+ export declare function resolveScheduleNextOptions(options: ScheduleNextOptions, now: () => Temporal.Instant): ResolvedScheduleNextOptions;
9
+ /** A started or existing run, with the definition that types its output. Internal. */
10
+ export interface RunRef<TOutput> {
11
+ readonly runId: RunId;
12
+ readonly definition: WorkflowDefinition<unknown, TOutput, unknown>;
13
+ }
14
+ /** An existing run; its output is the stored value, since a run ID carries no type. */
15
+ export declare function getRunRef(engine: WorkflowEngine, runId: RunId): Promise<RunRef<StorageValue | undefined>>;
16
+ /** Creates a pending run, or returns the run that already holds the idempotency key. */
17
+ export declare function startRun<TInput, TOutput, TRawInput = TInput>(engine: WorkflowEngine, workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, startOptions?: StartOptions): Promise<RunRef<TOutput>>;
18
+ //#endregion
@@ -0,0 +1,88 @@
1
+ import { defineFromName, defineFromTarget } from "../definition.mjs";
2
+ import { getRequiredRun } from "../store/query.mjs";
3
+ import { enforceStorageValueSize, parseInput, toPersistedValue } from "./serialization.mjs";
4
+ import { resolveStartSpec } from "./run-service.mjs";
5
+ import { captureTelemetryContext } from "../telemetry.mjs";
6
+ //#region src/engine/start.ts
7
+ /** Resolves schedule-next options and derives the start time for the next run. */
8
+ function resolveScheduleNextOptions(options, now) {
9
+ const from = options.from ?? now();
10
+ const start = {
11
+ id: options.id,
12
+ idempotencyKey: options.idempotencyKey,
13
+ workflowVersion: options.workflowVersion,
14
+ workflowVersionResolver: options.workflowVersionResolver,
15
+ context: options.context,
16
+ parent: options.parent,
17
+ availableAt: from.toZonedDateTimeISO("UTC").add(options.every).toInstant(),
18
+ deadlineAt: options.deadlineAt
19
+ };
20
+ return {
21
+ schedule: {
22
+ ...options,
23
+ from
24
+ },
25
+ start
26
+ };
27
+ }
28
+ /** An existing run; its output is the stored value, since a run ID carries no type. */
29
+ async function getRunRef(engine, runId) {
30
+ const run = await getRequiredRun(engine.store, runId);
31
+ return {
32
+ runId,
33
+ definition: defineFromName(run.workflowName, run.workflowVersion)
34
+ };
35
+ }
36
+ /** Creates a pending run, or returns the run that already holds the idempotency key. */
37
+ async function startRun(engine, workflow, input, startOptions) {
38
+ const context = engine.context;
39
+ const definition = await resolveStartSpec(defineFromTarget(workflow), startOptions);
40
+ const persistedInput = await parseInput(definition, input);
41
+ const idempotencyKey = startOptions?.idempotencyKey;
42
+ if (idempotencyKey !== void 0) {
43
+ const keyOptions = {
44
+ workflowName: definition.name,
45
+ idempotencyKey,
46
+ workflowVersion: definition.version
47
+ };
48
+ const existingRun = await context.store.getRunByIdempotencyKey(keyOptions);
49
+ if (existingRun !== void 0) return {
50
+ runId: existingRun.id,
51
+ definition
52
+ };
53
+ }
54
+ const runId = startOptions?.id ?? context.createRunId();
55
+ const timestamp = context.now();
56
+ const parent = startOptions?.parent;
57
+ enforceStorageValueSize(persistedInput, "workflow input", context.limits);
58
+ const run = {
59
+ id: runId,
60
+ namespace: context.store.namespace,
61
+ workflowName: definition.name,
62
+ workflowVersion: definition.version,
63
+ status: "pending",
64
+ input: persistedInput,
65
+ context: startOptions?.context === void 0 ? void 0 : toPersistedValue(startOptions.context, "workflow context", context.limits),
66
+ telemetryContext: captureTelemetryContext(context.telemetry),
67
+ attempts: 0,
68
+ idempotencyKey,
69
+ parentRunId: parent?.runId,
70
+ parentStepId: parent?.stepId,
71
+ parentStepName: parent?.stepName,
72
+ parentStepAttempt: parent?.stepAttempt,
73
+ createdAt: timestamp,
74
+ updatedAt: timestamp,
75
+ lastTransitionAt: timestamp,
76
+ lastTransitionReason: "created",
77
+ availableAt: startOptions?.availableAt,
78
+ deadlineAt: startOptions?.deadlineAt
79
+ };
80
+ const createdRun = await context.store.createRun(run);
81
+ context.observation.emitRunEvent(createdRun);
82
+ return {
83
+ runId: createdRun.id,
84
+ definition
85
+ };
86
+ }
87
+ //#endregion
88
+ export { getRunRef, resolveScheduleNextOptions, startRun };
@@ -1,77 +1,47 @@
1
- import { RunId } from "../types/run-id.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
+ import { WorkflowErrorRecord } from "../types/error.mjs";
2
3
  import { WorkflowDefinition } from "../types/definition.mjs";
3
- import { WorkflowStepAttemptRecord } from "../types/step-attempts.mjs";
4
4
  import { ExecutionResult } from "../types/result.mjs";
5
- import { WorkflowAttributePatch, WorkflowRunRecord, WorkflowRunRetryReason, WorkflowStepIdentity } from "../types/run.mjs";
6
- import { WorkflowErrorRecord } from "../types/error.mjs";
5
+ import { AttributePatch, RunRecord, RunRetryReason } from "../types/run.mjs";
7
6
  import { EventRecord } from "../types/events.mjs";
8
- import { WorkflowHistory } from "../history/mod.mjs";
9
- import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowLockConditionalWriterRepository, WorkflowLockListerRepository, WorkflowRunConditionalWriterRepository, WorkflowRunReaderRepository, WorkflowRunUnconditionalWriterRepository, WorkflowRunWriterRepository, WorkflowStepAttemptLookup } from "../types/store.mjs";
10
- import { getRequiredRun } from "../utility.mjs";
7
+ import { WorkflowStore } from "../types/store.mjs";
8
+ import { ExecutionLimits } from "../types/engine-options.mjs";
9
+ import { History } from "../history/replay.mjs";
11
10
  import { StorageValue } from "@temelj/storage";
12
11
  //#region src/engine/state.d.ts
13
- interface WorkflowEngineStateLimits {
14
- readonly maximumEventHistoryEvents?: number;
15
- }
16
- type WorkflowRunLookup = WorkflowRunReaderRepository;
17
- type WorkflowRunWriter = WorkflowRunUnconditionalWriterRepository;
18
- type WorkflowRunConditionalWriter = WorkflowRunConditionalWriterRepository;
19
- type WorkflowRunStateStore = WorkflowRunLookup & WorkflowRunWriter & WorkflowRunWriterRepository;
20
- type WorkflowCurrentEventAppender = WorkflowConditionalEventAppender;
21
- type WorkflowLockReleaseStore = WorkflowLockListerRepository & WorkflowLockConditionalWriterRepository;
22
- type WorkflowChildWakeStore = WorkflowRunStateStore & WorkflowEventReader & WorkflowStepAttemptLookup;
23
- type WorkflowChildCascadeStore = WorkflowChildWakeStore & WorkflowLockReleaseStore;
24
- type WorkflowChildRunStateStore = WorkflowChildCascadeStore & WorkflowCurrentEventAppender;
25
- declare function requireDefinitionMatchesRun<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>, run: WorkflowRunRecord): void;
26
- declare function appendEventIfCurrentExecution(store: WorkflowCurrentEventAppender, history: WorkflowHistory, event: EventRecord, executionOwner: WorkflowRunRecord, limits: WorkflowEngineStateLimits, beforeAppend?: () => void, afterAppend?: (event: EventRecord, events: readonly EventRecord[]) => void): Promise<void>;
27
- declare function requireCurrentExecutionOwner(store: WorkflowRunLookup, runId: RunId, executionOwner: WorkflowRunRecord): Promise<void>;
28
- declare function patchRun(store: WorkflowRunWriter, current: WorkflowRunRecord, patch: Partial<WorkflowRunRecord>): Promise<WorkflowRunRecord>;
29
- declare function patchRunIfCurrent(store: WorkflowRunConditionalWriter, current: WorkflowRunRecord, patch: Partial<WorkflowRunRecord>): Promise<WorkflowRunRecord | undefined>;
30
- declare function updateRunMetadataIfCurrent(store: WorkflowRunLookup & WorkflowRunConditionalWriter, runId: RunId, metadata: StorageValue, timestamp: Temporal.Instant): Promise<WorkflowRunRecord>;
31
- declare function setRunAttributesIfCurrent(store: WorkflowRunLookup & WorkflowRunConditionalWriter, runId: RunId, attributes: WorkflowAttributePatch, timestamp: Temporal.Instant): Promise<WorkflowRunRecord>;
32
- declare function patchCurrentExecutionRun(store: WorkflowRunLookup & WorkflowRunConditionalWriter, executionOwner: WorkflowRunRecord, patch: Partial<WorkflowRunRecord>): Promise<WorkflowRunRecord | undefined>;
33
- declare function patchCurrentExecutionRunAttributes(store: WorkflowRunLookup & WorkflowRunConditionalWriter, executionOwner: WorkflowRunRecord, attributes: WorkflowAttributePatch, timestamp: Temporal.Instant): Promise<WorkflowRunRecord | undefined>;
34
- declare function transitionRunToMissingImplementationWait(run: WorkflowRunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, retryAttempt: number): WorkflowRunRecord;
35
- declare function transitionRunToFailed(run: WorkflowRunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant, lastTransitionReason: "deadline" | "failed", deadlineAt?: Temporal.Instant): WorkflowRunRecord;
36
- declare function transitionRunToRunning(run: WorkflowRunRecord, timestamp: Temporal.Instant, attempts: number | undefined): WorkflowRunRecord;
37
- declare function transitionRunToCompleted(run: WorkflowRunRecord, output: StorageValue | undefined, timestamp: Temporal.Instant): WorkflowRunRecord;
38
- declare function transitionRunToExecutionWait(run: WorkflowRunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, options?: {
12
+ export declare const MAX_RUN_UPDATE_ATTEMPTS = 16;
13
+ export declare function requireDefinitionMatchesRun<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>, run: RunRecord): void;
14
+ export declare function appendEventIfCurrentExecution(store: WorkflowStore, history: History, event: EventRecord, executionOwner: RunRecord, limits: ExecutionLimits, beforeAppend?: () => void, afterAppend?: (event: EventRecord, events: readonly EventRecord[]) => void): Promise<void>;
15
+ export declare function requireCurrentExecutionOwner(store: WorkflowStore, executionOwner: RunRecord): Promise<void>;
16
+ export declare function patchRun(store: WorkflowStore, current: RunRecord, patch: Partial<RunRecord>): Promise<RunRecord>;
17
+ export declare function patchRunIfCurrent(store: WorkflowStore, current: RunRecord, patch: Partial<RunRecord>): Promise<RunRecord | undefined>;
18
+ export declare function updateRunMetadataIfCurrent(store: WorkflowStore, runId: RunId, metadata: StorageValue, timestamp: Temporal.Instant): Promise<RunRecord>;
19
+ export declare function setRunAttributesIfCurrent(store: WorkflowStore, runId: RunId, attributes: AttributePatch, timestamp: Temporal.Instant): Promise<RunRecord>;
20
+ export declare function patchCurrentExecutionRun(store: WorkflowStore, executionOwner: RunRecord, patch: Partial<RunRecord>): Promise<RunRecord | undefined>;
21
+ export declare function patchCurrentExecutionRunAttributes(store: WorkflowStore, executionOwner: RunRecord, attributes: AttributePatch, timestamp: Temporal.Instant): Promise<RunRecord | undefined>;
22
+ export declare function transitionRunToRunning(run: RunRecord, timestamp: Temporal.Instant, attempts: number | undefined): RunRecord;
23
+ export declare function transitionRunToCompleted(run: RunRecord, output: StorageValue | undefined, timestamp: Temporal.Instant): RunRecord;
24
+ export declare function transitionRunToFailed(run: RunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant, reason: "deadline" | "failed" | "permanent_failure", deadlineAt?: Temporal.Instant): RunRecord;
25
+ export declare function transitionRunToCanceled(run: RunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant): RunRecord;
26
+ export declare function transitionRunToWaiting(run: RunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): RunRecord;
27
+ /** Waits after an execution suspended, optionally to retry a failed step or workflow. */
28
+ export declare function transitionRunToExecutionWait(run: RunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, options?: {
39
29
  readonly retryAt?: Temporal.Instant;
40
- readonly retryReason?: WorkflowRunRetryReason;
30
+ readonly retryReason?: RunRetryReason;
41
31
  readonly retryAttempt?: number;
42
32
  readonly retryStepId?: string;
43
33
  readonly retryStepName?: string;
44
34
  readonly error?: WorkflowErrorRecord;
45
- }): WorkflowRunRecord;
46
- declare function transitionRunToWaiting(run: WorkflowRunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): WorkflowRunRecord;
47
- declare function transitionRunToRescheduled(run: WorkflowRunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): WorkflowRunRecord;
48
- declare function transitionRunAfterStaleLeaseRelease(run: WorkflowRunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): WorkflowRunRecord;
49
- declare function transitionRunToManualRetry(run: WorkflowRunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, retryAttempt: number): WorkflowRunRecord;
50
- declare function transitionRunToPermanentFailure(run: WorkflowRunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant): WorkflowRunRecord;
51
- declare function transitionRunToCanceled(run: WorkflowRunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant): WorkflowRunRecord;
52
- declare function transitionRunAfterParentWake(run: WorkflowRunRecord, timestamp: Temporal.Instant): WorkflowRunRecord;
53
- declare function isCurrentExecutionOwner(current: WorkflowRunRecord, execution: WorkflowRunRecord): boolean;
54
- declare function cancelRunWithChildren(store: WorkflowChildCascadeStore, runId: RunId, canceledAt: Temporal.Instant): Promise<WorkflowRunRecord>;
55
- declare function cancelActiveChildRuns(store: WorkflowChildCascadeStore, parentRunId: RunId, canceledAt: Temporal.Instant): Promise<void>;
56
- declare function wakeParentRunForTerminalChild(store: WorkflowChildWakeStore, childRun: WorkflowRunRecord, timestamp: Temporal.Instant): Promise<void>;
57
- declare function wakeParentRunForWaitingChild(store: WorkflowChildWakeStore, childRun: WorkflowRunRecord, availableAt: Temporal.Instant): Promise<void>;
58
- declare function parentHasActiveChildWorkflowAttemptForRun(store: WorkflowChildWakeStore, parentRunId: RunId, childRun: WorkflowRunRecord): Promise<boolean>;
59
- declare function parentHasActiveChildWorkflowEventForAttempt(store: WorkflowEventReader, parentRunId: RunId, attempt: WorkflowStepAttemptRecord): Promise<boolean>;
60
- declare function failRunForDeadline<TOutput>(store: WorkflowChildRunStateStore, run: WorkflowRunRecord, deadlineAt: Temporal.Instant, failedAt: Temporal.Instant, executionOwner?: WorkflowRunRecord): Promise<ExecutionResult<TOutput>>;
61
- declare function releaseLocksForRun(store: WorkflowLockReleaseStore, runId: RunId, releasedAt: Temporal.Instant): Promise<void>;
62
- declare class WorkflowSuspended extends Error {
63
- readonly availableAt: Temporal.Instant;
64
- readonly retryAt?: Temporal.Instant;
65
- readonly retryReason?: "step";
66
- readonly retryAttempt?: number;
67
- readonly retryStep?: WorkflowStepIdentity;
68
- constructor(availableAt: Temporal.Instant, context?: Function);
69
- static until(this: void, availableAt: Temporal.Instant): never;
70
- static forStepRetry(this: void, retryAt: Temporal.Instant, retryStep: WorkflowStepIdentity, retryAttempt: number): never;
71
- }
72
- declare class WorkflowStaleExecutionError extends Error {
73
- constructor(runId: RunId, context?: Function);
74
- static stale(this: void, runId: RunId): never;
75
- }
76
- //#endregion
77
- export { WorkflowStaleExecutionError, WorkflowSuspended, appendEventIfCurrentExecution, cancelActiveChildRuns, cancelRunWithChildren, failRunForDeadline, getRequiredRun, isCurrentExecutionOwner, parentHasActiveChildWorkflowAttemptForRun, parentHasActiveChildWorkflowEventForAttempt, patchCurrentExecutionRun, patchCurrentExecutionRunAttributes, patchRun, patchRunIfCurrent, releaseLocksForRun, requireCurrentExecutionOwner, requireDefinitionMatchesRun, setRunAttributesIfCurrent, transitionRunAfterParentWake, transitionRunAfterStaleLeaseRelease, transitionRunToCanceled, transitionRunToCompleted, transitionRunToExecutionWait, transitionRunToFailed, transitionRunToManualRetry, transitionRunToMissingImplementationWait, transitionRunToPermanentFailure, transitionRunToRescheduled, transitionRunToRunning, transitionRunToWaiting, updateRunMetadataIfCurrent, wakeParentRunForTerminalChild, wakeParentRunForWaitingChild };
35
+ }): RunRecord;
36
+ export declare function transitionRunToMissingImplementationWait(run: RunRecord, error: WorkflowErrorRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, retryAttempt: number): RunRecord;
37
+ export declare function transitionRunAfterStaleLeaseRelease(run: RunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): RunRecord;
38
+ /** Moves the run's next attempt to `availableAt`, keeping its status and retry details. */
39
+ export declare function transitionRunToRescheduled(run: RunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant): RunRecord;
40
+ export declare function transitionRunToManualRetry(run: RunRecord, timestamp: Temporal.Instant, availableAt: Temporal.Instant, retryAttempt: number): RunRecord;
41
+ export declare function isCurrentExecutionOwner(current: RunRecord, execution: RunRecord): boolean;
42
+ export declare function cancelRunWithChildren(store: WorkflowStore, runId: RunId, canceledAt: Temporal.Instant): Promise<RunRecord>;
43
+ /** Makes a waiting parent run available by `at` when one of its child workflow steps changes. */
44
+ export declare function wakeParentRun(store: WorkflowStore, childRun: RunRecord, at: Temporal.Instant): Promise<void>;
45
+ export declare function failRunForDeadline<TOutput>(store: WorkflowStore, definition: WorkflowDefinition<unknown, TOutput, unknown>, run: RunRecord, deadlineAt: Temporal.Instant, failedAt: Temporal.Instant, executionOwner?: RunRecord): Promise<ExecutionResult<TOutput>>;
46
+ export declare function releaseLocksForRun(store: WorkflowStore, runId: RunId, releasedAt: Temporal.Instant): Promise<void>;
47
+ //#endregion