@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,11 +1,11 @@
1
- import { RunId } from "./run-id.mjs";
1
+ import { RunId } from "./ids.mjs";
2
2
  import { Telemetry } from "./telemetry.mjs";
3
3
  import { WorkflowLifecycleCallback } from "./run.mjs";
4
4
  import { WorkflowStorage, WorkflowStore } from "./store.mjs";
5
5
  import { Logger } from "@temelj/log";
6
6
  //#region src/types/engine-options.d.ts
7
7
  /** Options for creating the storage-backed workflow engine. */
8
- interface CreateWorkflowEngineOptions extends WorkflowExecutionLimits {
8
+ export interface CreateWorkflowEngineOptions extends ExecutionLimits {
9
9
  readonly storage?: WorkflowStorage;
10
10
  readonly store?: WorkflowStore;
11
11
  /**
@@ -17,28 +17,28 @@ interface CreateWorkflowEngineOptions extends WorkflowExecutionLimits {
17
17
  */
18
18
  readonly now?: () => Temporal.Instant;
19
19
  readonly createRunId?: () => string;
20
- readonly createRecordedId?: (context: WorkflowRecordedIdContext) => string;
20
+ readonly createRecordedId?: (context: RecordedIdContext) => string;
21
21
  /**
22
22
  * Creates the first value recorded by deterministic random commands.
23
23
  *
24
24
  * Hosts that patch `Math.random()` during workflow execution should route
25
25
  * patched calls through the same durable recording path.
26
26
  */
27
- readonly createDeterministicRandom?: (context: WorkflowDeterministicValueContext) => number;
27
+ readonly createDeterministicRandom?: (context: RecordedIdContext) => number;
28
28
  /**
29
29
  * Creates the first value recorded by deterministic UUID commands.
30
30
  *
31
31
  * Hosts that patch `crypto.randomUUID()` during workflow execution should
32
32
  * route patched calls through the same durable recording path.
33
33
  */
34
- readonly createDeterministicUuid?: (context: WorkflowDeterministicValueContext) => string;
34
+ readonly createDeterministicUuid?: (context: RecordedIdContext) => string;
35
35
  /**
36
36
  * Creates the first value recorded by deterministic byte commands.
37
37
  *
38
38
  * Hosts that patch `crypto.getRandomValues()` during workflow execution
39
39
  * should route patched calls through the same durable recording path.
40
40
  */
41
- readonly createDeterministicBytes?: (context: WorkflowDeterministicBytesContext) => Uint8Array;
41
+ readonly createDeterministicBytes?: (context: DeterministicBytesContext) => Uint8Array;
42
42
  readonly onLifecycleEvent?: WorkflowLifecycleCallback;
43
43
  readonly onRunCompleted?: WorkflowLifecycleCallback;
44
44
  readonly onRunFailed?: WorkflowLifecycleCallback;
@@ -50,27 +50,20 @@ interface CreateWorkflowEngineOptions extends WorkflowExecutionLimits {
50
50
  readonly logger?: Logger | false;
51
51
  }
52
52
  /** Runtime limits applied while executing workflows. */
53
- interface WorkflowExecutionLimits {
53
+ export interface ExecutionLimits {
54
54
  readonly maximumPersistedValueBytes?: number;
55
55
  readonly maximumEventHistoryEvents?: number;
56
56
  readonly maximumStreamChunks?: number;
57
57
  }
58
- /** Runtime limits that affect persisted value serialization. */
59
- interface WorkflowEngineSerializationLimits {
60
- readonly maximumPersistedValueBytes?: number;
61
- }
62
58
  /** Context passed to custom deterministic ID generators. */
63
- interface WorkflowRecordedIdContext {
59
+ export interface RecordedIdContext {
64
60
  readonly runId: RunId;
65
61
  readonly commandId: string;
66
62
  readonly commandName: string;
67
63
  readonly commandCount: number;
68
64
  }
69
- /** Context passed to custom deterministic first-run value generators. */
70
- type WorkflowDeterministicValueContext = WorkflowRecordedIdContext;
71
65
  /** Context passed to custom deterministic byte generators. */
72
- interface WorkflowDeterministicBytesContext extends WorkflowDeterministicValueContext {
66
+ export interface DeterministicBytesContext extends RecordedIdContext {
73
67
  readonly length: number;
74
68
  }
75
- //#endregion
76
- export { CreateWorkflowEngineOptions, WorkflowDeterministicBytesContext, WorkflowDeterministicValueContext, WorkflowEngineSerializationLimits, WorkflowExecutionLimits, WorkflowRecordedIdContext };
69
+ //#endregion
@@ -1,56 +1,35 @@
1
- import { RunId } from "./run-id.mjs";
2
- import { CleanupMarkerRecord, CleanupRunsOptions, CleanupRunsResult, RetentionPolicyOptions } from "./cleanup.mjs";
3
- import { PageOptions, WorkflowPage } from "./pagination.mjs";
4
- import { ListSchedulesOptions, ListSchedulesPageOptions, ScheduleConfig, ScheduleId, ScheduleRecord, TickSchedulesOptions, TickSchedulesResult } from "./schedule.mjs";
5
- import { WorkflowImplementation, WorkflowStartTarget } from "./definition.mjs";
6
- import { HookInspection, ResumeHookOptions, ResumeWebhookOptions } from "./hook.mjs";
7
- import { AcquireLockOptions, LockRecord, ReleaseLockOptions, ReleaseStaleLockOptions } from "./lock.mjs";
8
- import { WorkflowListRunsOptions, WorkflowListRunsPageOptions, WorkflowListStepAttemptsPageOptions } from "./run-list.mjs";
9
- import { BroadcastMessageInput, BroadcastMessageResult, MessageChannel, SendMessageChannelOptions, SendMessageInput } from "./message.mjs";
10
- import { StreamIdOrName } from "./stream-id.mjs";
11
- import { FollowStreamOptions, ReadStreamOptions, ReadStreamPageOptions, StreamChunk, StreamInfo, StreamPage, StreamState, StreamUpdate, WaitStreamOptions } from "./stream.mjs";
12
- import { WorkflowRecoverySummary, WorkflowRecoverySummaryOptions, WorkflowRunSummary, WorkflowRunSummaryOptions } from "./summary.mjs";
13
- import { WorkflowListStepAttemptsOptions, WorkflowStepAttemptRecord, WorkflowStepAttemptSummary } from "./step-attempts.mjs";
14
- import { ObservationEventHandler, ObservationEventPattern, ObservationUnsubscribe, ScheduleRunCreatedObservationEvent, WorkerOperationObservationEvent } from "./observation.mjs";
15
- import { Timeline } from "./timeline.mjs";
16
- import { ExecutionResult, WorkflowHandle } from "./result.mjs";
1
+ import { RunId } from "./ids.mjs";
17
2
  import { Telemetry } from "./telemetry.mjs";
18
- import { WorkflowAttributePatch, WorkflowRunRecord } from "./run.mjs";
3
+ import { RunRecord } from "./run.mjs";
19
4
  import { EventRecord } from "./events.mjs";
20
- import { ScheduleNextOptions, WorkflowBatchStartItem, WorkflowExecutionOptions, WorkflowMarkRunPermanentlyFailedOptions, WorkflowReleaseStaleLeaseOptions, WorkflowRerunOptions, WorkflowRescheduleRunOptions, WorkflowResumeOptions, WorkflowRetryFailedRunOptions, WorkflowStartOptions } from "./run-options.mjs";
21
- import { WorkflowHistory } from "../history/mod.mjs";
22
- import { WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowMessageIdempotencyIndex, WorkflowMessageIdempotencyIndexLookup, WorkflowRunLeaseRepository, WorkflowRunListerRepository, WorkflowRunReaderRepository, WorkflowRunWriterRepository, WorkflowStepAttemptLookup, WorkflowStorage, WorkflowStore, WorkflowStoreCapabilitiesSource } from "./store.mjs";
23
- import { WorkflowDeterministicBytesContext, WorkflowDeterministicValueContext, WorkflowExecutionLimits, WorkflowRecordedIdContext } from "./engine-options.mjs";
5
+ import { WorkflowStore } from "./store.mjs";
6
+ import { DeterministicBytesContext, ExecutionLimits, RecordedIdContext } from "./engine-options.mjs";
7
+ import { History } from "../history/replay.mjs";
24
8
  import { Logger } from "@temelj/log";
25
9
  //#region src/types/engine.d.ts
26
- /** Store operations used while replaying and advancing one workflow run. */
27
- interface WorkflowExecutionEnvironmentStore extends WorkflowRunReaderRepository, WorkflowRunListerRepository, WorkflowRunWriterRepository, WorkflowMessageIdempotencyIndexLookup, WorkflowConditionalEventAppender, WorkflowEventReader {}
28
- /** Store operations used by workflow workers. */
29
- interface WorkflowWorkerEngineStore extends WorkflowStoreCapabilitiesSource, WorkflowRunLeaseRepository, WorkflowRunReaderRepository, WorkflowRunWriterRepository, WorkflowConditionalEventAppender, WorkflowEventReader, WorkflowStepAttemptLookup {}
30
10
  /** Internal execution context used while replaying and advancing one workflow run. */
31
- interface WorkflowExecutionEnvironment {
11
+ export interface ExecutionEnvironment {
32
12
  /** Store used to read and persist run state during execution. */
33
- readonly store: WorkflowExecutionEnvironmentStore;
34
- /** Run ID currently being executed. */
13
+ readonly store: WorkflowStore;
35
14
  readonly runId: RunId;
36
15
  /** Replay history built from the run's durable events. */
37
- readonly history: WorkflowHistory;
16
+ readonly history: History;
38
17
  /** Clock used for timestamps recorded by this execution. */
39
18
  readonly now: () => Temporal.Instant;
40
19
  /** Deterministic ID factory used for recorded workflow commands. */
41
- readonly createRecordedId: (context: WorkflowRecordedIdContext) => string;
20
+ readonly createRecordedId: (context: RecordedIdContext) => string;
42
21
  /** Deterministic random-number factory used when first recording random commands. */
43
- readonly createDeterministicRandom: (context: WorkflowDeterministicValueContext) => number;
22
+ readonly createDeterministicRandom: (context: RecordedIdContext) => number;
44
23
  /** Deterministic UUID factory used when first recording UUID commands. */
45
- readonly createDeterministicUuid: (context: WorkflowDeterministicValueContext) => string;
24
+ readonly createDeterministicUuid: (context: RecordedIdContext) => string;
46
25
  /** Deterministic byte factory used when first recording byte commands. */
47
- readonly createDeterministicBytes: (context: WorkflowDeterministicBytesContext) => Uint8Array;
26
+ readonly createDeterministicBytes: (context: DeterministicBytesContext) => Uint8Array;
48
27
  /** Maximum number of materialized step attempts allowed for this run. */
49
28
  readonly maximumStepAttemptsPerRun: number;
50
29
  /** Runtime execution limits enforced by the engine. */
51
- readonly limits: WorkflowExecutionLimits;
30
+ readonly limits: ExecutionLimits;
52
31
  /** Current run record that owns this execution attempt. */
53
- readonly executionOwner: WorkflowRunRecord;
32
+ readonly executionOwner: RunRecord;
54
33
  /** Optional telemetry adapter used for workflow and step execution observations. */
55
34
  readonly telemetry?: Telemetry;
56
35
  /** Logger scoped to this execution. */
@@ -68,242 +47,4 @@ interface WorkflowExecutionEnvironment {
68
47
  readonly kind: "child_workflow_started";
69
48
  }>) => void;
70
49
  }
71
- /** Engine capability for starting one workflow run. */
72
- interface WorkflowRunStarter {
73
- /** Creates one pending workflow run and returns a durable handle. */
74
- startWorkflow<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowStartOptions): Promise<WorkflowHandle<TOutput>>;
75
- }
76
- /** Engine capability for starting workflow runs. */
77
- interface WorkflowStarter extends WorkflowRunStarter {
78
- /** Creates multiple pending workflow runs for the same definition. */
79
- startWorkflows<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, items: readonly WorkflowBatchStartItem<TRawInput>[]): Promise<readonly WorkflowHandle<TOutput>[]>;
80
- }
81
- /** Engine capability for canceling workflow runs. */
82
- interface WorkflowRunCanceler {
83
- /** Cancels a workflow run if it has not already reached a terminal status. */
84
- cancelRun(runId: RunId): Promise<WorkflowRunRecord>;
85
- }
86
- /** Engine capability for maintaining one workflow run. */
87
- interface WorkflowRunMaintenance extends WorkflowRunCanceler {
88
- /** Moves a run back to pending at an optional new availability time. */
89
- rescheduleRun(runId: RunId, options?: WorkflowRescheduleRunOptions): Promise<WorkflowRunRecord>;
90
- /** Releases a run's worker lease when it is stale. */
91
- releaseStaleRunLease(runId: RunId, options?: WorkflowReleaseStaleLeaseOptions): Promise<WorkflowRunRecord>;
92
- /** Retries a failed workflow run. */
93
- retryFailedRun(runId: RunId, options?: WorkflowRetryFailedRunOptions): Promise<WorkflowRunRecord>;
94
- /** Marks a workflow run as permanently failed with an operator reason. */
95
- markRunPermanentlyFailed(runId: RunId, options: WorkflowMarkRunPermanentlyFailedOptions): Promise<WorkflowRunRecord>;
96
- /** Replaces a workflow run's metadata value. */
97
- updateRunMetadata(runId: RunId, metadata: unknown): Promise<WorkflowRunRecord>;
98
- /** Applies an attribute patch to a workflow run. */
99
- setRunAttributes(runId: RunId, attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
100
- }
101
- /** Engine capability for managing recurring workflow schedules. */
102
- interface WorkflowScheduler {
103
- /** Creates one pending run at the next interval boundary. */
104
- scheduleNextWorkflow<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options: ScheduleNextOptions): Promise<WorkflowHandle<TOutput>>;
105
- /** Creates a recurring workflow schedule. */
106
- createSchedule<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
107
- /** Creates or updates a recurring workflow schedule. */
108
- upsertSchedule<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
109
- /** Returns a schedule by ID, if it exists. */
110
- getSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord | undefined>;
111
- /** Lists schedules matching optional filters. */
112
- listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
113
- /** Lists one page of schedules matching optional filters. */
114
- listSchedulesPage(options?: ListSchedulesPageOptions): Promise<WorkflowPage<ScheduleRecord>>;
115
- /** Pauses an active schedule. */
116
- pauseSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
117
- /** Resumes a paused or archived schedule. */
118
- resumeSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
119
- /** Archives a schedule without deleting its record. */
120
- archiveSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
121
- /** Marks a schedule as deleted. */
122
- deleteSchedule(scheduleId: ScheduleId): Promise<ScheduleRecord>;
123
- /** Starts runs for schedules that are due. */
124
- tickSchedules(options?: TickSchedulesOptions): Promise<TickSchedulesResult>;
125
- }
126
- /** Engine capability for observing worker-side operations. */
127
- interface WorkflowWorkerOperationObserver {
128
- /** Observes worker-side operations that do not always produce durable run transitions. */
129
- observeWorkerOperation(event: WorkerOperationObservationEvent): void;
130
- }
131
- /** Engine capability for observing schedule-created runs. */
132
- interface WorkflowScheduleRunObserver {
133
- /** Observes recurring schedule ticks that create workflow runs. */
134
- observeScheduleRunCreated(event: ScheduleRunCreatedObservationEvent): void;
135
- }
136
- /** Engine capability for managing workflow locks. */
137
- interface LockManager {
138
- /** Acquires a workflow lock for a holder. */
139
- acquireLock(key: string, options: AcquireLockOptions): Promise<LockRecord>;
140
- /** Returns a workflow lock by key, if it exists. */
141
- getLock(key: string): Promise<LockRecord | undefined>;
142
- /** Lists workflow locks. */
143
- listLocks(): Promise<readonly LockRecord[]>;
144
- /** Releases a workflow lock held by the supplied holder. */
145
- releaseLock(key: string, options: ReleaseLockOptions): Promise<LockRecord>;
146
- /** Releases a workflow lock only when its lease is stale. */
147
- releaseStaleLock(key: string, options?: ReleaseStaleLockOptions): Promise<LockRecord>;
148
- }
149
- /** Engine capability for resuming workflow execution. */
150
- interface WorkflowExecutor {
151
- /** Resumes an existing run with a registered workflow implementation. */
152
- resumeWorkflow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, runId: RunId, options?: WorkflowResumeOptions): Promise<ExecutionResult<TOutput>>;
153
- }
154
- /** Engine capability for reading one workflow run handle. */
155
- interface WorkflowRunHandleReader {
156
- /** Returns a workflow run by ID, if it exists. */
157
- getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
158
- /** Returns all durable events recorded for a run. */
159
- getEvents(runId: RunId): Promise<readonly EventRecord[]>;
160
- /** Returns a timeline projection for one run. */
161
- getTimeline(runId: RunId): Promise<Timeline>;
162
- }
163
- /** Engine capability for reading workflow runs and event history. */
164
- interface WorkflowRunReader extends WorkflowRunHandleReader {
165
- /** Lists one page of durable events recorded for a run. */
166
- listEventsPage(runId: RunId, options?: PageOptions): Promise<WorkflowPage<EventRecord>>;
167
- /** Lists workflow runs matching optional filters. */
168
- listRuns(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
169
- /** Lists one page of workflow runs matching optional filters. */
170
- listRunsPage(options?: WorkflowListRunsPageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
171
- /** Counts workflow runs matching optional filters. */
172
- countRuns(options?: WorkflowListRunsOptions): Promise<number>;
173
- /** Returns aggregate run metrics for runs matching optional filters. */
174
- getRunSummary(options?: WorkflowRunSummaryOptions): Promise<WorkflowRunSummary>;
175
- /** Returns recovery-oriented aggregate metrics for runs matching optional filters. */
176
- getRecoverySummary(options?: WorkflowRecoverySummaryOptions): Promise<WorkflowRecoverySummary>;
177
- }
178
- /** Engine capability for listing materialized step attempt state. */
179
- interface WorkflowStepAttemptLookupReader {
180
- /** Lists materialized step attempts for a run. */
181
- listStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<readonly WorkflowStepAttemptRecord[]>;
182
- }
183
- /** Engine capability for reading materialized step attempt state. */
184
- interface WorkflowStepAttemptReader extends WorkflowStepAttemptLookupReader {
185
- /** Lists one page of materialized step attempts for a run. */
186
- listStepAttemptsPage(runId: RunId, options?: WorkflowListStepAttemptsPageOptions): Promise<WorkflowPage<WorkflowStepAttemptRecord>>;
187
- /** Counts materialized step attempts for a run. */
188
- countStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<number>;
189
- /** Returns aggregate step-attempt metrics for a run. */
190
- getStepAttemptSummary(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<WorkflowStepAttemptSummary>;
191
- }
192
- /** Engine capability for maintaining materialized step attempt state. */
193
- interface WorkflowStepAttemptMaintenance {
194
- /** Rebuilds materialized step attempts for a run from its event history. */
195
- repairStepAttempts(runId: RunId): Promise<readonly WorkflowStepAttemptRecord[]>;
196
- }
197
- /** Engine capability for maintaining message idempotency indexes. */
198
- interface WorkflowMessageIdempotencyMaintenance {
199
- /** Rebuilds message idempotency indexes for a run from its event history. */
200
- repairMessageIdempotencyIndexes(runId: RunId): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
201
- }
202
- /** Engine capability for cleaning up terminal workflow data. */
203
- interface WorkflowCleanupAdmin {
204
- /** Deletes terminal run data according to cleanup options. */
205
- cleanupRuns(options: CleanupRunsOptions): Promise<CleanupRunsResult>;
206
- /** Lists cleanup marker records. */
207
- listCleanupMarkers(): Promise<readonly CleanupMarkerRecord[]>;
208
- /** Deletes terminal run data according to a retention policy. */
209
- applyRetentionPolicy(options: RetentionPolicyOptions): Promise<CleanupRunsResult>;
210
- }
211
- /** Engine capability for creating new runs from existing run records. */
212
- interface WorkflowRunRerunner {
213
- /** Creates a new run from an existing run record and returns its handle. */
214
- rerunWorkflow(runId: RunId, options?: WorkflowRerunOptions): Promise<WorkflowHandle<unknown>>;
215
- }
216
- /** Engine capability for administrative workflow maintenance. */
217
- interface WorkflowAdmin extends WorkflowCleanupAdmin, WorkflowRunRerunner {}
218
- /** Engine capability for managing external resume hooks. */
219
- interface WorkflowHookManager {
220
- /** Completes a pending message-backed external resume hook. */
221
- resumeHook(token: string, options?: ResumeHookOptions): Promise<void>;
222
- /** Completes a pending webhook-labeled external resume hook. */
223
- resumeWebhook(token: string, options?: ResumeWebhookOptions): Promise<void>;
224
- /** Disposes a pending message-backed external resume hook. */
225
- disposeHook(token: string): Promise<HookInspection>;
226
- /** Disposes a pending webhook-labeled external resume hook. */
227
- disposeWebhook(token: string): Promise<HookInspection>;
228
- /** Returns inspection data for an external resume hook token. */
229
- getHookByToken(token: string): Promise<HookInspection>;
230
- }
231
- /** Engine capability for reading and following durable streams. */
232
- interface WorkflowStreamReader {
233
- /** Returns metadata for a durable stream on a run. */
234
- getStreamInfo(runId: RunId, streamIdOrName: StreamIdOrName): Promise<StreamInfo>;
235
- /** Follows durable stream updates from a run. */
236
- followStream<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate<TChunk>>;
237
- /** Waits until a durable stream exists on a run. */
238
- waitForStream(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
239
- /** Waits for the next durable stream chunk after an index. */
240
- waitForStreamChunk<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk<TChunk> | undefined>;
241
- /** Waits until a durable stream is closed or failed. */
242
- waitForStreamTerminal(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
243
- /** Reads all currently stored chunks for a durable stream. */
244
- readStream<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState<TChunk>>;
245
- /** Reads one page of currently stored chunks for a durable stream. */
246
- readStreamPage<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamPageOptions): Promise<StreamPage<TChunk>>;
247
- }
248
- /** Engine capability for sending workflow messages. */
249
- interface WorkflowMessageSender {
250
- /** Sends a named message to a workflow run. */
251
- sendMessage(runId: RunId, options: SendMessageInput): Promise<void>;
252
- /** Sends a typed message channel payload to a workflow run. */
253
- sendMessage<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
254
- /** Sends a named message to runs matching the broadcast target. */
255
- broadcastMessage(options: BroadcastMessageInput): Promise<BroadcastMessageResult>;
256
- /** Sends a typed message channel payload to runs matching the broadcast target. */
257
- broadcastMessage<TPayload, TKey = void>(channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<BroadcastMessageResult>;
258
- }
259
- /** Engine surface required by the workflow client facade. */
260
- interface WorkflowClientEngine extends WorkflowStarter, WorkflowRunCanceler, WorkflowRunMaintenance, WorkflowScheduler, LockManager, WorkflowRunReader, WorkflowStepAttemptReader, WorkflowAdmin, WorkflowHookManager, WorkflowStreamReader, WorkflowMessageSender {
261
- /** Flushes owned logger resources and shuts down owned telemetry, when supported. */
262
- close?(): Promise<void>;
263
- }
264
- /** Engine surface required by workflow workers. */
265
- interface WorkflowWorkerEngine extends WorkflowExecutor {
266
- /** Store used by workers to claim, heartbeat, and release runs. */
267
- readonly store: WorkflowWorkerEngineStore;
268
- /** Returns a workflow run by ID, if it exists. */
269
- getRun(runId: RunId): Promise<WorkflowRunRecord | undefined>;
270
- /** Returns aggregate run metrics for runs matching optional filters. */
271
- getRunSummary(options?: WorkflowRunSummaryOptions): Promise<WorkflowRunSummary>;
272
- /** Lists schedules matching optional filters. */
273
- listSchedules(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
274
- /** Starts runs for schedules that are due. */
275
- tickSchedules(options?: TickSchedulesOptions): Promise<TickSchedulesResult>;
276
- /** Observes worker-side operations that do not always produce durable run transitions. */
277
- observeWorkerOperation?(event: WorkerOperationObservationEvent): void;
278
- }
279
- /** Combined workflow engine surface used by runtime and adapter APIs. */
280
- interface WorkflowEngineLike extends WorkflowStarter, WorkflowScheduler, LockManager, WorkflowExecutor, WorkflowRunReader, WorkflowStepAttemptReader, WorkflowStepAttemptMaintenance, WorkflowMessageIdempotencyMaintenance, WorkflowWorkerOperationObserver, WorkflowScheduleRunObserver, WorkflowRunCanceler, WorkflowRunMaintenance, WorkflowAdmin, WorkflowHookManager, WorkflowStreamReader, WorkflowMessageSender {}
281
- /** Describes the workflow engine contract. */
282
- interface WorkflowEngine extends WorkflowEngineLike {
283
- /** Underlying key-value storage used by the default workflow store. */
284
- readonly storage: WorkflowStorage;
285
- /** Store used for durable workflow state, events, schedules, locks, and indexes. */
286
- readonly store: WorkflowStore;
287
- /** Subscribes to workflow observation events matching a pattern. */
288
- on<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): ObservationUnsubscribe;
289
- /** Subscribes to the next workflow observation event matching a pattern. */
290
- once<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): ObservationUnsubscribe;
291
- /** Removes a workflow observation event handler for a pattern. */
292
- off<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): void;
293
- /** Returns all registered observation event handlers. */
294
- listeners(): readonly ObservationEventHandler[];
295
- /** Returns observation event handlers registered for a pattern. */
296
- listeners<Pattern extends ObservationEventPattern>(pattern: Pattern): readonly ObservationEventHandler<Pattern>[];
297
- /** Removes observation event handlers, optionally limited to a pattern. */
298
- clearListeners(pattern?: ObservationEventPattern): void;
299
- /** Returns the number of observation event handlers, optionally limited to a pattern. */
300
- listenerCount(pattern?: ObservationEventPattern): number;
301
- /** Flushes the engine logger and shuts down the telemetry adapter configured on this engine. */
302
- close(): Promise<void>;
303
- /** Starts and immediately attempts to execute a workflow implementation. */
304
- runWorkflow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowExecutionOptions): Promise<WorkflowHandle<TOutput>>;
305
- /** Executes a workflow implementation synchronously against a newly started run. */
306
- runWorkflowNow<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>, input: TRawInput, options?: WorkflowExecutionOptions): Promise<ExecutionResult<TOutput>>;
307
- }
308
- //#endregion
309
- export { LockManager, WorkflowAdmin, WorkflowCleanupAdmin, WorkflowClientEngine, WorkflowEngine, WorkflowEngineLike, WorkflowExecutionEnvironment, WorkflowExecutionEnvironmentStore, WorkflowExecutor, WorkflowHookManager, WorkflowMessageIdempotencyMaintenance, WorkflowMessageSender, WorkflowRunCanceler, WorkflowRunHandleReader, WorkflowRunMaintenance, WorkflowRunReader, WorkflowRunRerunner, WorkflowRunStarter, WorkflowScheduleRunObserver, WorkflowScheduler, WorkflowStarter, WorkflowStepAttemptLookupReader, WorkflowStepAttemptMaintenance, WorkflowStepAttemptReader, WorkflowStreamReader, WorkflowWorkerEngine, WorkflowWorkerEngineStore, WorkflowWorkerOperationObserver };
50
+ //#endregion