@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
@@ -2,6 +2,5 @@ import { Telemetry } from "../types/telemetry.mjs";
2
2
  import { WorkflowStorage } from "../types/store.mjs";
3
3
  //#region src/store/instrumentation.d.ts
4
4
  /** Wraps workflow storage operations with telemetry. */
5
- declare function instrumentWorkflowStorage(storage: WorkflowStorage, telemetry: Telemetry | undefined): WorkflowStorage;
6
- //#endregion
7
- export { instrumentWorkflowStorage };
5
+ export declare function instrumentStorage(storage: WorkflowStorage, telemetry: Telemetry | undefined): WorkflowStorage;
6
+ //#endregion
@@ -1,7 +1,7 @@
1
1
  import { withStorageTelemetry } from "../telemetry.mjs";
2
2
  //#region src/store/instrumentation.ts
3
3
  /** Wraps workflow storage operations with telemetry. */
4
- function instrumentWorkflowStorage(storage, telemetry) {
4
+ function instrumentStorage(storage, telemetry) {
5
5
  if (telemetry?.withStorageOperation === void 0) return storage;
6
6
  const backend = storage.engine.name;
7
7
  const run = async (operation, callback) => await withStorageTelemetry(telemetry, {
@@ -30,94 +30,94 @@ function instrumentWorkflowStorage(storage, telemetry) {
30
30
  return storage.listenerCount(pattern);
31
31
  },
32
32
  async watch(callback) {
33
- return await run("watch", async () => await storage.watch(callback));
33
+ return await run("watch", () => storage.watch(callback));
34
34
  },
35
35
  async unwatch() {
36
- await run("unwatch", async () => await storage.unwatch());
36
+ await run("unwatch", () => storage.unwatch());
37
37
  },
38
38
  async get(key) {
39
- return await run("get", async () => await storage.get(key));
39
+ return await run("get", () => storage.get(key));
40
40
  },
41
41
  async tryGet(key) {
42
- return await run("tryGet", async () => await storage.tryGet(key));
42
+ return await run("tryGet", () => storage.tryGet(key));
43
43
  },
44
44
  async set(key, value, options) {
45
- await run("set", async () => await storage.set(key, value, options));
45
+ await run("set", () => storage.set(key, value, options));
46
46
  },
47
47
  async trySet(key, value, options) {
48
- return await run("trySet", async () => await storage.trySet(key, value, options));
48
+ return await run("trySet", () => storage.trySet(key, value, options));
49
49
  },
50
50
  async compareAndSet(key, expected, value, options) {
51
- return await run("compareAndSet", async () => await storage.compareAndSet(key, expected, value, options));
51
+ return await run("compareAndSet", () => storage.compareAndSet(key, expected, value, options));
52
52
  },
53
53
  async tryCompareAndSet(key, expected, value, options) {
54
- return await run("tryCompareAndSet", async () => await storage.tryCompareAndSet(key, expected, value, options));
54
+ return await run("tryCompareAndSet", () => storage.tryCompareAndSet(key, expected, value, options));
55
55
  },
56
56
  async compareAndSetMany(items) {
57
- return await run("compareAndSetMany", async () => await storage.compareAndSetMany(items));
57
+ return await run("compareAndSetMany", () => storage.compareAndSetMany(items));
58
58
  },
59
59
  async tryCompareAndSetMany(items) {
60
- return await run("tryCompareAndSetMany", async () => await storage.tryCompareAndSetMany(items));
60
+ return await run("tryCompareAndSetMany", () => storage.tryCompareAndSetMany(items));
61
61
  },
62
62
  async has(key) {
63
- return await run("has", async () => await storage.has(key));
63
+ return await run("has", () => storage.has(key));
64
64
  },
65
65
  async tryHas(key) {
66
- return await run("tryHas", async () => await storage.tryHas(key));
66
+ return await run("tryHas", () => storage.tryHas(key));
67
67
  },
68
68
  async delete(key) {
69
- return await run("delete", async () => await storage.delete(key));
69
+ return await run("delete", () => storage.delete(key));
70
70
  },
71
71
  async tryDelete(key) {
72
- return await run("tryDelete", async () => await storage.tryDelete(key));
72
+ return await run("tryDelete", () => storage.tryDelete(key));
73
73
  },
74
74
  async getMany(keys) {
75
- return await run("getMany", async () => await storage.getMany(keys));
75
+ return await run("getMany", () => storage.getMany(keys));
76
76
  },
77
77
  async tryGetMany(keys) {
78
- return await run("tryGetMany", async () => await storage.tryGetMany(keys));
78
+ return await run("tryGetMany", () => storage.tryGetMany(keys));
79
79
  },
80
80
  async setMany(items) {
81
- await run("setMany", async () => await storage.setMany(items));
81
+ await run("setMany", () => storage.setMany(items));
82
82
  },
83
83
  async trySetMany(items) {
84
- return await run("trySetMany", async () => await storage.trySetMany(items));
84
+ return await run("trySetMany", () => storage.trySetMany(items));
85
85
  },
86
86
  async deleteMany(keys) {
87
- return await run("deleteMany", async () => await storage.deleteMany(keys));
87
+ return await run("deleteMany", () => storage.deleteMany(keys));
88
88
  },
89
89
  async tryDeleteMany(keys) {
90
- return await run("tryDeleteMany", async () => await storage.tryDeleteMany(keys));
90
+ return await run("tryDeleteMany", () => storage.tryDeleteMany(keys));
91
91
  },
92
92
  async keys(options) {
93
- return await run("keys", async () => await storage.keys(options));
93
+ return await run("keys", () => storage.keys(options));
94
94
  },
95
95
  async tryKeys(options) {
96
- return await run("tryKeys", async () => await storage.tryKeys(options));
96
+ return await run("tryKeys", () => storage.tryKeys(options));
97
97
  },
98
98
  async entries(options) {
99
- return await run("entries", async () => await storage.entries(options));
99
+ return await run("entries", () => storage.entries(options));
100
100
  },
101
101
  async tryEntries(options) {
102
- return await run("tryEntries", async () => await storage.tryEntries(options));
102
+ return await run("tryEntries", () => storage.tryEntries(options));
103
103
  },
104
104
  async clear(options) {
105
- await run("clear", async () => await storage.clear(options));
105
+ await run("clear", () => storage.clear(options));
106
106
  },
107
107
  async tryClear(options) {
108
- return await run("tryClear", async () => await storage.tryClear(options));
108
+ return await run("tryClear", () => storage.tryClear(options));
109
109
  },
110
110
  async dispose() {
111
- await run("dispose", async () => await storage.dispose());
111
+ await run("dispose", () => storage.dispose());
112
112
  },
113
113
  async [Symbol.asyncDispose]() {
114
114
  await instrumented.dispose();
115
115
  },
116
116
  async tryDispose() {
117
- return await run("tryDispose", async () => await storage.tryDispose());
117
+ return await run("tryDispose", () => storage.tryDispose());
118
118
  }
119
119
  };
120
120
  return instrumented;
121
121
  }
122
122
  //#endregion
123
- export { instrumentWorkflowStorage };
123
+ export { instrumentStorage };
@@ -1,8 +1,7 @@
1
1
  import { LockRecord } from "../types/lock.mjs";
2
2
  import { WorkflowStorage } from "../types/store.mjs";
3
3
  //#region src/store/lock.d.ts
4
- declare function getReadableLock(storage: WorkflowStorage, namespace: string, key: string): Promise<LockRecord | undefined>;
5
- declare function listReadableLocks(storage: WorkflowStorage, namespace: string): Promise<readonly LockRecord[]>;
6
- declare function updateLockIfCurrent(storage: WorkflowStorage, namespace: string, current: LockRecord | undefined, next: LockRecord): Promise<LockRecord | undefined>;
7
- //#endregion
8
- export { getReadableLock, listReadableLocks, updateLockIfCurrent };
4
+ export declare function getReadableLock(storage: WorkflowStorage, namespace: string, key: string): Promise<LockRecord | undefined>;
5
+ export declare function listReadableLocks(storage: WorkflowStorage, namespace: string): Promise<readonly LockRecord[]>;
6
+ export declare function updateLockIfCurrent(storage: WorkflowStorage, namespace: string, current: LockRecord | undefined, next: LockRecord): Promise<LockRecord | undefined>;
7
+ //#endregion
@@ -1,28 +1,26 @@
1
+ import { WorkflowErrorCode } from "../errors/codes.mjs";
1
2
  import { WorkflowLockStateError } from "../errors/lock.mjs";
2
3
  import "../errors/mod.mjs";
4
+ import { omitUndefined, uniqueBy } from "../collection.mjs";
3
5
  import { makeLockKey, makeLockKeyPrefix } from "../store-keys.mjs";
4
6
  import { toStorageValue } from "./storage-value.mjs";
5
7
  import { isReadableLockRecord } from "./validation.mjs";
6
- import { compactWorkflowStoreRecord } from "./compaction.mjs";
7
8
  //#region src/store/lock.ts
8
9
  async function getReadableLock(storage, namespace, key) {
9
10
  const lock = await storage.get(makeLockKey(namespace, key));
10
11
  return isReadableLockRecord(lock, namespace) ? lock : void 0;
11
12
  }
12
13
  async function listReadableLocks(storage, namespace) {
13
- return (await storage.entries({ prefix: makeLockKeyPrefix(namespace) })).map((entry) => entry.value).filter((lock) => isReadableLockRecord(lock, namespace)).sort((a, b) => a.key.localeCompare(b.key)).filter(isFirstLockRecordForKey);
14
+ return uniqueBy((await storage.entries({ prefix: makeLockKeyPrefix(namespace) })).map((entry) => entry.value).filter((lock) => isReadableLockRecord(lock, namespace)).sort((a, b) => a.key.localeCompare(b.key)), (lock) => lock.key);
14
15
  }
15
16
  async function updateLockIfCurrent(storage, namespace, current, next) {
16
17
  if (next.namespace !== namespace) WorkflowLockStateError.namespaceMismatch(String(next.namespace), namespace);
17
18
  if (current !== void 0) {
18
19
  if (current.namespace !== namespace) WorkflowLockStateError.namespaceMismatch(String(current.namespace), namespace);
19
- if (current.key !== next.key) WorkflowLockStateError.keyChangeRejected();
20
+ if (current.key !== next.key) throw new WorkflowLockStateError("Workflow lock key cannot change", WorkflowErrorCode.LOCK_KEY_CHANGE_REJECTED, void 0);
20
21
  }
21
- const compact = compactWorkflowStoreRecord(next);
22
+ const compact = omitUndefined(next);
22
23
  return await storage.compareAndSet(makeLockKey(namespace, next.key), current === void 0 ? void 0 : toStorageValue(current), toStorageValue(compact)) ? compact : void 0;
23
24
  }
24
- function isFirstLockRecordForKey(lock, index, locks) {
25
- return locks.findIndex((entry) => entry.key === lock.key) === index;
26
- }
27
25
  //#endregion
28
26
  export { getReadableLock, listReadableLocks, updateLockIfCurrent };
@@ -1,30 +1,23 @@
1
- import { RunId } from "../types/run-id.mjs";
2
- import { WorkflowStepAttemptRecord } from "../types/step-attempts.mjs";
3
- import "../types/run.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
+ import { StepAttemptRecord } from "../types/step-attempts.mjs";
4
3
  import { EventRecord } from "../types/events.mjs";
5
4
  import { WorkflowStorage } from "../types/store.mjs";
6
5
  import { StorageCompareAndSetManyItem, StorageValue } from "@temelj/storage";
7
6
  //#region src/store/materialization.d.ts
8
- interface WorkflowStepAttemptMaterializationStoragePlan {
7
+ export interface StepAttemptMaterializationStoragePlan {
9
8
  readonly materializes: boolean;
10
9
  readonly storageKey?: string;
11
- readonly current?: WorkflowStepAttemptRecord;
10
+ readonly current?: StepAttemptRecord;
12
11
  readonly item?: StorageCompareAndSetManyItem<StorageValue>;
13
12
  }
14
- interface WorkflowStepAttemptAppendMaterializationOutcome {
13
+ interface StepAttemptAppendMaterializationOutcome {
15
14
  readonly status: "appended" | "duplicate";
16
15
  readonly events: readonly EventRecord[];
17
16
  readonly previousEventHistory?: StorageValue;
18
17
  }
19
- declare function materializeStepAttemptForAppendOutcome(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord, outcome: WorkflowStepAttemptAppendMaterializationOutcome): Promise<void>;
20
- declare function createWorkflowStepAttemptMaterializationStoragePlan(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord): Promise<WorkflowStepAttemptMaterializationStoragePlan>;
21
- declare function reconcileStepAttempts(storage: WorkflowStorage, namespace: string, runId: RunId, events: readonly EventRecord[]): Promise<readonly WorkflowStepAttemptRecord[]>;
22
- declare function materializeStepAttemptIfCurrent(storage: WorkflowStorage, runId: RunId, storageKey: string, createNext: (current: WorkflowStepAttemptRecord | undefined) => WorkflowStepAttemptRecord | undefined, options?: {
23
- readonly repairStatusMismatch?: boolean;
24
- }): Promise<void>;
25
- declare function shouldStoreStepAttempt(current: WorkflowStepAttemptRecord | undefined, next: WorkflowStepAttemptRecord, options?: {
26
- readonly repairStatusMismatch?: boolean;
27
- }): boolean;
28
- declare function isSameStepAttemptIdentity(current: WorkflowStepAttemptRecord, next: WorkflowStepAttemptRecord): boolean;
18
+ export declare function materializeStepAttemptForAppendOutcome(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord, outcome: StepAttemptAppendMaterializationOutcome): Promise<void>;
19
+ export declare function createStepAttemptMaterializationStoragePlan(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord): Promise<StepAttemptMaterializationStoragePlan>;
20
+ export declare function reconcileStepAttempts(storage: WorkflowStorage, namespace: string, runId: RunId, events: readonly EventRecord[]): Promise<readonly StepAttemptRecord[]>;
21
+ export declare function isSameStepAttemptIdentity(current: StepAttemptRecord, next: StepAttemptRecord): boolean;
29
22
  //#endregion
30
- export { WorkflowStepAttemptAppendMaterializationOutcome, WorkflowStepAttemptMaterializationStoragePlan, createWorkflowStepAttemptMaterializationStoragePlan, isSameStepAttemptIdentity, materializeStepAttemptForAppendOutcome, materializeStepAttemptIfCurrent, reconcileStepAttempts, shouldStoreStepAttempt };
23
+ export {};
@@ -1,16 +1,16 @@
1
+ import { WorkflowErrorCode } from "../errors/codes.mjs";
1
2
  import { WorkflowStateError } from "../errors/base.mjs";
2
- import { makeWorkflowStepAttemptKey } from "../history/attempt-key.mjs";
3
3
  import { omitUndefined } from "../collection.mjs";
4
+ import { makeStepAttemptKey, stepAttemptKey } from "../store-keys.mjs";
4
5
  import { getWorkflowEventStepAttemptKey } from "../events/descriptors.mjs";
5
- import { applyWorkflowStepAttemptEvent } from "../history/projection.mjs";
6
- import "../history/mod.mjs";
7
- import { supportsWorkflowConditionalWrite } from "./capabilities.mjs";
8
- import { makeStepAttemptKey } from "../store-keys.mjs";
6
+ import { applyStepAttemptEvent } from "../history/projection.mjs";
7
+ import "../history/replay.mjs";
8
+ import { createStepAttempts } from "../history/step-attempts.mjs";
9
+ import { supportsConditionalWrite } from "./capabilities.mjs";
9
10
  import { toStorageValue } from "./storage-value.mjs";
10
- import { parseStoredWorkflowStepAttemptRecord } from "./validation.mjs";
11
- import { rollbackAppendedEventIfCurrent } from "./event-history.mjs";
12
- import { createWorkflowStepAttempts } from "../history/step-attempts.mjs";
13
- import { requireReadableStoredWorkflowRun } from "./run.mjs";
11
+ import { parseStoredStepAttemptRecord } from "./validation.mjs";
12
+ import { requireReadableStoredRun } from "./run.mjs";
13
+ import { rollbackAppendedEventIfCurrent } from "./events.mjs";
14
14
  //#region src/store/materialization.ts
15
15
  const MAX_MATERIALIZE_STEP_ATTEMPT_ATTEMPTS = 16;
16
16
  const WORKFLOW_MATERIALIZED_STEP_DESCRIPTORS = {
@@ -28,9 +28,9 @@ const WORKFLOW_MATERIALIZED_STEP_DESCRIPTORS = {
28
28
  deterministic: { identityFields: [] }
29
29
  };
30
30
  async function materializeStepAttempt(storage, namespace, runId, event) {
31
- const storageKey = getWorkflowStepAttemptMaterializationStorageKey(namespace, runId, event);
31
+ const storageKey = getStepAttemptMaterializationStorageKey(namespace, runId, event);
32
32
  if (storageKey === void 0) return;
33
- await materializeStepAttemptIfCurrent(storage, runId, storageKey, (current) => applyWorkflowStepAttemptEvent(runId, event, current));
33
+ await materializeStepAttemptIfCurrent(storage, runId, storageKey, (current) => applyStepAttemptEvent(runId, event, current));
34
34
  }
35
35
  async function materializeStepAttemptForAppendOutcome(storage, namespace, runId, event, outcome) {
36
36
  try {
@@ -40,7 +40,7 @@ async function materializeStepAttemptForAppendOutcome(storage, namespace, runId,
40
40
  throw error;
41
41
  }
42
42
  }
43
- function getWorkflowStepAttemptMaterializationStorageKey(namespace, runId, event) {
43
+ function getStepAttemptMaterializationStorageKey(namespace, runId, event) {
44
44
  let attemptKey;
45
45
  try {
46
46
  attemptKey = getWorkflowEventStepAttemptKey(event);
@@ -49,58 +49,64 @@ function getWorkflowStepAttemptMaterializationStorageKey(namespace, runId, event
49
49
  }
50
50
  return attemptKey === void 0 ? void 0 : makeStepAttemptKey(namespace, runId, attemptKey);
51
51
  }
52
- function createWorkflowStepAttemptMaterializationUpdate(namespace, runId, event, current) {
53
- const storageKey = getWorkflowStepAttemptMaterializationStorageKey(namespace, runId, event);
52
+ function createStepAttemptMaterializationUpdate(namespace, runId, event, current) {
53
+ const storageKey = getStepAttemptMaterializationStorageKey(namespace, runId, event);
54
54
  if (storageKey === void 0) return;
55
- const next = applyWorkflowStepAttemptEvent(runId, event, current);
55
+ const next = applyStepAttemptEvent(runId, event, current);
56
56
  return {
57
57
  storageKey,
58
- ...next === void 0 ? {} : { next },
58
+ next,
59
59
  shouldStore: next !== void 0 && shouldStoreStepAttempt(current, next)
60
60
  };
61
61
  }
62
- async function createWorkflowStepAttemptMaterializationStoragePlan(storage, namespace, runId, event) {
63
- const storageKey = getWorkflowStepAttemptMaterializationStorageKey(namespace, runId, event);
62
+ async function createStepAttemptMaterializationStoragePlan(storage, namespace, runId, event) {
63
+ const storageKey = getStepAttemptMaterializationStorageKey(namespace, runId, event);
64
64
  if (storageKey === void 0) return { materializes: false };
65
- const { raw, current } = await readStoredWorkflowStepAttempt(storage, storageKey);
66
- const materialization = createWorkflowStepAttemptMaterializationUpdate(namespace, runId, event, current);
65
+ const { raw, current } = await readStoredStepAttempt(storage, storageKey);
66
+ const materialization = createStepAttemptMaterializationUpdate(namespace, runId, event, current);
67
67
  return {
68
68
  materializes: true,
69
69
  storageKey,
70
- ...current === void 0 ? {} : { current },
71
- ...materialization?.shouldStore === true && materialization.next !== void 0 ? { item: {
70
+ current,
71
+ item: materialization?.shouldStore === true && materialization.next !== void 0 ? {
72
72
  key: materialization.storageKey,
73
73
  expected: raw,
74
74
  value: toStorageValue(omitUndefined(materialization.next))
75
- } } : {}
75
+ } : void 0
76
76
  };
77
77
  }
78
78
  async function reconcileStepAttempts(storage, namespace, runId, events) {
79
- const attempts = createWorkflowStepAttempts(runId, events);
80
- await requireReadableStoredWorkflowRun(storage, namespace, runId);
81
- await Promise.all(attempts.map((attempt) => materializeStepAttemptIfCurrent(storage, runId, makeStepAttemptKey(namespace, runId, makeWorkflowStepAttemptKey(attempt.stepId, attempt.attempt)), () => attempt, { repairStatusMismatch: true })));
79
+ const attempts = createStepAttempts(runId, events);
80
+ await requireReadableStoredRun(storage, namespace, runId);
81
+ await Promise.all(attempts.map((attempt) => materializeStepAttemptIfCurrent(storage, runId, makeStepAttemptKey(namespace, runId, stepAttemptKey(attempt.stepId, attempt.attempt)), () => attempt, { repairStatusMismatch: true })));
82
82
  return attempts;
83
83
  }
84
84
  async function materializeStepAttemptIfCurrent(storage, runId, storageKey, createNext, options = {}) {
85
- if (!supportsWorkflowConditionalWrite(storage)) {
86
- const { current } = await readStoredWorkflowStepAttempt(storage, storageKey);
85
+ if (!supportsConditionalWrite(storage)) {
86
+ const { current } = await readStoredStepAttempt(storage, storageKey);
87
87
  const next = createNext(current);
88
88
  if (next !== void 0 && shouldStoreStepAttempt(current, next, options)) await storage.set(storageKey, toStorageValue(omitUndefined(next)));
89
89
  return;
90
90
  }
91
91
  for (let attempt = 0; attempt < MAX_MATERIALIZE_STEP_ATTEMPT_ATTEMPTS; attempt++) {
92
- const { raw, current } = await readStoredWorkflowStepAttempt(storage, storageKey);
92
+ const { raw, current } = await readStoredStepAttempt(storage, storageKey);
93
93
  const next = createNext(current);
94
94
  if (next === void 0 || !shouldStoreStepAttempt(current, next, options)) return;
95
95
  if (await storage.compareAndSet(storageKey, raw, toStorageValue(omitUndefined(next)))) return;
96
96
  }
97
- WorkflowStateError.failedStepAttemptMaterialization(runId, MAX_MATERIALIZE_STEP_ATTEMPT_ATTEMPTS);
97
+ throw new WorkflowStateError(`Failed to materialize workflow step attempt for run ${runId} after ${MAX_MATERIALIZE_STEP_ATTEMPT_ATTEMPTS} attempts`, {
98
+ code: WorkflowErrorCode.STATE_STEP_ATTEMPT_MATERIALIZATION_FAILED,
99
+ details: {
100
+ runId,
101
+ attempts: MAX_MATERIALIZE_STEP_ATTEMPT_ATTEMPTS
102
+ }
103
+ });
98
104
  }
99
- async function readStoredWorkflowStepAttempt(storage, storageKey) {
105
+ async function readStoredStepAttempt(storage, storageKey) {
100
106
  const raw = await storage.get(storageKey);
101
107
  return {
102
108
  raw,
103
- current: parseStoredWorkflowStepAttemptRecord(raw)
109
+ current: parseStoredStepAttemptRecord(raw)
104
110
  };
105
111
  }
106
112
  function shouldStoreStepAttempt(current, next, options = {}) {
@@ -124,4 +130,4 @@ function isSameMaterializedStepAttemptFields(current, next, fields) {
124
130
  return fields.every((field) => current[field] === next[field]);
125
131
  }
126
132
  //#endregion
127
- export { createWorkflowStepAttemptMaterializationStoragePlan, isSameStepAttemptIdentity, materializeStepAttemptForAppendOutcome, materializeStepAttemptIfCurrent, reconcileStepAttempts, shouldStoreStepAttempt };
133
+ export { createStepAttemptMaterializationStoragePlan, isSameStepAttemptIdentity, materializeStepAttemptForAppendOutcome, reconcileStepAttempts };
@@ -1,5 +1,5 @@
1
- import { CreateWorkflowStoreOptions, WorkflowClaimRunOptions, WorkflowCleanupIndexKey, WorkflowCleanupIndexValue, WorkflowCleanupRepository, WorkflowConditionalEventAppender, WorkflowEventAppender, WorkflowEventHistoryChangeWaitOptions, WorkflowEventHistoryWatcher, WorkflowEventLog, WorkflowEventReader, WorkflowExtendRunLeaseOptions, WorkflowIdempotencyIndex, WorkflowIdempotencyKeyOptions, WorkflowLockConditionalWriterRepository, WorkflowLockListerRepository, WorkflowLockReaderRepository, WorkflowLockRepository, WorkflowMessageIdempotencyIndex, WorkflowMessageIdempotencyIndexLookup, WorkflowMessageIdempotencyRepairModel, WorkflowReleaseRunLeaseOptions, WorkflowRunConditionalWriterRepository, WorkflowRunCreationRepository, WorkflowRunLeaseRepository, WorkflowRunListerRepository, WorkflowRunQueryRepository, WorkflowRunReaderRepository, WorkflowRunRepository, WorkflowRunUnconditionalWriterRepository, WorkflowRunWriterRepository, WorkflowScheduleConditionalWriterRepository, WorkflowScheduleCreationRepository, WorkflowScheduleListerRepository, WorkflowScheduleQueryRepository, WorkflowScheduleReaderRepository, WorkflowScheduleRepository, WorkflowStepAttemptLookup, WorkflowStepAttemptReadModel, WorkflowStorage, WorkflowStoreCapabilities, WorkflowStoreCapabilitiesSource, WorkflowStoreMetadata, WorkflowStoreNamespace, WorkflowStoreStorageContext } from "../types/store.mjs";
1
+ import { ClaimRunOptions, CleanupIndexKey, CreateWorkflowStoreOptions, ExtendRunLeaseOptions, IdempotencyKeyOptions, MessageIdempotencyIndex, ReleaseRunLeaseOptions, StoreCapabilities, WorkflowEventHistoryChangeWaitOptions, WorkflowStorage } from "../types/store.mjs";
2
+ import { cleanupIndexKeySchema, cleanupMarkerRecordSchema, cleanupModeSchema, messageIdempotencyIndexSchema, stepAttemptRecordSchema, stepAttemptStatusSchema } from "../schema/store.mjs";
2
3
  import { getWorkflowStoreCapabilities } from "./capabilities.mjs";
3
4
  import { WorkflowStore, createWorkflowStore } from "./create.mjs";
4
- import { workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema } from "./schema.mjs";
5
- export { type CreateWorkflowStoreOptions, type WorkflowClaimRunOptions, type WorkflowCleanupIndexKey, type WorkflowCleanupIndexValue, type WorkflowCleanupRepository, type WorkflowConditionalEventAppender, type WorkflowEventAppender, type WorkflowEventHistoryChangeWaitOptions, type WorkflowEventHistoryWatcher, type WorkflowEventLog, type WorkflowEventReader, type WorkflowExtendRunLeaseOptions, type WorkflowIdempotencyIndex, type WorkflowIdempotencyKeyOptions, type WorkflowLockConditionalWriterRepository, type WorkflowLockListerRepository, type WorkflowLockReaderRepository, type WorkflowLockRepository, type WorkflowMessageIdempotencyIndex, type WorkflowMessageIdempotencyIndexLookup, type WorkflowMessageIdempotencyRepairModel, type WorkflowReleaseRunLeaseOptions, type WorkflowRunConditionalWriterRepository, type WorkflowRunCreationRepository, type WorkflowRunLeaseRepository, type WorkflowRunListerRepository, type WorkflowRunQueryRepository, type WorkflowRunReaderRepository, type WorkflowRunRepository, type WorkflowRunUnconditionalWriterRepository, type WorkflowRunWriterRepository, type WorkflowScheduleConditionalWriterRepository, type WorkflowScheduleCreationRepository, type WorkflowScheduleListerRepository, type WorkflowScheduleQueryRepository, type WorkflowScheduleReaderRepository, type WorkflowScheduleRepository, type WorkflowStepAttemptLookup, type WorkflowStepAttemptReadModel, type WorkflowStorage, WorkflowStore, type WorkflowStoreCapabilities, type WorkflowStoreCapabilitiesSource, type WorkflowStoreMetadata, type WorkflowStoreNamespace, type WorkflowStoreStorageContext, createWorkflowStore, getWorkflowStoreCapabilities, workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema };
5
+ export { type ClaimRunOptions, type CleanupIndexKey, type CreateWorkflowStoreOptions, type ExtendRunLeaseOptions, type IdempotencyKeyOptions, type MessageIdempotencyIndex, type ReleaseRunLeaseOptions, type StoreCapabilities, type WorkflowEventHistoryChangeWaitOptions, type WorkflowStorage, WorkflowStore, cleanupIndexKeySchema, cleanupMarkerRecordSchema, cleanupModeSchema, createWorkflowStore, getWorkflowStoreCapabilities, messageIdempotencyIndexSchema, stepAttemptRecordSchema, stepAttemptStatusSchema };
@@ -1,4 +1,4 @@
1
1
  import { getWorkflowStoreCapabilities } from "./capabilities.mjs";
2
- import { workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema } from "./schema.mjs";
2
+ import { cleanupIndexKeySchema, cleanupMarkerRecordSchema, cleanupModeSchema, messageIdempotencyIndexSchema, stepAttemptRecordSchema, stepAttemptStatusSchema } from "../schema/store.mjs";
3
3
  import { WorkflowStore, createWorkflowStore } from "./create.mjs";
4
- export { WorkflowStore, createWorkflowStore, getWorkflowStoreCapabilities, workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema };
4
+ export { WorkflowStore, cleanupIndexKeySchema, cleanupMarkerRecordSchema, cleanupModeSchema, createWorkflowStore, getWorkflowStoreCapabilities, messageIdempotencyIndexSchema, stepAttemptRecordSchema, stepAttemptStatusSchema };
@@ -1,24 +1,20 @@
1
- import { RunId } from "../types/run-id.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
2
  import { ListSchedulesOptions, ScheduleRecord } from "../types/schedule.mjs";
3
- import { WorkflowListRunsOptions } from "../types/run-list.mjs";
4
- import { WorkflowListStepAttemptsOptions, WorkflowStepAttemptRecord } from "../types/step-attempts.mjs";
5
- import { WorkflowRunRecord } from "../types/run.mjs";
6
- import { WorkflowEventReader, WorkflowRunReaderRepository, WorkflowStorage } from "../types/store.mjs";
3
+ import { ListRunsOptions } from "../types/run-list.mjs";
4
+ import { ListStepAttemptsOptions, StepAttemptRecord } from "../types/step-attempts.mjs";
5
+ import { RunRecord } from "../types/run.mjs";
6
+ import { WorkflowStorage, WorkflowStore } from "../types/store.mjs";
7
7
  //#region src/store/query.d.ts
8
- type WorkflowStepAttemptQueryStore = WorkflowRunReaderRepository & WorkflowEventReader;
9
- declare function queryWorkflowRuns(storage: WorkflowStorage, namespace: string, options: WorkflowListRunsOptions | undefined, query: {
8
+ export declare function queryRuns(storage: WorkflowStorage, namespace: string, options: ListRunsOptions | undefined, query: {
10
9
  readonly label: string;
11
10
  readonly sort: boolean;
12
- }): Promise<readonly WorkflowRunRecord[]>;
13
- declare function queryWorkflowStepAttempts(storage: WorkflowStorage, namespace: string, store: WorkflowStepAttemptQueryStore, runId: RunId, options: WorkflowListStepAttemptsOptions | undefined, _query: {
11
+ }): Promise<readonly RunRecord[]>;
12
+ export declare function queryStepAttempts(storage: WorkflowStorage, namespace: string, store: WorkflowStore, runId: RunId, options: ListStepAttemptsOptions | undefined, _query: {
14
13
  readonly label: string;
15
- }): Promise<readonly WorkflowStepAttemptRecord[]>;
16
- declare function querySchedules(storage: WorkflowStorage, namespace: string, options: ListSchedulesOptions | undefined, _query: {
14
+ }): Promise<readonly StepAttemptRecord[]>;
15
+ export declare function querySchedules(storage: WorkflowStorage, namespace: string, options: ListSchedulesOptions | undefined, _query: {
17
16
  readonly label: string;
18
17
  }): Promise<readonly ScheduleRecord[]>;
19
- declare function getRequiredStoreRun(store: WorkflowRunReaderRepository, runId: RunId): Promise<WorkflowRunRecord>;
20
- declare function matchesWorkflowRunListOptions(run: WorkflowRunRecord, options: WorkflowListRunsOptions | undefined): boolean;
21
- declare function matchesWorkflowStepAttemptListOptions(attempt: WorkflowStepAttemptRecord, options: WorkflowListStepAttemptsOptions | undefined): boolean;
22
- declare function matchesScheduleListOptions(schedule: ScheduleRecord, options: ListSchedulesOptions | undefined): boolean;
23
- //#endregion
24
- export { getRequiredStoreRun, matchesScheduleListOptions, matchesWorkflowRunListOptions, matchesWorkflowStepAttemptListOptions, querySchedules, queryWorkflowRuns, queryWorkflowStepAttempts };
18
+ export declare function getRequiredRun(store: WorkflowStore, runId: RunId): Promise<RunRecord>;
19
+ export declare function matchesRunListOptions(run: RunRecord, options: ListRunsOptions | undefined): boolean;
20
+ //#endregion
@@ -1,26 +1,26 @@
1
+ import { compareOptionalTimestamps, matchesOptionalDurationRange, matchesOptionalTimestampRange, matchesTimestampRange } from "../temporal.mjs";
1
2
  import { WorkflowRunNotFoundError } from "../errors/run.mjs";
2
3
  import "../errors/mod.mjs";
3
4
  import { matchesOptionalValue, uniqueBy } from "../collection.mjs";
4
- import { compareOptionalTimestamps, matchesOptionalDurationRange, matchesOptionalTimestampRange, matchesTimestampRange } from "../temporal.mjs";
5
5
  import { makeRunKeyPrefix, makeScheduleKeyPrefix } from "../store-keys.mjs";
6
- import { isListableWorkflowRunRecord, isReadableScheduleRecord } from "./validation.mjs";
6
+ import { isListableRunRecord, isReadableScheduleRecord } from "./validation.mjs";
7
7
  import { reconcileStepAttempts } from "./materialization.mjs";
8
8
  //#region src/store/query.ts
9
- async function queryWorkflowRuns(storage, namespace, options, query) {
10
- const runs = (await storage.entries({ prefix: makeRunKeyPrefix(namespace) })).map((entry) => entry.value).filter((run) => isListableWorkflowRunRecord(run, namespace)).filter((run) => matchesWorkflowRunListOptions(run, options));
9
+ async function queryRuns(storage, namespace, options, query) {
10
+ const runs = (await storage.entries({ prefix: makeRunKeyPrefix(namespace) })).map((entry) => entry.value).filter((run) => isListableRunRecord(run, namespace)).filter((run) => matchesRunListOptions(run, options));
11
11
  const uniqueRuns = uniqueBy(runs, (run) => run.id);
12
12
  if (!query.sort) return uniqueRuns;
13
- return [...uniqueRuns].sort(compareWorkflowRunsForQuery);
13
+ return [...uniqueRuns].sort(compareRunsForQuery);
14
14
  }
15
- async function queryWorkflowStepAttempts(storage, namespace, store, runId, options, _query) {
16
- await getRequiredStoreRun(store, runId);
17
- return (await reconcileStepAttempts(storage, namespace, runId, await store.getEvents(runId))).filter((attempt) => matchesWorkflowStepAttemptListOptions(attempt, options));
15
+ async function queryStepAttempts(storage, namespace, store, runId, options, _query) {
16
+ await getRequiredRun(store, runId);
17
+ return (await reconcileStepAttempts(storage, namespace, runId, await store.getEvents(runId))).filter((attempt) => matchesStepAttemptListOptions(attempt, options));
18
18
  }
19
19
  async function querySchedules(storage, namespace, options, _query) {
20
20
  const schedules = (await storage.entries({ prefix: makeScheduleKeyPrefix(namespace) })).map((entry) => entry.value).filter((schedule) => isReadableScheduleRecord(schedule, namespace)).filter((schedule) => matchesScheduleListOptions(schedule, options)).sort(compareSchedulesForQuery);
21
21
  return uniqueBy(schedules, (schedule) => schedule.id);
22
22
  }
23
- function compareWorkflowRunsForQuery(left, right) {
23
+ function compareRunsForQuery(left, right) {
24
24
  const createdOrder = compareOptionalTimestamps(left.createdAt, right.createdAt);
25
25
  if (createdOrder !== 0) return createdOrder;
26
26
  return left.id.localeCompare(right.id);
@@ -28,12 +28,12 @@ function compareWorkflowRunsForQuery(left, right) {
28
28
  function compareSchedulesForQuery(left, right) {
29
29
  return Temporal.Instant.compare(left.nextFireAt, right.nextFireAt) || Temporal.Instant.compare(left.createdAt, right.createdAt) || left.id.localeCompare(right.id);
30
30
  }
31
- async function getRequiredStoreRun(store, runId) {
31
+ async function getRequiredRun(store, runId) {
32
32
  const run = await store.getRun(runId);
33
33
  if (run === void 0) WorkflowRunNotFoundError.notFound(runId);
34
34
  return run;
35
35
  }
36
- function matchesWorkflowRunListOptions(run, options) {
36
+ function matchesRunListOptions(run, options) {
37
37
  if (options?.status !== void 0 && !matchesOptionalValue(run.status, options.status)) return false;
38
38
  if (options?.workflowName !== void 0 && run.workflowName !== options.workflowName) return false;
39
39
  if (options?.workflowVersion !== void 0 && run.workflowVersion !== options.workflowVersion) return false;
@@ -48,7 +48,7 @@ function matchesWorkflowRunListOptions(run, options) {
48
48
  if (!matchesRunAttributeFilters(run, options)) return false;
49
49
  return matchesTimestampRange(run.createdAt, options?.createdAtFrom, options?.createdAtTo) && matchesTimestampRange(run.updatedAt, options?.updatedAtFrom, options?.updatedAtTo) && matchesOptionalTimestampRange(run.finishedAt, options?.finishedAtFrom, options?.finishedAtTo) && matchesOptionalTimestampRange(run.startedAt, options?.startedAtFrom, options?.startedAtTo) && matchesOptionalTimestampRange(run.availableAt, options?.availableAtFrom, options?.availableAtTo) && matchesOptionalTimestampRange(run.leaseExpiresAt, options?.leaseExpiresAtFrom, options?.leaseExpiresAtTo) && matchesOptionalTimestampRange(run.retryAt, options?.retryAtFrom, options?.retryAtTo);
50
50
  }
51
- function matchesWorkflowStepAttemptListOptions(attempt, options) {
51
+ function matchesStepAttemptListOptions(attempt, options) {
52
52
  if (options?.status !== void 0 && !matchesOptionalValue(attempt.status, options.status)) return false;
53
53
  if (options?.kind !== void 0 && !matchesOptionalValue(attempt.kind, options.kind)) return false;
54
54
  if (options?.stepId !== void 0 && attempt.stepId !== options.stepId) return false;
@@ -81,4 +81,4 @@ function matchesRunAttributeFilters(run, options) {
81
81
  return true;
82
82
  }
83
83
  //#endregion
84
- export { getRequiredStoreRun, matchesScheduleListOptions, matchesWorkflowRunListOptions, matchesWorkflowStepAttemptListOptions, querySchedules, queryWorkflowRuns, queryWorkflowStepAttempts };
84
+ export { getRequiredRun, matchesRunListOptions, queryRuns, querySchedules, queryStepAttempts };
@@ -1,49 +1,40 @@
1
- import { RunId } from "../types/run-id.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
2
  import { WorkflowPage } from "../types/pagination.mjs";
3
- import { WorkflowListRunsOptions, WorkflowListRunsPageOptions } from "../types/run-list.mjs";
4
- import { WorkerId } from "../types/worker-id.mjs";
5
- import { WorkflowRunRecord } from "../types/run.mjs";
3
+ import { ListRunsOptions, ListRunsPageOptions } from "../types/run-list.mjs";
4
+ import { RunRecord } from "../types/run.mjs";
6
5
  import { EventRecord } from "../types/events.mjs";
7
- import { WorkflowClaimRunOptions, WorkflowStorage } from "../types/store.mjs";
6
+ import { ClaimRunOptions, WorkflowStorage } from "../types/store.mjs";
8
7
  //#region src/store/run.d.ts
9
- interface WorkflowRunReader {
10
- getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
8
+ interface RunReader {
9
+ getRun(runId: RunId): Promise<RunRecord | undefined>;
11
10
  }
12
- interface WorkflowRunClaimReader extends WorkflowRunReader {
13
- listRuns(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
11
+ interface RunClaimReader extends RunReader {
12
+ listRuns(options?: ListRunsOptions): Promise<readonly RunRecord[]>;
14
13
  }
15
- declare function updateRunIfCurrent(storage: WorkflowStorage, namespace: string, store: WorkflowRunReader, current: WorkflowRunRecord, next: WorkflowRunRecord): Promise<WorkflowRunRecord | undefined>;
16
- declare function getWorkflowRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<WorkflowRunRecord | undefined>;
17
- declare function listWorkflowRuns(storage: WorkflowStorage, namespace: string, options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
18
- declare function listWorkflowRunsPage(storage: WorkflowStorage, namespace: string, options?: WorkflowListRunsPageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
19
- declare function countWorkflowRuns(storage: WorkflowStorage, namespace: string, options?: WorkflowListRunsOptions): Promise<number>;
20
- declare function updateWorkflowRun(storage: WorkflowStorage, namespace: string, store: WorkflowRunReader, run: WorkflowRunRecord): Promise<WorkflowRunRecord>;
21
- declare function claimWorkflowRun(storage: WorkflowStorage, namespace: string, store: WorkflowRunClaimReader, options: WorkflowClaimRunOptions): Promise<WorkflowRunRecord | undefined>;
22
- declare function extendWorkflowRunLease(storage: WorkflowStorage, namespace: string, store: WorkflowRunReader, options: {
14
+ export declare function updateRunIfCurrent(storage: WorkflowStorage, namespace: string, store: RunReader, current: RunRecord, next: RunRecord): Promise<RunRecord | undefined>;
15
+ export declare function getWorkflowRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<RunRecord | undefined>;
16
+ export declare function listWorkflowRuns(storage: WorkflowStorage, namespace: string, options?: ListRunsOptions): Promise<readonly RunRecord[]>;
17
+ export declare function listWorkflowRunsPage(storage: WorkflowStorage, namespace: string, options?: ListRunsPageOptions): Promise<WorkflowPage<RunRecord>>;
18
+ export declare function countWorkflowRuns(storage: WorkflowStorage, namespace: string, options?: ListRunsOptions): Promise<number>;
19
+ export declare function updateWorkflowRun(storage: WorkflowStorage, namespace: string, store: RunReader, run: RunRecord): Promise<RunRecord>;
20
+ export declare function claimWorkflowRun(storage: WorkflowStorage, namespace: string, store: RunClaimReader, options: ClaimRunOptions): Promise<RunRecord | undefined>;
21
+ export declare function extendWorkflowRunLease(storage: WorkflowStorage, namespace: string, store: RunReader, options: {
23
22
  readonly runId: RunId;
24
23
  readonly workerId: string;
25
24
  readonly attempts?: number;
26
25
  readonly now: Temporal.Instant;
27
26
  readonly leaseDuration: Temporal.Duration;
28
- }): Promise<WorkflowRunRecord | undefined>;
29
- declare function releaseWorkflowRunLease(storage: WorkflowStorage, namespace: string, store: WorkflowRunReader, options: {
27
+ }): Promise<RunRecord | undefined>;
28
+ export declare function releaseWorkflowRunLease(storage: WorkflowStorage, namespace: string, store: RunReader, options: {
30
29
  readonly runId: RunId;
31
30
  readonly workerId: string;
32
31
  readonly attempts?: number;
33
32
  readonly now: Temporal.Instant;
34
- }): Promise<WorkflowRunRecord | undefined>;
35
- declare function isSameReadableWorkflowRunRevision(latest: WorkflowRunRecord | undefined, current: WorkflowRunRecord, namespace: string): boolean;
36
- declare function isStoredWorkflowRunRevisionCurrent(storage: WorkflowStorage, namespace: string, currentRun: WorkflowRunRecord): Promise<boolean>;
37
- declare function getReadableStoredWorkflowRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<WorkflowRunRecord | undefined>;
38
- declare function requireReadableStoredWorkflowRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<WorkflowRunRecord>;
39
- declare function shouldRollbackAppendedEventForRun(namespace: string, run: WorkflowRunRecord | undefined, event: EventRecord): boolean;
40
- declare function isWorkflowRunStaleForAppend(currentRun: WorkflowRunRecord, event: EventRecord): boolean;
41
- declare function rollbackAppendedEventIfRunStale(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord, events: readonly EventRecord[]): Promise<boolean>;
42
- declare function claimedRunPatch(run: WorkflowRunRecord, workerId: WorkerId, now: Temporal.Instant, leaseDuration: Temporal.Duration): WorkflowRunRecord;
43
- declare function extendedRunLeasePatch(run: WorkflowRunRecord, now: Temporal.Instant, leaseDuration: Temporal.Duration): WorkflowRunRecord;
44
- declare function releaseRunLeasePatch(run: WorkflowRunRecord, now: Temporal.Instant): WorkflowRunRecord;
45
- declare function firstClaimableRun(store: WorkflowRunClaimReader, options: WorkflowClaimRunOptions, listOptions: WorkflowListRunsOptions): Promise<WorkflowRunRecord | undefined>;
46
- declare function canClaimRun(run: WorkflowRunRecord, options: WorkflowClaimRunOptions, listOptions: WorkflowListRunsOptions): boolean;
47
- declare function isStaleLeaseClaim(run: WorkflowRunRecord, now: Temporal.Instant): boolean;
33
+ }): Promise<RunRecord | undefined>;
34
+ export declare function isStoredRunRevisionCurrent(storage: WorkflowStorage, namespace: string, currentRun: RunRecord): Promise<boolean>;
35
+ export declare function getReadableStoredRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<RunRecord | undefined>;
36
+ export declare function requireReadableStoredRun(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<RunRecord>;
37
+ export declare function isRunStaleForAppend(currentRun: RunRecord, event: EventRecord): boolean;
38
+ export declare function rollbackAppendedEventIfRunStale(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord, events: readonly EventRecord[]): Promise<boolean>;
48
39
  //#endregion
49
- export { canClaimRun, claimWorkflowRun, claimedRunPatch, countWorkflowRuns, extendWorkflowRunLease, extendedRunLeasePatch, firstClaimableRun, getReadableStoredWorkflowRun, getWorkflowRun, isSameReadableWorkflowRunRevision, isStaleLeaseClaim, isStoredWorkflowRunRevisionCurrent, isWorkflowRunStaleForAppend, listWorkflowRuns, listWorkflowRunsPage, releaseRunLeasePatch, releaseWorkflowRunLease, requireReadableStoredWorkflowRun, rollbackAppendedEventIfRunStale, shouldRollbackAppendedEventForRun, updateRunIfCurrent, updateWorkflowRun };
40
+ export {};