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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/README.md +394 -2
  2. package/dist/attributes.d.mts +11 -9
  3. package/dist/attributes.mjs +23 -5
  4. package/dist/bundle.d.mts +5 -23
  5. package/dist/bundle.mjs +2 -18
  6. package/dist/client/create.d.mts +26 -23
  7. package/dist/client/create.mjs +26 -32
  8. package/dist/client/facades.d.mts +12 -18
  9. package/dist/client/facades.mjs +102 -93
  10. package/dist/client/mod.mjs +1 -2
  11. package/dist/client/run-handle.d.mts +17 -54
  12. package/dist/client/run-handle.mjs +35 -105
  13. package/dist/client/worker-options.d.mts +8 -8
  14. package/dist/client/worker-options.mjs +11 -11
  15. package/dist/cloudflare/cloudflare.d.mts +4 -5
  16. package/dist/cloudflare/codec.d.mts +28 -13
  17. package/dist/cloudflare/codec.mjs +40 -17
  18. package/dist/cloudflare/entrypoint.d.mts +3 -4
  19. package/dist/cloudflare/entrypoint.mjs +4 -3
  20. package/dist/cloudflare/execution.d.mts +3 -4
  21. package/dist/cloudflare/execution.mjs +20 -13
  22. package/dist/cloudflare/host.d.mts +6 -7
  23. package/dist/cloudflare/host.mjs +7 -6
  24. package/dist/cloudflare/mod.d.mts +4 -4
  25. package/dist/cloudflare/mod.mjs +2 -2
  26. package/dist/cloudflare/name.d.mts +3 -4
  27. package/dist/cloudflare/name.mjs +3 -3
  28. package/dist/cloudflare/registry.d.mts +3 -23
  29. package/dist/cloudflare/registry.mjs +2 -20
  30. package/dist/cloudflare/runtime.d.mts +11 -18
  31. package/dist/cloudflare/runtime.mjs +52 -73
  32. package/dist/cloudflare/step.d.mts +6 -6
  33. package/dist/cloudflare/step.mjs +69 -57
  34. package/dist/cloudflare/types.d.mts +17 -36
  35. package/dist/collection.d.mts +8 -11
  36. package/dist/collection.mjs +10 -14
  37. package/dist/compiled-function.d.mts +14 -19
  38. package/dist/compiled-function.mjs +12 -24
  39. package/dist/compiled.d.mts +4 -0
  40. package/dist/compiled.mjs +4 -0
  41. package/dist/compiler/ast.d.mts +26 -0
  42. package/dist/{vite → compiler}/ast.mjs +24 -16
  43. package/dist/{vite → compiler}/error.d.mts +4 -6
  44. package/dist/{vite → compiler}/error.mjs +14 -16
  45. package/dist/compiler/manifest.d.mts +6 -0
  46. package/dist/{vite → compiler}/manifest.mjs +9 -7
  47. package/dist/compiler/plugin.d.mts +7 -0
  48. package/dist/{vite → compiler}/plugin.mjs +45 -46
  49. package/dist/compiler/safety.d.mts +12 -0
  50. package/dist/{vite → compiler}/safety.mjs +5 -11
  51. package/dist/{vite → compiler}/source-edit.d.mts +3 -4
  52. package/dist/{vite → compiler}/source-edit.mjs +1 -1
  53. package/dist/{vite → compiler}/source-map.d.mts +4 -3
  54. package/dist/{vite → compiler}/source-map.mjs +3 -3
  55. package/dist/compiler/source.d.mts +7 -0
  56. package/dist/{vite → compiler}/source.mjs +1 -1
  57. package/dist/compiler/transform.d.mts +12 -0
  58. package/dist/{vite → compiler}/transform.mjs +37 -38
  59. package/dist/definition.d.mts +17 -25
  60. package/dist/definition.mjs +19 -35
  61. package/dist/engine/child-workflow.d.mts +5 -9
  62. package/dist/engine/child-workflow.mjs +46 -67
  63. package/dist/engine/command-identity.d.mts +5 -6
  64. package/dist/engine/command-identity.mjs +9 -5
  65. package/dist/engine/context.d.mts +17 -0
  66. package/dist/engine/create.d.mts +36 -94
  67. package/dist/engine/create.mjs +55 -260
  68. package/dist/engine/deterministic.d.mts +6 -11
  69. package/dist/engine/deterministic.mjs +47 -68
  70. package/dist/engine/durable-command.d.mts +5 -5
  71. package/dist/engine/durable-command.mjs +2 -2
  72. package/dist/engine/execution-service.d.mts +20 -24
  73. package/dist/engine/execution-service.mjs +54 -52
  74. package/dist/engine/hooks.d.mts +17 -39
  75. package/dist/engine/hooks.mjs +73 -94
  76. package/dist/engine/inspection.d.mts +23 -15
  77. package/dist/engine/inspection.mjs +55 -29
  78. package/dist/engine/lifecycle.d.mts +6 -12
  79. package/dist/engine/lifecycle.mjs +5 -5
  80. package/dist/engine/lock-replay.d.mts +8 -15
  81. package/dist/engine/lock-replay.mjs +12 -25
  82. package/dist/engine/lock.d.mts +10 -15
  83. package/dist/engine/lock.mjs +65 -51
  84. package/dist/engine/message.d.mts +14 -34
  85. package/dist/engine/message.mjs +94 -127
  86. package/dist/engine/observation.d.mts +9 -11
  87. package/dist/engine/observation.mjs +18 -27
  88. package/dist/engine/replay.d.mts +18 -19
  89. package/dist/engine/replay.mjs +32 -56
  90. package/dist/engine/resume.d.mts +16 -0
  91. package/dist/engine/resume.mjs +24 -0
  92. package/dist/engine/retry.d.mts +15 -19
  93. package/dist/engine/retry.mjs +17 -17
  94. package/dist/engine/run-data.d.mts +4 -8
  95. package/dist/engine/run-data.mjs +24 -22
  96. package/dist/engine/run-service.d.mts +24 -33
  97. package/dist/engine/run-service.mjs +125 -93
  98. package/dist/engine/run-utils.d.mts +11 -13
  99. package/dist/engine/run-utils.mjs +23 -46
  100. package/dist/engine/schedule.d.mts +8 -22
  101. package/dist/engine/schedule.mjs +37 -34
  102. package/dist/engine/serialization.d.mts +9 -6
  103. package/dist/engine/serialization.mjs +30 -21
  104. package/dist/engine/signals.d.mts +23 -0
  105. package/dist/engine/signals.mjs +41 -0
  106. package/dist/engine/start.d.mts +18 -0
  107. package/dist/engine/start.mjs +88 -0
  108. package/dist/engine/state.d.mts +37 -67
  109. package/dist/engine/state.mjs +127 -282
  110. package/dist/engine/step-api.d.mts +5 -8
  111. package/dist/engine/step-api.mjs +16 -16
  112. package/dist/engine/stream-reader.d.mts +12 -0
  113. package/dist/engine/stream-reader.mjs +154 -0
  114. package/dist/engine/stream.d.mts +9 -54
  115. package/dist/engine/stream.mjs +54 -196
  116. package/dist/engine/summary/recovery.d.mts +35 -0
  117. package/dist/engine/summary/recovery.mjs +363 -0
  118. package/dist/engine/summary/runs.d.mts +43 -0
  119. package/dist/engine/summary/runs.mjs +294 -0
  120. package/dist/engine/summary/step-attempts.d.mts +5 -10
  121. package/dist/engine/summary/step-attempts.mjs +157 -36
  122. package/dist/engine/summary/tally.d.mts +44 -0
  123. package/dist/engine/summary/tally.mjs +142 -0
  124. package/dist/engine/task.d.mts +4 -5
  125. package/dist/engine/task.mjs +40 -48
  126. package/dist/errors/base.d.mts +17 -77
  127. package/dist/errors/base.mjs +26 -327
  128. package/dist/errors/capability.d.mts +3 -6
  129. package/dist/errors/capability.mjs +4 -8
  130. package/dist/errors/codes.d.mts +116 -0
  131. package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
  132. package/dist/errors/definition.d.mts +3 -17
  133. package/dist/errors/definition.mjs +5 -42
  134. package/dist/errors/failures.d.mts +17 -51
  135. package/dist/errors/failures.mjs +35 -102
  136. package/dist/errors/hook.d.mts +5 -9
  137. package/dist/errors/hook.mjs +4 -16
  138. package/dist/errors/implementation.d.mts +3 -6
  139. package/dist/errors/implementation.mjs +7 -12
  140. package/dist/errors/lock.d.mts +7 -20
  141. package/dist/errors/lock.mjs +8 -44
  142. package/dist/errors/message.d.mts +14 -59
  143. package/dist/errors/message.mjs +13 -39
  144. package/dist/errors/mod.d.mts +4 -5
  145. package/dist/errors/mod.mjs +5 -7
  146. package/dist/errors/records.d.mts +10 -4
  147. package/dist/errors/records.mjs +256 -256
  148. package/dist/errors/run.d.mts +27 -68
  149. package/dist/errors/run.mjs +31 -85
  150. package/dist/errors/schedule.d.mts +7 -18
  151. package/dist/errors/schedule.mjs +7 -39
  152. package/dist/errors/step.d.mts +12 -45
  153. package/dist/errors/step.mjs +13 -34
  154. package/dist/errors/stream.d.mts +8 -16
  155. package/dist/errors/stream.mjs +7 -41
  156. package/dist/esbuild.d.mts +6 -4
  157. package/dist/esbuild.mjs +2 -1
  158. package/dist/events/descriptors.d.mts +12 -241
  159. package/dist/events/descriptors.mjs +12 -5
  160. package/dist/history/projection.d.mts +4 -6
  161. package/dist/history/projection.mjs +22 -26
  162. package/dist/history/replay-projection.d.mts +44 -48
  163. package/dist/history/replay-projection.mjs +41 -50
  164. package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
  165. package/dist/history/{mod.mjs → replay.mjs} +21 -25
  166. package/dist/history/sequencer.d.mts +10 -11
  167. package/dist/history/sequencer.mjs +11 -7
  168. package/dist/history/step-attempts.d.mts +4 -7
  169. package/dist/history/step-attempts.mjs +8 -9
  170. package/dist/history/timeline.d.mts +4 -13
  171. package/dist/history/timeline.mjs +46 -265
  172. package/dist/history/validator.d.mts +5 -7
  173. package/dist/history/validator.mjs +9 -24
  174. package/dist/hook-token.d.mts +7 -0
  175. package/dist/hook-token.mjs +32 -0
  176. package/dist/ids.d.mts +8 -0
  177. package/dist/ids.mjs +21 -0
  178. package/dist/message-options.d.mts +11 -5
  179. package/dist/message-options.mjs +9 -7
  180. package/dist/mod.d.mts +32 -36
  181. package/dist/mod.mjs +9 -13
  182. package/dist/otel/metrics.d.mts +31 -0
  183. package/dist/otel/metrics.mjs +60 -0
  184. package/dist/otel/mod.d.mts +3 -0
  185. package/dist/otel/mod.mjs +3 -0
  186. package/dist/otel/spans.d.mts +24 -0
  187. package/dist/otel/spans.mjs +218 -0
  188. package/dist/otel/support.d.mts +15 -8
  189. package/dist/otel/support.mjs +18 -40
  190. package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
  191. package/dist/otel/telemetry.mjs +305 -0
  192. package/dist/pagination.d.mts +6 -12
  193. package/dist/pagination.mjs +10 -14
  194. package/dist/registry.d.mts +8 -5
  195. package/dist/registry.mjs +19 -10
  196. package/dist/rolldown.d.mts +6 -4
  197. package/dist/rolldown.mjs +2 -1
  198. package/dist/rollup.d.mts +6 -4
  199. package/dist/rollup.mjs +2 -1
  200. package/dist/rspack.d.mts +6 -4
  201. package/dist/rspack.mjs +2 -1
  202. package/dist/run-status.d.mts +29 -0
  203. package/dist/run-status.mjs +42 -0
  204. package/dist/schema/common.d.mts +22 -0
  205. package/dist/schema/common.mjs +54 -0
  206. package/dist/schema/error.d.mts +17 -0
  207. package/dist/schema/error.mjs +39 -0
  208. package/dist/schema/events.d.mts +446 -0
  209. package/dist/schema/events.mjs +235 -0
  210. package/dist/schema/pagination.d.mts +5 -0
  211. package/dist/schema/pagination.mjs +11 -0
  212. package/dist/schema/persisted-value.d.mts +8 -0
  213. package/dist/schema/persisted-value.mjs +94 -0
  214. package/dist/schema/run.d.mts +51 -0
  215. package/dist/schema/run.mjs +88 -0
  216. package/dist/schema/store.d.mts +94 -0
  217. package/dist/schema/store.mjs +116 -0
  218. package/dist/step-definition.d.mts +4 -9
  219. package/dist/step-definition.mjs +2 -2
  220. package/dist/store/capabilities.d.mts +8 -9
  221. package/dist/store/capabilities.mjs +7 -7
  222. package/dist/store/cleanup.d.mts +9 -14
  223. package/dist/store/cleanup.mjs +86 -85
  224. package/dist/store/create.d.mts +28 -29
  225. package/dist/store/create.mjs +10 -11
  226. package/dist/store/events.d.mts +48 -0
  227. package/dist/store/events.mjs +263 -0
  228. package/dist/store/indexes.d.mts +25 -0
  229. package/dist/store/indexes.mjs +282 -0
  230. package/dist/store/instrumentation.d.mts +2 -3
  231. package/dist/store/instrumentation.mjs +30 -30
  232. package/dist/store/lock.d.mts +4 -5
  233. package/dist/store/lock.mjs +5 -7
  234. package/dist/store/materialization.d.mts +10 -17
  235. package/dist/store/materialization.mjs +39 -33
  236. package/dist/store/mod.d.mts +3 -3
  237. package/dist/store/mod.mjs +2 -2
  238. package/dist/store/query.d.mts +13 -17
  239. package/dist/store/query.mjs +13 -13
  240. package/dist/store/run.d.mts +25 -34
  241. package/dist/store/run.mjs +67 -108
  242. package/dist/store/schedule.d.mts +6 -8
  243. package/dist/store/schedule.mjs +11 -11
  244. package/dist/store/step-attempt.d.mts +9 -12
  245. package/dist/store/step-attempt.mjs +9 -9
  246. package/dist/store/storage-value.d.mts +3 -3
  247. package/dist/store/storage-value.mjs +17 -1
  248. package/dist/store/validation.d.mts +17 -20
  249. package/dist/store/validation.mjs +30 -33
  250. package/dist/store-keys.d.mts +35 -47
  251. package/dist/store-keys.mjs +9 -17
  252. package/dist/telemetry.d.mts +16 -16
  253. package/dist/telemetry.mjs +3 -3
  254. package/dist/temporal.d.mts +11 -16
  255. package/dist/temporal.mjs +8 -9
  256. package/dist/timer.d.mts +12 -10
  257. package/dist/timer.mjs +11 -3
  258. package/dist/types/cleanup.d.mts +13 -50
  259. package/dist/types/cleanup.mjs +1 -22
  260. package/dist/types/client.d.mts +101 -162
  261. package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
  262. package/dist/types/compiler.mjs +1 -0
  263. package/dist/types/definition.d.mts +22 -34
  264. package/dist/types/engine-options.d.mts +10 -17
  265. package/dist/types/engine.d.mts +15 -274
  266. package/dist/types/error.d.mts +15 -217
  267. package/dist/types/error.mjs +1 -48
  268. package/dist/types/events.d.mts +59 -2730
  269. package/dist/types/events.mjs +1 -283
  270. package/dist/types/hook.d.mts +27 -85
  271. package/dist/types/hook.mjs +1 -66
  272. package/dist/types/ids.d.mts +9 -0
  273. package/dist/types/ids.mjs +1 -0
  274. package/dist/types/lock.d.mts +8 -26
  275. package/dist/types/lock.mjs +1 -18
  276. package/dist/types/message.d.mts +29 -43
  277. package/dist/types/observation.d.mts +43 -58
  278. package/dist/types/pagination.d.mts +6 -22
  279. package/dist/types/pagination.mjs +1 -13
  280. package/dist/types/result.d.mts +11 -43
  281. package/dist/types/retry.d.mts +7 -14
  282. package/dist/types/run-list.d.mts +9 -11
  283. package/dist/types/run-options.d.mts +25 -32
  284. package/dist/types/run.d.mts +35 -315
  285. package/dist/types/run.mjs +1 -207
  286. package/dist/types/runtime.d.mts +33 -145
  287. package/dist/types/runtime.mjs +1 -21
  288. package/dist/types/schedule.d.mts +13 -72
  289. package/dist/types/schedule.mjs +1 -48
  290. package/dist/types/step-attempts.d.mts +65 -261
  291. package/dist/types/step-attempts.mjs +1 -43
  292. package/dist/types/step.d.mts +66 -77
  293. package/dist/types/step.mjs +1 -5
  294. package/dist/types/store.d.mts +50 -182
  295. package/dist/types/stream.d.mts +19 -40
  296. package/dist/types/summary.d.mts +174 -278
  297. package/dist/types/telemetry.d.mts +23 -28
  298. package/dist/types/telemetry.mjs +1 -9
  299. package/dist/types/timeline.d.mts +46 -233
  300. package/dist/types/worker.d.mts +22 -29
  301. package/dist/values.d.mts +15 -0
  302. package/dist/values.mjs +57 -0
  303. package/dist/vite.d.mts +5 -6
  304. package/dist/vite.mjs +3 -4
  305. package/dist/webpack.d.mts +6 -4
  306. package/dist/webpack.mjs +2 -1
  307. package/dist/worker/error.d.mts +2 -9
  308. package/dist/worker/error.mjs +20 -32
  309. package/dist/worker/missing-implementation.d.mts +19 -0
  310. package/dist/worker/missing-implementation.mjs +62 -0
  311. package/dist/worker/worker.d.mts +18 -0
  312. package/dist/{worker.mjs → worker/worker.mjs} +64 -118
  313. package/package.json +28 -47
  314. package/dist/engine/execution-api.d.mts +0 -29
  315. package/dist/engine/execution-api.mjs +0 -33
  316. package/dist/engine/inspection-api.d.mts +0 -34
  317. package/dist/engine/inspection-api.mjs +0 -78
  318. package/dist/engine/mod.d.mts +0 -4
  319. package/dist/engine/mod.mjs +0 -2
  320. package/dist/engine/recovery.d.mts +0 -26
  321. package/dist/engine/recovery.mjs +0 -92
  322. package/dist/engine/retry-policy.d.mts +0 -4
  323. package/dist/engine/retry-policy.mjs +0 -4
  324. package/dist/engine/start-api.d.mts +0 -30
  325. package/dist/engine/start-api.mjs +0 -99
  326. package/dist/engine/summary/active-events.d.mts +0 -34
  327. package/dist/engine/summary/active-events.mjs +0 -69
  328. package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
  329. package/dist/engine/summary/child-workflow-runs.mjs +0 -138
  330. package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
  331. package/dist/engine/summary/child-workflow-waits.mjs +0 -67
  332. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
  333. package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
  334. package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
  335. package/dist/engine/summary/recovery-due-runs.mjs +0 -52
  336. package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
  337. package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
  338. package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
  339. package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
  340. package/dist/engine/summary/recovery-locks.d.mts +0 -18
  341. package/dist/engine/summary/recovery-locks.mjs +0 -100
  342. package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
  343. package/dist/engine/summary/recovery-message-waits.mjs +0 -74
  344. package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
  345. package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
  346. package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
  347. package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
  348. package/dist/engine/summary/recovery-runs.d.mts +0 -23
  349. package/dist/engine/summary/recovery-runs.mjs +0 -54
  350. package/dist/engine/summary/recovery-schedules.d.mts +0 -10
  351. package/dist/engine/summary/recovery-schedules.mjs +0 -46
  352. package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
  353. package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
  354. package/dist/engine/summary/recovery-waits.d.mts +0 -21
  355. package/dist/engine/summary/recovery-waits.mjs +0 -29
  356. package/dist/engine/summary/run-availability.d.mts +0 -13
  357. package/dist/engine/summary/run-availability.mjs +0 -37
  358. package/dist/engine/summary/run-cleanup.d.mts +0 -14
  359. package/dist/engine/summary/run-cleanup.mjs +0 -44
  360. package/dist/engine/summary/run-failure.d.mts +0 -14
  361. package/dist/engine/summary/run-failure.mjs +0 -62
  362. package/dist/engine/summary/run-hooks.d.mts +0 -14
  363. package/dist/engine/summary/run-hooks.mjs +0 -63
  364. package/dist/engine/summary/run-lease.d.mts +0 -11
  365. package/dist/engine/summary/run-lease.mjs +0 -64
  366. package/dist/engine/summary/run-message-waits.d.mts +0 -15
  367. package/dist/engine/summary/run-message-waits.mjs +0 -62
  368. package/dist/engine/summary/run-metrics.d.mts +0 -31
  369. package/dist/engine/summary/run-metrics.mjs +0 -93
  370. package/dist/engine/summary/run-retry.d.mts +0 -9
  371. package/dist/engine/summary/run-retry.mjs +0 -69
  372. package/dist/engine/summary/run-sleeps.d.mts +0 -15
  373. package/dist/engine/summary/run-sleeps.mjs +0 -61
  374. package/dist/engine/summary/run-state.d.mts +0 -26
  375. package/dist/engine/summary/run-state.mjs +0 -48
  376. package/dist/engine/summary/run-status.d.mts +0 -16
  377. package/dist/engine/summary/run-status.mjs +0 -35
  378. package/dist/engine/summary/run-streams.d.mts +0 -14
  379. package/dist/engine/summary/run-streams.mjs +0 -46
  380. package/dist/engine/summary/run-transition.d.mts +0 -9
  381. package/dist/engine/summary/run-transition.mjs +0 -39
  382. package/dist/engine/summary/run-workflow.d.mts +0 -9
  383. package/dist/engine/summary/run-workflow.mjs +0 -47
  384. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
  385. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
  386. package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
  387. package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
  388. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
  389. package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
  390. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
  391. package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
  392. package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
  393. package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
  394. package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
  395. package/dist/engine/summary/step-attempt-failure.mjs +0 -61
  396. package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
  397. package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
  398. package/dist/engine/summary.d.mts +0 -32
  399. package/dist/engine/summary.mjs +0 -37
  400. package/dist/errors/details.d.mts +0 -13
  401. package/dist/errors/details.mjs +0 -66
  402. package/dist/errors/record-view.d.mts +0 -11
  403. package/dist/errors/record-view.mjs +0 -24
  404. package/dist/errors/runtime.d.mts +0 -12
  405. package/dist/errors/runtime.mjs +0 -24
  406. package/dist/events/mod.d.mts +0 -3
  407. package/dist/events/mod.mjs +0 -2
  408. package/dist/history/attempt-key.d.mts +0 -6
  409. package/dist/history/attempt-key.mjs +0 -7
  410. package/dist/inspection/mod.d.mts +0 -5
  411. package/dist/inspection/mod.mjs +0 -3
  412. package/dist/otel.mjs +0 -590
  413. package/dist/runtime.d.mts +0 -35
  414. package/dist/runtime.mjs +0 -198
  415. package/dist/store/append-projection.d.mts +0 -15
  416. package/dist/store/append-projection.mjs +0 -26
  417. package/dist/store/compaction.d.mts +0 -5
  418. package/dist/store/compaction.mjs +0 -8
  419. package/dist/store/event-append-project.d.mts +0 -15
  420. package/dist/store/event-append-project.mjs +0 -77
  421. package/dist/store/event-append.d.mts +0 -37
  422. package/dist/store/event-append.mjs +0 -80
  423. package/dist/store/event-history.d.mts +0 -22
  424. package/dist/store/event-history.mjs +0 -75
  425. package/dist/store/event.d.mts +0 -10
  426. package/dist/store/event.mjs +0 -28
  427. package/dist/store/idempotency.d.mts +0 -10
  428. package/dist/store/idempotency.mjs +0 -167
  429. package/dist/store/message-index.d.mts +0 -21
  430. package/dist/store/message-index.mjs +0 -122
  431. package/dist/store/revision.d.mts +0 -4
  432. package/dist/store/revision.mjs +0 -7
  433. package/dist/store/schema.d.mts +0 -14
  434. package/dist/store/schema.mjs +0 -17
  435. package/dist/types/common.d.mts +0 -20
  436. package/dist/types/common.mjs +0 -16
  437. package/dist/types/error-code.d.mts +0 -256
  438. package/dist/types/message-id.d.mts +0 -7
  439. package/dist/types/message-id.mjs +0 -5
  440. package/dist/types/run-id.d.mts +0 -7
  441. package/dist/types/run-id.mjs +0 -5
  442. package/dist/types/step-id.d.mts +0 -7
  443. package/dist/types/step-id.mjs +0 -5
  444. package/dist/types/stream-id.d.mts +0 -7
  445. package/dist/types/stream-id.mjs +0 -5
  446. package/dist/types/worker-id.d.mts +0 -7
  447. package/dist/types/worker-id.mjs +0 -5
  448. package/dist/utility.d.mts +0 -49
  449. package/dist/utility.mjs +0 -122
  450. package/dist/vite/ast.d.mts +0 -23
  451. package/dist/vite/generated-name.d.mts +0 -7
  452. package/dist/vite/generated-name.mjs +0 -9
  453. package/dist/vite/manifest.d.mts +0 -7
  454. package/dist/vite/plugin.d.mts +0 -7
  455. package/dist/vite/safety.d.mts +0 -12
  456. package/dist/vite/source.d.mts +0 -7
  457. package/dist/vite/transform.d.mts +0 -7
  458. package/dist/webhook.d.mts +0 -16
  459. package/dist/webhook.mjs +0 -17
  460. package/dist/worker.d.mts +0 -19
  461. /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
@@ -1,21 +1,16 @@
1
1
  import { AcquireLockOptions, LockRecord, ReleaseLockOptions } from "../types/lock.mjs";
2
- import { WorkflowStepContext, WorkflowStepLockApi, WorkflowStepRunConfig } from "../types/step.mjs";
3
- import { WorkflowLockConditionalWriterRepository, WorkflowLockReaderRepository, WorkflowRunListerRepository, WorkflowRunUnconditionalWriterRepository, WorkflowStepAttemptLookup, WorkflowStoreNamespace } from "../types/store.mjs";
4
- import { WorkflowExecutionEnvironment } from "../types/engine.mjs";
2
+ import { StepLockApi, StepRunConfig, WorkflowStepContext } from "../types/step.mjs";
3
+ import { WorkflowStore } from "../types/store.mjs";
4
+ import { ExecutionEnvironment } from "../types/engine.mjs";
5
5
  //#region src/engine/lock.d.ts
6
- type WorkflowLockCommandStore = WorkflowStoreNamespace & WorkflowLockReaderRepository & WorkflowLockConditionalWriterRepository;
7
- type WorkflowLockRunWakeStore = WorkflowRunListerRepository & WorkflowRunUnconditionalWriterRepository;
8
- type WorkflowLockStepAttemptWakeStore = WorkflowStepAttemptLookup;
9
- type WorkflowLockWakeStore = WorkflowLockRunWakeStore & WorkflowLockStepAttemptWakeStore;
10
- type WorkflowLockReleaseStore = WorkflowLockCommandStore & WorkflowLockWakeStore;
11
- interface WorkflowStepLockEngine {
6
+ interface StepLockEngine {
12
7
  acquireLock(key: string, options: AcquireLockOptions): Promise<LockRecord>;
13
8
  releaseLock(key: string, options: ReleaseLockOptions): Promise<LockRecord>;
14
9
  }
15
- type WorkflowStepLockRunner = <TOutput>(config: WorkflowStepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput) => Promise<TOutput>;
16
- declare function createWorkflowStepLockApi(environment: WorkflowExecutionEnvironment, engine: WorkflowStepLockEngine, run: WorkflowStepLockRunner): WorkflowStepLockApi;
17
- declare function acquireLock(store: WorkflowLockCommandStore, key: string, lockOptions: AcquireLockOptions, acquiredAt: Temporal.Instant): Promise<LockRecord>;
18
- declare function releaseLock(store: WorkflowLockReleaseStore, key: string, lockOptions: ReleaseLockOptions, releasedAt: Temporal.Instant): Promise<LockRecord>;
19
- declare function releaseStaleLock(store: WorkflowLockReleaseStore, key: string, releasedAt: Temporal.Instant): Promise<LockRecord>;
10
+ type StepLockRunner = <TOutput>(config: StepRunConfig, callback: (context: WorkflowStepContext) => Promise<TOutput> | TOutput) => Promise<TOutput>;
11
+ export declare function createStepLockApi(environment: ExecutionEnvironment, engine: StepLockEngine, run: StepLockRunner): StepLockApi;
12
+ export declare function acquireLock(store: WorkflowStore, key: string, lockOptions: AcquireLockOptions, acquiredAt: Temporal.Instant): Promise<LockRecord>;
13
+ export declare function releaseLock(store: WorkflowStore, key: string, lockOptions: ReleaseLockOptions, releasedAt: Temporal.Instant): Promise<LockRecord>;
14
+ export declare function releaseStaleLock(store: WorkflowStore, key: string, releasedAt: Temporal.Instant): Promise<LockRecord>;
20
15
  //#endregion
21
- export { WorkflowStepLockEngine, acquireLock, createWorkflowStepLockApi, releaseLock, releaseStaleLock };
16
+ export {};
@@ -1,13 +1,16 @@
1
+ import { WorkflowErrorCode } from "../errors/codes.mjs";
1
2
  import { WorkflowOptionsError } from "../errors/base.mjs";
2
3
  import { WorkflowNonRetryableError, WorkflowRetryableError } from "../errors/failures.mjs";
3
- import { isPositiveSafeInteger, positiveSafeInteger } from "../utility.mjs";
4
4
  import { WorkflowLockError, WorkflowLockStateError } from "../errors/lock.mjs";
5
+ import { matchesWorkflowError } from "../errors/records.mjs";
5
6
  import "../errors/mod.mjs";
6
- import { WorkflowSuspended, patchRun } from "./state.mjs";
7
- import { recordWorkflowDeterministicValue } from "./deterministic.mjs";
8
- import { requireLockReleaseReplayMatches, requireLockReplayMatches, requireLockWaitDeadlineReplayMatches, requireLockWaitReplayMatches } from "./lock-replay.mjs";
7
+ import { isPositiveSafeInteger, positiveSafeInteger } from "../values.mjs";
8
+ import { Suspended } from "./signals.mjs";
9
+ import { patchRun } from "./state.mjs";
10
+ import { recordDeterministicValue } from "./deterministic.mjs";
11
+ import { parseLockWaitDeadlineReplay, requireLockReleaseReplayMatches, requireLockReplayMatches, requireLockWaitReplayMatches } from "./lock-replay.mjs";
9
12
  //#region src/engine/lock.ts
10
- function createWorkflowStepLockApi(environment, engine, run) {
13
+ function createStepLockApi(environment, engine, run) {
11
14
  const { runId, history } = environment;
12
15
  const acquire = async (commandId, key, options) => {
13
16
  const requestedLeaseDuration = positiveSafeInteger(options.leaseDuration.total({ unit: "millisecond" }), "Workflow lock lease duration");
@@ -17,13 +20,14 @@ function createWorkflowStepLockApi(environment, engine, run) {
17
20
  commandId,
18
21
  retry: { maximumAttempts: options.wait === true ? 0 : 1 }
19
22
  }, async (context) => {
20
- return await engine.acquireLock(key, {
23
+ const acquireOptions = {
21
24
  ...engineLockOptions,
22
25
  holderId: options.holderId ?? runId,
23
26
  holderRunId: runId,
24
27
  holderStepId: context.step.id,
25
- ...waitDeadlineAt === void 0 ? {} : { waitDeadlineAt }
26
- });
28
+ waitDeadlineAt
29
+ };
30
+ return await engine.acquireLock(key, acquireOptions);
27
31
  });
28
32
  requireLockReplayMatches(lock, {
29
33
  key,
@@ -43,10 +47,11 @@ function createWorkflowStepLockApi(environment, engine, run) {
43
47
  commandId,
44
48
  retry: { maximumAttempts: 1 }
45
49
  }, async () => {
46
- return await engine.releaseLock(key, {
50
+ const releaseOptions = {
47
51
  holderId,
48
- ...options?.now === void 0 ? {} : { now: options.now }
49
- });
52
+ now: options?.now
53
+ };
54
+ return await engine.releaseLock(key, releaseOptions);
50
55
  });
51
56
  requireLockReleaseReplayMatches(lock, {
52
57
  key,
@@ -61,17 +66,19 @@ function createWorkflowStepLockApi(environment, engine, run) {
61
66
  const lock = await acquire(`${commandId}:acquire`, key, options);
62
67
  try {
63
68
  const output = await callback(lock);
64
- await release(`${commandId}:release`, key, {
65
- ...options.holderId === void 0 ? {} : { holderId: options.holderId },
66
- ...options.now === void 0 ? {} : { now: options.now }
67
- });
69
+ const releaseOptions = {
70
+ holderId: options.holderId,
71
+ now: options.now
72
+ };
73
+ await release(`${commandId}:release`, key, releaseOptions);
68
74
  return output;
69
75
  } catch (error) {
70
- if (error instanceof WorkflowSuspended) throw error;
71
- await release(`${commandId}:release`, key, {
72
- ...options.holderId === void 0 ? {} : { holderId: options.holderId },
73
- ...options.now === void 0 ? {} : { now: options.now }
74
- });
76
+ if (error instanceof Suspended) throw error;
77
+ const releaseOptions = {
78
+ holderId: options.holderId,
79
+ now: options.now
80
+ };
81
+ await release(`${commandId}:release`, key, releaseOptions);
75
82
  throw error;
76
83
  }
77
84
  }
@@ -84,70 +91,75 @@ async function acquireLock(store, key, lockOptions, acquiredAt) {
84
91
  const existing = await store.getLock(key);
85
92
  if (existing !== void 0 && !(existing.holderId === holderId || existing.releasedAt !== void 0) && Temporal.Instant.compare(existing.leaseExpiresAt, acquiredAt) > 0) {
86
93
  if (lockOptions.wait === true) {
87
- if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, acquiredAt) <= 0) WorkflowNonRetryableError.failed(`Workflow lock wait timed out: ${key}`, { details: {
94
+ if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, acquiredAt) <= 0) throw new WorkflowNonRetryableError(`Workflow lock wait timed out: ${key}`, { details: {
88
95
  key,
89
96
  holderId,
90
97
  currentHolderId: existing.holderId,
91
98
  waitDeadlineAt: waitDeadlineAt.toString()
92
99
  } });
93
100
  const retryAt = workflowLockRetryAt(existing, acquiredAt, waitDeadlineAt);
94
- throw WorkflowRetryableError.lockAlreadyHeld(key, {
101
+ const details = {
102
+ key,
103
+ holderId,
104
+ currentHolderId: existing.holderId,
105
+ waitDeadlineAt: waitDeadlineAt !== void 0 ? waitDeadlineAt.toString() : void 0
106
+ };
107
+ throw new WorkflowRetryableError(`Workflow lock is already held: ${key}`, {
95
108
  retryAt,
109
+ code: WorkflowErrorCode.LOCK_ALREADY_HELD,
96
110
  details: {
97
- key,
98
- holderId,
99
- currentHolderId: existing.holderId,
100
- ...waitDeadlineAt === void 0 ? {} : { waitDeadlineAt: waitDeadlineAt.toString() }
111
+ ...details,
112
+ key
101
113
  }
102
114
  });
103
115
  }
104
- WorkflowLockError.alreadyHeld(key);
116
+ throw new WorkflowLockError(`Workflow lock is already held: ${key}`, WorkflowErrorCode.LOCK_ALREADY_HELD_WITHOUT_WAIT, { key });
105
117
  }
106
118
  const lock = {
107
119
  key,
108
120
  namespace: store.namespace,
109
121
  holderId,
110
- ...lockOptions.holderRunId === void 0 ? {} : { holderRunId: lockOptions.holderRunId },
111
- ...lockOptions.holderStepId === void 0 ? {} : { holderStepId: lockOptions.holderStepId },
122
+ holderRunId: lockOptions.holderRunId,
123
+ holderStepId: lockOptions.holderStepId,
112
124
  fencingToken: (existing?.fencingToken ?? 0) + 1,
113
125
  acquiredAt,
114
126
  leaseExpiresAt: acquiredAt.add(Temporal.Duration.from({ milliseconds: leaseDuration }))
115
127
  };
116
128
  const acquired = await store.updateLockIfCurrent(existing, lock);
117
- if (acquired === void 0) WorkflowLockStateError.acquireConflictExhausted(key);
129
+ if (acquired === void 0) throw new WorkflowLockStateError(`Failed to acquire workflow lock ${key}`, WorkflowErrorCode.LOCK_ACQUIRE_CONFLICT_EXHAUSTED, { key });
118
130
  return acquired;
119
131
  }
120
132
  async function releaseLock(store, key, lockOptions, releasedAt) {
121
133
  const holderId = lockOptions.holderId;
122
134
  const current = await store.getLock(key);
123
135
  if (current === void 0) WorkflowLockStateError.notFound(key);
124
- if (current.holderId !== holderId) WorkflowLockError.holderMismatch(key);
136
+ if (current.holderId !== holderId) throw new WorkflowLockError(`Workflow lock holder mismatch: ${key}`, WorkflowErrorCode.LOCK_HOLDER_MISMATCH, { key });
125
137
  const released = {
126
138
  ...current,
127
139
  releasedAt
128
140
  };
129
141
  const updated = await store.updateLockIfCurrent(current, released);
130
- if (updated === void 0) WorkflowLockStateError.releaseConflictExhausted(key);
131
- await wakeWorkflowRunsWaitingForLock(store, key, releasedAt);
142
+ if (updated === void 0) throw new WorkflowLockStateError(`Failed to release workflow lock ${key}`, WorkflowErrorCode.LOCK_RELEASE_CONFLICT_EXHAUSTED, { key });
143
+ await wakeRunsWaitingForLock(store, key, releasedAt);
132
144
  return updated;
133
145
  }
134
146
  async function releaseStaleLock(store, key, releasedAt) {
135
147
  const current = await store.getLock(key);
136
148
  if (current === void 0) WorkflowLockStateError.notFound(key);
137
- if (current.releasedAt !== void 0) WorkflowLockError.alreadyReleased(key);
138
- if (Temporal.Instant.compare(current.leaseExpiresAt, releasedAt) > 0) WorkflowLockError.notStale(key);
149
+ if (current.releasedAt !== void 0) throw new WorkflowLockError(`Workflow lock is already released: ${key}`, WorkflowErrorCode.LOCK_ALREADY_RELEASED, { key });
150
+ if (Temporal.Instant.compare(current.leaseExpiresAt, releasedAt) > 0) throw new WorkflowLockError(`Workflow lock is not stale: ${key}`, WorkflowErrorCode.LOCK_NOT_STALE, { key });
139
151
  const released = {
140
152
  ...current,
141
153
  releasedAt
142
154
  };
143
155
  const updated = await store.updateLockIfCurrent(current, released);
144
- if (updated === void 0) WorkflowLockStateError.staleReleaseConflictExhausted(key);
145
- await wakeWorkflowRunsWaitingForLock(store, key, releasedAt);
156
+ if (updated === void 0) throw new WorkflowLockStateError(`Failed to release stale workflow lock ${key}`, WorkflowErrorCode.LOCK_STALE_RELEASE_CONFLICT_EXHAUSTED, { key });
157
+ await wakeRunsWaitingForLock(store, key, releasedAt);
146
158
  return updated;
147
159
  }
148
160
  function resolveLockWaitDeadline(options, now) {
149
- if (options.waitTimeout !== void 0 && options.waitDeadlineAt !== void 0) WorkflowLockError.waitDeadlineConflict();
150
- if ((options.waitTimeout !== void 0 || options.waitDeadlineAt !== void 0) && options.wait !== true) WorkflowLockError.timeoutRequiresWait();
161
+ if (options.waitTimeout !== void 0 && options.waitDeadlineAt !== void 0) throw new WorkflowLockError("Workflow lock options cannot include both waitTimeout and waitDeadlineAt", WorkflowErrorCode.LOCK_WAIT_DEADLINE_CONFLICT, void 0);
162
+ if ((options.waitTimeout !== void 0 || options.waitDeadlineAt !== void 0) && options.wait !== true) throw new WorkflowLockError("Workflow lock timeout options require wait: true", WorkflowErrorCode.LOCK_TIMEOUT_REQUIRES_WAIT, void 0);
151
163
  if (options.waitDeadlineAt !== void 0) return options.waitDeadlineAt;
152
164
  if (options.waitTimeout === void 0) return;
153
165
  positiveDurationMilliseconds(options.waitTimeout, "Workflow lock waitTimeout");
@@ -155,38 +167,40 @@ function resolveLockWaitDeadline(options, now) {
155
167
  }
156
168
  function positiveDurationMilliseconds(duration, label) {
157
169
  const milliseconds = duration.total({ unit: "millisecond" });
158
- if (!isPositiveSafeInteger(milliseconds)) WorkflowOptionsError.positiveSafeIntegerDuration(label);
170
+ if (!isPositiveSafeInteger(milliseconds)) throw new WorkflowOptionsError(`${label} must be a positive safe integer duration`, {
171
+ code: WorkflowErrorCode.OPTIONS_EXPECTED_POSITIVE_SAFE_INTEGER_DURATION,
172
+ details: { label }
173
+ });
159
174
  return milliseconds;
160
175
  }
161
176
  async function recordLockWaitDeadline(environment, name, timeout) {
162
177
  const resolvedTimeout = positiveSafeInteger(timeout.total({ unit: "millisecond" }), "Workflow lock waitTimeout");
163
- return await recordWorkflowDeterministicValue(environment, `${name}:wait-deadline`, () => environment.now().add(Temporal.Duration.from({ milliseconds: resolvedTimeout })), (recorded) => requireLockWaitDeadlineReplayMatches(recorded, resolvedTimeout));
178
+ return await recordDeterministicValue(environment, `${name}:wait-deadline`, () => environment.now().add(Temporal.Duration.from({ milliseconds: resolvedTimeout })), (recorded) => parseLockWaitDeadlineReplay(recorded, resolvedTimeout));
164
179
  }
165
180
  function workflowLockRetryAt(lock, now, waitDeadlineAt) {
166
181
  const retryAt = Temporal.Instant.compare(lock.leaseExpiresAt, now) <= 0 ? now : lock.leaseExpiresAt;
167
182
  if (waitDeadlineAt !== void 0 && Temporal.Instant.compare(waitDeadlineAt, retryAt) < 0) return waitDeadlineAt;
168
183
  return retryAt;
169
184
  }
170
- async function wakeWorkflowRunsWaitingForLock(store, key, timestamp) {
171
- const wakeAt = timestamp;
185
+ async function wakeRunsWaitingForLock(store, key, timestamp) {
172
186
  const waitingRuns = await store.listRuns({
173
187
  status: "waiting",
174
188
  retryReason: "step"
175
189
  });
176
190
  await Promise.all(waitingRuns.map(async (run) => {
177
- if (run.availableAt !== void 0 && Temporal.Instant.compare(run.availableAt, wakeAt) <= 0) return;
191
+ if (run.availableAt !== void 0 && Temporal.Instant.compare(run.availableAt, timestamp) <= 0) return;
178
192
  if (!(await store.listStepAttempts(run.id, {
179
193
  kind: "run",
180
194
  status: "failed"
181
- })).some((attempt) => WorkflowRetryableError.isLockAlreadyHeld(attempt.error, key))) return;
195
+ })).some((attempt) => matchesWorkflowError(attempt.error, WorkflowErrorCode.LOCK_ALREADY_HELD, { key }))) return;
182
196
  await patchRun(store, run, {
183
- availableAt: wakeAt,
184
- retryAt: wakeAt,
185
- updatedAt: wakeAt,
186
- lastTransitionAt: wakeAt,
197
+ availableAt: timestamp,
198
+ retryAt: timestamp,
199
+ updatedAt: timestamp,
200
+ lastTransitionAt: timestamp,
187
201
  lastTransitionReason: "retry",
188
202
  deadlineAt: run.deadlineAt,
189
- startedAt: run.startedAt ?? wakeAt,
203
+ startedAt: run.startedAt ?? timestamp,
190
204
  error: run.error,
191
205
  output: void 0,
192
206
  finishedAt: void 0
@@ -194,4 +208,4 @@ async function wakeWorkflowRunsWaitingForLock(store, key, timestamp) {
194
208
  }));
195
209
  }
196
210
  //#endregion
197
- export { acquireLock, createWorkflowStepLockApi, releaseLock, releaseStaleLock };
211
+ export { acquireLock, createStepLockApi, releaseLock, releaseStaleLock };
@@ -1,47 +1,27 @@
1
- import { RunId } from "../types/run-id.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
2
  import { BroadcastMessageChannelOptions, BroadcastMessageInput, BroadcastMessageResult, MessageChannel, SendMessageChannelOptions, SendMessageInput, SendMessageOptions, WaitForMessageOptions } from "../types/message.mjs";
3
- import { WorkflowStepMessageApi } from "../types/step.mjs";
3
+ import { StepMessageApi } from "../types/step.mjs";
4
4
  import { Telemetry, TelemetryContext } from "../types/telemetry.mjs";
5
- import { WorkflowStepIdentity } from "../types/run.mjs";
6
5
  import { EventRecord } from "../types/events.mjs";
7
- import "../history/mod.mjs";
8
- import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowMessageIdempotencyIndexLookup, WorkflowRunConditionalWriterRepository, WorkflowRunListerRepository, WorkflowRunReaderRepository } from "../types/store.mjs";
9
- import { WorkflowExecutionLimits } from "../types/engine-options.mjs";
10
- import { WorkflowExecutionEnvironment } from "../types/engine.mjs";
6
+ import { WorkflowStore } from "../types/store.mjs";
7
+ import { ExecutionLimits } from "../types/engine-options.mjs";
8
+ import { EngineContext } from "./context.mjs";
9
+ import { ExecutionEnvironment } from "../types/engine.mjs";
11
10
  import { Schema } from "@temelj/standard-schema";
11
+ import { StorageValue } from "@temelj/storage";
12
12
  //#region src/engine/message.d.ts
13
13
  type MessageWaitSource = Extract<EventRecord, {
14
14
  readonly kind: "message_wait_started";
15
15
  }>["source"];
16
- type WorkflowMessageWaitOptions = WaitForMessageOptions<Schema | undefined> & {
16
+ type MessageWaitOptions<TPayload = StorageValue | undefined> = WaitForMessageOptions<Schema<unknown, TPayload> | undefined> & {
17
17
  readonly source?: MessageWaitSource;
18
18
  };
19
- type WorkflowMessageDeliveryStore = WorkflowMessageIdempotencyIndexLookup & WorkflowRunReaderRepository & WorkflowEventReader & WorkflowConditionalEventAppender & WorkflowRunConditionalWriterRepository;
20
- type WorkflowMessageStore = WorkflowMessageDeliveryStore & WorkflowRunListerRepository;
21
- interface WorkflowMessageServiceOptions {
22
- readonly store: WorkflowMessageStore;
23
- readonly now: () => Temporal.Instant;
24
- readonly limits: WorkflowExecutionLimits;
25
- readonly observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
26
- readonly kind: "message_sent";
27
- }>) => void;
28
- readonly telemetry?: Telemetry;
29
- }
30
- declare function createWorkflowStepMessageApi(environment: WorkflowExecutionEnvironment): WorkflowStepMessageApi;
31
- declare function sendWorkflowMessageInput<TPayload, TKey = void>(service: WorkflowMessageServiceOptions, runId: RunId, messageInput: SendMessageInput | MessageChannel<TPayload, TKey>, channelOptions: SendMessageChannelOptions<TPayload, TKey> | undefined): Promise<void>;
32
- declare function broadcastWorkflowMessageInput<TPayload, TKey = void>(service: WorkflowMessageServiceOptions, messageInput: BroadcastMessageInput | MessageChannel<TPayload, TKey>, channelOptions: BroadcastMessageChannelOptions<TPayload, TKey> | undefined): Promise<BroadcastMessageResult>;
33
- declare function sendWorkflowMessage(store: WorkflowMessageDeliveryStore, runId: RunId, options: SendMessageOptions, now: () => Temporal.Instant, limits: WorkflowExecutionLimits, observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
19
+ export declare function createStepMessageApi(environment: ExecutionEnvironment): StepMessageApi;
20
+ export declare function sendMessageInput<TPayload, TRawPayload = TPayload>(context: EngineContext, runId: RunId, messageInput: SendMessageInput | MessageChannel<TPayload, TRawPayload>, channelOptions: SendMessageChannelOptions<TRawPayload> | undefined): Promise<void>;
21
+ export declare function broadcastMessageInput<TPayload, TRawPayload = TPayload>(context: EngineContext, messageInput: BroadcastMessageInput | MessageChannel<TPayload, TRawPayload>, channelOptions: BroadcastMessageChannelOptions<TRawPayload> | undefined): Promise<BroadcastMessageResult>;
22
+ export declare function sendWorkflowMessage(store: WorkflowStore, runId: RunId, options: SendMessageOptions, now: () => Temporal.Instant, limits: ExecutionLimits, observeMessageSent?: (runId: RunId, event: Extract<EventRecord, {
34
23
  readonly kind: "message_sent";
35
24
  }>) => void, telemetry?: Telemetry, traceContext?: TelemetryContext): Promise<void>;
36
- declare function waitForWorkflowMessage(environment: WorkflowExecutionEnvironment, options: WorkflowMessageWaitOptions): Promise<unknown>;
37
- declare function requireMessageWaitReplayMatches(identity: WorkflowStepIdentity, started: Extract<EventRecord, {
38
- readonly kind: "message_wait_started";
39
- }> | undefined, event: Extract<EventRecord, {
40
- readonly kind: "message_wait_started" | "message_wait_completed" | "message_wait_failed";
41
- }>, options: WorkflowMessageWaitOptions): void;
42
- declare function messageWaitAvailableAt(now: () => Temporal.Instant, timeoutAt: Temporal.Instant | undefined, deadlineAt: Temporal.Instant | undefined): Temporal.Instant;
43
- declare function wakeRunForMessageEvent(store: WorkflowRunReaderRepository & WorkflowEventReader & WorkflowRunConditionalWriterRepository, runId: RunId, messageEvent: Extract<EventRecord, {
44
- readonly kind: "message_sent";
45
- }>): Promise<void>;
25
+ export declare function waitForMessage<TPayload = never>(environment: ExecutionEnvironment, options: MessageWaitOptions<TPayload>): Promise<TPayload | StorageValue | undefined>;
46
26
  //#endregion
47
- export { broadcastWorkflowMessageInput, createWorkflowStepMessageApi, messageWaitAvailableAt, requireMessageWaitReplayMatches, sendWorkflowMessage, sendWorkflowMessageInput, waitForWorkflowMessage, wakeRunForMessageEvent };
27
+ export {};