@temelj/workflow 0.0.0-alpha.3 → 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 +119 -280
  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,183 +1,172 @@
1
- import { RunId } from "./run-id.mjs";
2
- import { StepId } from "./step-id.mjs";
3
- import { WorkflowResolvedStepRetryConfig, WorkflowRetryConfig } from "./retry.mjs";
4
- import { WorkflowStartTarget } from "./definition.mjs";
5
1
  import { CreateHookOptions, CreateWebhookOptions, Hook, Webhook } from "./hook.mjs";
6
- import { LockRecord, WorkflowStepAcquireLockOptions, WorkflowStepReleaseLockOptions } from "./lock.mjs";
7
- import { MessageChannel, SendMessageChannelOptions, SendMessageOptions, WaitForMessageChannelOptions, WaitForMessageOptions } from "./message.mjs";
2
+ import { ResolvedRetryConfig, RetryConfig } from "./retry.mjs";
3
+ import { StartTarget } from "./definition.mjs";
4
+ import { LockRecord, StepAcquireLockOptions, StepReleaseLockOptions } from "./lock.mjs";
5
+ import { MessageChannel, MessageSender, WaitForMessageChannelOptions, WaitForMessageOptions } from "./message.mjs";
8
6
  import { CreateStreamOptions, Stream } from "./stream.mjs";
9
- import { WorkflowAttributePatch, WorkflowMaterializedStepType } from "./run.mjs";
10
- import { z } from "zod";
7
+ import { AttributePatch, MaterializedStepType } from "./run.mjs";
11
8
  import { Schema, SchemaOutput } from "@temelj/standard-schema";
9
+ import { StorageValue } from "@temelj/storage";
12
10
  import { Logger } from "@temelj/log";
13
11
  //#region src/types/step.d.ts
14
- declare const workflowChildWorkflowCancellationPolicySchema: z.ZodEnum<{
15
- cascade: "cascade";
16
- detach: "detach";
17
- }>;
18
- /** Grouped durable commands available inside a workflow handler. */
19
- interface WorkflowStepApi {
12
+ /** Durable commands available inside a workflow handler. */
13
+ export interface StepApi extends StepTaskApi {
20
14
  /** Scoped operational logger for workflow orchestration code. */
21
15
  readonly log: Logger;
22
- /** Durable task, reusable step, sleep, and sleep-until commands. */
23
- readonly task: WorkflowStepTaskApi;
24
16
  /** Durable child-workflow start and run commands. */
25
- readonly workflow: WorkflowStepWorkflowApi;
17
+ readonly workflow: StepWorkflowApi;
26
18
  /** Durable message send and wait commands. */
27
- readonly message: WorkflowStepMessageApi;
19
+ readonly message: StepMessageApi;
28
20
  /** Durable lock acquire, release, and scoped lock commands. */
29
- readonly lock: WorkflowStepLockApi;
21
+ readonly lock: StepLockApi;
30
22
  /** Commands that persist workflow run metadata and attributes. */
31
- readonly runData: WorkflowStepRunDataApi;
23
+ readonly runData: StepRunDataApi;
32
24
  /** Replay-safe time, random, ID, and byte sources. */
33
- readonly deterministic: WorkflowDeterministicApi;
25
+ readonly deterministic: DeterministicApi;
34
26
  /** Durable stream creation commands. */
35
- readonly stream: WorkflowStepStreamApi;
27
+ readonly stream: StepStreamApi;
36
28
  /** External resume hook and webhook creation commands. */
37
- readonly hook: WorkflowStepHookApi;
29
+ readonly hook: StepHookApi;
38
30
  }
39
- /** Durable task, reusable step, and sleep commands available inside a workflow handler. */
40
- interface WorkflowStepTaskApi {
31
+ /** Inline tasks, reusable steps, and sleeps. */
32
+ export interface StepTaskApi {
41
33
  /** Runs an inline durable task and records the callback result for replay. */
42
- run<TOutput>(config: WorkflowStepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput): Promise<TOutput>;
34
+ run<TOutput>(config: StepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput): Promise<TOutput>;
43
35
  /** Calls a reusable step definition with typed arguments. */
44
- call<const TArgs extends readonly unknown[], TOutput>(definition: WorkflowStepDefinition<TArgs, TOutput>, ...args: TArgs): Promise<TOutput>;
36
+ call<const TArgs extends readonly unknown[], TOutput>(definition: StepDefinition<TArgs, TOutput>, ...args: TArgs): Promise<TOutput>;
45
37
  /** Pauses workflow execution for a durable duration. */
46
38
  sleep(commandId: string, duration: Temporal.Duration): Promise<void>;
47
39
  /** Pauses workflow execution until a durable instant. */
48
40
  sleepUntil(commandId: string, timestamp: Temporal.Instant): Promise<void>;
49
41
  }
50
42
  /** Durable child-workflow commands available inside a workflow handler. */
51
- interface WorkflowStepWorkflowApi {
43
+ export interface StepWorkflowApi {
52
44
  /** Starts a child workflow and waits for its result. */
53
- run<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStepRunWorkflowOptions): Promise<TOutput>;
45
+ run<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: StepRunWorkflowOptions): Promise<TOutput>;
54
46
  /** Starts a child workflow without waiting for it to finish and returns its run ID. */
55
- start<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStepStartWorkflowOptions): Promise<string>;
47
+ start<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: StepStartWorkflowOptions): Promise<string>;
56
48
  }
57
49
  /** Durable message send and wait commands available inside a workflow handler. */
58
- interface WorkflowStepMessageApi {
59
- /** Sends a named message to another workflow run. */
60
- send(runId: RunId, options: SendMessageOptions): Promise<void>;
61
- /** Sends a message through a typed message channel to another workflow run. */
62
- send<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
50
+ export interface StepMessageApi extends MessageSender {
63
51
  /** Waits for a named message and returns its payload. */
64
- wait<TPayload = unknown>(options: WaitForMessageOptions): Promise<TPayload>;
52
+ wait(options: WaitForMessageOptions): Promise<StorageValue | undefined>;
65
53
  /** Waits for a named message and validates its payload with the configured schema. */
66
- wait<const TSchema extends Schema>(options: WaitForMessageOptions<TSchema>): Promise<SchemaOutput<TSchema>>;
54
+ wait<const TSchema extends Schema>(options: WaitForMessageOptions<TSchema> & {
55
+ readonly schema: TSchema;
56
+ }): Promise<SchemaOutput<TSchema>>;
67
57
  /** Waits for a message through a typed message channel. */
68
- wait<TPayload, TKey = void>(channel: MessageChannel<TPayload, TKey>, options?: WaitForMessageChannelOptions<TKey>): Promise<TPayload>;
58
+ wait<TPayload>(channel: MessageChannel<TPayload, unknown>, options?: WaitForMessageChannelOptions): Promise<TPayload>;
69
59
  }
70
60
  /** Durable lock commands available inside a workflow handler. */
71
- interface WorkflowStepLockApi {
61
+ export interface StepLockApi {
72
62
  /** Acquires a workflow lock and records the fencing token in history. */
73
- acquire(commandId: string, key: string, options: WorkflowStepAcquireLockOptions): Promise<LockRecord>;
63
+ acquire(commandId: string, key: string, options: StepAcquireLockOptions): Promise<LockRecord>;
74
64
  /** Releases a workflow lock held by this workflow. */
75
- release(commandId: string, key: string, options?: WorkflowStepReleaseLockOptions): Promise<LockRecord>;
65
+ release(commandId: string, key: string, options?: StepReleaseLockOptions): Promise<LockRecord>;
76
66
  /** Acquires a workflow lock, runs a callback, and releases the lock afterward. */
77
- with<TOutput>(commandId: string, key: string, options: WorkflowStepAcquireLockOptions, callback: (lock: LockRecord) => Promise<TOutput> | TOutput): Promise<TOutput>;
67
+ with<TOutput>(commandId: string, key: string, options: StepAcquireLockOptions, callback: (lock: LockRecord) => Promise<TOutput> | TOutput): Promise<TOutput>;
78
68
  }
79
69
  /** Durable run metadata and attribute update commands available inside a workflow handler. */
80
- interface WorkflowStepRunDataApi {
81
- /** Replaces the workflow run metadata value. */
82
- setMetadata(commandId: string, metadata: unknown): Promise<void>;
70
+ export interface StepRunDataApi {
71
+ setMetadata(commandId: string, metadata: StorageValue): Promise<void>;
83
72
  /** Applies a workflow run attribute patch. */
84
- setAttributes(commandId: string, attributes: WorkflowAttributePatch): Promise<void>;
73
+ setAttributes(commandId: string, attributes: AttributePatch): Promise<void>;
85
74
  }
86
75
  /** Replay-safe sources for time, randomness, generated IDs, and bytes inside a workflow handler. */
87
- interface WorkflowDeterministicApi {
76
+ export interface DeterministicApi {
88
77
  /** Returns the current instant, recording it once so replay sees the same value. */
89
78
  now(commandId?: string): Promise<Temporal.Instant>;
90
79
  /** Returns a random number in [0, 1), recording it once so replay sees the same value. */
91
80
  random(commandId?: string): Promise<number>;
92
81
  /** Returns an engine-generated recorded ID for the command. */
93
82
  recordedId(commandId?: string): Promise<string>;
94
- /** Alias for recordedId. */
95
83
  id(commandId?: string): Promise<string>;
96
84
  /** Returns a random UUID, recording it once so replay sees the same value. */
97
85
  uuid(commandId?: string): Promise<string>;
98
86
  /** Returns recorded random bytes with the requested length. */
99
87
  bytes(commandId: string, length: number): Promise<Uint8Array>;
100
88
  }
101
- /** Compatibility alias for the deterministic API exposed on WorkflowStepApi. */
102
- type WorkflowStepDeterministicApi = WorkflowDeterministicApi;
103
89
  /** Durable stream creation commands available inside a workflow handler. */
104
- interface WorkflowStepStreamApi {
90
+ export interface StepStreamApi {
105
91
  /** Creates a durable stream that can be read while the workflow is running. */
106
92
  create<TChunk = unknown>(commandId: string, options?: CreateStreamOptions): Stream<TChunk>;
107
93
  }
108
94
  /** External resume token commands available inside a workflow handler. */
109
- interface WorkflowStepHookApi {
95
+ export interface StepHookApi {
110
96
  /** Creates a message-backed external resume hook. */
111
- create<TPayload = unknown>(options: CreateHookOptions): Hook<TPayload>;
97
+ create(options: CreateHookOptions): Hook<StorageValue | undefined>;
112
98
  /** Creates a message-backed external resume hook with schema-validated payloads. */
113
- create<const TSchema extends Schema>(options: CreateHookOptions<TSchema>): Hook<SchemaOutput<TSchema>>;
99
+ create<const TSchema extends Schema>(options: CreateHookOptions<TSchema> & {
100
+ readonly schema: TSchema;
101
+ }): Hook<SchemaOutput<TSchema>>;
114
102
  /** Creates a webhook-labeled external resume hook. */
115
- createWebhook<TPayload = unknown>(options: CreateWebhookOptions): Webhook<TPayload>;
103
+ createWebhook(options: CreateWebhookOptions): Webhook<StorageValue | undefined>;
116
104
  /** Creates a webhook-labeled external resume hook with schema-validated payloads. */
117
- createWebhook<const TSchema extends Schema>(options: CreateWebhookOptions<TSchema>): Webhook<SchemaOutput<TSchema>>;
105
+ createWebhook<const TSchema extends Schema>(options: CreateWebhookOptions<TSchema> & {
106
+ readonly schema: TSchema;
107
+ }): Webhook<SchemaOutput<TSchema>>;
118
108
  }
119
109
  /** Configuration for a single durable task command or reusable step definition. */
120
- interface WorkflowStepRunConfig {
110
+ export interface StepRunConfig {
121
111
  readonly name?: string;
122
112
  readonly commandId?: string;
123
- readonly retry?: WorkflowRetryConfig;
113
+ readonly retry?: RetryConfig;
124
114
  readonly timeout?: Temporal.Duration;
125
115
  }
126
116
  /** Handler signature for reusable durable step definitions. */
127
- type WorkflowStepDefinitionHandler<TArgs extends readonly unknown[], TOutput> = (...args: [...TArgs, WorkflowStepContext]) => Promise<TOutput> | TOutput;
117
+ export type StepDefinitionHandler<TArgs extends readonly unknown[], TOutput> = (context: WorkflowStepContext, ...args: TArgs) => Promise<TOutput> | TOutput;
128
118
  /** Reusable named durable task that can be called from workflow handlers. */
129
- interface WorkflowStepDefinition<TArgs extends readonly unknown[] = readonly unknown[], TOutput = unknown> {
119
+ export interface StepDefinition<TArgs extends readonly unknown[] = readonly unknown[], TOutput = unknown> {
130
120
  /** Runtime configuration used when the reusable step is called. */
131
- readonly config: WorkflowStepRunConfig;
121
+ readonly config: StepRunConfig;
132
122
  /** Durable command name used as the step identity by default. */
133
123
  readonly name: string;
134
124
  /** Handler invoked when the step is first executed. */
135
- readonly handler: WorkflowStepDefinitionHandler<TArgs, TOutput>;
125
+ readonly handler: StepDefinitionHandler<TArgs, TOutput>;
136
126
  /** Compile-time type markers for arguments and output. */
137
- readonly types?: WorkflowStepDefinitionTypes<TArgs, TOutput>;
127
+ readonly types?: StepDefinitionTypes<TArgs, TOutput>;
138
128
  }
139
129
  /** Compile-time type markers carried by a reusable step definition. */
140
- interface WorkflowStepDefinitionTypes<TArgs extends readonly unknown[], TOutput> {
141
- /** Argument tuple accepted by the step handler before the context parameter. */
130
+ export interface StepDefinitionTypes<TArgs extends readonly unknown[], TOutput> {
131
+ /** Argument tuple accepted by the step handler after the context parameter. */
142
132
  readonly args: TArgs;
143
133
  /** Awaited output returned by the step handler. */
144
134
  readonly output: TOutput;
145
135
  }
146
136
  /** Options for running a child workflow and waiting for its result from a durable step. */
147
- interface WorkflowStepRunWorkflowOptions extends WorkflowStepStartWorkflowOptions {
137
+ export interface StepRunWorkflowOptions extends StepStartWorkflowOptions {
148
138
  readonly timeout?: Temporal.Duration;
149
139
  readonly pollInterval?: Temporal.Duration;
150
- readonly retry?: WorkflowRetryConfig;
140
+ readonly retry?: RetryConfig;
151
141
  }
152
142
  /** Options for starting a child workflow in the background from a durable step. */
153
- interface WorkflowStepStartWorkflowOptions {
143
+ export interface StepStartWorkflowOptions {
154
144
  readonly commandId?: string;
155
145
  readonly name?: string;
156
146
  readonly id?: string;
157
147
  readonly idempotencyKey?: string;
158
- readonly cancellation?: WorkflowChildWorkflowCancellationPolicy;
148
+ readonly cancellation?: ChildWorkflowCancellationPolicy;
159
149
  }
160
150
  /** Controls whether child workflow runs are canceled when their parent run is canceled. */
161
- type WorkflowChildWorkflowCancellationPolicy = "cascade" | "detach";
151
+ export type ChildWorkflowCancellationPolicy = "cascade" | "detach";
162
152
  /** Context passed to a durable task attempt. */
163
- interface WorkflowStepContext {
153
+ export interface WorkflowStepContext {
164
154
  /** Stable identity and encounter count for this durable command. */
165
- readonly step: WorkflowStepMetadata;
155
+ readonly step: StepMetadata;
166
156
  /** Current attempt number for retryable durable work. */
167
157
  readonly attempt: number;
168
158
  /** Resolved retry configuration for this attempt. */
169
- readonly config: WorkflowResolvedStepRetryConfig;
159
+ readonly config: ResolvedRetryConfig;
170
160
  /** Abort signal for cancellation or timeout of this attempt. */
171
161
  readonly signal: AbortSignal;
172
162
  /** Scoped operational logger for this durable task attempt. */
173
163
  readonly log: Logger;
174
164
  }
175
165
  /** Identity and encounter metadata for a durable task attempt. */
176
- interface WorkflowStepMetadata {
166
+ export interface StepMetadata {
177
167
  readonly id: string;
178
168
  readonly name: string;
179
169
  readonly count: number;
180
- readonly kind: WorkflowMaterializedStepType;
170
+ readonly kind: MaterializedStepType;
181
171
  }
182
- //#endregion
183
- export { type StepId, WorkflowChildWorkflowCancellationPolicy, WorkflowDeterministicApi, WorkflowStepApi, WorkflowStepContext, WorkflowStepDefinition, WorkflowStepDefinitionHandler, WorkflowStepDefinitionTypes, WorkflowStepDeterministicApi, WorkflowStepHookApi, WorkflowStepLockApi, WorkflowStepMessageApi, WorkflowStepMetadata, WorkflowStepRunConfig, WorkflowStepRunDataApi, WorkflowStepRunWorkflowOptions, WorkflowStepStartWorkflowOptions, WorkflowStepStreamApi, WorkflowStepTaskApi, WorkflowStepWorkflowApi, workflowChildWorkflowCancellationPolicySchema };
172
+ //#endregion
@@ -1,5 +1 @@
1
- import { z } from "zod";
2
- //#region src/types/step.ts
3
- const workflowChildWorkflowCancellationPolicySchema = z.enum(["cascade", "detach"]);
4
- //#endregion
5
- export { workflowChildWorkflowCancellationPolicySchema };
1
+ export {};
@@ -1,208 +1,81 @@
1
- import { MessageId } from "./message-id.mjs";
2
- import { RunId } from "./run-id.mjs";
1
+ import { MessageId, RunId } from "./ids.mjs";
3
2
  import { CleanupMarkerRecord, CleanupRunsOptions, CleanupRunsResult } from "./cleanup.mjs";
4
3
  import { PageOptions, WorkflowPage } from "./pagination.mjs";
5
4
  import { ListSchedulesOptions, ScheduleId, ScheduleRecord } from "./schedule.mjs";
6
5
  import { LockRecord } from "./lock.mjs";
7
- import { WorkflowListRunsOptions } from "./run-list.mjs";
8
- import { WorkflowListStepAttemptsOptions, WorkflowStepAttemptRecord } from "./step-attempts.mjs";
9
- import { WorkflowRunRecord } from "./run.mjs";
6
+ import { ListRunsOptions } from "./run-list.mjs";
7
+ import { ListStepAttemptsOptions, StepAttemptRecord } from "./step-attempts.mjs";
8
+ import { RunRecord } from "./run.mjs";
10
9
  import { EventRecord } from "./events.mjs";
11
- import { WorkflowWorkerRunFilterOptions } from "./worker.mjs";
10
+ import { WorkerRunFilterOptions } from "./worker.mjs";
12
11
  import { Storage, StorageValue, StoredValue } from "@temelj/storage";
13
12
  //#region src/types/store.d.ts
14
- /** Type used for workflow storage values. */
15
- type WorkflowStorage = Storage<Record<string, StorageValue>, StorageValue, StoredValue>;
16
- /** Storage value stored for cleanup index entries. */
17
- type WorkflowCleanupIndexValue = StorageValue;
13
+ export type WorkflowStorage = Storage<Record<string, StorageValue>, StorageValue, StoredValue>;
18
14
  /** Storage index entry removed during workflow cleanup. */
19
- interface WorkflowCleanupIndexKey {
15
+ export interface CleanupIndexKey {
20
16
  readonly key: string;
21
- readonly value: WorkflowCleanupIndexValue;
17
+ readonly value: StorageValue;
22
18
  }
23
19
  /** Index entry used to detect duplicate messageId delivery idempotency keys. */
24
- interface WorkflowMessageIdempotencyIndex {
20
+ export interface MessageIdempotencyIndex {
25
21
  readonly runId: RunId;
26
22
  readonly messageId: MessageId;
27
23
  readonly timestamp: Temporal.Instant;
28
24
  }
29
- /** Options for workflow creation store. */
30
- interface CreateWorkflowStoreOptions {
25
+ export interface CreateWorkflowStoreOptions {
31
26
  readonly storage?: WorkflowStorage;
32
27
  readonly namespace?: string;
33
28
  }
34
- /** Exposes workflow store namespace identity. */
35
- interface WorkflowStoreNamespace {
36
- /** Namespace prefix used to isolate workflow records in storage. */
29
+ /** Durable records of one namespace: runs, events, step attempts, schedules, and locks. */
30
+ export interface WorkflowStore {
31
+ /** Prefix that isolates this store's records in storage. */
37
32
  readonly namespace: string;
38
- }
39
- /** Exposes workflow store storage identity. */
40
- interface WorkflowStoreStorageContext extends WorkflowStoreNamespace {
41
- /** Underlying key-value storage used by the workflow store. */
42
33
  readonly storage: WorkflowStorage;
43
- }
44
- /** Shared workflow store metadata needed by default repository implementations. */
45
- interface WorkflowStoreMetadata extends WorkflowStoreStorageContext, WorkflowStoreCapabilitiesSource {}
46
- /** Exposes workflow store capability flags. */
47
- interface WorkflowStoreCapabilitiesSource {
48
- /** Store capability flags used by engine services to choose safe coordination code paths. */
49
- readonly capabilities: WorkflowStoreCapabilities;
50
- }
51
- /** Creates workflow run records. */
52
- interface WorkflowRunCreationRepository {
53
- /** Creates a workflow run record. */
54
- createRun(run: WorkflowRunRecord): Promise<WorkflowRunRecord>;
55
- }
56
- /** Reads workflow run records. */
57
- interface WorkflowRunReaderRepository {
58
- /** Returns a workflow run by ID, if it exists. */
59
- getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
60
- }
61
- /** Updates workflow run records conditionally. */
62
- interface WorkflowRunConditionalWriterRepository {
63
- /** Replaces a workflow run only when the stored record still matches the current value. */
64
- updateRunIfCurrent(current: WorkflowRunRecord, next: WorkflowRunRecord): Promise<WorkflowRunRecord | undefined>;
65
- }
66
- /** Updates workflow run records unconditionally. */
67
- interface WorkflowRunUnconditionalWriterRepository {
68
- /** Replaces a workflow run record. */
69
- updateRun(run: WorkflowRunRecord): Promise<WorkflowRunRecord>;
70
- }
71
- /** Updates workflow run records. */
72
- interface WorkflowRunWriterRepository extends WorkflowRunUnconditionalWriterRepository, WorkflowRunConditionalWriterRepository {}
73
- /** Lists workflow run records. */
74
- interface WorkflowRunListerRepository {
75
- /** Lists workflow runs matching optional filters. */
76
- listRuns(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
77
- }
78
- /** Queries workflow run records. */
79
- interface WorkflowRunQueryRepository extends WorkflowRunReaderRepository, WorkflowRunListerRepository {
80
- /** Lists one page of workflow runs matching optional filters. */
81
- listRunsPage(options?: WorkflowListRunsOptions & PageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
82
- /** Counts workflow runs matching optional filters. */
83
- countRuns(options?: WorkflowListRunsOptions): Promise<number>;
84
- }
85
- /** Coordinates workflow run worker leases. */
86
- interface WorkflowRunLeaseRepository {
34
+ /** What the storage guarantees, so the engine can pick safe coordination paths. */
35
+ readonly capabilities: StoreCapabilities;
36
+ createRun(run: RunRecord): Promise<RunRecord>;
37
+ getRun(runId: RunId): Promise<RunRecord | undefined>;
38
+ getRunByIdempotencyKey(options: IdempotencyKeyOptions): Promise<RunRecord | undefined>;
39
+ updateRun(run: RunRecord): Promise<RunRecord>;
40
+ /** Replaces a run only when the stored record still equals `current`. */
41
+ updateRunIfCurrent(current: RunRecord, next: RunRecord): Promise<RunRecord | undefined>;
42
+ listRuns(options?: ListRunsOptions): Promise<readonly RunRecord[]>;
43
+ listRunsPage(options?: ListRunsOptions & PageOptions): Promise<WorkflowPage<RunRecord>>;
44
+ countRuns(options?: ListRunsOptions): Promise<number>;
87
45
  /** Claims a pending or reclaimable run for a worker. */
88
- claimRun(options: WorkflowClaimRunOptions): Promise<WorkflowRunRecord | undefined>;
89
- /** Extends the lease for a run already claimed by a worker. */
90
- extendRunLease(options: WorkflowExtendRunLeaseOptions): Promise<WorkflowRunRecord | undefined>;
91
- /** Releases the lease for a run claimed by a worker. */
92
- releaseRunLease(options: WorkflowReleaseRunLeaseOptions): Promise<WorkflowRunRecord | undefined>;
93
- }
94
- /** Stores workflow run records and run leases. */
95
- interface WorkflowRunRepository extends WorkflowRunCreationRepository, WorkflowRunReaderRepository, WorkflowRunUnconditionalWriterRepository, WorkflowRunConditionalWriterRepository, WorkflowRunWriterRepository, WorkflowRunListerRepository, WorkflowRunQueryRepository, WorkflowRunLeaseRepository {}
96
- /** Stores workflow-scoped idempotency indexes for run creation. */
97
- interface WorkflowIdempotencyIndex {
98
- /** Returns a workflow run by its workflow-scoped idempotency key, if it exists. */
99
- getRunByIdempotencyKey(options: WorkflowIdempotencyKeyOptions): Promise<WorkflowRunRecord | undefined>;
100
- }
101
- /** Repairs duplicate-delivery idempotency indexes for messages sent to workflow runs. */
102
- interface WorkflowMessageIdempotencyRepairModel {
103
- /** Rebuilds message idempotency indexes for a run from its event history. */
104
- repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
105
- }
106
- /** Looks up duplicate-delivery idempotency indexes for messages sent to workflow runs. */
107
- interface WorkflowMessageIdempotencyIndexLookup {
108
- /** Returns true when a message idempotency key is already claimed for a run. */
109
- hasMessageIdempotencyKey(runId: RunId, idempotencyKey: string): Promise<boolean>;
110
- }
111
- /** Appends durable workflow events. */
112
- interface WorkflowEventAppender {
113
- /** Appends one durable event to a run's history. */
46
+ claimRun(options: ClaimRunOptions): Promise<RunRecord | undefined>;
47
+ extendRunLease(options: ExtendRunLeaseOptions): Promise<RunRecord | undefined>;
48
+ releaseRunLease(options: ReleaseRunLeaseOptions): Promise<RunRecord | undefined>;
114
49
  appendEvent(runId: RunId, event: EventRecord): Promise<readonly EventRecord[]>;
115
- }
116
- /** Appends durable workflow events conditionally on the current run record. */
117
- interface WorkflowConditionalEventAppender {
118
- /** Appends one durable event only when the stored run still matches the current value. */
119
- appendEventIfRunCurrent(current: WorkflowRunRecord, event: EventRecord): Promise<readonly EventRecord[] | undefined>;
120
- }
121
- /** Reads durable workflow event history. */
122
- interface WorkflowEventReader {
123
- /** Returns all durable events recorded for a run. */
50
+ /** Appends an event only when the stored run still equals `current`. */
51
+ appendEventIfRunCurrent(current: RunRecord, event: EventRecord): Promise<readonly EventRecord[] | undefined>;
124
52
  getEvents(runId: RunId): Promise<readonly EventRecord[]>;
125
- }
126
- /** Waits for durable workflow event history changes. */
127
- interface WorkflowEventHistoryWatcher {
128
- /** Resolves after the durable event history for a run changes or the optional signal aborts. */
53
+ /** Resolves after the run's event history changes, or when `signal` aborts. */
129
54
  waitForEventHistoryChange(runId: RunId, options?: WorkflowEventHistoryChangeWaitOptions): Promise<void>;
130
- }
131
- /** Stores durable workflow event history. */
132
- interface WorkflowEventLog extends WorkflowEventAppender, WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowEventHistoryWatcher {}
133
- /** Options for waiting for durable event history changes. */
134
- interface WorkflowEventHistoryChangeWaitOptions {
135
- readonly signal?: AbortSignal;
136
- }
137
- /** Looks up materialized step-attempt read models for runtime coordination. */
138
- interface WorkflowStepAttemptLookup {
139
- /** Lists materialized step attempts for a run. */
140
- listStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<readonly WorkflowStepAttemptRecord[]>;
141
- }
142
- /** Stores materialized step-attempt read models. */
143
- interface WorkflowStepAttemptReadModel extends WorkflowStepAttemptLookup {
144
- /** Lists one page of materialized step attempts for a run. */
145
- listStepAttemptsPage(runId: RunId, options?: WorkflowListStepAttemptsOptions & PageOptions): Promise<WorkflowPage<WorkflowStepAttemptRecord>>;
146
- /** Counts materialized step attempts for a run. */
147
- countStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<number>;
148
- /** Rebuilds materialized step attempts for a run from its event history. */
149
- repairStepAttempts(runId: RunId): Promise<readonly WorkflowStepAttemptRecord[]>;
150
- }
151
- /** Stores workflow cleanup markers and terminal-run cleanup operations. */
152
- interface WorkflowCleanupRepository {
153
- /** Deletes terminal run data according to cleanup options. */
55
+ hasMessageIdempotencyKey(runId: RunId, idempotencyKey: string): Promise<boolean>;
56
+ /** Rebuilds a run's message idempotency indexes from its event history. */
57
+ repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly MessageIdempotencyIndex[]>;
58
+ listStepAttempts(runId: RunId, options?: ListStepAttemptsOptions): Promise<readonly StepAttemptRecord[]>;
59
+ listStepAttemptsPage(runId: RunId, options?: ListStepAttemptsOptions & PageOptions): Promise<WorkflowPage<StepAttemptRecord>>;
60
+ countStepAttempts(runId: RunId, options?: ListStepAttemptsOptions): Promise<number>;
61
+ /** Rebuilds a run's step attempts from its event history. */
62
+ repairStepAttempts(runId: RunId): Promise<readonly StepAttemptRecord[]>;
154
63
  cleanupRuns(options: CleanupRunsOptions): Promise<CleanupRunsResult>;
155
- /** Lists cleanup marker records. */
156
64
  listCleanupMarkers(): Promise<readonly CleanupMarkerRecord[]>;
157
- }
158
- /** Creates workflow schedule records. */
159
- interface WorkflowScheduleCreationRepository {
160
- /** Creates a workflow schedule record. */
161
- createSchedule<TInput = StorageValue>(schedule: ScheduleRecord<TInput>): Promise<ScheduleRecord<TInput>>;
162
- }
163
- /** Reads workflow schedule records. */
164
- interface WorkflowScheduleReaderRepository {
165
- /** Returns a workflow schedule by ID, if it exists. */
65
+ createSchedule(schedule: ScheduleRecord): Promise<ScheduleRecord>;
166
66
  getSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord | undefined>;
167
- }
168
- /** Updates workflow schedule records conditionally. */
169
- interface WorkflowScheduleConditionalWriterRepository {
170
- /** Replaces a schedule only when the stored record still matches the current value. */
171
- updateScheduleIfCurrent<TInput = StorageValue>(current: ScheduleRecord, next: ScheduleRecord<TInput>): Promise<ScheduleRecord<TInput> | undefined>;
172
- }
173
- /** Lists workflow schedule records. */
174
- interface WorkflowScheduleListerRepository {
175
- /** Lists workflow schedules matching optional filters. */
67
+ updateScheduleIfCurrent(current: ScheduleRecord, next: ScheduleRecord): Promise<ScheduleRecord | undefined>;
176
68
  listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
177
- }
178
- /** Queries workflow schedule records. */
179
- interface WorkflowScheduleQueryRepository extends WorkflowScheduleListerRepository {
180
- /** Lists one page of workflow schedules matching optional filters. */
181
69
  listSchedulesPage(options?: ListSchedulesOptions & PageOptions): Promise<WorkflowPage<ScheduleRecord>>;
182
- }
183
- /** Stores workflow schedules. */
184
- interface WorkflowScheduleRepository extends WorkflowScheduleCreationRepository, WorkflowScheduleReaderRepository, WorkflowScheduleConditionalWriterRepository, WorkflowScheduleQueryRepository {}
185
- /** Reads workflow lock records. */
186
- interface WorkflowLockReaderRepository {
187
- /** Returns a workflow lock by key, if it exists. */
188
70
  getLock(key: string): Promise<LockRecord | undefined>;
189
- }
190
- /** Lists workflow lock records. */
191
- interface WorkflowLockListerRepository {
192
- /** Lists workflow locks. */
193
71
  listLocks(): Promise<readonly LockRecord[]>;
194
- }
195
- /** Updates workflow lock records conditionally. */
196
- interface WorkflowLockConditionalWriterRepository {
197
- /** Replaces or creates a lock only when the stored record still matches the current value. */
72
+ /** Creates or replaces a lock only when the stored record still equals `current`. */
198
73
  updateLockIfCurrent(current: LockRecord | undefined, next: LockRecord): Promise<LockRecord | undefined>;
199
74
  }
200
- /** Stores workflow lock records. */
201
- interface WorkflowLockRepository extends WorkflowLockReaderRepository, WorkflowLockListerRepository, WorkflowLockConditionalWriterRepository {}
202
- /** Describes the full workflow store contract implemented by the default store. */
203
- interface WorkflowStore extends WorkflowStoreMetadata, WorkflowRunRepository, WorkflowIdempotencyIndex, WorkflowMessageIdempotencyIndexLookup, WorkflowMessageIdempotencyRepairModel, WorkflowEventLog, WorkflowStepAttemptReadModel, WorkflowCleanupRepository, WorkflowScheduleRepository, WorkflowLockRepository {}
204
- /** Describes the workflow store capabilities contract. */
205
- interface WorkflowStoreCapabilities {
75
+ export interface WorkflowEventHistoryChangeWaitOptions {
76
+ readonly signal?: AbortSignal;
77
+ }
78
+ export interface StoreCapabilities {
206
79
  readonly conditionalWrites: boolean;
207
80
  readonly conditionalRunClaims: boolean;
208
81
  readonly conditionalRunUpdates: boolean;
@@ -222,33 +95,28 @@ interface WorkflowStoreCapabilities {
222
95
  readonly rollsBackEventsOnMaterializationFailure: boolean;
223
96
  readonly reconcilesStepAttemptsFromEvents: boolean;
224
97
  }
225
- /** Options for workflow idempotency key. */
226
- interface WorkflowIdempotencyKeyOptions {
98
+ export interface IdempotencyKeyOptions {
227
99
  readonly workflowName: string;
228
100
  readonly workflowVersion?: string;
229
101
  readonly idempotencyKey: string;
230
102
  }
231
- /** Options for workflow claim run. */
232
- interface WorkflowClaimRunOptions extends WorkflowWorkerRunFilterOptions {
103
+ export interface ClaimRunOptions extends WorkerRunFilterOptions {
233
104
  readonly runId?: RunId;
234
105
  readonly workerId: string;
235
106
  readonly now: Temporal.Instant;
236
107
  readonly leaseDuration: Temporal.Duration;
237
108
  }
238
- /** Options for workflow extend run lease. */
239
- interface WorkflowExtendRunLeaseOptions {
109
+ export interface ExtendRunLeaseOptions {
240
110
  readonly runId: RunId;
241
111
  readonly workerId: string;
242
112
  readonly attempts?: number;
243
113
  readonly now: Temporal.Instant;
244
114
  readonly leaseDuration: Temporal.Duration;
245
115
  }
246
- /** Options for workflow release run lease. */
247
- interface WorkflowReleaseRunLeaseOptions {
116
+ export interface ReleaseRunLeaseOptions {
248
117
  readonly runId: RunId;
249
118
  readonly workerId: string;
250
119
  readonly attempts?: number;
251
120
  readonly now: Temporal.Instant;
252
121
  }
253
- //#endregion
254
- export { 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, WorkflowStore, WorkflowStoreCapabilities, WorkflowStoreCapabilitiesSource, WorkflowStoreMetadata, WorkflowStoreNamespace, WorkflowStoreStorageContext };
122
+ //#endregion