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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/README.md +394 -2
  2. package/dist/attributes.d.mts +11 -9
  3. package/dist/attributes.mjs +23 -5
  4. package/dist/bundle.d.mts +5 -23
  5. package/dist/bundle.mjs +2 -18
  6. package/dist/client/create.d.mts +26 -23
  7. package/dist/client/create.mjs +26 -32
  8. package/dist/client/facades.d.mts +12 -18
  9. package/dist/client/facades.mjs +102 -93
  10. package/dist/client/mod.mjs +1 -2
  11. package/dist/client/run-handle.d.mts +17 -54
  12. package/dist/client/run-handle.mjs +35 -105
  13. package/dist/client/worker-options.d.mts +8 -8
  14. package/dist/client/worker-options.mjs +11 -11
  15. package/dist/cloudflare/cloudflare.d.mts +4 -5
  16. package/dist/cloudflare/codec.d.mts +28 -13
  17. package/dist/cloudflare/codec.mjs +40 -17
  18. package/dist/cloudflare/entrypoint.d.mts +3 -4
  19. package/dist/cloudflare/entrypoint.mjs +4 -3
  20. package/dist/cloudflare/execution.d.mts +3 -4
  21. package/dist/cloudflare/execution.mjs +20 -13
  22. package/dist/cloudflare/host.d.mts +6 -7
  23. package/dist/cloudflare/host.mjs +7 -6
  24. package/dist/cloudflare/mod.d.mts +4 -4
  25. package/dist/cloudflare/mod.mjs +2 -2
  26. package/dist/cloudflare/name.d.mts +3 -4
  27. package/dist/cloudflare/name.mjs +3 -3
  28. package/dist/cloudflare/registry.d.mts +3 -23
  29. package/dist/cloudflare/registry.mjs +2 -20
  30. package/dist/cloudflare/runtime.d.mts +11 -18
  31. package/dist/cloudflare/runtime.mjs +52 -73
  32. package/dist/cloudflare/step.d.mts +6 -6
  33. package/dist/cloudflare/step.mjs +69 -57
  34. package/dist/cloudflare/types.d.mts +17 -36
  35. package/dist/collection.d.mts +8 -11
  36. package/dist/collection.mjs +10 -14
  37. package/dist/compiled-function.d.mts +14 -19
  38. package/dist/compiled-function.mjs +12 -24
  39. package/dist/compiled.d.mts +4 -0
  40. package/dist/compiled.mjs +4 -0
  41. package/dist/compiler/ast.d.mts +26 -0
  42. package/dist/{vite → compiler}/ast.mjs +24 -16
  43. package/dist/{vite → compiler}/error.d.mts +4 -6
  44. package/dist/{vite → compiler}/error.mjs +14 -16
  45. package/dist/compiler/manifest.d.mts +6 -0
  46. package/dist/{vite → compiler}/manifest.mjs +9 -7
  47. package/dist/compiler/plugin.d.mts +7 -0
  48. package/dist/{vite → compiler}/plugin.mjs +45 -46
  49. package/dist/compiler/safety.d.mts +12 -0
  50. package/dist/{vite → compiler}/safety.mjs +5 -11
  51. package/dist/{vite → compiler}/source-edit.d.mts +3 -4
  52. package/dist/{vite → compiler}/source-edit.mjs +1 -1
  53. package/dist/{vite → compiler}/source-map.d.mts +4 -3
  54. package/dist/{vite → compiler}/source-map.mjs +3 -3
  55. package/dist/compiler/source.d.mts +7 -0
  56. package/dist/{vite → compiler}/source.mjs +1 -1
  57. package/dist/compiler/transform.d.mts +12 -0
  58. package/dist/{vite → compiler}/transform.mjs +37 -38
  59. package/dist/definition.d.mts +17 -25
  60. package/dist/definition.mjs +19 -35
  61. package/dist/engine/child-workflow.d.mts +5 -9
  62. package/dist/engine/child-workflow.mjs +46 -67
  63. package/dist/engine/command-identity.d.mts +5 -6
  64. package/dist/engine/command-identity.mjs +9 -5
  65. package/dist/engine/context.d.mts +17 -0
  66. package/dist/engine/create.d.mts +36 -94
  67. package/dist/engine/create.mjs +55 -260
  68. package/dist/engine/deterministic.d.mts +6 -11
  69. package/dist/engine/deterministic.mjs +47 -68
  70. package/dist/engine/durable-command.d.mts +5 -5
  71. package/dist/engine/durable-command.mjs +2 -2
  72. package/dist/engine/execution-service.d.mts +20 -24
  73. package/dist/engine/execution-service.mjs +54 -52
  74. package/dist/engine/hooks.d.mts +17 -39
  75. package/dist/engine/hooks.mjs +73 -94
  76. package/dist/engine/inspection.d.mts +23 -15
  77. package/dist/engine/inspection.mjs +55 -29
  78. package/dist/engine/lifecycle.d.mts +6 -12
  79. package/dist/engine/lifecycle.mjs +5 -5
  80. package/dist/engine/lock-replay.d.mts +8 -15
  81. package/dist/engine/lock-replay.mjs +12 -25
  82. package/dist/engine/lock.d.mts +10 -15
  83. package/dist/engine/lock.mjs +65 -51
  84. package/dist/engine/message.d.mts +14 -34
  85. package/dist/engine/message.mjs +94 -127
  86. package/dist/engine/observation.d.mts +9 -11
  87. package/dist/engine/observation.mjs +18 -27
  88. package/dist/engine/replay.d.mts +18 -19
  89. package/dist/engine/replay.mjs +32 -56
  90. package/dist/engine/resume.d.mts +16 -0
  91. package/dist/engine/resume.mjs +24 -0
  92. package/dist/engine/retry.d.mts +15 -19
  93. package/dist/engine/retry.mjs +17 -17
  94. package/dist/engine/run-data.d.mts +4 -8
  95. package/dist/engine/run-data.mjs +24 -22
  96. package/dist/engine/run-service.d.mts +24 -33
  97. package/dist/engine/run-service.mjs +125 -93
  98. package/dist/engine/run-utils.d.mts +11 -13
  99. package/dist/engine/run-utils.mjs +23 -46
  100. package/dist/engine/schedule.d.mts +8 -22
  101. package/dist/engine/schedule.mjs +37 -34
  102. package/dist/engine/serialization.d.mts +9 -6
  103. package/dist/engine/serialization.mjs +30 -21
  104. package/dist/engine/signals.d.mts +23 -0
  105. package/dist/engine/signals.mjs +41 -0
  106. package/dist/engine/start.d.mts +18 -0
  107. package/dist/engine/start.mjs +88 -0
  108. package/dist/engine/state.d.mts +37 -67
  109. package/dist/engine/state.mjs +119 -280
  110. package/dist/engine/step-api.d.mts +5 -8
  111. package/dist/engine/step-api.mjs +16 -16
  112. package/dist/engine/stream-reader.d.mts +12 -0
  113. package/dist/engine/stream-reader.mjs +154 -0
  114. package/dist/engine/stream.d.mts +9 -54
  115. package/dist/engine/stream.mjs +54 -196
  116. package/dist/engine/summary/recovery.d.mts +35 -0
  117. package/dist/engine/summary/recovery.mjs +363 -0
  118. package/dist/engine/summary/runs.d.mts +43 -0
  119. package/dist/engine/summary/runs.mjs +294 -0
  120. package/dist/engine/summary/step-attempts.d.mts +5 -10
  121. package/dist/engine/summary/step-attempts.mjs +157 -36
  122. package/dist/engine/summary/tally.d.mts +44 -0
  123. package/dist/engine/summary/tally.mjs +142 -0
  124. package/dist/engine/task.d.mts +4 -5
  125. package/dist/engine/task.mjs +40 -48
  126. package/dist/errors/base.d.mts +17 -77
  127. package/dist/errors/base.mjs +26 -327
  128. package/dist/errors/capability.d.mts +3 -6
  129. package/dist/errors/capability.mjs +4 -8
  130. package/dist/errors/codes.d.mts +116 -0
  131. package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
  132. package/dist/errors/definition.d.mts +3 -17
  133. package/dist/errors/definition.mjs +5 -42
  134. package/dist/errors/failures.d.mts +17 -51
  135. package/dist/errors/failures.mjs +35 -102
  136. package/dist/errors/hook.d.mts +5 -9
  137. package/dist/errors/hook.mjs +4 -16
  138. package/dist/errors/implementation.d.mts +3 -6
  139. package/dist/errors/implementation.mjs +7 -12
  140. package/dist/errors/lock.d.mts +7 -20
  141. package/dist/errors/lock.mjs +8 -44
  142. package/dist/errors/message.d.mts +14 -59
  143. package/dist/errors/message.mjs +13 -39
  144. package/dist/errors/mod.d.mts +4 -5
  145. package/dist/errors/mod.mjs +5 -7
  146. package/dist/errors/records.d.mts +10 -4
  147. package/dist/errors/records.mjs +256 -256
  148. package/dist/errors/run.d.mts +27 -68
  149. package/dist/errors/run.mjs +31 -85
  150. package/dist/errors/schedule.d.mts +7 -18
  151. package/dist/errors/schedule.mjs +7 -39
  152. package/dist/errors/step.d.mts +12 -45
  153. package/dist/errors/step.mjs +13 -34
  154. package/dist/errors/stream.d.mts +8 -16
  155. package/dist/errors/stream.mjs +7 -41
  156. package/dist/esbuild.d.mts +6 -4
  157. package/dist/esbuild.mjs +2 -1
  158. package/dist/events/descriptors.d.mts +12 -241
  159. package/dist/events/descriptors.mjs +12 -5
  160. package/dist/history/projection.d.mts +4 -6
  161. package/dist/history/projection.mjs +22 -26
  162. package/dist/history/replay-projection.d.mts +44 -48
  163. package/dist/history/replay-projection.mjs +41 -50
  164. package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
  165. package/dist/history/{mod.mjs → replay.mjs} +21 -25
  166. package/dist/history/sequencer.d.mts +10 -11
  167. package/dist/history/sequencer.mjs +11 -7
  168. package/dist/history/step-attempts.d.mts +4 -7
  169. package/dist/history/step-attempts.mjs +8 -9
  170. package/dist/history/timeline.d.mts +4 -13
  171. package/dist/history/timeline.mjs +46 -265
  172. package/dist/history/validator.d.mts +5 -7
  173. package/dist/history/validator.mjs +9 -24
  174. package/dist/hook-token.d.mts +7 -0
  175. package/dist/hook-token.mjs +32 -0
  176. package/dist/ids.d.mts +8 -0
  177. package/dist/ids.mjs +21 -0
  178. package/dist/message-options.d.mts +11 -5
  179. package/dist/message-options.mjs +9 -7
  180. package/dist/mod.d.mts +32 -36
  181. package/dist/mod.mjs +9 -13
  182. package/dist/otel/metrics.d.mts +31 -0
  183. package/dist/otel/metrics.mjs +60 -0
  184. package/dist/otel/mod.d.mts +3 -0
  185. package/dist/otel/mod.mjs +3 -0
  186. package/dist/otel/spans.d.mts +24 -0
  187. package/dist/otel/spans.mjs +218 -0
  188. package/dist/otel/support.d.mts +15 -8
  189. package/dist/otel/support.mjs +18 -40
  190. package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
  191. package/dist/otel/telemetry.mjs +305 -0
  192. package/dist/pagination.d.mts +6 -12
  193. package/dist/pagination.mjs +10 -14
  194. package/dist/registry.d.mts +8 -5
  195. package/dist/registry.mjs +19 -10
  196. package/dist/rolldown.d.mts +6 -4
  197. package/dist/rolldown.mjs +2 -1
  198. package/dist/rollup.d.mts +6 -4
  199. package/dist/rollup.mjs +2 -1
  200. package/dist/rspack.d.mts +6 -4
  201. package/dist/rspack.mjs +2 -1
  202. package/dist/run-status.d.mts +29 -0
  203. package/dist/run-status.mjs +42 -0
  204. package/dist/schema/common.d.mts +22 -0
  205. package/dist/schema/common.mjs +54 -0
  206. package/dist/schema/error.d.mts +17 -0
  207. package/dist/schema/error.mjs +39 -0
  208. package/dist/schema/events.d.mts +446 -0
  209. package/dist/schema/events.mjs +235 -0
  210. package/dist/schema/pagination.d.mts +5 -0
  211. package/dist/schema/pagination.mjs +11 -0
  212. package/dist/schema/persisted-value.d.mts +8 -0
  213. package/dist/schema/persisted-value.mjs +94 -0
  214. package/dist/schema/run.d.mts +51 -0
  215. package/dist/schema/run.mjs +88 -0
  216. package/dist/schema/store.d.mts +94 -0
  217. package/dist/schema/store.mjs +116 -0
  218. package/dist/step-definition.d.mts +4 -9
  219. package/dist/step-definition.mjs +2 -2
  220. package/dist/store/capabilities.d.mts +8 -9
  221. package/dist/store/capabilities.mjs +7 -7
  222. package/dist/store/cleanup.d.mts +9 -14
  223. package/dist/store/cleanup.mjs +86 -85
  224. package/dist/store/create.d.mts +28 -29
  225. package/dist/store/create.mjs +10 -11
  226. package/dist/store/events.d.mts +48 -0
  227. package/dist/store/events.mjs +263 -0
  228. package/dist/store/indexes.d.mts +25 -0
  229. package/dist/store/indexes.mjs +282 -0
  230. package/dist/store/instrumentation.d.mts +2 -3
  231. package/dist/store/instrumentation.mjs +30 -30
  232. package/dist/store/lock.d.mts +4 -5
  233. package/dist/store/lock.mjs +5 -7
  234. package/dist/store/materialization.d.mts +10 -17
  235. package/dist/store/materialization.mjs +39 -33
  236. package/dist/store/mod.d.mts +3 -3
  237. package/dist/store/mod.mjs +2 -2
  238. package/dist/store/query.d.mts +13 -17
  239. package/dist/store/query.mjs +13 -13
  240. package/dist/store/run.d.mts +25 -34
  241. package/dist/store/run.mjs +67 -108
  242. package/dist/store/schedule.d.mts +6 -8
  243. package/dist/store/schedule.mjs +11 -11
  244. package/dist/store/step-attempt.d.mts +9 -12
  245. package/dist/store/step-attempt.mjs +9 -9
  246. package/dist/store/storage-value.d.mts +3 -3
  247. package/dist/store/storage-value.mjs +17 -1
  248. package/dist/store/validation.d.mts +17 -20
  249. package/dist/store/validation.mjs +30 -33
  250. package/dist/store-keys.d.mts +35 -47
  251. package/dist/store-keys.mjs +9 -17
  252. package/dist/telemetry.d.mts +16 -16
  253. package/dist/telemetry.mjs +3 -3
  254. package/dist/temporal.d.mts +11 -16
  255. package/dist/temporal.mjs +8 -9
  256. package/dist/timer.d.mts +12 -10
  257. package/dist/timer.mjs +11 -3
  258. package/dist/types/cleanup.d.mts +13 -50
  259. package/dist/types/cleanup.mjs +1 -22
  260. package/dist/types/client.d.mts +101 -162
  261. package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
  262. package/dist/types/compiler.mjs +1 -0
  263. package/dist/types/definition.d.mts +22 -34
  264. package/dist/types/engine-options.d.mts +10 -17
  265. package/dist/types/engine.d.mts +15 -274
  266. package/dist/types/error.d.mts +15 -217
  267. package/dist/types/error.mjs +1 -48
  268. package/dist/types/events.d.mts +59 -2730
  269. package/dist/types/events.mjs +1 -283
  270. package/dist/types/hook.d.mts +27 -85
  271. package/dist/types/hook.mjs +1 -66
  272. package/dist/types/ids.d.mts +9 -0
  273. package/dist/types/ids.mjs +1 -0
  274. package/dist/types/lock.d.mts +8 -26
  275. package/dist/types/lock.mjs +1 -18
  276. package/dist/types/message.d.mts +29 -43
  277. package/dist/types/observation.d.mts +43 -58
  278. package/dist/types/pagination.d.mts +6 -22
  279. package/dist/types/pagination.mjs +1 -13
  280. package/dist/types/result.d.mts +11 -43
  281. package/dist/types/retry.d.mts +7 -14
  282. package/dist/types/run-list.d.mts +9 -11
  283. package/dist/types/run-options.d.mts +25 -32
  284. package/dist/types/run.d.mts +35 -315
  285. package/dist/types/run.mjs +1 -207
  286. package/dist/types/runtime.d.mts +33 -145
  287. package/dist/types/runtime.mjs +1 -21
  288. package/dist/types/schedule.d.mts +13 -72
  289. package/dist/types/schedule.mjs +1 -48
  290. package/dist/types/step-attempts.d.mts +65 -261
  291. package/dist/types/step-attempts.mjs +1 -43
  292. package/dist/types/step.d.mts +66 -77
  293. package/dist/types/step.mjs +1 -5
  294. package/dist/types/store.d.mts +50 -182
  295. package/dist/types/stream.d.mts +19 -40
  296. package/dist/types/summary.d.mts +174 -278
  297. package/dist/types/telemetry.d.mts +23 -28
  298. package/dist/types/telemetry.mjs +1 -9
  299. package/dist/types/timeline.d.mts +46 -233
  300. package/dist/types/worker.d.mts +22 -29
  301. package/dist/values.d.mts +15 -0
  302. package/dist/values.mjs +57 -0
  303. package/dist/vite.d.mts +5 -6
  304. package/dist/vite.mjs +3 -4
  305. package/dist/webpack.d.mts +6 -4
  306. package/dist/webpack.mjs +2 -1
  307. package/dist/worker/error.d.mts +2 -9
  308. package/dist/worker/error.mjs +20 -32
  309. package/dist/worker/missing-implementation.d.mts +19 -0
  310. package/dist/worker/missing-implementation.mjs +62 -0
  311. package/dist/worker/worker.d.mts +18 -0
  312. package/dist/{worker.mjs → worker/worker.mjs} +64 -118
  313. package/package.json +28 -47
  314. package/dist/engine/execution-api.d.mts +0 -29
  315. package/dist/engine/execution-api.mjs +0 -33
  316. package/dist/engine/inspection-api.d.mts +0 -34
  317. package/dist/engine/inspection-api.mjs +0 -78
  318. package/dist/engine/mod.d.mts +0 -4
  319. package/dist/engine/mod.mjs +0 -2
  320. package/dist/engine/recovery.d.mts +0 -26
  321. package/dist/engine/recovery.mjs +0 -92
  322. package/dist/engine/retry-policy.d.mts +0 -4
  323. package/dist/engine/retry-policy.mjs +0 -4
  324. package/dist/engine/start-api.d.mts +0 -30
  325. package/dist/engine/start-api.mjs +0 -99
  326. package/dist/engine/summary/active-events.d.mts +0 -34
  327. package/dist/engine/summary/active-events.mjs +0 -69
  328. package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
  329. package/dist/engine/summary/child-workflow-runs.mjs +0 -138
  330. package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
  331. package/dist/engine/summary/child-workflow-waits.mjs +0 -67
  332. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
  333. package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
  334. package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
  335. package/dist/engine/summary/recovery-due-runs.mjs +0 -52
  336. package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
  337. package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
  338. package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
  339. package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
  340. package/dist/engine/summary/recovery-locks.d.mts +0 -18
  341. package/dist/engine/summary/recovery-locks.mjs +0 -100
  342. package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
  343. package/dist/engine/summary/recovery-message-waits.mjs +0 -74
  344. package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
  345. package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
  346. package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
  347. package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
  348. package/dist/engine/summary/recovery-runs.d.mts +0 -23
  349. package/dist/engine/summary/recovery-runs.mjs +0 -54
  350. package/dist/engine/summary/recovery-schedules.d.mts +0 -10
  351. package/dist/engine/summary/recovery-schedules.mjs +0 -46
  352. package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
  353. package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
  354. package/dist/engine/summary/recovery-waits.d.mts +0 -21
  355. package/dist/engine/summary/recovery-waits.mjs +0 -29
  356. package/dist/engine/summary/run-availability.d.mts +0 -13
  357. package/dist/engine/summary/run-availability.mjs +0 -37
  358. package/dist/engine/summary/run-cleanup.d.mts +0 -14
  359. package/dist/engine/summary/run-cleanup.mjs +0 -44
  360. package/dist/engine/summary/run-failure.d.mts +0 -14
  361. package/dist/engine/summary/run-failure.mjs +0 -62
  362. package/dist/engine/summary/run-hooks.d.mts +0 -14
  363. package/dist/engine/summary/run-hooks.mjs +0 -63
  364. package/dist/engine/summary/run-lease.d.mts +0 -11
  365. package/dist/engine/summary/run-lease.mjs +0 -64
  366. package/dist/engine/summary/run-message-waits.d.mts +0 -15
  367. package/dist/engine/summary/run-message-waits.mjs +0 -62
  368. package/dist/engine/summary/run-metrics.d.mts +0 -31
  369. package/dist/engine/summary/run-metrics.mjs +0 -93
  370. package/dist/engine/summary/run-retry.d.mts +0 -9
  371. package/dist/engine/summary/run-retry.mjs +0 -69
  372. package/dist/engine/summary/run-sleeps.d.mts +0 -15
  373. package/dist/engine/summary/run-sleeps.mjs +0 -61
  374. package/dist/engine/summary/run-state.d.mts +0 -26
  375. package/dist/engine/summary/run-state.mjs +0 -48
  376. package/dist/engine/summary/run-status.d.mts +0 -16
  377. package/dist/engine/summary/run-status.mjs +0 -35
  378. package/dist/engine/summary/run-streams.d.mts +0 -14
  379. package/dist/engine/summary/run-streams.mjs +0 -46
  380. package/dist/engine/summary/run-transition.d.mts +0 -9
  381. package/dist/engine/summary/run-transition.mjs +0 -39
  382. package/dist/engine/summary/run-workflow.d.mts +0 -9
  383. package/dist/engine/summary/run-workflow.mjs +0 -47
  384. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
  385. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
  386. package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
  387. package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
  388. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
  389. package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
  390. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
  391. package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
  392. package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
  393. package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
  394. package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
  395. package/dist/engine/summary/step-attempt-failure.mjs +0 -61
  396. package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
  397. package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
  398. package/dist/engine/summary.d.mts +0 -32
  399. package/dist/engine/summary.mjs +0 -37
  400. package/dist/errors/details.d.mts +0 -13
  401. package/dist/errors/details.mjs +0 -66
  402. package/dist/errors/record-view.d.mts +0 -11
  403. package/dist/errors/record-view.mjs +0 -24
  404. package/dist/errors/runtime.d.mts +0 -12
  405. package/dist/errors/runtime.mjs +0 -24
  406. package/dist/events/mod.d.mts +0 -3
  407. package/dist/events/mod.mjs +0 -2
  408. package/dist/history/attempt-key.d.mts +0 -6
  409. package/dist/history/attempt-key.mjs +0 -7
  410. package/dist/inspection/mod.d.mts +0 -5
  411. package/dist/inspection/mod.mjs +0 -3
  412. package/dist/otel.mjs +0 -590
  413. package/dist/runtime.d.mts +0 -35
  414. package/dist/runtime.mjs +0 -198
  415. package/dist/store/append-projection.d.mts +0 -15
  416. package/dist/store/append-projection.mjs +0 -26
  417. package/dist/store/compaction.d.mts +0 -5
  418. package/dist/store/compaction.mjs +0 -8
  419. package/dist/store/event-append-project.d.mts +0 -15
  420. package/dist/store/event-append-project.mjs +0 -77
  421. package/dist/store/event-append.d.mts +0 -37
  422. package/dist/store/event-append.mjs +0 -80
  423. package/dist/store/event-history.d.mts +0 -22
  424. package/dist/store/event-history.mjs +0 -75
  425. package/dist/store/event.d.mts +0 -10
  426. package/dist/store/event.mjs +0 -28
  427. package/dist/store/idempotency.d.mts +0 -10
  428. package/dist/store/idempotency.mjs +0 -167
  429. package/dist/store/message-index.d.mts +0 -21
  430. package/dist/store/message-index.mjs +0 -122
  431. package/dist/store/revision.d.mts +0 -4
  432. package/dist/store/revision.mjs +0 -7
  433. package/dist/store/schema.d.mts +0 -14
  434. package/dist/store/schema.mjs +0 -17
  435. package/dist/types/common.d.mts +0 -20
  436. package/dist/types/common.mjs +0 -16
  437. package/dist/types/error-code.d.mts +0 -256
  438. package/dist/types/message-id.d.mts +0 -7
  439. package/dist/types/message-id.mjs +0 -5
  440. package/dist/types/run-id.d.mts +0 -7
  441. package/dist/types/run-id.mjs +0 -5
  442. package/dist/types/step-id.d.mts +0 -7
  443. package/dist/types/step-id.mjs +0 -5
  444. package/dist/types/stream-id.d.mts +0 -7
  445. package/dist/types/stream-id.mjs +0 -5
  446. package/dist/types/worker-id.d.mts +0 -7
  447. package/dist/types/worker-id.mjs +0 -5
  448. package/dist/utility.d.mts +0 -49
  449. package/dist/utility.mjs +0 -122
  450. package/dist/vite/ast.d.mts +0 -23
  451. package/dist/vite/generated-name.d.mts +0 -7
  452. package/dist/vite/generated-name.mjs +0 -9
  453. package/dist/vite/manifest.d.mts +0 -7
  454. package/dist/vite/plugin.d.mts +0 -7
  455. package/dist/vite/safety.d.mts +0 -12
  456. package/dist/vite/source.d.mts +0 -7
  457. package/dist/vite/transform.d.mts +0 -7
  458. package/dist/webhook.d.mts +0 -16
  459. package/dist/webhook.mjs +0 -17
  460. package/dist/worker.d.mts +0 -19
  461. /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
@@ -1,180 +1,137 @@
1
- import { RunId } from "./run-id.mjs";
1
+ import { RunId, StreamIdOrName, WorkerId } from "./ids.mjs";
2
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 { WorkflowMissingImplementationRetryConfig } from "./retry.mjs";
6
- import { WorkflowDefinition, WorkflowHandler, WorkflowImplementation, WorkflowStartTarget } from "./definition.mjs";
7
- import { HookInspection, ResumeHookOptions, ResumeWebhookOptions } from "./hook.mjs";
3
+ import { HookInspection, ResumeHookOptions } from "./hook.mjs";
4
+ import { WorkflowPage } from "./pagination.mjs";
5
+ import { ListSchedulesPageOptions, ScheduleConfig, ScheduleId, ScheduleRecord, TickSchedulesOptions, TickSchedulesResult } from "./schedule.mjs";
6
+ import { MissingImplementationRetryConfig } from "./retry.mjs";
7
+ import { StartTarget, WorkflowDefinition, WorkflowImplementation } from "./definition.mjs";
8
8
  import { AcquireLockOptions, LockRecord, ReleaseLockOptions, ReleaseStaleLockOptions } from "./lock.mjs";
9
- import { WorkflowListRunsOptions, WorkflowListRunsPageOptions, WorkflowListStepAttemptsPageOptions } from "./run-list.mjs";
10
- import { BroadcastMessageChannelOptions, BroadcastMessageInput, BroadcastMessageResult, MessageChannel, SendMessageChannelOptions, SendMessageInput } from "./message.mjs";
11
- import { StreamIdOrName } from "./stream-id.mjs";
12
- import { FollowStreamOptions, ReadStreamOptions, ReadStreamPageOptions, StreamChunk, StreamInfo, StreamPage, StreamState, StreamUpdate, WaitStreamOptions } from "./stream.mjs";
13
- import { WorkflowRecoverySummary, WorkflowRecoverySummaryOptions, WorkflowRunSummary, WorkflowRunSummaryOptions } from "./summary.mjs";
14
- import { WorkflowListStepAttemptsOptions, WorkflowStepAttemptRecord, WorkflowStepAttemptSummary } from "./step-attempts.mjs";
15
- import { WorkerId } from "./worker-id.mjs";
16
- import { Timeline } from "./timeline.mjs";
17
- import { ResultOptions } from "./result.mjs";
18
- import { WorkflowAttributePatch, WorkflowRunRecord, WorkflowRunStatus } from "./run.mjs";
9
+ import { ListRunsOptions, ListRunsPageOptions, ListStepAttemptsPageOptions } from "./run-list.mjs";
10
+ import { BroadcastMessageChannelOptions, BroadcastMessageInput, BroadcastMessageResult, MessageChannel, MessageSender } from "./message.mjs";
11
+ import { FollowStreamOptions, ReadStreamOptions, StreamChunk, StreamInfo, StreamState, StreamUpdate, WaitStreamOptions } from "./stream.mjs";
12
+ import { StepDefinition } from "./step.mjs";
13
+ import { RecoverySummary, RunSummary } from "./summary.mjs";
14
+ import { ListStepAttemptsOptions, StepAttemptRecord, StepAttemptSummary } from "./step-attempts.mjs";
15
+ import { ObservationEventHandler, ObservationEventPattern } from "./observation.mjs";
16
+ import { AttributePatch, RunRecord } from "./run.mjs";
19
17
  import { EventRecord } from "./events.mjs";
20
- import { ScheduleNextOptions, WorkflowBatchStartItem, WorkflowMarkRunPermanentlyFailedOptions, WorkflowReleaseStaleLeaseOptions, WorkflowRerunOptions, WorkflowRescheduleRunOptions, WorkflowRetryFailedRunOptions, WorkflowRunArguments, WorkflowStartOptions } from "./run-options.mjs";
21
- import { WorkflowWakeDueRunsOptions, WorkflowWorker, WorkflowWorkerRunFilterOptions, WorkflowWorkerRunResult } from "./worker.mjs";
18
+ import { WakeDueRunsOptions, WorkerRunFilterOptions, WorkerRunResult, WorkflowWorker } from "./worker.mjs";
19
+ import { BatchStartItem, MarkRunPermanentlyFailedOptions, ReleaseStaleLeaseOptions, RerunOptions, RescheduleRunOptions, RetryFailedRunOptions, RunArguments, ScheduleNextOptions, StartOptions } from "./run-options.mjs";
20
+ import { COMPILED_STEP, COMPILED_WORKFLOW } from "../compiled-function.mjs";
21
+ import { RunHandle, RuntimeRunsApi, WorkflowRuntime } from "./runtime.mjs";
22
+ import { Timeline } from "./timeline.mjs";
23
+ import { StorageValue } from "@temelj/storage";
24
+ import { Unsubscribe } from "@temelj/event";
22
25
  //#region src/types/client.d.ts
23
26
  /** Function shape emitted by the directive compiler for workflow and step functions. */
24
- type CompiledWorkflowFunction<TArgs extends readonly unknown[], TOutput> = (...args: TArgs) => Promise<TOutput> | TOutput;
25
- /** Client-level handle for awaiting output and inspecting a workflow run. */
26
- interface WorkflowRunHandle<TOutput = unknown> {
27
- /** ID of the workflow run represented by this handle. */
28
- readonly runId: RunId;
29
- /** Workflow definition name stored on the run. */
30
- readonly workflowName: string;
31
- /** Workflow version stored on the run, when one was resolved. */
32
- readonly workflowVersion?: string;
33
- /** Returns the latest run record. */
34
- getRun(): Promise<WorkflowRunRecord>;
35
- /** Returns the latest run status. */
36
- status(): Promise<WorkflowRunStatus>;
27
+ export type CompiledWorkflowFunction<TArgs extends readonly unknown[], TOutput> = ((...args: TArgs) => Promise<TOutput> | TOutput) & {
28
+ readonly [COMPILED_WORKFLOW]?: WorkflowImplementation<TArgs, Awaited<TOutput>, TArgs>;
29
+ readonly [COMPILED_STEP]?: StepDefinition<TArgs, Awaited<TOutput>>;
30
+ };
31
+ /** A local run handle: the portable operations plus history, streams, metadata, and attributes. */
32
+ export interface WorkflowRunHandle<TOutput = unknown> extends RunHandle<TOutput> {
37
33
  /** Returns all durable events recorded for the run. */
38
34
  events(): Promise<readonly EventRecord[]>;
39
35
  /** Returns a timeline projection of the run's event history. */
40
36
  timeline(): Promise<Timeline>;
41
- /** Waits for and returns the completed workflow output. */
42
- result(options?: ResultOptions): Promise<TOutput>;
43
- /** Returns metadata for a durable stream on this run. */
44
- getStreamInfo(streamIdOrName: StreamIdOrName): Promise<StreamInfo>;
45
- /** Follows durable stream updates from this run. */
46
- followStream<TChunk = unknown>(streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate<TChunk>>;
47
- /** Waits until a durable stream exists on this run. */
48
- waitForStream(streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
49
- /** Waits for the next durable stream chunk after an index. */
50
- waitForStreamChunk<TChunk = unknown>(streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk<TChunk> | undefined>;
51
- /** Waits until a durable stream is closed or failed. */
52
- waitForStreamTerminal(streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
53
- /** Reads all currently stored chunks for a durable stream. */
54
- readStream<TChunk = unknown>(streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState<TChunk>>;
55
- /** Reads one page of currently stored chunks for a durable stream. */
56
- readStreamPage<TChunk = unknown>(streamIdOrName: StreamIdOrName, options?: ReadStreamPageOptions): Promise<StreamPage<TChunk>>;
57
- /** Moves the run back to pending at an optional new availability time. */
58
- reschedule(options?: WorkflowRescheduleRunOptions): Promise<WorkflowRunRecord>;
59
- /** Releases this run's worker lease when it is stale. */
60
- releaseStaleLease(options?: WorkflowReleaseStaleLeaseOptions): Promise<WorkflowRunRecord>;
61
- /** Retries this failed run. */
62
- retryFailed(options?: WorkflowRetryFailedRunOptions): Promise<WorkflowRunRecord>;
63
- /** Marks this run as permanently failed with an operator reason. */
64
- markPermanentlyFailed(options: WorkflowMarkRunPermanentlyFailedOptions): Promise<WorkflowRunRecord>;
37
+ /** Durable stream reads for this run. */
38
+ readonly streams: RunStreamsApi;
65
39
  /** Replaces this run's metadata value. */
66
- setMetadata(metadata: unknown): Promise<WorkflowRunRecord>;
40
+ setMetadata(metadata: StorageValue): Promise<RunRecord>;
67
41
  /** Applies an attribute patch to this run. */
68
- setAttributes(attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
69
- /** Cancels this run if it has not already reached a terminal status. */
70
- cancel(): Promise<WorkflowRunRecord>;
42
+ setAttributes(attributes: AttributePatch): Promise<RunRecord>;
71
43
  }
72
- /** Runnable wrapper that starts a workflow definition through a bound client. */
73
- interface WorkflowRunnable<TInput = unknown, TOutput = unknown, TRawInput = TInput> {
74
- /** Workflow definition that will be started by run. */
75
- readonly definition: WorkflowDefinition<TInput, TOutput, TRawInput>;
76
- /** Starts the workflow through the bound client and returns a run handle. */
77
- run(...args: WorkflowRunArguments<TRawInput, WorkflowStartOptions>): Promise<WorkflowRunHandle<TOutput>>;
44
+ /** Durable stream reads for one run: the operations of `client.streams`, without the run ID. */
45
+ export interface RunStreamsApi {
46
+ getInfo(streamIdOrName: StreamIdOrName): Promise<StreamInfo>;
47
+ follow(streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate>;
48
+ wait(streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
49
+ waitForChunk(streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk | undefined>;
50
+ waitForTerminal(streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
51
+ read(streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState>;
78
52
  }
79
- /** Describes the workflow client contract. */
80
- interface WorkflowClient {
53
+ export interface WorkflowClient extends WorkflowRuntime {
54
+ /** Subscribes to run lifecycle and operation events, such as `workflow:run-completed`. */
55
+ on<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): Unsubscribe;
56
+ once<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): Unsubscribe;
57
+ off<Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>): void;
81
58
  /** Grouped run inspection and history operations. */
82
- readonly runs: WorkflowClientRunsApi;
59
+ readonly runs: ClientRunsApi;
83
60
  /** Grouped administrative run maintenance operations. */
84
- readonly admin: WorkflowClientAdminApi;
61
+ readonly admin: ClientAdminApi;
85
62
  /** Grouped schedule management operations. */
86
- readonly schedules: WorkflowClientSchedulesApi;
87
- /** Grouped workflow lock operations. */
88
- readonly locks: WorkflowClientLocksApi;
63
+ readonly schedules: ClientSchedulesApi;
64
+ readonly locks: ClientLocksApi;
89
65
  /** Grouped external resume hook operations. */
90
- readonly hooks: WorkflowClientHooksApi;
66
+ readonly hooks: ClientHooksApi;
91
67
  /** Grouped durable stream read operations. */
92
- readonly streams: WorkflowClientStreamsApi;
68
+ readonly streams: ClientStreamsApi;
93
69
  /** Grouped message send operations. */
94
- readonly messages: WorkflowClientMessagesApi;
70
+ readonly messages: ClientMessagesApi;
95
71
  /** Grouped worker creation and wake operations. */
96
- readonly workers: WorkflowClientWorkersApi;
97
- /** Flushes resources owned by the underlying engine when it supports explicit shutdown. */
98
- close(): Promise<void>;
99
- /** Registers a workflow implementation in the client's registry. */
100
- implementWorkflow<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>, handler: WorkflowHandler<TInput, TOutput>): WorkflowImplementation<TInput, TOutput, TRawInput>;
101
- /** Registers an existing workflow implementation in the client's registry. */
102
- register<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>): void;
103
- /** Registers a workflow implementation and returns a client-bound runnable. */
104
- workflow<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>, handler: WorkflowHandler<TInput, TOutput>): WorkflowRunnable<TInput, TOutput, TRawInput>;
72
+ readonly workers: ClientWorkersApi;
105
73
  }
106
- /** Describes the workflow client runs API contract. */
107
- interface WorkflowClientRunsApi {
108
- /** Starts one workflow run and returns a typed handle. */
109
- start<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, ...args: WorkflowRunArguments<TRawInput, WorkflowStartOptions>): Promise<WorkflowRunHandle<TOutput>>;
74
+ export interface ClientRunsApi extends RuntimeRunsApi {
75
+ /** Starts a run of a definition. */
76
+ start<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowDefinition<TInput, TOutput, TRawInput>, ...args: RunArguments<TRawInput, StartOptions>): Promise<WorkflowRunHandle<TOutput>>;
77
+ /** Registers an implementation when needed, then starts a run of it. */
78
+ start<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowImplementation<TInput, TOutput, TRawInput>, ...args: RunArguments<TRawInput, StartOptions>): Promise<WorkflowRunHandle<TOutput>>;
79
+ /** Starts a compiled workflow function produced by the workflow transform. */
80
+ start<TArgs extends readonly unknown[], TOutput>(workflow: CompiledWorkflowFunction<TArgs, TOutput>, ...args: TArgs): Promise<WorkflowRunHandle<Awaited<TOutput>>>;
81
+ /** A handle for an existing run. A run ID does not establish its output type, so validate the result. */
82
+ getHandle(runId: RunId): Promise<WorkflowRunHandle<StorageValue | undefined>>;
83
+ list(options?: ListRunsPageOptions): Promise<WorkflowPage<RunRecord>>;
110
84
  /** Starts multiple workflow runs for the same definition. */
111
- startBatch<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, items: readonly WorkflowBatchStartItem<TRawInput>[]): Promise<readonly WorkflowRunHandle<TOutput>[]>;
85
+ startBatch<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, items: readonly BatchStartItem<TRawInput>[]): Promise<readonly WorkflowRunHandle<TOutput>[]>;
112
86
  /** Returns a workflow run by ID, if it exists. */
113
- get(runId: RunId): Promise<WorkflowRunRecord | undefined>;
87
+ get(runId: RunId): Promise<RunRecord | undefined>;
114
88
  /** Returns all durable events recorded for a run. */
115
89
  events(runId: RunId): Promise<readonly EventRecord[]>;
116
- /** Lists one page of durable events recorded for a run. */
117
- eventsPage(runId: RunId, options?: PageOptions): Promise<WorkflowPage<EventRecord>>;
118
- /** Lists workflow runs matching optional filters. */
119
- list(options?: WorkflowListRunsOptions): Promise<readonly WorkflowRunRecord[]>;
120
- /** Lists one page of workflow runs matching optional filters. */
121
- page(options?: WorkflowListRunsPageOptions): Promise<WorkflowPage<WorkflowRunRecord>>;
122
90
  /** Counts workflow runs matching optional filters. */
123
- count(options?: WorkflowListRunsOptions): Promise<number>;
91
+ count(options?: ListRunsOptions): Promise<number>;
124
92
  /** Returns aggregate run metrics for runs matching optional filters. */
125
- summary(options?: WorkflowRunSummaryOptions): Promise<WorkflowRunSummary>;
93
+ summary(options?: ListRunsOptions): Promise<RunSummary>;
126
94
  /** Returns recovery-oriented aggregate metrics for runs matching optional filters. */
127
- recovery(options?: WorkflowRecoverySummaryOptions): Promise<WorkflowRecoverySummary>;
128
- /** Returns a timeline projection for one run. */
95
+ recoverySummary(options?: ListRunsOptions): Promise<RecoverySummary>;
129
96
  timeline(runId: RunId): Promise<Timeline>;
130
- /** Lists materialized step attempts for a run. */
131
- listStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<readonly WorkflowStepAttemptRecord[]>;
132
- /** Lists one page of materialized step attempts for a run. */
133
- listStepAttemptsPage(runId: RunId, options?: WorkflowListStepAttemptsPageOptions): Promise<WorkflowPage<WorkflowStepAttemptRecord>>;
134
- /** Counts materialized step attempts for a run. */
135
- countStepAttempts(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<number>;
97
+ listStepAttempts(runId: RunId, options?: ListStepAttemptsPageOptions): Promise<WorkflowPage<StepAttemptRecord>>;
98
+ countStepAttempts(runId: RunId, options?: ListStepAttemptsOptions): Promise<number>;
136
99
  /** Returns aggregate step-attempt metrics for a run. */
137
- stepAttemptSummary(runId: RunId, options?: WorkflowListStepAttemptsOptions): Promise<WorkflowStepAttemptSummary>;
100
+ stepAttemptSummary(runId: RunId, options?: ListStepAttemptsOptions): Promise<StepAttemptSummary>;
138
101
  }
139
- /** Describes the workflow client admin API contract. */
140
- interface WorkflowClientAdminApi {
102
+ export interface ClientAdminApi {
141
103
  /** Deletes terminal run data according to cleanup options. */
142
104
  cleanup(options: CleanupRunsOptions): Promise<CleanupRunsResult>;
143
- /** Lists cleanup marker records. */
144
105
  cleanupMarkers(): Promise<readonly CleanupMarkerRecord[]>;
145
106
  /** Deletes terminal run data according to a retention policy. */
146
107
  applyRetentionPolicy(options: RetentionPolicyOptions): Promise<CleanupRunsResult>;
147
108
  /** Creates a new run from an existing run record and returns its handle. */
148
- rerun(runId: RunId, options?: WorkflowRerunOptions): Promise<WorkflowRunHandle<unknown>>;
109
+ rerun(runId: RunId, options?: RerunOptions): Promise<WorkflowRunHandle<unknown>>;
149
110
  /** Moves a run back to pending at an optional new availability time. */
150
- reschedule(runId: RunId, options?: WorkflowRescheduleRunOptions): Promise<WorkflowRunRecord>;
111
+ reschedule(runId: RunId, options?: RescheduleRunOptions): Promise<RunRecord>;
151
112
  /** Releases a run's worker lease when it is stale. */
152
- releaseStaleLease(runId: RunId, options?: WorkflowReleaseStaleLeaseOptions): Promise<WorkflowRunRecord>;
153
- /** Retries a failed workflow run. */
154
- retryFailed(runId: RunId, options?: WorkflowRetryFailedRunOptions): Promise<WorkflowRunRecord>;
113
+ releaseStaleLease(runId: RunId, options?: ReleaseStaleLeaseOptions): Promise<RunRecord>;
114
+ retryFailed(runId: RunId, options?: RetryFailedRunOptions): Promise<RunRecord>;
155
115
  /** Marks a workflow run as permanently failed with an operator reason. */
156
- markPermanentlyFailed(runId: RunId, options: WorkflowMarkRunPermanentlyFailedOptions): Promise<WorkflowRunRecord>;
116
+ markPermanentlyFailed(runId: RunId, options: MarkRunPermanentlyFailedOptions): Promise<RunRecord>;
157
117
  /** Replaces a workflow run's metadata value. */
158
- updateMetadata(runId: RunId, metadata: unknown): Promise<WorkflowRunRecord>;
118
+ setMetadata(runId: RunId, metadata: StorageValue): Promise<RunRecord>;
159
119
  /** Applies an attribute patch to a workflow run. */
160
- setAttributes(runId: RunId, attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
120
+ setAttributes(runId: RunId, attributes: AttributePatch): Promise<RunRecord>;
161
121
  /** Cancels a workflow run if it has not already reached a terminal status. */
162
- cancel(runId: RunId): Promise<WorkflowRunRecord>;
122
+ cancel(runId: RunId): Promise<RunRecord>;
163
123
  }
164
- /** Describes the workflow client schedules API contract. */
165
- interface WorkflowClientSchedulesApi {
124
+ export interface ClientSchedulesApi {
166
125
  /** Schedules one workflow run at the next interval boundary. */
167
- next<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options: ScheduleNextOptions): Promise<WorkflowRunHandle<TOutput>>;
126
+ next<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, input: TRawInput, options: ScheduleNextOptions): Promise<WorkflowRunHandle<TOutput>>;
168
127
  /** Creates a recurring workflow schedule. */
169
- create<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
128
+ create<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord>;
170
129
  /** Creates or updates a recurring workflow schedule. */
171
- upsert<TInput, TOutput, TRawInput = TInput>(workflow: WorkflowStartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord<TInput>>;
130
+ upsert<TInput, TOutput, TRawInput = TInput>(workflow: StartTarget<TInput, TOutput, TRawInput>, options: ScheduleConfig<TInput, TRawInput>): Promise<ScheduleRecord>;
172
131
  /** Returns a schedule by ID, if it exists. */
173
132
  get(scheduleId: ScheduleId): Promise<ScheduleRecord | undefined>;
174
133
  /** Lists schedules matching optional filters. */
175
- list(options?: ListSchedulesOptions): Promise<readonly ScheduleRecord[]>;
176
- /** Lists one page of schedules matching optional filters. */
177
- page(options?: ListSchedulesPageOptions): Promise<WorkflowPage<ScheduleRecord>>;
134
+ list(options?: ListSchedulesPageOptions): Promise<WorkflowPage<ScheduleRecord>>;
178
135
  /** Pauses an active schedule. */
179
136
  pause(scheduleId: ScheduleId): Promise<ScheduleRecord>;
180
137
  /** Resumes a paused or archived schedule. */
@@ -186,85 +143,67 @@ interface WorkflowClientSchedulesApi {
186
143
  /** Starts runs for schedules that are due. */
187
144
  tick(options?: TickSchedulesOptions): Promise<TickSchedulesResult>;
188
145
  }
189
- /** Describes the workflow client locks API contract. */
190
- interface WorkflowClientLocksApi {
191
- /** Acquires a workflow lock. */
146
+ export interface ClientLocksApi {
192
147
  acquire(key: string, options: AcquireLockOptions): Promise<LockRecord>;
193
148
  /** Returns a workflow lock by key, if it exists. */
194
149
  get(key: string): Promise<LockRecord | undefined>;
195
- /** Lists workflow locks. */
196
150
  list(): Promise<readonly LockRecord[]>;
197
151
  /** Releases a workflow lock held by the supplied holder. */
198
152
  release(key: string, options: ReleaseLockOptions): Promise<LockRecord>;
199
153
  /** Releases a workflow lock only when its lease is stale. */
200
154
  releaseStale(key: string, options?: ReleaseStaleLockOptions): Promise<LockRecord>;
201
155
  }
202
- /** Describes the workflow client external hook API contract. */
203
- interface WorkflowClientHooksApi {
156
+ export interface ClientHooksApi {
204
157
  /** Completes a pending message-backed external resume hook. */
205
158
  resume(token: string, options?: ResumeHookOptions): Promise<void>;
206
- /** Completes a pending webhook-labeled external resume hook. */
207
- resumeWebhook(token: string, options?: ResumeWebhookOptions): Promise<void>;
208
159
  /** Disposes a pending message-backed external resume hook. */
209
160
  dispose(token: string): Promise<HookInspection>;
210
- /** Disposes a pending webhook-labeled external resume hook. */
211
- disposeWebhook(token: string): Promise<HookInspection>;
212
161
  /** Returns inspection data for an external resume hook token. */
213
162
  getByToken(token: string): Promise<HookInspection>;
214
163
  }
215
- /** Describes the workflow client streams API contract. */
216
- interface WorkflowClientStreamsApi {
164
+ export interface ClientStreamsApi {
217
165
  /** Returns metadata for a durable stream on a run. */
218
166
  getInfo(runId: RunId, streamIdOrName: StreamIdOrName): Promise<StreamInfo>;
219
167
  /** Follows durable stream updates from a run. */
220
- follow<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate<TChunk>>;
168
+ follow(runId: RunId, streamIdOrName: StreamIdOrName, options?: FollowStreamOptions): AsyncIterable<StreamUpdate>;
221
169
  /** Waits until a durable stream exists on a run. */
222
170
  wait(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
223
171
  /** Waits for the next durable stream chunk after an index. */
224
- waitForChunk<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk<TChunk> | undefined>;
172
+ waitForChunk(runId: RunId, streamIdOrName: StreamIdOrName, afterIndex: number, options?: WaitStreamOptions): Promise<StreamChunk | undefined>;
225
173
  /** Waits until a durable stream is closed or failed. */
226
174
  waitForTerminal(runId: RunId, streamIdOrName: StreamIdOrName, options?: WaitStreamOptions): Promise<StreamInfo | undefined>;
227
175
  /** Reads all currently stored chunks for a durable stream. */
228
- read<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState<TChunk>>;
229
- /** Reads one page of currently stored chunks for a durable stream. */
230
- readPage<TChunk = unknown>(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamPageOptions): Promise<StreamPage<TChunk>>;
176
+ read(runId: RunId, streamIdOrName: StreamIdOrName, options?: ReadStreamOptions): Promise<StreamState>;
231
177
  }
232
- /** Describes the workflow client messages API contract. */
233
- interface WorkflowClientMessagesApi {
234
- /** Sends a named message to a workflow run. */
235
- send(runId: RunId, options: SendMessageInput): Promise<void>;
236
- /** Sends a typed message channel payload to a workflow run. */
237
- send<TPayload, TKey = void>(runId: RunId, channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<void>;
178
+ export interface ClientMessagesApi extends MessageSender {
238
179
  /** Broadcasts a named message to runs matching the target options. */
239
180
  broadcast(options: BroadcastMessageInput): Promise<BroadcastMessageResult>;
240
181
  /** Broadcasts a typed message channel payload to runs matching the target options. */
241
- broadcast<TPayload, TKey = void>(channel: MessageChannel<TPayload, TKey>, options?: BroadcastMessageChannelOptions<TPayload, TKey>): Promise<BroadcastMessageResult>;
182
+ broadcast<TPayload, TRawPayload = TPayload>(channel: MessageChannel<TPayload, TRawPayload>, options?: BroadcastMessageChannelOptions<TRawPayload>): Promise<BroadcastMessageResult>;
242
183
  }
243
- /** Describes the workflow client worker API contract. */
244
- interface WorkflowClientWorkersApi {
184
+ export interface ClientWorkersApi {
245
185
  /** Creates a worker bound to this client engine and registry. */
246
- create(options?: WorkflowClientWorkerOptions): WorkflowWorker;
186
+ create(options?: ClientWorkerOptions): WorkflowWorker;
247
187
  /** Processes a specific run once by ID. */
248
- processRun(runId: RunId, options?: WorkflowClientProcessRunOptions): Promise<void>;
188
+ processRun(runId: RunId, options?: ClientProcessRunOptions): Promise<void>;
249
189
  /** Processes currently due runs matching optional filters. */
250
- wakeDueRuns(options?: WorkflowWakeDueRunsOptions): Promise<WorkflowWorkerRunResult>;
190
+ wakeDueRuns(options?: WakeDueRunsOptions): Promise<WorkerRunResult>;
251
191
  }
252
192
  /** Options for creating a worker from the grouped client worker API. */
253
- interface WorkflowClientWorkerOptions {
193
+ export interface ClientWorkerOptions {
254
194
  readonly workerId?: WorkerId;
255
195
  readonly leaseDuration?: Temporal.Duration;
256
196
  readonly pollInterval?: Temporal.Duration;
257
197
  readonly heartbeatInterval?: Temporal.Duration;
258
198
  readonly stopDrainTimeout?: Temporal.Duration;
259
- readonly missingImplementationRetry?: WorkflowMissingImplementationRetryConfig;
199
+ readonly missingImplementationRetry?: MissingImplementationRetryConfig;
260
200
  }
261
201
  /** Options for processing one run through a client worker facet. */
262
- interface WorkflowClientProcessRunOptions extends WorkflowWorkerRunFilterOptions {
202
+ export interface ClientProcessRunOptions extends WorkerRunFilterOptions {
263
203
  readonly workerId?: string;
264
204
  readonly leaseDuration?: Temporal.Duration;
265
205
  readonly heartbeatInterval?: Temporal.Duration;
266
- readonly missingImplementationRetry?: WorkflowMissingImplementationRetryConfig;
206
+ readonly missingImplementationRetry?: MissingImplementationRetryConfig;
267
207
  readonly signal?: AbortSignal;
268
208
  }
269
- //#endregion
270
- export { CompiledWorkflowFunction, WorkflowClient, WorkflowClientAdminApi, WorkflowClientHooksApi, WorkflowClientLocksApi, WorkflowClientMessagesApi, WorkflowClientProcessRunOptions, WorkflowClientRunsApi, WorkflowClientSchedulesApi, WorkflowClientStreamsApi, WorkflowClientWorkerOptions, WorkflowClientWorkersApi, WorkflowRunHandle, WorkflowRunnable };
209
+ //#endregion
@@ -1,21 +1,18 @@
1
- //#region src/types/vite.d.ts
2
- /** Kind values for workflow directive. */
3
- type DirectiveKind = "workflow" | "step";
4
- /** Describes the workflow transform metadata entry contract. */
5
- interface TransformMetadataEntry {
1
+ import { SourceMapCompact } from "unplugin";
2
+ //#region src/types/compiler.d.ts
3
+ export type DirectiveKind = "workflow" | "step";
4
+ export interface TransformMetadataEntry {
6
5
  readonly kind: DirectiveKind;
7
6
  readonly name: string;
8
7
  readonly generatedName: string;
9
8
  readonly workflowName: string;
10
9
  readonly version?: string;
11
10
  }
12
- /** Describes the workflow transform metadata contract. */
13
- interface TransformMetadata {
11
+ export interface TransformMetadata {
14
12
  readonly file: string;
15
13
  readonly entries: readonly TransformMetadataEntry[];
16
14
  }
17
- /** Describes the workflow transform manifest function contract. */
18
- interface TransformManifestFunction {
15
+ export interface TransformManifestFunction {
19
16
  readonly kind: DirectiveKind;
20
17
  readonly exportName: string;
21
18
  readonly localName: string;
@@ -23,8 +20,7 @@ interface TransformManifestFunction {
23
20
  readonly workflowName: string;
24
21
  readonly version?: string;
25
22
  }
26
- /** Describes the workflow transform manifest import edge contract. */
27
- interface TransformManifestImportEdge {
23
+ export interface TransformManifestImportEdge {
28
24
  readonly source: string;
29
25
  readonly importName: string;
30
26
  readonly localName: string;
@@ -32,14 +28,12 @@ interface TransformManifestImportEdge {
32
28
  readonly workflowName: string;
33
29
  readonly version?: string;
34
30
  }
35
- /** Describes the workflow transform manifest contract. */
36
- interface TransformManifest {
31
+ export interface TransformManifest {
37
32
  readonly file: string;
38
33
  readonly functions: readonly TransformManifestFunction[];
39
34
  readonly imports: readonly TransformManifestImportEdge[];
40
35
  }
41
- /** Options for workflow transform. */
42
- interface TransformOptions {
36
+ export interface TransformOptions {
43
37
  readonly root?: string;
44
38
  readonly name?: (localName: string, file: string, kind: DirectiveKind) => string;
45
39
  readonly version?: string | ((workflowName: string, file: string) => string | undefined);
@@ -47,19 +41,18 @@ interface TransformOptions {
47
41
  readonly sourcemap?: boolean;
48
42
  readonly runtimeImport?: string;
49
43
  }
50
- /** Result returned by workflow transform. */
51
- interface TransformResult {
44
+ /** Source map emitted by the workflow compiler, including the original source text. */
45
+ export interface SourceMap extends SourceMapCompact {
46
+ sourcesContent: string[];
47
+ }
48
+ export interface TransformResult {
52
49
  readonly code: string;
53
- readonly map?: unknown;
50
+ readonly map?: SourceMap;
54
51
  readonly metadata: TransformMetadata;
55
52
  readonly manifest: TransformManifest;
56
53
  }
57
- /** Options for workflow build-tool plugins. */
58
- interface WorkflowPluginOptions extends TransformOptions {
54
+ export interface PluginOptions extends TransformOptions {
59
55
  readonly include?: readonly string[];
60
56
  readonly exclude?: readonly string[];
61
57
  }
62
- /** Options for workflow Vite plugin. */
63
- type VitePluginOptions = WorkflowPluginOptions;
64
- //#endregion
65
- export { DirectiveKind, TransformManifest, TransformManifestFunction, TransformManifestImportEdge, TransformMetadata, TransformMetadataEntry, TransformOptions, TransformResult, VitePluginOptions, WorkflowPluginOptions };
58
+ //#endregion
@@ -0,0 +1 @@
1
+ export {};
@@ -1,92 +1,80 @@
1
- import { WorkflowRetryConfig } from "./retry.mjs";
2
- import { WorkflowDeterministicApi, WorkflowStepApi } from "./step.mjs";
1
+ import { RetryConfig } from "./retry.mjs";
2
+ import { StepApi } from "./step.mjs";
3
3
  import { Schema, SchemaOutput } from "@temelj/standard-schema";
4
- import { Logger } from "@temelj/log";
5
4
  //#region src/types/definition.d.ts
6
5
  /** Configuration used to name, version, validate, and retry a workflow definition. */
7
- interface WorkflowDefinitionConfig<TSchema extends Schema | undefined = undefined> {
6
+ export interface DefinitionConfig<TSchema extends Schema | undefined = undefined> {
8
7
  readonly name: string;
9
8
  readonly version?: string;
10
9
  readonly schema?: TSchema;
11
- readonly retry?: WorkflowRetryConfig;
10
+ readonly retry?: RetryConfig;
12
11
  }
13
12
  /** Infers the parsed workflow input type from a schema, falling back when no schema is present. */
14
- type WorkflowInputFromSchema<TSchema extends Schema | undefined, TFallback> = TSchema extends Schema ? SchemaOutput<TSchema> : TFallback;
13
+ export type InputFromSchema<TSchema extends Schema | undefined, TFallback> = TSchema extends Schema ? SchemaOutput<TSchema> : TFallback;
15
14
  /** Infers the raw workflow input accepted before schema parsing, falling back when no schema is present. */
16
- type WorkflowRawInputFromSchema<TSchema extends Schema | undefined, TFallback> = TSchema extends Schema<infer TInput, unknown> ? TInput : TFallback;
15
+ export type RawInputFromSchema<TSchema extends Schema | undefined, TFallback> = TSchema extends Schema<infer TInput, unknown> ? TInput : TFallback;
17
16
  /** Durable workflow contract identified by name, optional version, and typed input/output markers. */
18
- interface WorkflowDefinition<TInput = unknown, TOutput = unknown, TRawInput = TInput> {
17
+ export interface WorkflowDefinition<TInput = unknown, TOutput = unknown, TRawInput = TInput> {
19
18
  readonly kind: "definition";
20
- readonly config: WorkflowDefinitionConfig<Schema | undefined>;
19
+ readonly config: DefinitionConfig<Schema | undefined>;
21
20
  readonly name: string;
22
21
  readonly version?: string;
23
- readonly types?: WorkflowDefinitionTypes<TInput, TOutput, TRawInput>;
22
+ readonly types?: DefinitionTypes<TInput, TOutput, TRawInput>;
24
23
  }
25
24
  /** Compile-time type markers carried by workflow definitions without affecting runtime behavior. */
26
- interface WorkflowDefinitionTypes<TInput, TOutput, TRawInput> {
25
+ export interface DefinitionTypes<TInput, TOutput, TRawInput> {
27
26
  /** Parsed input type received by the workflow handler. */
28
27
  readonly input: TInput;
29
- /** Output type returned by the workflow handler. */
30
28
  readonly output: TOutput;
31
29
  /** Raw input type accepted before schema validation. */
32
30
  readonly rawInput: TRawInput;
33
31
  }
34
32
  /** Executable workflow implementation that binds a durable definition to a handler. */
35
- interface WorkflowImplementation<TInput = unknown, TOutput = unknown, TRawInput = TInput> {
33
+ export interface WorkflowImplementation<TInput = unknown, TOutput = unknown, TRawInput = TInput> {
36
34
  readonly kind: "implementation";
37
35
  readonly definition: WorkflowDefinition<TInput, TOutput, TRawInput>;
38
- readonly config: WorkflowDefinitionConfig<Schema | undefined>;
36
+ readonly config: DefinitionConfig<Schema | undefined>;
39
37
  readonly name: string;
40
38
  readonly version?: string;
41
39
  readonly handler: WorkflowHandler<TInput, TOutput>;
42
40
  }
43
41
  /** Function that runs workflow logic with a replay-safe workflow context. */
44
- type WorkflowHandler<TInput, TOutput> = (context: WorkflowContext<TInput>) => Promise<TOutput> | TOutput;
42
+ export type WorkflowHandler<TInput, TOutput> = (context: WorkflowContext<TInput>) => Promise<TOutput> | TOutput;
45
43
  /** Context passed to a workflow handler during execution and replay. */
46
- interface WorkflowContext<TInput> {
44
+ export interface WorkflowContext<TInput> {
47
45
  /** Parsed workflow input for the current run. */
48
46
  readonly input: TInput;
49
47
  /** Durable command API for workflow code. */
50
- readonly step: WorkflowStepApi;
51
- /** Replay-safe time, random, ID, and byte sources for workflow orchestration code. */
52
- readonly deterministic: WorkflowDeterministicApi;
53
- /** Scoped operational logger for workflow orchestration code. */
54
- readonly log: Logger;
48
+ readonly step: StepApi;
55
49
  /** Stable identity and creation metadata for the current run. */
56
- readonly run: WorkflowRunContext;
57
- /** Abort signal for workflow cancellation. */
50
+ readonly run: RunContext;
58
51
  readonly signal: AbortSignal;
59
- /** Workflow version stored on the current run, if any. */
60
- readonly version: string | undefined;
61
52
  }
62
53
  /** Stable identity and creation metadata for the currently executing run. */
63
- interface WorkflowRunContext {
54
+ export interface RunContext {
64
55
  readonly id: string;
65
56
  readonly workflowName: string;
66
57
  readonly workflowVersion?: string;
67
58
  readonly createdAt: Temporal.Instant;
68
59
  }
69
60
  /** Workflow target accepted by start and schedule APIs. */
70
- type WorkflowStartTarget<TInput = unknown, TOutput = unknown, TRawInput = TInput> = WorkflowDefinition<TInput, TOutput, TRawInput> | WorkflowImplementation<TInput, TOutput, TRawInput>;
61
+ export type StartTarget<TInput = unknown, TOutput = unknown, TRawInput = TInput> = WorkflowDefinition<TInput, TOutput, TRawInput> | WorkflowImplementation<TInput, TOutput, TRawInput>;
71
62
  /** Registry surface required by clients, workers, and runtimes. */
72
- interface RegistryLike {
63
+ export interface RegistryLike {
73
64
  /** Creates and registers a workflow implementation. */
74
65
  implementWorkflow<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>, handler: WorkflowHandler<TInput, TOutput>): WorkflowImplementation<TInput, TOutput, TRawInput>;
75
- /** Registers an existing workflow implementation. */
76
66
  register<TInput, TOutput, TRawInput = TInput>(implementation: WorkflowImplementation<TInput, TOutput, TRawInput>): void;
77
- /** Returns the implementation registered for a definition, if present. */
67
+ /** Returns the implementation registered for this exact definition object, if present. */
78
68
  get<TInput, TOutput, TRawInput = TInput>(definition: WorkflowDefinition<TInput, TOutput, TRawInput>): WorkflowImplementation<TInput, TOutput, TRawInput> | undefined;
79
69
  /** Returns the implementation registered for a workflow name and optional version. */
80
70
  getByName(name: string, version?: string): WorkflowImplementation<unknown, unknown> | undefined;
81
71
  /** Returns the latest registered implementation for a workflow name. */
82
72
  latest(name: string): WorkflowImplementation<unknown, unknown> | undefined;
83
73
  }
84
- /** In-memory workflow registry contract. */
85
- interface Registry extends RegistryLike {
74
+ export interface Registry extends RegistryLike {
86
75
  /** Returns all registered workflow implementations. */
87
76
  entries(): readonly WorkflowImplementation<unknown, unknown>[];
88
77
  /** Returns the latest registered implementation for a workflow name. */
89
78
  latest(name: string): WorkflowImplementation<unknown, unknown> | undefined;
90
79
  }
91
- //#endregion
92
- export { Registry, RegistryLike, WorkflowContext, WorkflowDefinition, WorkflowDefinitionConfig, WorkflowDefinitionTypes, WorkflowHandler, WorkflowImplementation, WorkflowInputFromSchema, WorkflowRawInputFromSchema, WorkflowRunContext, WorkflowStartTarget };
80
+ //#endregion