@temelj/workflow 0.0.0-alpha.3 → 0.0.0-alpha.5

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,31 +1,28 @@
1
- import { RunId } from "../types/run-id.mjs";
2
- import { WorkflowImplementation } from "../types/definition.mjs";
1
+ import { RunId } from "../types/ids.mjs";
2
+ import { WorkflowDefinition, WorkflowImplementation } from "../types/definition.mjs";
3
3
  import { ExecutionResult } from "../types/result.mjs";
4
4
  import { Telemetry } from "../types/telemetry.mjs";
5
- import { WorkflowRunRecord } from "../types/run.mjs";
5
+ import { RunRecord } from "../types/run.mjs";
6
6
  import { EventRecord } from "../types/events.mjs";
7
- import { WorkflowResumeOptions } from "../types/run-options.mjs";
8
- import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowLockConditionalWriterRepository, WorkflowLockListerRepository, WorkflowMessageIdempotencyIndexLookup, WorkflowRunListerRepository, WorkflowRunReaderRepository, WorkflowRunWriterRepository, WorkflowStepAttemptLookup } from "../types/store.mjs";
9
- import { WorkflowDeterministicBytesContext, WorkflowDeterministicValueContext, WorkflowExecutionLimits, WorkflowRecordedIdContext } from "../types/engine-options.mjs";
10
- import { WorkflowChildWorkflowEngine } from "./child-workflow.mjs";
11
- import { WorkflowStepLockEngine } from "./lock.mjs";
7
+ import { WorkflowStore } from "../types/store.mjs";
8
+ import { DeterministicBytesContext, ExecutionLimits, RecordedIdContext } from "../types/engine-options.mjs";
9
+ import { ResumeOptions } from "../types/run-options.mjs";
10
+ import { WorkflowEngine } from "./create.mjs";
12
11
  import { Logger } from "@temelj/log";
13
12
  //#region src/engine/execution-service.d.ts
14
- type WorkflowExecutionServiceStore = WorkflowRunReaderRepository & WorkflowRunListerRepository & WorkflowRunWriterRepository & WorkflowMessageIdempotencyIndexLookup & WorkflowConditionalEventAppender & WorkflowEventReader & WorkflowStepAttemptLookup & WorkflowLockListerRepository & WorkflowLockConditionalWriterRepository;
15
- type WorkflowExecutionStepRuntime = WorkflowChildWorkflowEngine & WorkflowStepLockEngine;
16
- interface WorkflowExecutionServiceOptions {
17
- readonly store: WorkflowExecutionServiceStore;
13
+ export interface ExecutionServiceOptions {
14
+ readonly store: WorkflowStore;
18
15
  readonly now: () => Temporal.Instant;
19
- readonly createRecordedId: (context: WorkflowRecordedIdContext) => string;
20
- readonly createDeterministicRandom: (context: WorkflowDeterministicValueContext) => number;
21
- readonly createDeterministicUuid: (context: WorkflowDeterministicValueContext) => string;
22
- readonly createDeterministicBytes: (context: WorkflowDeterministicBytesContext) => Uint8Array;
16
+ readonly createRecordedId: (context: RecordedIdContext) => string;
17
+ readonly createDeterministicRandom: (context: RecordedIdContext) => number;
18
+ readonly createDeterministicUuid: (context: RecordedIdContext) => string;
19
+ readonly createDeterministicBytes: (context: DeterministicBytesContext) => Uint8Array;
23
20
  readonly maximumStepAttemptsPerRun: number;
24
- readonly limits: WorkflowExecutionLimits;
25
- readonly engine: WorkflowExecutionStepRuntime;
26
- readonly readCurrentRunResult: <TOutput>(runId: RunId) => Promise<ExecutionResult<TOutput>>;
27
- readonly emitResultLifecycleEvent: <TOutput>(result: ExecutionResult<TOutput>, previousRun?: WorkflowRunRecord) => Promise<ExecutionResult<TOutput>>;
28
- readonly observeRunEvent: (run: WorkflowRunRecord, previousRun?: WorkflowRunRecord) => void;
21
+ readonly limits: ExecutionLimits;
22
+ readonly engine: WorkflowEngine;
23
+ readonly readCurrentRunResult: <TOutput>(definition: WorkflowDefinition<unknown, TOutput, unknown>, runId: RunId) => Promise<ExecutionResult<TOutput>>;
24
+ readonly emitResultLifecycleEvent: <TOutput>(result: ExecutionResult<TOutput>, previousRun?: RunRecord) => Promise<ExecutionResult<TOutput>>;
25
+ readonly observeRunEvent: (run: RunRecord, previousRun?: RunRecord) => void;
29
26
  readonly observeDurableEventAppended: (runId: RunId, event: EventRecord, events: readonly EventRecord[]) => void;
30
27
  readonly observeMessageSent: (runId: RunId, event: Extract<EventRecord, {
31
28
  readonly kind: "message_sent";
@@ -36,6 +33,5 @@ interface WorkflowExecutionServiceOptions {
36
33
  readonly telemetry?: Telemetry;
37
34
  readonly logger: Logger;
38
35
  }
39
- declare function executeWorkflowRun<TInput, TOutput, TRawInput = TInput>(service: WorkflowExecutionServiceOptions, implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, run: WorkflowRunRecord, executionOptions: WorkflowResumeOptions | undefined): Promise<ExecutionResult<TOutput>>;
40
- //#endregion
41
- export { WorkflowExecutionServiceOptions, executeWorkflowRun };
36
+ export declare function executeRun<TInput, TOutput, TRawInput = TInput>(service: ExecutionServiceOptions, implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, run: RunRecord, executionOptions: ResumeOptions | undefined): Promise<ExecutionResult<TOutput>>;
37
+ //#endregion
@@ -1,36 +1,40 @@
1
1
  import { WorkflowNonRetryableError } from "../errors/failures.mjs";
2
- import { getRequiredRun, isAbortError, nextRunAttempt } from "../utility.mjs";
3
- import { WORKFLOW_ATTRIBUTES, WORKFLOW_SYSTEM, withRunTelemetry } from "../telemetry.mjs";
2
+ import { omitUndefined } from "../collection.mjs";
3
+ import { History } from "../history/replay.mjs";
4
+ import { isAbortError } from "../values.mjs";
5
+ import { nextRunAttempt } from "../run-status.mjs";
6
+ import { getRequiredRun } from "../store/query.mjs";
4
7
  import { serializeError, toOptionalPersistedValue } from "./serialization.mjs";
5
- import { WorkflowHistory } from "../history/mod.mjs";
6
- import { enforceWorkflowEventHistoryNextLimit, nextRetryAt, nextWorkflowRetryAttempt, resolveWorkflowRetryConfig, retryClassificationRetryAt, shouldRetryWorkflowAttempt } from "./retry.mjs";
8
+ import { enforceEventHistoryNextLimit, nextRetryAt, nextRetryAttempt, resolveRetryConfig, retryClassificationRetryAt, shouldRetryAttempt } from "./retry.mjs";
9
+ import { Suspended } from "./signals.mjs";
10
+ import { failRunForDeadline, isCurrentExecutionOwner, patchCurrentExecutionRun, patchRun, releaseLocksForRun, requireDefinitionMatchesRun, transitionRunToCompleted, transitionRunToExecutionWait, transitionRunToFailed, transitionRunToRunning, wakeParentRun } from "./state.mjs";
7
11
  import { makeCanceledRunResult, makeCompletedRunResult } from "./run-utils.mjs";
8
- import { WorkflowSuspended, failRunForDeadline, isCurrentExecutionOwner, patchCurrentExecutionRun, patchRun, releaseLocksForRun, requireDefinitionMatchesRun, transitionRunToCompleted, transitionRunToExecutionWait, transitionRunToFailed, transitionRunToRunning, wakeParentRunForTerminalChild } from "./state.mjs";
9
- import { createWorkflowDeterministicApi } from "./deterministic.mjs";
12
+ import { WORKFLOW_ATTRIBUTES, WORKFLOW_SYSTEM, withRunTelemetry } from "../telemetry.mjs";
13
+ import { createDeterministicApi } from "./deterministic.mjs";
10
14
  import { createStepApi } from "./step-api.mjs";
11
15
  //#region src/engine/execution-service.ts
12
- async function executeWorkflowRun(service, implementation, run, executionOptions) {
13
- return await executeWorkflowRunCore(service, implementation, run, executionOptions);
16
+ async function executeRun(service, implementation, run, executionOptions) {
17
+ return await executeRunCore(service, implementation, run, executionOptions);
14
18
  }
15
- async function executeWorkflowRunCore(service, implementation, run, executionOptions) {
19
+ async function executeRunCore(service, implementation, run, executionOptions) {
16
20
  requireDefinitionMatchesRun(implementation.definition, run);
17
- const workflowRetry = resolveWorkflowRetryConfig(implementation.config.retry, {
21
+ const workflowRetry = resolveRetryConfig(implementation.config.retry, {
18
22
  maximumAttempts: 1,
19
23
  backoffCoefficient: 2
20
24
  }, "Workflow retry");
21
25
  const startedAt = service.now();
22
26
  const isClaimedRun = run.status === "running" && run.workerId !== void 0;
23
- enforceWorkflowEventHistoryNextLimit(await service.store.getEvents(run.id), service.limits);
27
+ enforceEventHistoryNextLimit(await service.store.getEvents(run.id), service.limits);
24
28
  const runningRun = await patchRun(service.store, run, transitionRunToRunning(run, startedAt, isClaimedRun ? run.attempts : nextRunAttempt(run.attempts)));
25
29
  const startedEvents = await service.store.appendEventIfRunCurrent(runningRun, {
26
30
  kind: "workflow_started",
27
31
  timestamp: startedAt
28
32
  });
29
- if (startedEvents === void 0) return await service.readCurrentRunResult(run.id);
33
+ if (startedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
30
34
  if (isClaimedRun) service.observeRunEvent(run);
31
35
  service.observeRunEvent(runningRun, run);
32
36
  service.observeDurableEventAppended(run.id, startedEvents.at(-1), startedEvents);
33
- const history = new WorkflowHistory(startedEvents);
37
+ const history = new History(startedEvents);
34
38
  const replaying = history.hasPriorWorkflowStart();
35
39
  const runLogger = scopedRunLogger(service.logger, runningRun, false);
36
40
  const handlerLogger = replaying ? replayAwareLogger(runLogger, history) : runLogger;
@@ -55,66 +59,64 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
55
59
  };
56
60
  const executionAbort = watchRunCancellationWithSignal(service.store, runningRun, executionOptions?.signal ?? new AbortController().signal);
57
61
  const executionSignal = executionAbort.signal;
58
- const deterministic = createWorkflowDeterministicApi(environment);
62
+ const deterministic = createDeterministicApi(environment);
59
63
  const step = createStepApi(environment, service.engine, executionSignal, deterministic);
60
64
  const telemetryContext = {
61
65
  run: runningRun,
62
- ...run.telemetryContext === void 0 ? {} : { traceContext: run.telemetryContext }
66
+ traceContext: run.telemetryContext
63
67
  };
64
68
  const executeClaimedRun = async () => {
65
69
  try {
66
70
  history.requireStartedEventsAreUnique();
67
71
  history.requireTerminalEventsHaveStartedEvents();
68
72
  history.requireTerminalEventsAreUnique();
73
+ const runContext = {
74
+ id: runningRun.id,
75
+ workflowName: runningRun.workflowName,
76
+ workflowVersion: runningRun.workflowVersion,
77
+ createdAt: runningRun.createdAt
78
+ };
69
79
  const output = await implementation.handler({
70
80
  input: runningRun.input,
71
81
  step,
72
- deterministic,
73
- log: handlerLogger,
74
- run: {
75
- id: runningRun.id,
76
- workflowName: runningRun.workflowName,
77
- ...runningRun.workflowVersion === void 0 ? {} : { workflowVersion: runningRun.workflowVersion },
78
- createdAt: runningRun.createdAt
79
- },
80
- signal: executionSignal,
81
- version: runningRun.workflowVersion
82
+ run: runContext,
83
+ signal: executionSignal
82
84
  });
83
85
  history.requireReplayConsumed();
84
86
  const latestRun = await getRequiredRun(service.store, run.id);
85
87
  if (latestRun.status === "canceled") return makeCanceledRunResult(latestRun);
86
- if (!isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(run.id);
88
+ if (!isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(implementation.definition, run.id);
87
89
  const completedAt = service.now();
88
- enforceWorkflowEventHistoryNextLimit(history.events, service.limits);
90
+ enforceEventHistoryNextLimit(history.events, service.limits);
89
91
  const completedRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToCompleted(runningRun, toOptionalPersistedValue(output, "workflow output", service.limits), completedAt));
90
- if (completedRun === void 0) return await service.readCurrentRunResult(run.id);
92
+ if (completedRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
91
93
  const completedEvents = await service.store.appendEventIfRunCurrent(completedRun, {
92
94
  kind: "workflow_completed",
93
95
  timestamp: completedAt
94
96
  });
95
- if (completedEvents === void 0) return await service.readCurrentRunResult(run.id);
97
+ if (completedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
96
98
  service.observeDurableEventAppended(run.id, completedEvents.at(-1), completedEvents);
97
99
  await releaseLocksForRun(service.store, completedRun.id, completedAt);
98
- await wakeParentRunForTerminalChild(service.store, completedRun, completedAt);
99
- return await service.emitResultLifecycleEvent(makeCompletedRunResult(completedRun), runningRun);
100
+ await wakeParentRun(service.store, completedRun, completedAt);
101
+ return await service.emitResultLifecycleEvent(makeCompletedRunResult(implementation.definition, completedRun), runningRun);
100
102
  } catch (error) {
101
103
  const latestRun = await service.store.getRun(run.id);
102
104
  if (latestRun?.status === "canceled") return makeCanceledRunResult(latestRun);
103
- if (latestRun === void 0 || !isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(run.id);
105
+ if (latestRun === void 0 || !isCurrentExecutionOwner(latestRun, runningRun)) return await service.readCurrentRunResult(implementation.definition, run.id);
104
106
  if (executionOptions?.signal?.aborted === true && isAbortError(error)) {
105
107
  const abortedAt = service.now();
106
108
  const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, abortedAt, abortedAt));
107
- if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
109
+ if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
108
110
  return await service.emitResultLifecycleEvent({
109
111
  kind: "waiting",
110
112
  run: waitingRun,
111
113
  availableAt: abortedAt
112
114
  }, runningRun);
113
115
  }
114
- if (error instanceof WorkflowSuspended) {
116
+ if (error instanceof Suspended) {
115
117
  const suspendedAt = service.now();
116
118
  const deadlineAt = runningRun.deadlineAt;
117
- if (deadlineAt !== void 0 && (error.retryReason !== void 0 ? Temporal.Instant.compare(deadlineAt, error.availableAt) <= 0 : Temporal.Instant.compare(deadlineAt, error.availableAt) < 0)) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, runningRun, deadlineAt, suspendedAt, runningRun), runningRun);
119
+ if (deadlineAt !== void 0 && (error.retryReason !== void 0 ? Temporal.Instant.compare(deadlineAt, error.availableAt) <= 0 : Temporal.Instant.compare(deadlineAt, error.availableAt) < 0)) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, implementation.definition, runningRun, deadlineAt, suspendedAt, runningRun), runningRun);
118
120
  const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, suspendedAt, error.availableAt, {
119
121
  retryAt: error.retryAt,
120
122
  retryReason: error.retryReason,
@@ -122,7 +124,7 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
122
124
  retryStepId: error.retryStep?.id,
123
125
  retryStepName: error.retryStep?.name
124
126
  }));
125
- if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
127
+ if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
126
128
  return await service.emitResultLifecycleEvent({
127
129
  kind: "waiting",
128
130
  run: waitingRun,
@@ -134,39 +136,39 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
134
136
  const workflowAttempt = runningRun.attempts ?? 1;
135
137
  const failWorkflowRun = async (errorRecord) => {
136
138
  const failedRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToFailed(runningRun, errorRecord, failedAt, "failed"));
137
- if (failedRun === void 0) return await service.readCurrentRunResult(run.id);
139
+ if (failedRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
138
140
  const failedEvents = await service.store.appendEventIfRunCurrent(failedRun, {
139
141
  kind: "workflow_failed",
140
142
  timestamp: failedAt
141
143
  });
142
- if (failedEvents === void 0) return await service.readCurrentRunResult(run.id);
144
+ if (failedEvents === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
143
145
  service.observeDurableEventAppended(run.id, failedEvents.at(-1), failedEvents);
144
146
  await releaseLocksForRun(service.store, failedRun.id, failedAt);
145
- await wakeParentRunForTerminalChild(service.store, failedRun, failedAt);
147
+ await wakeParentRun(service.store, failedRun, failedAt);
146
148
  return await service.emitResultLifecycleEvent({
147
149
  kind: "failed",
148
150
  run: failedRun,
149
151
  error: errorRecord
150
152
  }, runningRun);
151
153
  };
152
- if (!(error instanceof WorkflowNonRetryableError) && shouldRetryWorkflowAttempt(workflowRetry, workflowAttempt)) {
154
+ if (!(error instanceof WorkflowNonRetryableError) && shouldRetryAttempt(workflowRetry, workflowAttempt)) {
153
155
  let retryAt;
154
156
  let nextAttempt;
155
157
  try {
156
158
  retryAt = retryClassificationRetryAt(failedAt, error, "Workflow retry classification") ?? nextRetryAt(failedAt, workflowRetry, workflowAttempt, "Workflow retry delay") ?? failedAt;
157
- nextAttempt = nextWorkflowRetryAttempt(workflowAttempt);
159
+ nextAttempt = nextRetryAttempt(workflowAttempt);
158
160
  } catch (retryError) {
159
161
  return await failWorkflowRun(serializeError(retryError));
160
162
  }
161
163
  const deadlineAt = runningRun.deadlineAt;
162
- if (deadlineAt !== void 0 && Temporal.Instant.compare(deadlineAt, retryAt) <= 0) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, runningRun, deadlineAt, failedAt, runningRun), runningRun);
164
+ if (deadlineAt !== void 0 && Temporal.Instant.compare(deadlineAt, retryAt) <= 0) return await service.emitResultLifecycleEvent(await failRunForDeadline(service.store, implementation.definition, runningRun, deadlineAt, failedAt, runningRun), runningRun);
163
165
  const waitingRun = await patchCurrentExecutionRun(service.store, runningRun, transitionRunToExecutionWait(runningRun, failedAt, retryAt, {
164
166
  retryAt,
165
167
  retryReason: "workflow",
166
168
  retryAttempt: nextAttempt,
167
169
  error: serialized
168
170
  }));
169
- if (waitingRun === void 0) return await service.readCurrentRunResult(run.id);
171
+ if (waitingRun === void 0) return await service.readCurrentRunResult(implementation.definition, run.id);
170
172
  return await service.emitResultLifecycleEvent({
171
173
  kind: "waiting",
172
174
  run: waitingRun,
@@ -202,16 +204,16 @@ async function executeWorkflowRunCore(service, implementation, run, executionOpt
202
204
  }
203
205
  }
204
206
  function scopedRunLogger(logger, run, replaying) {
205
- return logger.child({
207
+ return logger.child(omitUndefined({
206
208
  [WORKFLOW_ATTRIBUTES.system]: WORKFLOW_SYSTEM,
207
209
  [WORKFLOW_ATTRIBUTES.workflowName]: run.workflowName,
208
- ...run.workflowVersion === void 0 ? {} : { [WORKFLOW_ATTRIBUTES.workflowVersion]: run.workflowVersion },
210
+ [WORKFLOW_ATTRIBUTES.workflowVersion]: run.workflowVersion,
209
211
  [WORKFLOW_ATTRIBUTES.runId]: run.id,
210
212
  [WORKFLOW_ATTRIBUTES.namespace]: run.namespace,
211
213
  [WORKFLOW_ATTRIBUTES.runAttempt]: run.attempts,
212
- ...run.workerId === void 0 ? {} : { [WORKFLOW_ATTRIBUTES.workerId]: run.workerId },
214
+ [WORKFLOW_ATTRIBUTES.workerId]: run.workerId,
213
215
  [WORKFLOW_ATTRIBUTES.replay]: replaying
214
- });
216
+ }));
215
217
  }
216
218
  function replayAwareLogger(logger, history) {
217
219
  return new ReplayAwareLogger(logger, history);
@@ -241,11 +243,11 @@ var ReplayAwareLogger = class ReplayAwareLogger {
241
243
  warn(message, attributes) {
242
244
  if (this.#history.isReplayConsumed()) this.#logger.warn(message, attributes);
243
245
  }
244
- error(message, attributes) {
245
- if (this.#history.isReplayConsumed()) this.#logger.error(message, attributes);
246
+ error(message, cause, attributes) {
247
+ if (this.#history.isReplayConsumed()) this.#logger.error(message, cause, attributes);
246
248
  }
247
- fatal(message, attributes) {
248
- if (this.#history.isReplayConsumed()) this.#logger.fatal(message, attributes);
249
+ fatal(message, cause, attributes) {
250
+ if (this.#history.isReplayConsumed()) this.#logger.fatal(message, cause, attributes);
249
251
  }
250
252
  async flush() {
251
253
  await this.#logger.flush?.();
@@ -285,4 +287,4 @@ function watchRunCancellationWithSignal(store, executionOwner, parentSignal) {
285
287
  };
286
288
  }
287
289
  //#endregion
288
- export { executeWorkflowRun };
290
+ export { executeRun };
@@ -1,56 +1,34 @@
1
- import { MessageId } from "../types/message-id.mjs";
2
- import { RunId } from "../types/run-id.mjs";
1
+ import { MessageId, RunId } from "../types/ids.mjs";
3
2
  import { CreateHookOptions, CreateWebhookOptions, Hook as Hook$1, HookInspection, ResumeHookOptions, Webhook as Webhook$1 } from "../types/hook.mjs";
4
- import { WorkflowStepHookApi } from "../types/step.mjs";
5
- import { Telemetry, TelemetryContext } from "../types/telemetry.mjs";
6
- import { WorkflowRunRecord } from "../types/run.mjs";
7
- import { EventRecord } from "../types/events.mjs";
8
- import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowMessageIdempotencyIndexLookup, WorkflowRunConditionalWriterRepository, WorkflowRunReaderRepository } from "../types/store.mjs";
9
- import { WorkflowExecutionLimits } from "../types/engine-options.mjs";
10
- import { WorkflowExecutionEnvironment } from "../types/engine.mjs";
3
+ import { StepHookApi } from "../types/step.mjs";
4
+ import { WorkflowStore } from "../types/store.mjs";
5
+ import { EngineContext } from "./context.mjs";
6
+ import { ExecutionEnvironment } from "../types/engine.mjs";
11
7
  import { StorageValue } from "@temelj/storage";
12
8
  //#region src/engine/hooks.d.ts
13
- type WorkflowHookStore = WorkflowMessageIdempotencyIndexLookup & WorkflowRunReaderRepository & WorkflowEventReader & WorkflowConditionalEventAppender & WorkflowRunConditionalWriterRepository;
14
- interface WorkflowHookServiceOptions {
15
- readonly store: WorkflowHookStore;
16
- readonly now: () => Temporal.Instant;
17
- readonly limits: WorkflowExecutionLimits;
18
- readonly emitMessageSent: (runId: RunId, event: Extract<EventRecord, {
19
- readonly kind: "message_sent";
20
- }>) => void;
21
- readonly emitHookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
22
- readonly emitWebhookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
23
- readonly telemetry?: Telemetry;
24
- }
25
- declare function createHook<TPayload>(runId: RunId, options: CreateHookOptions, wait: () => Promise<unknown>): Hook$1<TPayload>;
26
- declare function createWebhook<TPayload>(runId: RunId, options: CreateWebhookOptions, wait: () => Promise<unknown>): Webhook$1<TPayload>;
27
- declare function createWorkflowStepHookApi(environment: WorkflowExecutionEnvironment): WorkflowStepHookApi;
28
- declare class Hook<TPayload> implements Hook$1<TPayload> {
9
+ export declare function createStepHookApi(environment: ExecutionEnvironment): StepHookApi;
10
+ export declare class Hook<TPayload> implements Hook$1<TPayload> {
29
11
  #private;
30
12
  readonly token: string;
31
13
  readonly runId: RunId;
32
14
  readonly name: string;
33
15
  readonly messageId: MessageId;
34
- constructor(runId: RunId, options: CreateHookOptions, wait: () => Promise<unknown>);
16
+ constructor(runId: RunId, options: Omit<CreateHookOptions, "schema">, wait: () => Promise<TPayload>);
35
17
  wait(): Promise<TPayload>;
36
- then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
18
+ then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((cause: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
37
19
  }
38
- declare class Webhook<TPayload> implements Webhook$1<TPayload> {
20
+ export declare class Webhook<TPayload> implements Webhook$1<TPayload> {
39
21
  #private;
40
22
  readonly token: string;
41
23
  readonly runId: RunId;
42
24
  readonly name: string;
43
25
  readonly messageId: MessageId;
44
- readonly metadata?: unknown;
45
- constructor(runId: RunId, options: CreateWebhookOptions, wait: () => Promise<unknown>);
26
+ readonly metadata?: StorageValue;
27
+ constructor(runId: RunId, options: Omit<CreateWebhookOptions, "schema">, wait: () => Promise<TPayload>);
46
28
  wait(): Promise<TPayload>;
47
- then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
29
+ then<TResult1 = TPayload, TResult2 = never>(onfulfilled?: ((value: TPayload) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((cause: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
48
30
  }
49
- declare function resumeHook(token: string, options: ResumeHookOptions | undefined, service: WorkflowHookServiceOptions): Promise<void>;
50
- declare function resumeWebhook(token: string, options: ResumeHookOptions | undefined, service: WorkflowHookServiceOptions): Promise<void>;
51
- declare function disposeHook(token: string, service: WorkflowHookServiceOptions): Promise<HookInspection>;
52
- declare function disposeWebhook(token: string, service: WorkflowHookServiceOptions): Promise<HookInspection>;
53
- declare function getHookByToken(token: string, store: WorkflowRunReaderRepository & WorkflowEventReader, now: Temporal.Instant): Promise<HookInspection>;
54
- declare function inspectHookToken(token: string, run: WorkflowRunRecord | undefined, events: readonly EventRecord[], now: Temporal.Instant): HookInspection;
55
- //#endregion
56
- export { Hook, Webhook, createHook, createWebhook, createWorkflowStepHookApi, disposeHook, disposeWebhook, getHookByToken, inspectHookToken, resumeHook, resumeWebhook };
31
+ export declare function resumeHook(token: string, options: ResumeHookOptions | undefined, context: EngineContext): Promise<void>;
32
+ export declare function disposeHook(token: string, context: EngineContext): Promise<HookInspection>;
33
+ export declare function getHookByToken(token: string, store: WorkflowStore, now: Temporal.Instant): Promise<HookInspection>;
34
+ //#endregion