@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,69 +1,56 @@
1
- import { MessageId } from "./message-id.mjs";
2
- import { RunId } from "./run-id.mjs";
3
- import { WorkflowListRunsOptions } from "./run-list.mjs";
1
+ import { MessageId, RunId } from "./ids.mjs";
2
+ import { ListRunsOptions } from "./run-list.mjs";
4
3
  import { Schema } from "@temelj/standard-schema";
5
4
  //#region src/types/message.d.ts
6
- /** Typed message channel that maps optional keys to durable message ids. */
7
- interface MessageChannel<TPayload = unknown, TKey = void> {
5
+ /** Schema-validated message channel bound to one durable message ID. */
6
+ export interface MessageChannel<TPayload = unknown, TRawPayload = unknown> {
8
7
  readonly name: string;
9
- readonly schema?: Schema;
10
- readonly resolveMessageId: (...args: MessageChannelKeyArgs<TKey>) => MessageId;
11
- readonly types?: MessageChannelTypes<TPayload, TKey>;
8
+ readonly schema: Schema<TRawPayload, TPayload>;
12
9
  }
13
- /** Compile-time payload and key markers carried by a message channel. */
14
- interface MessageChannelTypes<TPayload, TKey> {
15
- readonly payload: TPayload;
16
- readonly key: TKey;
17
- }
18
- /** Argument tuple required when deriving a message id from a channel key. */
19
- type MessageChannelKeyArgs<TKey> = [void] extends [TKey] ? [key?: TKey] : [key: TKey];
20
10
  /** Configuration for defining a typed message channel. */
21
- interface MessageChannelConfig<TKey = void, TSchema extends Schema | undefined = undefined> {
11
+ export interface MessageChannelConfig<TPayload, TRawPayload = unknown> {
22
12
  readonly name: string;
23
- readonly schema?: TSchema;
24
- readonly resolveMessageId?: (...args: MessageChannelKeyArgs<TKey>) => MessageId;
13
+ readonly schema: Schema<TRawPayload, TPayload>;
25
14
  }
26
15
  /** Options for sending a concrete message id to a workflow run. */
27
- interface SendMessageOptions {
16
+ export interface SendMessageOptions {
28
17
  readonly messageId: MessageId;
29
18
  readonly payload?: unknown;
30
19
  readonly idempotencyKey?: string;
31
20
  }
32
- /** Options for sending through a typed message channel. */
33
- interface SendMessageChannelOptions<TPayload = unknown, TKey = void> {
34
- readonly key?: TKey;
21
+ export interface SendMessageChannelOptions<TPayload = unknown> {
35
22
  readonly payload?: TPayload;
36
23
  readonly idempotencyKey?: string;
37
24
  }
38
25
  /** Object form for sending through a typed message channel. */
39
- interface SendMessageChannelObject<TPayload = unknown, TKey = void> extends SendMessageChannelOptions<TPayload, TKey> {
40
- readonly channel: MessageChannel<TPayload, TKey>;
26
+ export interface SendMessageChannelObject<TPayload = unknown, TRawPayload = TPayload> extends SendMessageChannelOptions<TRawPayload> {
27
+ readonly channel: MessageChannel<TPayload, TRawPayload>;
41
28
  }
42
29
  /** Accepted input forms for sending a message to one run. */
43
- type SendMessageInput = SendMessageOptions | SendMessageChannelObject;
30
+ export type SendMessageInput = SendMessageOptions | SendMessageChannelObject;
44
31
  /** Options for broadcasting a concrete message id to matching runs. */
45
- interface BroadcastMessageOptions extends SendMessageOptions {
32
+ export interface BroadcastMessageOptions extends SendMessageOptions {
46
33
  readonly payload?: unknown;
47
- readonly target?: WorkflowListRunsOptions;
34
+ readonly target?: ListRunsOptions;
48
35
  }
49
36
  /** Options for broadcasting through a typed message channel to matching runs. */
50
- interface BroadcastMessageChannelOptions<TPayload = unknown, TKey = void> extends SendMessageChannelOptions<TPayload, TKey> {
51
- readonly target?: WorkflowListRunsOptions;
37
+ export interface BroadcastMessageChannelOptions<TPayload = unknown> extends SendMessageChannelOptions<TPayload> {
38
+ readonly target?: ListRunsOptions;
52
39
  }
53
40
  /** Object form for broadcasting through a typed message channel. */
54
- interface BroadcastMessageChannelObject<TPayload = unknown, TKey = void> extends BroadcastMessageChannelOptions<TPayload, TKey> {
55
- readonly channel: MessageChannel<TPayload, TKey>;
41
+ export interface BroadcastMessageChannelObject<TPayload = unknown, TRawPayload = TPayload> extends BroadcastMessageChannelOptions<TRawPayload> {
42
+ readonly channel: MessageChannel<TPayload, TRawPayload>;
56
43
  }
57
44
  /** Accepted input forms for broadcasting a message to matching runs. */
58
- type BroadcastMessageInput = BroadcastMessageOptions | BroadcastMessageChannelObject;
45
+ export type BroadcastMessageInput = BroadcastMessageOptions | BroadcastMessageChannelObject;
59
46
  /** Summary returned after broadcasting a message to matching runs. */
60
- interface BroadcastMessageResult {
47
+ export interface BroadcastMessageResult {
61
48
  readonly messageId: MessageId;
62
49
  readonly runIds: RunId[];
63
50
  readonly deliveredMessages: number;
64
51
  }
65
52
  /** Options for waiting on a concrete message id from workflow code. */
66
- interface WaitForMessageOptions<TSchema extends Schema | undefined = undefined> {
53
+ export interface WaitForMessageOptions<TSchema extends Schema | undefined = undefined> {
67
54
  readonly commandId?: string;
68
55
  readonly name?: string;
69
56
  readonly messageId: MessageId;
@@ -71,17 +58,16 @@ interface WaitForMessageOptions<TSchema extends Schema | undefined = undefined>
71
58
  readonly schema?: TSchema;
72
59
  }
73
60
  /** Options for waiting through a typed message channel from workflow code. */
74
- interface WaitForMessageChannelOptions<TKey = void> {
61
+ export interface WaitForMessageChannelOptions {
75
62
  readonly commandId?: string;
76
63
  readonly name?: string;
77
- readonly key?: TKey;
78
64
  readonly timeout?: Temporal.Duration;
79
65
  }
80
- /** Object form for waiting through a typed message channel. */
81
- interface WaitForMessageChannelObject<TKey = void> extends WaitForMessageChannelOptions<TKey> {
82
- readonly channel: MessageChannel<unknown, TKey>;
66
+ /** Sends messages to workflow runs, by message ID or through a typed channel. */
67
+ export interface MessageSender {
68
+ /** Sends a named message to a workflow run. */
69
+ send(runId: RunId, options: SendMessageInput): Promise<void>;
70
+ /** Sends a payload through a typed message channel to a workflow run. */
71
+ send<TPayload, TRawPayload = TPayload>(runId: RunId, channel: MessageChannel<TPayload, TRawPayload>, options?: SendMessageChannelOptions<TRawPayload>): Promise<void>;
83
72
  }
84
- /** Accepted input forms for waiting on a workflow message. */
85
- type WaitForMessageInput<TSchema extends Schema | undefined = undefined> = WaitForMessageOptions<TSchema> | WaitForMessageChannelObject;
86
- //#endregion
87
- export { BroadcastMessageChannelObject, BroadcastMessageChannelOptions, BroadcastMessageInput, BroadcastMessageOptions, BroadcastMessageResult, MessageChannel, MessageChannelConfig, MessageChannelKeyArgs, MessageChannelTypes, type MessageId, SendMessageChannelObject, SendMessageChannelOptions, SendMessageInput, SendMessageOptions, WaitForMessageChannelObject, WaitForMessageChannelOptions, WaitForMessageInput, WaitForMessageOptions };
73
+ //#endregion
@@ -1,46 +1,38 @@
1
- import { MessageId } from "./message-id.mjs";
2
- import { RunId } from "./run-id.mjs";
1
+ import { MessageId, RunId, StreamId, WorkerId } from "./ids.mjs";
2
+ import { WorkflowErrorRecord } from "./error.mjs";
3
3
  import { CleanupRunsResult } from "./cleanup.mjs";
4
+ import { HookKind } from "./hook.mjs";
4
5
  import { ScheduleId, TickSchedulesResult } from "./schedule.mjs";
5
- import { StreamId } from "./stream-id.mjs";
6
- import { WorkflowStepAttemptRecord } from "./step-attempts.mjs";
7
- import { WorkerId } from "./worker-id.mjs";
6
+ import { StepAttemptRecord } from "./step-attempts.mjs";
8
7
  import { TelemetryContext } from "./telemetry.mjs";
9
- import { WorkflowLifecycleEvent, WorkflowRunRecord } from "./run.mjs";
10
- import { ChildWorkflowStartedEvent, EventRecord, MessageSentEvent, StreamEventKind, StreamFailedError } from "./events.mjs";
8
+ import { RunRecord, WorkflowLifecycleEvent } from "./run.mjs";
9
+ import { ChildWorkflowStartedEvent, EventRecord, MessageSentEvent, StreamEventKind } from "./events.mjs";
11
10
  import { StorageValue } from "@temelj/storage";
12
- import { EventHandler, EventPattern, Unsubscribe } from "@temelj/event";
11
+ import { EventHandler, EventPattern } from "@temelj/event";
13
12
  //#region src/types/observation.d.ts
14
- /** Describes the workflow run observation event contract. */
15
- type RunObservationEvent = WorkflowLifecycleEvent;
16
- /** Describes the workflow durable event observation event contract. */
17
- interface DurableEventObservationEvent {
13
+ export interface DurableEventObservationEvent {
18
14
  readonly runId: RunId;
19
15
  readonly event: EventRecord;
20
16
  readonly events: readonly EventRecord[];
21
17
  }
22
- /** Describes the workflow step attempt observation event contract. */
23
- interface StepAttemptObservationEvent {
18
+ export interface StepAttemptObservationEvent {
24
19
  readonly runId: RunId;
25
- readonly attempt: WorkflowStepAttemptRecord;
20
+ readonly attempt: StepAttemptRecord;
26
21
  }
27
- /** Describes the workflow message observation event contract. */
28
- interface MessageObservationEvent {
22
+ export interface MessageObservationEvent {
29
23
  readonly runId: RunId;
30
24
  readonly messageId: MessageId;
31
25
  readonly payload?: StorageValue;
32
26
  readonly timestamp?: Temporal.Instant;
33
27
  readonly traceContext?: TelemetryContext;
34
28
  }
35
- /** Describes the workflow resume observation event contract. */
36
- interface ResumeObservationEvent {
29
+ export interface ResumeObservationEvent {
37
30
  readonly runId: RunId;
38
31
  readonly messageId: MessageId;
39
32
  readonly payload?: StorageValue;
40
33
  readonly traceContext?: TelemetryContext;
41
34
  }
42
- /** Describes the workflow stream observation event contract. */
43
- interface StreamObservationEvent {
35
+ export interface StreamObservationEvent {
44
36
  readonly runId: RunId;
45
37
  readonly streamId: StreamId;
46
38
  readonly streamName?: string;
@@ -49,29 +41,27 @@ interface StreamObservationEvent {
49
41
  readonly stepId: string;
50
42
  readonly stepName: string;
51
43
  readonly index?: number;
52
- readonly error?: StreamFailedError;
44
+ readonly error?: WorkflowErrorRecord;
53
45
  }
54
- /** Describes a child workflow start observation event. */
55
- interface ChildWorkflowStartedObservationEvent {
46
+ export interface ChildWorkflowStartedObservationEvent {
56
47
  readonly runId: RunId;
57
48
  readonly event: ChildWorkflowStartedEvent;
58
49
  }
59
- /** Describes the workflow cleanup observation event contract. */
60
- interface CleanupObservationEvent {
50
+ export interface CleanupObservationEvent {
61
51
  readonly result: CleanupRunsResult;
62
52
  }
63
53
  /** Describes worker-side operation observations that are not durable run transitions. */
64
- interface WorkerOperationObservationEvent {
54
+ export interface WorkerOperationObservationEvent {
65
55
  readonly workerId: WorkerId;
66
56
  readonly runId?: RunId;
67
57
  readonly operation: "poll" | "claim" | "heartbeat" | "lease_extension" | "lease_release";
68
58
  readonly status: "success" | "failure" | "claimed" | "empty";
69
59
  readonly timestamp: Temporal.Instant;
70
- readonly run?: WorkflowRunRecord;
60
+ readonly run?: RunRecord;
71
61
  readonly error?: unknown;
72
62
  }
73
63
  /** Describes one recurring schedule fire that created a workflow run. */
74
- interface ScheduleRunCreatedObservationEvent {
64
+ export interface ScheduleRunCreatedObservationEvent {
75
65
  readonly scheduleId: ScheduleId;
76
66
  readonly runId: RunId;
77
67
  readonly workflowName: string;
@@ -80,25 +70,24 @@ interface ScheduleRunCreatedObservationEvent {
80
70
  readonly timestamp: Temporal.Instant;
81
71
  }
82
72
  /** Describes one recurring schedule tick operation. */
83
- interface ScheduleTickObservationEvent {
73
+ export interface ScheduleTickObservationEvent {
84
74
  readonly result: TickSchedulesResult;
85
75
  readonly timestamp: Temporal.Instant;
86
76
  }
87
- /** Describes the workflow observation event map contract. */
88
- interface ObservationEventMap {
89
- readonly "workflow:run-created": RunObservationEvent;
90
- readonly "workflow:run-claimed": RunObservationEvent;
91
- readonly "workflow:run-started": RunObservationEvent;
92
- readonly "workflow:run-waiting": RunObservationEvent;
93
- readonly "workflow:run-rescheduled": RunObservationEvent;
94
- readonly "workflow:run-lease-released": RunObservationEvent;
95
- readonly "workflow:run-manual-retry": RunObservationEvent;
96
- readonly "workflow:run-permanently-failed": RunObservationEvent;
97
- readonly "workflow:run-retrying": RunObservationEvent;
98
- readonly "workflow:run-completed": RunObservationEvent;
99
- readonly "workflow:run-failed": RunObservationEvent;
100
- readonly "workflow:run-canceled": RunObservationEvent;
101
- readonly "workflow:run-metadata-updated": RunObservationEvent;
77
+ export interface ObservationEventMap {
78
+ readonly "workflow:run-created": WorkflowLifecycleEvent;
79
+ readonly "workflow:run-claimed": WorkflowLifecycleEvent;
80
+ readonly "workflow:run-started": WorkflowLifecycleEvent;
81
+ readonly "workflow:run-waiting": WorkflowLifecycleEvent;
82
+ readonly "workflow:run-rescheduled": WorkflowLifecycleEvent;
83
+ readonly "workflow:run-lease-released": WorkflowLifecycleEvent;
84
+ readonly "workflow:run-manual-retry": WorkflowLifecycleEvent;
85
+ readonly "workflow:run-permanently-failed": WorkflowLifecycleEvent;
86
+ readonly "workflow:run-retrying": WorkflowLifecycleEvent;
87
+ readonly "workflow:run-completed": WorkflowLifecycleEvent;
88
+ readonly "workflow:run-failed": WorkflowLifecycleEvent;
89
+ readonly "workflow:run-canceled": WorkflowLifecycleEvent;
90
+ readonly "workflow:run-metadata-updated": WorkflowLifecycleEvent;
102
91
  readonly "workflow:durable-event-appended": DurableEventObservationEvent;
103
92
  readonly "workflow:step-attempt-updated": StepAttemptObservationEvent;
104
93
  readonly "workflow:message-sent": MessageObservationEvent;
@@ -112,14 +101,12 @@ interface ObservationEventMap {
112
101
  readonly "workflow:schedule-ticked": ScheduleTickObservationEvent;
113
102
  readonly "workflow:schedule-run-created": ScheduleRunCreatedObservationEvent;
114
103
  }
115
- /** Type used for workflow observation event pattern values. */
116
- type ObservationEventPattern = EventPattern<ObservationEventMap>;
117
- /** Type used for workflow observation event handler values. */
118
- type ObservationEventHandler<Pattern extends ObservationEventPattern = ObservationEventPattern> = EventHandler<ObservationEventMap, Pattern>;
119
- /** Type used for workflow observation unsubscribe values. */
120
- type ObservationUnsubscribe = Unsubscribe;
104
+ /** An observation name paired with its corresponding payload. */
105
+ export type ObservationEventArgs = { [Key in keyof ObservationEventMap]: [name: Key, payload: ObservationEventMap[Key]]; }[keyof ObservationEventMap];
106
+ export type ObservationEventPattern = EventPattern<ObservationEventMap>;
107
+ export type ObservationEventHandler<Pattern extends ObservationEventPattern = ObservationEventPattern> = EventHandler<ObservationEventMap, Pattern>;
121
108
  /** Internal emitter facade used to publish workflow observation events. */
122
- interface ObservationEmitter {
109
+ export interface ObservationEmitter {
123
110
  readonly on: <Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>) => () => void;
124
111
  readonly once: <Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>) => () => void;
125
112
  readonly off: <Pattern extends ObservationEventPattern>(pattern: Pattern, handler: ObservationEventHandler<Pattern>) => void;
@@ -129,12 +116,11 @@ interface ObservationEmitter {
129
116
  };
130
117
  readonly clearListeners: (pattern?: ObservationEventPattern) => void;
131
118
  readonly listenerCount: (pattern?: ObservationEventPattern) => number;
132
- readonly emitRunEvent: (run: WorkflowRunRecord, previousRun?: WorkflowRunRecord) => void;
133
- readonly emitRunMetadataUpdated: (run: WorkflowRunRecord, previousRun?: WorkflowRunRecord) => void;
119
+ readonly emitRunEvent: (run: RunRecord, previousRun?: RunRecord) => void;
120
+ readonly emitRunMetadataUpdated: (run: RunRecord, previousRun?: RunRecord) => void;
134
121
  readonly emitDurableEventAppended: (runId: RunId, event: EventRecord, events: readonly EventRecord[]) => void;
135
122
  readonly emitMessageSent: (runId: RunId, event: MessageSentEvent) => void;
136
- readonly emitHookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
137
- readonly emitWebhookResumed: (runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
123
+ readonly emitHookResumed: (kind: HookKind, runId: RunId, messageId: MessageId, payload: StorageValue | undefined, traceContext: TelemetryContext | undefined) => void;
138
124
  readonly emitChildWorkflowStarted: (event: ChildWorkflowStartedObservationEvent) => void;
139
125
  readonly emitCleanupCompleted: (result: CleanupRunsResult) => void;
140
126
  readonly emitRetentionApplied: (result: CleanupRunsResult) => void;
@@ -142,5 +128,4 @@ interface ObservationEmitter {
142
128
  readonly emitScheduleTicked: (event: ScheduleTickObservationEvent) => void;
143
129
  readonly emitScheduleRunCreated: (event: ScheduleRunCreatedObservationEvent) => void;
144
130
  }
145
- //#endregion
146
- export { ChildWorkflowStartedObservationEvent, CleanupObservationEvent, DurableEventObservationEvent, MessageObservationEvent, ObservationEmitter, ObservationEventHandler, ObservationEventMap, ObservationEventPattern, ObservationUnsubscribe, ResumeObservationEvent, RunObservationEvent, ScheduleRunCreatedObservationEvent, ScheduleTickObservationEvent, StepAttemptObservationEvent, StreamObservationEvent, WorkerOperationObservationEvent };
131
+ //#endregion
@@ -1,32 +1,16 @@
1
- import { z } from "zod";
2
1
  //#region src/types/pagination.d.ts
3
- declare const workflowCursorSchema: z.ZodString;
4
- declare const workflowPageDirectionSchema: z.ZodLiteral<"forward">;
5
- declare const workflowCursorKeyPartSchema: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
6
- declare const workflowCursorPayloadSchema: z.ZodObject<{
7
- key: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
8
- }, z.core.$strip>;
9
- /** Type used for workflow cursor values. */
10
- type Cursor = string;
11
- /** Type used for workflow page direction values. */
12
- type PageDirection = "forward";
13
- /** Options for workflow page. */
14
- interface PageOptions {
2
+ export type Cursor = string;
3
+ export interface PageOptions {
15
4
  readonly cursor?: Cursor;
16
5
  readonly limit?: number;
17
- readonly direction?: PageDirection;
18
6
  }
19
- /** Type used for encoded workflow cursor payloads. */
20
- interface CursorPayload {
7
+ export interface CursorPayload {
21
8
  readonly key: readonly CursorKeyPart[];
22
9
  }
23
- /** Type used for sortable workflow cursor key parts. */
24
- type CursorKeyPart = string | number | boolean | null;
25
- /** Describes the workflow page contract. */
26
- interface WorkflowPage<TItem> {
10
+ export type CursorKeyPart = string | number | boolean | null;
11
+ export interface WorkflowPage<TItem> {
27
12
  readonly items: readonly TItem[];
28
13
  readonly nextCursor?: Cursor;
29
14
  readonly hasMore: boolean;
30
15
  }
31
- //#endregion
32
- export { Cursor, CursorKeyPart, CursorPayload, PageDirection, PageOptions, WorkflowPage, workflowCursorKeyPartSchema, workflowCursorPayloadSchema, workflowCursorSchema, workflowPageDirectionSchema };
16
+ //#endregion
@@ -1,13 +1 @@
1
- import { z } from "zod";
2
- //#region src/types/pagination.ts
3
- const workflowCursorSchema = z.string({ error: "Workflow cursor is invalid" });
4
- const workflowPageDirectionSchema = z.literal("forward", { error: "Workflow page direction is invalid" });
5
- const workflowCursorKeyPartSchema = z.union([
6
- z.string(),
7
- z.number(),
8
- z.boolean(),
9
- z.null()
10
- ]);
11
- const workflowCursorPayloadSchema = z.object({ key: z.array(workflowCursorKeyPartSchema).nonempty() });
12
- //#endregion
13
- export { workflowCursorKeyPartSchema, workflowCursorPayloadSchema, workflowCursorSchema, workflowPageDirectionSchema };
1
+ export {};
@@ -1,62 +1,30 @@
1
- import { RunId } from "./run-id.mjs";
2
- import { Timeline } from "./timeline.mjs";
3
- import { WorkflowAttributePatch, WorkflowRunRecord, WorkflowRunStatus } from "./run.mjs";
4
1
  import { WorkflowErrorRecord } from "./error.mjs";
5
- import { EventRecord } from "./events.mjs";
6
- import { StorageValue } from "@temelj/storage";
2
+ import { RunRecord } from "./run.mjs";
7
3
  //#region src/types/result.d.ts
8
- /** Kind values for workflow execution results. */
9
- type ExecutionResultKind = "completed" | "waiting" | "failed";
10
- /** Base contract for workflow execution results. */
11
- interface ExecutionResultBase {
12
- readonly kind: ExecutionResultKind;
13
- readonly run: WorkflowRunRecord;
14
- }
4
+ export type ExecutionResultKind = "completed" | "waiting" | "failed";
15
5
  /** Result returned after a workflow execution attempt completes, waits, or fails. */
16
- type ExecutionResult<TOutput = unknown> = CompletedResult<TOutput> | WaitingResult | FailedResult;
6
+ export type ExecutionResult<TOutput = unknown> = CompletedResult<TOutput> | WaitingResult | FailedResult;
17
7
  /** Execution result for a workflow run that completed during the attempt. */
18
- interface CompletedResult<TOutput> {
8
+ export interface CompletedResult<TOutput> {
19
9
  readonly kind: "completed";
20
- readonly run: WorkflowRunRecord<StorageValue, TOutput>;
10
+ readonly run: RunRecord;
21
11
  readonly output: TOutput;
22
12
  }
23
13
  /** Execution result for a workflow run that parked until a later time or message. */
24
- interface WaitingResult {
14
+ export interface WaitingResult {
25
15
  readonly kind: "waiting";
26
- readonly run: WorkflowRunRecord;
16
+ readonly run: RunRecord;
27
17
  readonly availableAt: Temporal.Instant;
28
18
  }
29
19
  /** Execution result for a workflow run that failed during the attempt. */
30
- interface FailedResult {
20
+ export interface FailedResult {
31
21
  readonly kind: "failed";
32
- readonly run: WorkflowRunRecord;
22
+ readonly run: RunRecord;
33
23
  readonly error: WorkflowErrorRecord;
34
24
  }
35
- /** Engine-level handle for inspecting and controlling a workflow run. */
36
- interface WorkflowHandle<TOutput = unknown> {
37
- readonly runId: RunId;
38
- readonly workflowName: string;
39
- readonly workflowVersion?: string;
40
- getRun(): Promise<WorkflowRunRecord>;
41
- status(): Promise<WorkflowRunStatus>;
42
- events(): Promise<readonly EventRecord[]>;
43
- timeline(): Promise<Timeline>;
44
- result(): Promise<ExecutionResult<TOutput>>;
45
- setMetadata(metadata: unknown): Promise<WorkflowRunRecord>;
46
- setAttributes(attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
47
- cancel(): Promise<WorkflowRunRecord>;
48
- }
49
- /** Operations backing a workflow run handle facade. */
50
- interface HandleOperations {
51
- getTimeline(runId: RunId): Promise<Timeline>;
52
- setMetadata(runId: RunId, metadata: unknown): Promise<WorkflowRunRecord>;
53
- setAttributes(runId: RunId, attributes: WorkflowAttributePatch): Promise<WorkflowRunRecord>;
54
- cancel(runId: RunId): Promise<WorkflowRunRecord>;
55
- }
56
25
  /** Options for polling a client run handle until the run reaches a terminal result. */
57
- interface ResultOptions {
26
+ export interface ResultOptions {
58
27
  readonly pollInterval?: Temporal.Duration;
59
28
  readonly timeout?: Temporal.Duration;
60
29
  }
61
- //#endregion
62
- export { CompletedResult, ExecutionResult, ExecutionResultBase, ExecutionResultKind, FailedResult, HandleOperations, ResultOptions, WaitingResult, WorkflowHandle };
30
+ //#endregion
@@ -1,48 +1,41 @@
1
1
  //#region src/types/retry.d.ts
2
2
  /** Retry policy for workflow runs after retryable workflow failures. */
3
- interface WorkflowRetryConfig {
3
+ export interface RetryConfig {
4
4
  readonly maximumAttempts?: number;
5
5
  readonly initialInterval?: Temporal.Duration;
6
6
  readonly backoffCoefficient?: number;
7
7
  readonly maximumInterval?: Temporal.Duration;
8
8
  }
9
9
  /** Retry policy after duration values and defaults have been normalized. */
10
- interface WorkflowResolvedRetryConfig {
10
+ export interface ResolvedRetryConfig {
11
11
  readonly maximumAttempts: number;
12
12
  readonly initialInterval?: Temporal.Duration;
13
13
  readonly backoffCoefficient: number;
14
14
  readonly maximumInterval?: Temporal.Duration;
15
15
  }
16
- /** Retry policy for durable task attempts. */
17
- type WorkflowStepRetryConfig = WorkflowRetryConfig;
18
- /** Step retry policy after duration values and defaults have been normalized. */
19
- type WorkflowResolvedStepRetryConfig = WorkflowResolvedRetryConfig;
20
16
  /** Resolved retry policy used after a worker cannot find a workflow implementation. */
21
- interface WorkflowResolvedMissingImplementationRetryConfig {
17
+ export interface ResolvedMissingImplementationRetryConfig {
22
18
  readonly initialInterval: Temporal.Duration;
23
19
  readonly backoffCoefficient: number;
24
20
  readonly maximumInterval?: Temporal.Duration;
25
21
  readonly maximumAttempts: number;
26
22
  }
27
23
  /** Required default values used to complete missing-implementation retry options. */
28
- interface WorkflowMissingImplementationRetryDefaults {
24
+ export interface MissingImplementationRetryDefaults {
29
25
  readonly initialInterval: Temporal.Duration;
30
26
  readonly backoffCoefficient: number;
31
27
  readonly maximumAttempts: number;
32
28
  }
33
29
  /** Required default values used to complete workflow and step retry options. */
34
- interface WorkflowResolvedRetryDefaults {
30
+ export interface ResolvedRetryDefaults {
35
31
  readonly maximumAttempts: number;
36
32
  readonly backoffCoefficient: number;
37
33
  }
38
- /** Parsed retry policy before runtime defaults are applied. */
39
- type WorkflowParsedRetryConfig = WorkflowRetryConfig;
40
34
  /** Retry policy used when a worker cannot find an implementation for a claimed run. */
41
- interface WorkflowMissingImplementationRetryConfig {
35
+ export interface MissingImplementationRetryConfig {
42
36
  readonly initialInterval?: Temporal.Duration;
43
37
  readonly backoffCoefficient?: number;
44
38
  readonly maximumInterval?: Temporal.Duration;
45
39
  readonly maximumAttempts?: number;
46
40
  }
47
- //#endregion
48
- export { WorkflowMissingImplementationRetryConfig, WorkflowMissingImplementationRetryDefaults, WorkflowParsedRetryConfig, WorkflowResolvedMissingImplementationRetryConfig, WorkflowResolvedRetryConfig, WorkflowResolvedRetryDefaults, WorkflowResolvedStepRetryConfig, WorkflowRetryConfig, WorkflowStepRetryConfig };
41
+ //#endregion
@@ -1,10 +1,9 @@
1
1
  import { PageOptions } from "./pagination.mjs";
2
- import { WorkflowListStepAttemptsOptions } from "./step-attempts.mjs";
3
- import { WorkflowAttributeValue, WorkflowRunRetryReason, WorkflowRunStatus, WorkflowRunTransitionReason } from "./run.mjs";
2
+ import { ListStepAttemptsOptions } from "./step-attempts.mjs";
3
+ import { RunRetryReason, RunStatus, RunTransitionReason, WorkflowAttributeValue } from "./run.mjs";
4
4
  //#region src/types/run-list.d.ts
5
- /** Filters for listing stored workflow runs. */
6
- interface WorkflowListRunsOptions {
7
- readonly status?: WorkflowRunStatus | readonly WorkflowRunStatus[];
5
+ export interface ListRunsOptions {
6
+ readonly status?: RunStatus | readonly RunStatus[];
8
7
  readonly workflowName?: string;
9
8
  readonly workflowVersion?: string;
10
9
  readonly idempotencyKey?: string;
@@ -13,7 +12,7 @@ interface WorkflowListRunsOptions {
13
12
  readonly parentStepId?: string;
14
13
  readonly parentStepName?: string;
15
14
  readonly parentStepAttempt?: number;
16
- readonly lastTransitionReason?: WorkflowRunTransitionReason | readonly WorkflowRunTransitionReason[];
15
+ readonly lastTransitionReason?: RunTransitionReason | readonly RunTransitionReason[];
17
16
  readonly createdAtFrom?: Temporal.Instant;
18
17
  readonly createdAtTo?: Temporal.Instant;
19
18
  readonly updatedAtFrom?: Temporal.Instant;
@@ -26,7 +25,7 @@ interface WorkflowListRunsOptions {
26
25
  readonly availableAtTo?: Temporal.Instant;
27
26
  readonly leaseExpiresAtFrom?: Temporal.Instant;
28
27
  readonly leaseExpiresAtTo?: Temporal.Instant;
29
- readonly retryReason?: WorkflowRunRetryReason | readonly WorkflowRunRetryReason[];
28
+ readonly retryReason?: RunRetryReason | readonly RunRetryReason[];
30
29
  readonly retryAtFrom?: Temporal.Instant;
31
30
  readonly retryAtTo?: Temporal.Instant;
32
31
  readonly cleanupFinishedAtBefore?: Temporal.Instant;
@@ -36,8 +35,7 @@ interface WorkflowListRunsOptions {
36
35
  readonly limit?: number;
37
36
  }
38
37
  /** Paginated filters for listing stored workflow runs. */
39
- type WorkflowListRunsPageOptions = WorkflowListRunsOptions & PageOptions;
38
+ export type ListRunsPageOptions = ListRunsOptions & PageOptions;
40
39
  /** Paginated filters for listing materialized step attempts. */
41
- type WorkflowListStepAttemptsPageOptions = WorkflowListStepAttemptsOptions & PageOptions;
42
- //#endregion
43
- export { WorkflowListRunsOptions, WorkflowListRunsPageOptions, WorkflowListStepAttemptsPageOptions };
40
+ export type ListStepAttemptsPageOptions = ListStepAttemptsOptions & PageOptions;
41
+ //#endregion
@@ -1,86 +1,79 @@
1
- import { RunId } from "./run-id.mjs";
2
- import { StepId } from "./step-id.mjs";
1
+ import { RunId, StepId } from "./ids.mjs";
3
2
  import { WorkflowDefinition } from "./definition.mjs";
4
- import "./run.mjs";
5
3
  //#region src/types/run-options.d.ts
6
4
  /** Callback used to resolve the workflow version stored on a new run. */
7
- type WorkflowVersionResolver = (workflowName: string, definition: WorkflowDefinition<unknown, unknown, unknown>) => string | undefined | Promise<string | undefined>;
5
+ export type VersionResolver = (workflowName: string, definition: WorkflowDefinition<unknown, unknown, unknown>) => string | undefined | Promise<string | undefined>;
8
6
  /** Options that control workflow run creation and scheduling. */
9
- interface WorkflowStartOptions {
7
+ export interface StartOptions {
10
8
  readonly id?: string;
11
9
  readonly idempotencyKey?: string;
12
10
  readonly workflowVersion?: string;
13
- readonly workflowVersionResolver?: WorkflowVersionResolver;
11
+ readonly workflowVersionResolver?: VersionResolver;
14
12
  readonly context?: unknown;
15
- readonly parent?: WorkflowRunParentOptions;
13
+ readonly parent?: RunParentOptions;
16
14
  readonly availableAt?: Temporal.Instant;
17
15
  readonly deadlineAt?: Temporal.Instant;
18
16
  }
19
17
  /** Options for creating a single delayed workflow run at the next interval boundary. */
20
- interface ScheduleNextOptions {
18
+ export interface ScheduleNextOptions {
21
19
  readonly id?: string;
22
20
  readonly every: Temporal.Duration;
23
21
  readonly idempotencyKey: string;
24
22
  readonly workflowVersion?: string;
25
- readonly workflowVersionResolver?: WorkflowVersionResolver;
23
+ readonly workflowVersionResolver?: VersionResolver;
26
24
  readonly context?: unknown;
27
- readonly parent?: WorkflowRunParentOptions;
25
+ readonly parent?: RunParentOptions;
28
26
  readonly deadlineAt?: Temporal.Instant;
29
27
  readonly from?: Temporal.Instant;
30
28
  }
31
29
  /** Resolved schedule-next options split into schedule metadata and run-start options. */
32
- interface ResolvedScheduleNextOptions {
30
+ export interface ResolvedScheduleNextOptions {
33
31
  readonly schedule: ScheduleNextOptions & {
34
32
  readonly from: Temporal.Instant;
35
33
  };
36
- readonly start: WorkflowStartOptions;
34
+ readonly start: StartOptions;
37
35
  }
38
- /** Single item in a batch workflow-start request. */
39
- interface WorkflowBatchStartItem<TRawInput = unknown> {
36
+ export interface BatchStartItem<TRawInput = unknown> {
40
37
  readonly input: TRawInput;
41
- readonly options?: WorkflowStartOptions;
38
+ readonly options?: StartOptions;
42
39
  }
43
40
  /** Parent workflow metadata stored on a child workflow run. */
44
- interface WorkflowRunParentOptions {
41
+ export interface RunParentOptions {
45
42
  readonly runId: RunId;
46
43
  readonly stepId?: StepId;
47
44
  readonly stepName?: string;
48
45
  readonly stepAttempt?: number;
49
46
  }
50
47
  /** Options for executing or resuming a workflow run. */
51
- interface WorkflowExecutionOptions {
52
- readonly start?: WorkflowStartOptions;
48
+ export interface ExecutionOptions {
49
+ readonly start?: StartOptions;
53
50
  readonly signal?: AbortSignal;
54
51
  }
55
52
  /** Options for creating a new run from an existing run record. */
56
- interface WorkflowRerunOptions {
53
+ export interface RerunOptions {
57
54
  readonly workflowName?: string;
58
55
  readonly workflowVersion?: string;
59
- readonly workflowVersionResolver?: WorkflowVersionResolver;
60
- readonly start?: WorkflowStartOptions;
56
+ readonly workflowVersionResolver?: VersionResolver;
57
+ readonly start?: StartOptions;
61
58
  }
62
59
  /** Options for moving a run back to pending at a new availability time. */
63
- interface WorkflowRescheduleRunOptions {
60
+ export interface RescheduleRunOptions {
64
61
  readonly availableAt?: Temporal.Instant;
65
62
  }
66
63
  /** Options for releasing an expired worker lease from a run. */
67
- interface WorkflowReleaseStaleLeaseOptions {
64
+ export interface ReleaseStaleLeaseOptions {
68
65
  readonly availableAt?: Temporal.Instant;
69
66
  }
70
- /** Options for retrying a failed workflow run. */
71
- interface WorkflowRetryFailedRunOptions {
67
+ export interface RetryFailedRunOptions {
72
68
  readonly availableAt?: Temporal.Instant;
73
69
  readonly force?: boolean;
74
70
  }
75
- /** Options for marking a run as permanently failed. */
76
- interface WorkflowMarkRunPermanentlyFailedOptions {
71
+ export interface MarkRunPermanentlyFailedOptions {
77
72
  readonly reason: string;
78
73
  }
79
- /** Options for resuming workflow execution. */
80
- interface WorkflowResumeOptions {
74
+ export interface ResumeOptions {
81
75
  readonly signal?: AbortSignal;
82
76
  }
83
77
  /** Typed argument tuple used by runnable workflow wrappers. */
84
- type WorkflowRunArguments<TRawInput, TOptions> = [unknown] extends [TRawInput] ? [input: TRawInput, options?: TOptions] : [undefined] extends [TRawInput] ? [input?: TRawInput, options?: TOptions] : [input: TRawInput, options?: TOptions];
85
- //#endregion
86
- export { ResolvedScheduleNextOptions, ScheduleNextOptions, WorkflowBatchStartItem, WorkflowExecutionOptions, WorkflowMarkRunPermanentlyFailedOptions, WorkflowReleaseStaleLeaseOptions, WorkflowRerunOptions, WorkflowRescheduleRunOptions, WorkflowResumeOptions, WorkflowRetryFailedRunOptions, WorkflowRunArguments, WorkflowRunParentOptions, WorkflowStartOptions, WorkflowVersionResolver };
78
+ export type RunArguments<TRawInput, TOptions> = [unknown] extends [TRawInput] ? [input: TRawInput, options?: TOptions] : [undefined] extends [TRawInput] ? [input?: TRawInput, options?: TOptions] : [input: TRawInput, options?: TOptions];
79
+ //#endregion