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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/README.md +394 -2
  2. package/dist/attributes.d.mts +11 -9
  3. package/dist/attributes.mjs +23 -5
  4. package/dist/bundle.d.mts +5 -23
  5. package/dist/bundle.mjs +2 -18
  6. package/dist/client/create.d.mts +26 -23
  7. package/dist/client/create.mjs +26 -32
  8. package/dist/client/facades.d.mts +12 -18
  9. package/dist/client/facades.mjs +102 -93
  10. package/dist/client/mod.mjs +1 -2
  11. package/dist/client/run-handle.d.mts +17 -54
  12. package/dist/client/run-handle.mjs +35 -105
  13. package/dist/client/worker-options.d.mts +8 -8
  14. package/dist/client/worker-options.mjs +11 -11
  15. package/dist/cloudflare/cloudflare.d.mts +4 -5
  16. package/dist/cloudflare/codec.d.mts +28 -13
  17. package/dist/cloudflare/codec.mjs +40 -17
  18. package/dist/cloudflare/entrypoint.d.mts +3 -4
  19. package/dist/cloudflare/entrypoint.mjs +4 -3
  20. package/dist/cloudflare/execution.d.mts +3 -4
  21. package/dist/cloudflare/execution.mjs +20 -13
  22. package/dist/cloudflare/host.d.mts +6 -7
  23. package/dist/cloudflare/host.mjs +7 -6
  24. package/dist/cloudflare/mod.d.mts +4 -4
  25. package/dist/cloudflare/mod.mjs +2 -2
  26. package/dist/cloudflare/name.d.mts +3 -4
  27. package/dist/cloudflare/name.mjs +3 -3
  28. package/dist/cloudflare/registry.d.mts +3 -23
  29. package/dist/cloudflare/registry.mjs +2 -20
  30. package/dist/cloudflare/runtime.d.mts +11 -18
  31. package/dist/cloudflare/runtime.mjs +52 -73
  32. package/dist/cloudflare/step.d.mts +6 -6
  33. package/dist/cloudflare/step.mjs +69 -57
  34. package/dist/cloudflare/types.d.mts +17 -36
  35. package/dist/collection.d.mts +8 -11
  36. package/dist/collection.mjs +10 -14
  37. package/dist/compiled-function.d.mts +14 -19
  38. package/dist/compiled-function.mjs +12 -24
  39. package/dist/compiled.d.mts +4 -0
  40. package/dist/compiled.mjs +4 -0
  41. package/dist/compiler/ast.d.mts +26 -0
  42. package/dist/{vite → compiler}/ast.mjs +24 -16
  43. package/dist/{vite → compiler}/error.d.mts +4 -6
  44. package/dist/{vite → compiler}/error.mjs +14 -16
  45. package/dist/compiler/manifest.d.mts +6 -0
  46. package/dist/{vite → compiler}/manifest.mjs +9 -7
  47. package/dist/compiler/plugin.d.mts +7 -0
  48. package/dist/{vite → compiler}/plugin.mjs +45 -46
  49. package/dist/compiler/safety.d.mts +12 -0
  50. package/dist/{vite → compiler}/safety.mjs +5 -11
  51. package/dist/{vite → compiler}/source-edit.d.mts +3 -4
  52. package/dist/{vite → compiler}/source-edit.mjs +1 -1
  53. package/dist/{vite → compiler}/source-map.d.mts +4 -3
  54. package/dist/{vite → compiler}/source-map.mjs +3 -3
  55. package/dist/compiler/source.d.mts +7 -0
  56. package/dist/{vite → compiler}/source.mjs +1 -1
  57. package/dist/compiler/transform.d.mts +12 -0
  58. package/dist/{vite → compiler}/transform.mjs +37 -38
  59. package/dist/definition.d.mts +17 -25
  60. package/dist/definition.mjs +19 -35
  61. package/dist/engine/child-workflow.d.mts +5 -9
  62. package/dist/engine/child-workflow.mjs +46 -67
  63. package/dist/engine/command-identity.d.mts +5 -6
  64. package/dist/engine/command-identity.mjs +9 -5
  65. package/dist/engine/context.d.mts +17 -0
  66. package/dist/engine/create.d.mts +36 -94
  67. package/dist/engine/create.mjs +55 -260
  68. package/dist/engine/deterministic.d.mts +6 -11
  69. package/dist/engine/deterministic.mjs +47 -68
  70. package/dist/engine/durable-command.d.mts +5 -5
  71. package/dist/engine/durable-command.mjs +2 -2
  72. package/dist/engine/execution-service.d.mts +20 -24
  73. package/dist/engine/execution-service.mjs +54 -52
  74. package/dist/engine/hooks.d.mts +17 -39
  75. package/dist/engine/hooks.mjs +73 -94
  76. package/dist/engine/inspection.d.mts +23 -15
  77. package/dist/engine/inspection.mjs +55 -29
  78. package/dist/engine/lifecycle.d.mts +6 -12
  79. package/dist/engine/lifecycle.mjs +5 -5
  80. package/dist/engine/lock-replay.d.mts +8 -15
  81. package/dist/engine/lock-replay.mjs +12 -25
  82. package/dist/engine/lock.d.mts +10 -15
  83. package/dist/engine/lock.mjs +65 -51
  84. package/dist/engine/message.d.mts +14 -34
  85. package/dist/engine/message.mjs +94 -127
  86. package/dist/engine/observation.d.mts +9 -11
  87. package/dist/engine/observation.mjs +18 -27
  88. package/dist/engine/replay.d.mts +18 -19
  89. package/dist/engine/replay.mjs +32 -56
  90. package/dist/engine/resume.d.mts +16 -0
  91. package/dist/engine/resume.mjs +24 -0
  92. package/dist/engine/retry.d.mts +15 -19
  93. package/dist/engine/retry.mjs +17 -17
  94. package/dist/engine/run-data.d.mts +4 -8
  95. package/dist/engine/run-data.mjs +24 -22
  96. package/dist/engine/run-service.d.mts +24 -33
  97. package/dist/engine/run-service.mjs +125 -93
  98. package/dist/engine/run-utils.d.mts +11 -13
  99. package/dist/engine/run-utils.mjs +23 -46
  100. package/dist/engine/schedule.d.mts +8 -22
  101. package/dist/engine/schedule.mjs +37 -34
  102. package/dist/engine/serialization.d.mts +9 -6
  103. package/dist/engine/serialization.mjs +30 -21
  104. package/dist/engine/signals.d.mts +23 -0
  105. package/dist/engine/signals.mjs +41 -0
  106. package/dist/engine/start.d.mts +18 -0
  107. package/dist/engine/start.mjs +88 -0
  108. package/dist/engine/state.d.mts +37 -67
  109. package/dist/engine/state.mjs +127 -282
  110. package/dist/engine/step-api.d.mts +5 -8
  111. package/dist/engine/step-api.mjs +16 -16
  112. package/dist/engine/stream-reader.d.mts +12 -0
  113. package/dist/engine/stream-reader.mjs +154 -0
  114. package/dist/engine/stream.d.mts +9 -54
  115. package/dist/engine/stream.mjs +54 -196
  116. package/dist/engine/summary/recovery.d.mts +35 -0
  117. package/dist/engine/summary/recovery.mjs +363 -0
  118. package/dist/engine/summary/runs.d.mts +43 -0
  119. package/dist/engine/summary/runs.mjs +294 -0
  120. package/dist/engine/summary/step-attempts.d.mts +5 -10
  121. package/dist/engine/summary/step-attempts.mjs +157 -36
  122. package/dist/engine/summary/tally.d.mts +44 -0
  123. package/dist/engine/summary/tally.mjs +142 -0
  124. package/dist/engine/task.d.mts +4 -5
  125. package/dist/engine/task.mjs +40 -48
  126. package/dist/errors/base.d.mts +17 -77
  127. package/dist/errors/base.mjs +26 -327
  128. package/dist/errors/capability.d.mts +3 -6
  129. package/dist/errors/capability.mjs +4 -8
  130. package/dist/errors/codes.d.mts +116 -0
  131. package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
  132. package/dist/errors/definition.d.mts +3 -17
  133. package/dist/errors/definition.mjs +5 -42
  134. package/dist/errors/failures.d.mts +17 -51
  135. package/dist/errors/failures.mjs +35 -102
  136. package/dist/errors/hook.d.mts +5 -9
  137. package/dist/errors/hook.mjs +4 -16
  138. package/dist/errors/implementation.d.mts +3 -6
  139. package/dist/errors/implementation.mjs +7 -12
  140. package/dist/errors/lock.d.mts +7 -20
  141. package/dist/errors/lock.mjs +8 -44
  142. package/dist/errors/message.d.mts +14 -59
  143. package/dist/errors/message.mjs +13 -39
  144. package/dist/errors/mod.d.mts +4 -5
  145. package/dist/errors/mod.mjs +5 -7
  146. package/dist/errors/records.d.mts +10 -4
  147. package/dist/errors/records.mjs +256 -256
  148. package/dist/errors/run.d.mts +27 -68
  149. package/dist/errors/run.mjs +31 -85
  150. package/dist/errors/schedule.d.mts +7 -18
  151. package/dist/errors/schedule.mjs +7 -39
  152. package/dist/errors/step.d.mts +12 -45
  153. package/dist/errors/step.mjs +13 -34
  154. package/dist/errors/stream.d.mts +8 -16
  155. package/dist/errors/stream.mjs +7 -41
  156. package/dist/esbuild.d.mts +6 -4
  157. package/dist/esbuild.mjs +2 -1
  158. package/dist/events/descriptors.d.mts +12 -241
  159. package/dist/events/descriptors.mjs +12 -5
  160. package/dist/history/projection.d.mts +4 -6
  161. package/dist/history/projection.mjs +22 -26
  162. package/dist/history/replay-projection.d.mts +44 -48
  163. package/dist/history/replay-projection.mjs +41 -50
  164. package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
  165. package/dist/history/{mod.mjs → replay.mjs} +21 -25
  166. package/dist/history/sequencer.d.mts +10 -11
  167. package/dist/history/sequencer.mjs +11 -7
  168. package/dist/history/step-attempts.d.mts +4 -7
  169. package/dist/history/step-attempts.mjs +8 -9
  170. package/dist/history/timeline.d.mts +4 -13
  171. package/dist/history/timeline.mjs +46 -265
  172. package/dist/history/validator.d.mts +5 -7
  173. package/dist/history/validator.mjs +9 -24
  174. package/dist/hook-token.d.mts +7 -0
  175. package/dist/hook-token.mjs +32 -0
  176. package/dist/ids.d.mts +8 -0
  177. package/dist/ids.mjs +21 -0
  178. package/dist/message-options.d.mts +11 -5
  179. package/dist/message-options.mjs +9 -7
  180. package/dist/mod.d.mts +32 -36
  181. package/dist/mod.mjs +9 -13
  182. package/dist/otel/metrics.d.mts +31 -0
  183. package/dist/otel/metrics.mjs +60 -0
  184. package/dist/otel/mod.d.mts +3 -0
  185. package/dist/otel/mod.mjs +3 -0
  186. package/dist/otel/spans.d.mts +24 -0
  187. package/dist/otel/spans.mjs +218 -0
  188. package/dist/otel/support.d.mts +15 -8
  189. package/dist/otel/support.mjs +18 -40
  190. package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
  191. package/dist/otel/telemetry.mjs +305 -0
  192. package/dist/pagination.d.mts +6 -12
  193. package/dist/pagination.mjs +10 -14
  194. package/dist/registry.d.mts +8 -5
  195. package/dist/registry.mjs +19 -10
  196. package/dist/rolldown.d.mts +6 -4
  197. package/dist/rolldown.mjs +2 -1
  198. package/dist/rollup.d.mts +6 -4
  199. package/dist/rollup.mjs +2 -1
  200. package/dist/rspack.d.mts +6 -4
  201. package/dist/rspack.mjs +2 -1
  202. package/dist/run-status.d.mts +29 -0
  203. package/dist/run-status.mjs +42 -0
  204. package/dist/schema/common.d.mts +22 -0
  205. package/dist/schema/common.mjs +54 -0
  206. package/dist/schema/error.d.mts +17 -0
  207. package/dist/schema/error.mjs +39 -0
  208. package/dist/schema/events.d.mts +446 -0
  209. package/dist/schema/events.mjs +235 -0
  210. package/dist/schema/pagination.d.mts +5 -0
  211. package/dist/schema/pagination.mjs +11 -0
  212. package/dist/schema/persisted-value.d.mts +8 -0
  213. package/dist/schema/persisted-value.mjs +94 -0
  214. package/dist/schema/run.d.mts +51 -0
  215. package/dist/schema/run.mjs +88 -0
  216. package/dist/schema/store.d.mts +94 -0
  217. package/dist/schema/store.mjs +116 -0
  218. package/dist/step-definition.d.mts +4 -9
  219. package/dist/step-definition.mjs +2 -2
  220. package/dist/store/capabilities.d.mts +8 -9
  221. package/dist/store/capabilities.mjs +7 -7
  222. package/dist/store/cleanup.d.mts +9 -14
  223. package/dist/store/cleanup.mjs +86 -85
  224. package/dist/store/create.d.mts +28 -29
  225. package/dist/store/create.mjs +10 -11
  226. package/dist/store/events.d.mts +48 -0
  227. package/dist/store/events.mjs +263 -0
  228. package/dist/store/indexes.d.mts +25 -0
  229. package/dist/store/indexes.mjs +282 -0
  230. package/dist/store/instrumentation.d.mts +2 -3
  231. package/dist/store/instrumentation.mjs +30 -30
  232. package/dist/store/lock.d.mts +4 -5
  233. package/dist/store/lock.mjs +5 -7
  234. package/dist/store/materialization.d.mts +10 -17
  235. package/dist/store/materialization.mjs +39 -33
  236. package/dist/store/mod.d.mts +3 -3
  237. package/dist/store/mod.mjs +2 -2
  238. package/dist/store/query.d.mts +13 -17
  239. package/dist/store/query.mjs +13 -13
  240. package/dist/store/run.d.mts +25 -34
  241. package/dist/store/run.mjs +67 -108
  242. package/dist/store/schedule.d.mts +6 -8
  243. package/dist/store/schedule.mjs +11 -11
  244. package/dist/store/step-attempt.d.mts +9 -12
  245. package/dist/store/step-attempt.mjs +9 -9
  246. package/dist/store/storage-value.d.mts +3 -3
  247. package/dist/store/storage-value.mjs +17 -1
  248. package/dist/store/validation.d.mts +17 -20
  249. package/dist/store/validation.mjs +30 -33
  250. package/dist/store-keys.d.mts +35 -47
  251. package/dist/store-keys.mjs +9 -17
  252. package/dist/telemetry.d.mts +16 -16
  253. package/dist/telemetry.mjs +3 -3
  254. package/dist/temporal.d.mts +11 -16
  255. package/dist/temporal.mjs +8 -9
  256. package/dist/timer.d.mts +12 -10
  257. package/dist/timer.mjs +11 -3
  258. package/dist/types/cleanup.d.mts +13 -50
  259. package/dist/types/cleanup.mjs +1 -22
  260. package/dist/types/client.d.mts +101 -162
  261. package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
  262. package/dist/types/compiler.mjs +1 -0
  263. package/dist/types/definition.d.mts +22 -34
  264. package/dist/types/engine-options.d.mts +10 -17
  265. package/dist/types/engine.d.mts +15 -274
  266. package/dist/types/error.d.mts +15 -217
  267. package/dist/types/error.mjs +1 -48
  268. package/dist/types/events.d.mts +59 -2730
  269. package/dist/types/events.mjs +1 -283
  270. package/dist/types/hook.d.mts +27 -85
  271. package/dist/types/hook.mjs +1 -66
  272. package/dist/types/ids.d.mts +9 -0
  273. package/dist/types/ids.mjs +1 -0
  274. package/dist/types/lock.d.mts +8 -26
  275. package/dist/types/lock.mjs +1 -18
  276. package/dist/types/message.d.mts +29 -43
  277. package/dist/types/observation.d.mts +43 -58
  278. package/dist/types/pagination.d.mts +6 -22
  279. package/dist/types/pagination.mjs +1 -13
  280. package/dist/types/result.d.mts +11 -43
  281. package/dist/types/retry.d.mts +7 -14
  282. package/dist/types/run-list.d.mts +9 -11
  283. package/dist/types/run-options.d.mts +25 -32
  284. package/dist/types/run.d.mts +35 -315
  285. package/dist/types/run.mjs +1 -207
  286. package/dist/types/runtime.d.mts +33 -145
  287. package/dist/types/runtime.mjs +1 -21
  288. package/dist/types/schedule.d.mts +13 -72
  289. package/dist/types/schedule.mjs +1 -48
  290. package/dist/types/step-attempts.d.mts +65 -261
  291. package/dist/types/step-attempts.mjs +1 -43
  292. package/dist/types/step.d.mts +66 -77
  293. package/dist/types/step.mjs +1 -5
  294. package/dist/types/store.d.mts +50 -182
  295. package/dist/types/stream.d.mts +19 -40
  296. package/dist/types/summary.d.mts +174 -278
  297. package/dist/types/telemetry.d.mts +23 -28
  298. package/dist/types/telemetry.mjs +1 -9
  299. package/dist/types/timeline.d.mts +46 -233
  300. package/dist/types/worker.d.mts +22 -29
  301. package/dist/values.d.mts +15 -0
  302. package/dist/values.mjs +57 -0
  303. package/dist/vite.d.mts +5 -6
  304. package/dist/vite.mjs +3 -4
  305. package/dist/webpack.d.mts +6 -4
  306. package/dist/webpack.mjs +2 -1
  307. package/dist/worker/error.d.mts +2 -9
  308. package/dist/worker/error.mjs +20 -32
  309. package/dist/worker/missing-implementation.d.mts +19 -0
  310. package/dist/worker/missing-implementation.mjs +62 -0
  311. package/dist/worker/worker.d.mts +18 -0
  312. package/dist/{worker.mjs → worker/worker.mjs} +64 -118
  313. package/package.json +28 -47
  314. package/dist/engine/execution-api.d.mts +0 -29
  315. package/dist/engine/execution-api.mjs +0 -33
  316. package/dist/engine/inspection-api.d.mts +0 -34
  317. package/dist/engine/inspection-api.mjs +0 -78
  318. package/dist/engine/mod.d.mts +0 -4
  319. package/dist/engine/mod.mjs +0 -2
  320. package/dist/engine/recovery.d.mts +0 -26
  321. package/dist/engine/recovery.mjs +0 -92
  322. package/dist/engine/retry-policy.d.mts +0 -4
  323. package/dist/engine/retry-policy.mjs +0 -4
  324. package/dist/engine/start-api.d.mts +0 -30
  325. package/dist/engine/start-api.mjs +0 -99
  326. package/dist/engine/summary/active-events.d.mts +0 -34
  327. package/dist/engine/summary/active-events.mjs +0 -69
  328. package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
  329. package/dist/engine/summary/child-workflow-runs.mjs +0 -138
  330. package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
  331. package/dist/engine/summary/child-workflow-waits.mjs +0 -67
  332. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
  333. package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
  334. package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
  335. package/dist/engine/summary/recovery-due-runs.mjs +0 -52
  336. package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
  337. package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
  338. package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
  339. package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
  340. package/dist/engine/summary/recovery-locks.d.mts +0 -18
  341. package/dist/engine/summary/recovery-locks.mjs +0 -100
  342. package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
  343. package/dist/engine/summary/recovery-message-waits.mjs +0 -74
  344. package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
  345. package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
  346. package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
  347. package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
  348. package/dist/engine/summary/recovery-runs.d.mts +0 -23
  349. package/dist/engine/summary/recovery-runs.mjs +0 -54
  350. package/dist/engine/summary/recovery-schedules.d.mts +0 -10
  351. package/dist/engine/summary/recovery-schedules.mjs +0 -46
  352. package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
  353. package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
  354. package/dist/engine/summary/recovery-waits.d.mts +0 -21
  355. package/dist/engine/summary/recovery-waits.mjs +0 -29
  356. package/dist/engine/summary/run-availability.d.mts +0 -13
  357. package/dist/engine/summary/run-availability.mjs +0 -37
  358. package/dist/engine/summary/run-cleanup.d.mts +0 -14
  359. package/dist/engine/summary/run-cleanup.mjs +0 -44
  360. package/dist/engine/summary/run-failure.d.mts +0 -14
  361. package/dist/engine/summary/run-failure.mjs +0 -62
  362. package/dist/engine/summary/run-hooks.d.mts +0 -14
  363. package/dist/engine/summary/run-hooks.mjs +0 -63
  364. package/dist/engine/summary/run-lease.d.mts +0 -11
  365. package/dist/engine/summary/run-lease.mjs +0 -64
  366. package/dist/engine/summary/run-message-waits.d.mts +0 -15
  367. package/dist/engine/summary/run-message-waits.mjs +0 -62
  368. package/dist/engine/summary/run-metrics.d.mts +0 -31
  369. package/dist/engine/summary/run-metrics.mjs +0 -93
  370. package/dist/engine/summary/run-retry.d.mts +0 -9
  371. package/dist/engine/summary/run-retry.mjs +0 -69
  372. package/dist/engine/summary/run-sleeps.d.mts +0 -15
  373. package/dist/engine/summary/run-sleeps.mjs +0 -61
  374. package/dist/engine/summary/run-state.d.mts +0 -26
  375. package/dist/engine/summary/run-state.mjs +0 -48
  376. package/dist/engine/summary/run-status.d.mts +0 -16
  377. package/dist/engine/summary/run-status.mjs +0 -35
  378. package/dist/engine/summary/run-streams.d.mts +0 -14
  379. package/dist/engine/summary/run-streams.mjs +0 -46
  380. package/dist/engine/summary/run-transition.d.mts +0 -9
  381. package/dist/engine/summary/run-transition.mjs +0 -39
  382. package/dist/engine/summary/run-workflow.d.mts +0 -9
  383. package/dist/engine/summary/run-workflow.mjs +0 -47
  384. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
  385. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
  386. package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
  387. package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
  388. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
  389. package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
  390. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
  391. package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
  392. package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
  393. package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
  394. package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
  395. package/dist/engine/summary/step-attempt-failure.mjs +0 -61
  396. package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
  397. package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
  398. package/dist/engine/summary.d.mts +0 -32
  399. package/dist/engine/summary.mjs +0 -37
  400. package/dist/errors/details.d.mts +0 -13
  401. package/dist/errors/details.mjs +0 -66
  402. package/dist/errors/record-view.d.mts +0 -11
  403. package/dist/errors/record-view.mjs +0 -24
  404. package/dist/errors/runtime.d.mts +0 -12
  405. package/dist/errors/runtime.mjs +0 -24
  406. package/dist/events/mod.d.mts +0 -3
  407. package/dist/events/mod.mjs +0 -2
  408. package/dist/history/attempt-key.d.mts +0 -6
  409. package/dist/history/attempt-key.mjs +0 -7
  410. package/dist/inspection/mod.d.mts +0 -5
  411. package/dist/inspection/mod.mjs +0 -3
  412. package/dist/otel.mjs +0 -590
  413. package/dist/runtime.d.mts +0 -35
  414. package/dist/runtime.mjs +0 -198
  415. package/dist/store/append-projection.d.mts +0 -15
  416. package/dist/store/append-projection.mjs +0 -26
  417. package/dist/store/compaction.d.mts +0 -5
  418. package/dist/store/compaction.mjs +0 -8
  419. package/dist/store/event-append-project.d.mts +0 -15
  420. package/dist/store/event-append-project.mjs +0 -77
  421. package/dist/store/event-append.d.mts +0 -37
  422. package/dist/store/event-append.mjs +0 -80
  423. package/dist/store/event-history.d.mts +0 -22
  424. package/dist/store/event-history.mjs +0 -75
  425. package/dist/store/event.d.mts +0 -10
  426. package/dist/store/event.mjs +0 -28
  427. package/dist/store/idempotency.d.mts +0 -10
  428. package/dist/store/idempotency.mjs +0 -167
  429. package/dist/store/message-index.d.mts +0 -21
  430. package/dist/store/message-index.mjs +0 -122
  431. package/dist/store/revision.d.mts +0 -4
  432. package/dist/store/revision.mjs +0 -7
  433. package/dist/store/schema.d.mts +0 -14
  434. package/dist/store/schema.mjs +0 -17
  435. package/dist/types/common.d.mts +0 -20
  436. package/dist/types/common.mjs +0 -16
  437. package/dist/types/error-code.d.mts +0 -256
  438. package/dist/types/message-id.d.mts +0 -7
  439. package/dist/types/message-id.mjs +0 -5
  440. package/dist/types/run-id.d.mts +0 -7
  441. package/dist/types/run-id.mjs +0 -5
  442. package/dist/types/step-id.d.mts +0 -7
  443. package/dist/types/step-id.mjs +0 -5
  444. package/dist/types/stream-id.d.mts +0 -7
  445. package/dist/types/stream-id.mjs +0 -5
  446. package/dist/types/worker-id.d.mts +0 -7
  447. package/dist/types/worker-id.mjs +0 -5
  448. package/dist/utility.d.mts +0 -49
  449. package/dist/utility.mjs +0 -122
  450. package/dist/vite/ast.d.mts +0 -23
  451. package/dist/vite/generated-name.d.mts +0 -7
  452. package/dist/vite/generated-name.mjs +0 -9
  453. package/dist/vite/manifest.d.mts +0 -7
  454. package/dist/vite/plugin.d.mts +0 -7
  455. package/dist/vite/safety.d.mts +0 -12
  456. package/dist/vite/source.d.mts +0 -7
  457. package/dist/vite/transform.d.mts +0 -7
  458. package/dist/webhook.d.mts +0 -16
  459. package/dist/webhook.mjs +0 -17
  460. package/dist/worker.d.mts +0 -19
  461. /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
@@ -1,4 +1,5 @@
1
- //#region src/vite/source-map.d.ts
1
+ import { SourceMap } from "../types/compiler.mjs";
2
+ //#region src/compiler/source-map.d.ts
2
3
  interface GeneratedSourceMapOptions {
3
4
  readonly id: string;
4
5
  readonly originalCode: string;
@@ -6,6 +7,6 @@ interface GeneratedSourceMapOptions {
6
7
  readonly generatedSource: string;
7
8
  readonly sourceText: string;
8
9
  }
9
- declare function createGeneratedSourceMap(options: GeneratedSourceMapOptions): unknown;
10
+ export declare function createGeneratedSourceMap(options: GeneratedSourceMapOptions): SourceMap;
10
11
  //#endregion
11
- export { GeneratedSourceMapOptions, createGeneratedSourceMap };
12
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { stripQuery } from "./source.mjs";
2
- //#region src/vite/source-map.ts
2
+ //#region src/compiler/source-map.ts
3
3
  function createGeneratedSourceMap(options) {
4
4
  return {
5
5
  version: 3,
@@ -7,10 +7,10 @@ function createGeneratedSourceMap(options) {
7
7
  sources: [stripQuery(options.id)],
8
8
  sourcesContent: [options.originalCode],
9
9
  names: [],
10
- mappings: createWorkflowTransformMappings(options)
10
+ mappings: createTransformMappings(options)
11
11
  };
12
12
  }
13
- function createWorkflowTransformMappings(options) {
13
+ function createTransformMappings(options) {
14
14
  const generatedLines = options.generatedCode.split("\n");
15
15
  const sourceStart = options.sourceText === "" ? -1 : options.generatedSource.indexOf(options.sourceText);
16
16
  const generatedStart = options.sourceText === "" ? -1 : options.generatedCode.indexOf(options.sourceText);
@@ -0,0 +1,7 @@
1
+ //#region src/compiler/source.d.ts
2
+ /** Removes a URL or Vite query suffix from an ID. */
3
+ export declare function stripQuery(id: string): string;
4
+ type SourceKind = "js" | "json" | "ts" | "tsx";
5
+ export declare function workflowSourceKindForId(id: string): SourceKind;
6
+ //#endregion
7
+ export {};
@@ -1,4 +1,4 @@
1
- //#region src/vite/source.ts
1
+ //#region src/compiler/source.ts
2
2
  /** Removes a URL or Vite query suffix from an ID. */
3
3
  function stripQuery(id) {
4
4
  return id.split("?", 1)[0];
@@ -0,0 +1,12 @@
1
+ import { WorkflowTransformError } from "./error.mjs";
2
+ import { DirectiveKind, TransformManifest, TransformManifestFunction, TransformManifestImportEdge, TransformMetadata, TransformMetadataEntry, TransformOptions, TransformResult } from "../types/compiler.mjs";
3
+ //#region src/compiler/transform.d.ts
4
+ /** Prefix reserved for helper identifiers that the transform injects. */
5
+ export declare const GENERATED_PREFIX = "__temelj";
6
+ export declare function makeGeneratedName(...parts: readonly string[]): string;
7
+ /** Transforms one TypeScript module containing workflow or step directives. */
8
+ export declare function transformWorkflowSource(code: string, id: string, options?: TransformOptions): TransformResult | undefined;
9
+ /** A cheap text check for code that may hold directives or imports worth parsing. */
10
+ export declare function hasDirectiveCandidate(code: string): boolean;
11
+ //#endregion
12
+ export { type DirectiveKind, type TransformManifest, type TransformManifestFunction, type TransformManifestImportEdge, type TransformMetadata, type TransformMetadataEntry, type TransformOptions, type TransformResult, WorkflowTransformError };
@@ -1,14 +1,19 @@
1
1
  import { stripQuery } from "./source.mjs";
2
- import { leadingTriviaStart, parseWorkflowSource, spanText, visitWorkflowNode, workflowNodeChildren } from "./ast.mjs";
2
+ import { isCallExpression, isIdentifier, leadingTriviaStart, parseSource, spanText, visitNode, workflowNodeChildren } from "./ast.mjs";
3
3
  import { WorkflowTransformError } from "./error.mjs";
4
- import { makeGeneratedName } from "./generated-name.mjs";
5
4
  import { collectImportedStepBindings, collectReExportedManifestFunctions } from "./manifest.mjs";
6
5
  import { rejectObviousNondeterministicGlobals } from "./safety.mjs";
7
6
  import { SourceEditor } from "./source-edit.mjs";
8
7
  import { createGeneratedSourceMap } from "./source-map.mjs";
8
+ import { isFunction } from "@temelj/value";
9
9
  import path from "node:path";
10
- //#region src/vite/transform.ts
10
+ //#region src/compiler/transform.ts
11
11
  const JS_TS_EXTENSION_PATTERN = /\.[cm]?[jt]sx?$/;
12
+ /** Prefix reserved for helper identifiers that the transform injects. */
13
+ const GENERATED_PREFIX = "__temelj";
14
+ function makeGeneratedName(...parts) {
15
+ return [GENERATED_PREFIX, ...parts].join("_");
16
+ }
12
17
  const GENERATED_CONTEXT_NAME = makeGeneratedName("context");
13
18
  const GENERATED_DEFINE_WORKFLOW_NAME = makeGeneratedName("implementWorkflow");
14
19
  const GENERATED_DEFINE_WORKFLOW_STEP_NAME = makeGeneratedName("defineWorkflowStep");
@@ -17,8 +22,8 @@ const GENERATED_ATTACH_WORKFLOW_STEP_DEFINITION_NAME = makeGeneratedName("attach
17
22
  const GENERATED_CALL_WORKFLOW_STEP_FUNCTION_NAME = makeGeneratedName("callWorkflowStepFunction");
18
23
  /** Transforms one TypeScript module containing workflow or step directives. */
19
24
  function transformWorkflowSource(code, id, options = {}) {
20
- if (!JS_TS_EXTENSION_PATTERN.test(stripQuery(id)) || !hasWorkflowTransformCandidateText(code)) return;
21
- const sourceFile = parseWorkflowSource(id, code);
25
+ if (!JS_TS_EXTENSION_PATTERN.test(stripQuery(id)) || !hasDirectiveCandidate(code)) return;
26
+ const sourceFile = parseSource(id, code);
22
27
  const directiveFunctions = collectDirectiveFunctions(sourceFile.program);
23
28
  const file = relativeFile(id, options.root);
24
29
  const reExportedFunctions = collectReExportedManifestFunctions(sourceFile.program, file, options.manifests ?? []);
@@ -42,13 +47,6 @@ function transformWorkflowSource(code, id, options = {}) {
42
47
  ].filter((part) => part !== "").join("\n\n")}\n`;
43
48
  return {
44
49
  code: transformedResultCode,
45
- ...options.sourcemap === true ? { map: createGeneratedSourceMap({
46
- id,
47
- originalCode: sourceFile.text,
48
- generatedCode: transformedResultCode,
49
- generatedSource: transformedCode,
50
- sourceText
51
- }) } : {},
52
50
  metadata: {
53
51
  file,
54
52
  entries
@@ -57,18 +55,21 @@ function transformWorkflowSource(code, id, options = {}) {
57
55
  file,
58
56
  functions: [...localFunctions, ...reExportedFunctions],
59
57
  imports: [...importedSteps.values()]
60
- }
58
+ },
59
+ map: options.sourcemap === true ? createGeneratedSourceMap({
60
+ id,
61
+ originalCode: sourceFile.text,
62
+ generatedCode: transformedResultCode,
63
+ generatedSource: transformedCode,
64
+ sourceText
65
+ }) : void 0
61
66
  };
62
67
  function createDefinitionText(entry, metadata, currentSourceFile) {
63
68
  const config = createDefinitionConfig(metadata);
64
69
  if (entry.kind === "step") {
65
- const contextName = uniqueName(GENERATED_CONTEXT_NAME, entry.parameters.map((parameter, index) => {
66
- const name = parameterName(parameter);
67
- if (name === void 0) WorkflowTransformError.directiveParametersMustBeIdentifiers();
68
- return name || `arg${index}`;
69
- }));
70
+ const contextName = uniqueName(GENERATED_CONTEXT_NAME, directiveParameterNames(entry.parameters));
70
71
  return [
71
- `const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_STEP_NAME}(${config}, async (${[...entry.parameters.map((parameter) => spanText(currentSourceFile, parameter)), contextName].join(", ")}) => {`,
72
+ `const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_STEP_NAME}(${config}, async (${[contextName, ...entry.parameters.map((parameter) => spanText(currentSourceFile, parameter))].join(", ")}) => {`,
72
73
  bodyWithoutDirective(entry.body, currentSourceFile),
73
74
  "});",
74
75
  `${GENERATED_ATTACH_WORKFLOW_STEP_DEFINITION_NAME}(${entry.name}, ${metadata.generatedName});`
@@ -78,13 +79,14 @@ function transformWorkflowSource(code, id, options = {}) {
78
79
  if (workflow === void 0) WorkflowTransformError.metadataMissing(entry.name);
79
80
  return [
80
81
  `const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_NAME}(${config}, async (${GENERATED_CONTEXT_NAME}) => {`,
81
- createWorkflowBody(workflow, currentSourceFile, knownStepNames),
82
+ createBody(workflow, currentSourceFile, knownStepNames),
82
83
  "});",
83
84
  `${GENERATED_ATTACH_WORKFLOW_DEFINITION_NAME}(${entry.name}, ${metadata.generatedName});`
84
85
  ].join("\n");
85
86
  }
86
87
  }
87
- function hasWorkflowTransformCandidateText(code) {
88
+ /** A cheap text check for code that may hold directives or imports worth parsing. */
89
+ function hasDirectiveCandidate(code) {
88
90
  return code.includes("\"use workflow\"") || code.includes("'use workflow'") || code.includes("\"use step\"") || code.includes("'use step'") || code.includes(" from ");
89
91
  }
90
92
  function collectDirectiveFunctions(sourceFile) {
@@ -155,19 +157,19 @@ function rejectUnsupportedDirectiveFunction(node, kind, name) {
155
157
  if (kind === "workflow" && !node.async) WorkflowTransformError.workflowFunctionMustBeAsync(name);
156
158
  }
157
159
  function rejectNestedDirectiveFunctions(sourceFile, topLevelBodies) {
158
- visitWorkflowNode(sourceFile, (node) => {
160
+ visitNode(sourceFile, (node) => {
159
161
  if (isFunctionLike(node) && node.body !== null && node.body.type === "BlockStatement" && !topLevelBodies.has(node.body) && directiveFromBody(node.body) !== void 0) WorkflowTransformError.directivesMustBeTopLevel();
160
162
  });
161
163
  }
162
164
  function createMetadataEntry(entry, file, options) {
163
165
  const workflowName = options.name?.(file, entry.name, entry.kind) ?? `${file}:${entry.name}`;
164
- const version = typeof options.version === "function" ? options.version(file, entry.name) : options.version;
166
+ const version = isFunction(options.version) ? options.version(file, entry.name) : options.version;
165
167
  return {
166
168
  kind: entry.kind,
167
169
  name: entry.name,
168
170
  generatedName: makeGeneratedName(entry.kind, sanitizeIdentifier(entry.name)),
169
171
  workflowName,
170
- ...version === void 0 ? {} : { version }
172
+ version
171
173
  };
172
174
  }
173
175
  function createManifestFunction(entry, metadata) {
@@ -177,7 +179,7 @@ function createManifestFunction(entry, metadata) {
177
179
  localName: entry.name,
178
180
  generatedName: metadata.generatedName,
179
181
  workflowName: metadata.workflowName,
180
- ...metadata.version === void 0 ? {} : { version: metadata.version }
182
+ version: metadata.version
181
183
  };
182
184
  }
183
185
  function createDefinitionConfig(metadata) {
@@ -185,15 +187,18 @@ function createDefinitionConfig(metadata) {
185
187
  if (metadata.version !== void 0) fields.push(`version: ${JSON.stringify(metadata.version)}`);
186
188
  return `{ ${fields.join(", ")} }`;
187
189
  }
188
- function createWorkflowBody(entry, sourceFile, localStepNames) {
189
- const names = entry.parameters.map((parameter, index) => {
190
+ function directiveParameterNames(parameters) {
191
+ return parameters.map((parameter, index) => {
190
192
  const name = parameterName(parameter);
191
193
  if (name === void 0) WorkflowTransformError.directiveParametersMustBeIdentifiers();
192
194
  return name || `arg${index}`;
193
195
  });
196
+ }
197
+ function createBody(entry, sourceFile, localStepNames) {
198
+ const names = directiveParameterNames(entry.parameters);
194
199
  const inputLine = `const ${names.length === 0 ? "[]" : `[${names.join(", ")}]`} = ${GENERATED_CONTEXT_NAME}.input;`;
195
200
  rejectObviousNondeterministicGlobals(entry, sourceFile);
196
- return `${inputLine}\n${rewriteWorkflowCalls(bodyWithoutDirective(entry.body, sourceFile), sourceFile, localStepNames, new Set(names))}`;
201
+ return `${inputLine}\n${rewriteCalls(bodyWithoutDirective(entry.body, sourceFile), sourceFile, localStepNames, new Set(names))}`;
197
202
  }
198
203
  function bodyWithoutDirective(body, sourceFile) {
199
204
  const statements = body.body.slice(1);
@@ -202,9 +207,9 @@ function bodyWithoutDirective(body, sourceFile) {
202
207
  const end = statements.at(-1).end;
203
208
  return new SourceEditor(sourceFile.text).read(start, end);
204
209
  }
205
- function rewriteWorkflowCalls(bodyText, sourceFile, knownStepNames, initialLocalNames) {
210
+ function rewriteCalls(bodyText, sourceFile, knownStepNames, initialLocalNames) {
206
211
  const wrapped = `async function ${makeGeneratedName("workflow", "body")}() {${bodyText}}`;
207
- const bodySource = parseWorkflowSource(sourceFile.fileName, wrapped);
212
+ const bodySource = parseSource(sourceFile.fileName, wrapped);
208
213
  const editor = new SourceEditor(bodyText);
209
214
  const offset = wrapped.indexOf(bodyText);
210
215
  const wrapper = bodySource.program.body[0];
@@ -347,9 +352,6 @@ function collectBindingNames(name, localNames) {
347
352
  function parameterName(parameter) {
348
353
  if (parameter.type === "Identifier") return parameter.name;
349
354
  }
350
- function isIdentifier(node) {
351
- return node.type === "Identifier";
352
- }
353
355
  function isFunctionDeclaration(node) {
354
356
  return node.type === "FunctionDeclaration";
355
357
  }
@@ -365,9 +367,6 @@ function isArrowOrFunctionExpression(node) {
365
367
  function isBlockStatement(node) {
366
368
  return node.type === "BlockStatement";
367
369
  }
368
- function isCallExpression(node) {
369
- return node.type === "CallExpression";
370
- }
371
370
  function uniqueName(base, usedNames) {
372
371
  let name = base;
373
372
  let index = 1;
@@ -378,7 +377,7 @@ function uniqueName(base, usedNames) {
378
377
  }
379
378
  return name;
380
379
  }
381
- function createRuntimeImportText(specifier = "@temelj/workflow") {
380
+ function createRuntimeImportText(specifier = "@temelj/workflow/compiled") {
382
381
  return [
383
382
  "import {",
384
383
  ` implementWorkflow as ${GENERATED_DEFINE_WORKFLOW_NAME},`,
@@ -402,4 +401,4 @@ function directiveText(kind) {
402
401
  return kind === "workflow" ? "use workflow" : "use step";
403
402
  }
404
403
  //#endregion
405
- export { WorkflowTransformError, transformWorkflowSource };
404
+ export { GENERATED_PREFIX, WorkflowTransformError, hasDirectiveCandidate, makeGeneratedName, transformWorkflowSource };
@@ -1,37 +1,29 @@
1
- import { MessageId } from "./types/message-id.mjs";
2
- import { WorkflowDefinition, WorkflowDefinitionConfig, WorkflowHandler, WorkflowImplementation, WorkflowInputFromSchema, WorkflowRawInputFromSchema, WorkflowStartTarget } from "./types/definition.mjs";
3
- import { MessageChannel, MessageChannelConfig, SendMessageChannelOptions, WaitForMessageChannelOptions } from "./types/message.mjs";
1
+ import { MessageId } from "./types/ids.mjs";
2
+ import { DefinitionConfig, RawInputFromSchema, StartTarget, WorkflowDefinition, WorkflowHandler, WorkflowImplementation } from "./types/definition.mjs";
3
+ import { MessageChannel, MessageChannelConfig, SendMessageChannelOptions, WaitForMessageChannelOptions, WaitForMessageOptions } from "./types/message.mjs";
4
4
  import { Schema, SchemaOutput } from "@temelj/standard-schema";
5
5
  //#region src/definition.d.ts
6
6
  /** Defines a durable workflow definition. */
7
- declare function defineWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: WorkflowDefinitionConfig): WorkflowDefinition<TInput, TOutput, TRawInput>;
7
+ export declare function defineWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: DefinitionConfig): WorkflowDefinition<TInput, TOutput, TRawInput>;
8
8
  /** Defines a durable workflow definition. */
9
- declare function defineWorkflow<const TSchema extends Schema, TOutput = unknown>(config: WorkflowDefinitionConfig<TSchema>): WorkflowDefinition<SchemaOutput<TSchema>, TOutput, WorkflowRawInputFromSchema<TSchema, never>>;
9
+ export declare function defineWorkflow<const TSchema extends Schema, TOutput = unknown>(config: DefinitionConfig<TSchema>): WorkflowDefinition<SchemaOutput<TSchema>, TOutput, RawInputFromSchema<TSchema, never>>;
10
10
  /** Creates a workflow definition from a resolved name and optional version. */
11
- declare function defineWorkflowFromName<TInput = unknown, TOutput = unknown, TRawInput = TInput>(name: string, version?: string): WorkflowDefinition<TInput, TOutput, TRawInput>;
11
+ export declare function defineFromName<TInput = unknown, TOutput = unknown, TRawInput = TInput>(name: string, version?: string): WorkflowDefinition<TInput, TOutput, TRawInput>;
12
12
  /** Returns the durable definition for a workflow definition or implementation. */
13
- declare function defineWorkflowFromTarget<TInput, TOutput, TRawInput>(target: WorkflowStartTarget<TInput, TOutput, TRawInput>): WorkflowDefinition<TInput, TOutput, TRawInput>;
13
+ export declare function defineFromTarget<TInput, TOutput, TRawInput>(target: StartTarget<TInput, TOutput, TRawInput>): WorkflowDefinition<TInput, TOutput, TRawInput>;
14
14
  /** Defines an executable workflow implementation from durable workflow config. */
15
- declare function implementWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: WorkflowDefinitionConfig, handler: WorkflowHandler<TInput, TOutput>): WorkflowImplementation<TInput, TOutput, TRawInput>;
15
+ export declare function implementWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: DefinitionConfig, handler: WorkflowHandler<TInput, TOutput>): WorkflowImplementation<TInput, TOutput, TRawInput>;
16
16
  /** Defines an executable workflow implementation from durable workflow config. */
17
- declare function implementWorkflow<const TSchema extends Schema, TOutput = unknown>(config: WorkflowDefinitionConfig<TSchema>, handler: WorkflowHandler<SchemaOutput<TSchema>, TOutput>): WorkflowImplementation<SchemaOutput<TSchema>, TOutput, WorkflowRawInputFromSchema<TSchema, never>>;
18
- /** Defines workflow message channel for durable workflow use. */
19
- declare function defineMessageChannel<TPayload = unknown, TKey = void, const TSchema extends Schema | undefined = undefined>(config: MessageChannelConfig<TKey, TSchema>): MessageChannel<WorkflowInputFromSchema<TSchema, TPayload>, TKey>;
20
- /** Normalizes and parses workflow message channel send. */
21
- declare function resolveMessageChannelSend<TPayload, TKey>(channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<{
17
+ export declare function implementWorkflow<const TSchema extends Schema, TOutput = unknown>(config: DefinitionConfig<TSchema>, handler: WorkflowHandler<SchemaOutput<TSchema>, TOutput>): WorkflowImplementation<SchemaOutput<TSchema>, TOutput, RawInputFromSchema<TSchema, never>>;
18
+ /** Defines a message channel whose schema validates incoming payloads. */
19
+ export declare function defineMessageChannel<TPayload, TRawPayload = unknown>(config: MessageChannelConfig<TPayload, TRawPayload>): MessageChannel<TPayload, TRawPayload>;
20
+ interface ResolvedMessageChannelSend<TPayload> {
22
21
  readonly messageId: MessageId;
23
22
  readonly payload?: TPayload;
24
23
  readonly idempotencyKey?: string;
25
- }>;
26
- /** Normalizes and parses workflow message channel wait. */
27
- declare function resolveMessageChannelWait<TKey>(channel: MessageChannel<unknown, TKey>, options?: WaitForMessageChannelOptions<TKey>): {
28
- commandId: string;
29
- name: string;
30
- messageId: string;
31
- timeout?: Temporal.Duration | undefined;
32
- schema?: Schema | undefined;
33
- };
34
- /** Parses raw workflow input against the definition schema when one is configured. */
35
- declare function parseWorkflowInput<TInput>(definition: WorkflowDefinition<TInput, unknown, unknown>, input: unknown): Promise<TInput>;
24
+ }
25
+ /** Validates a channel send and preserves its raw payload for the receiving schema. */
26
+ export declare function resolveMessageChannelSend<TPayload, TRawPayload>(channel: MessageChannel<TPayload, TRawPayload>, options?: SendMessageChannelOptions<TRawPayload>): Promise<ResolvedMessageChannelSend<TRawPayload>>;
27
+ export declare function resolveMessageChannelWait<TPayload>(channel: MessageChannel<TPayload, unknown>, options?: WaitForMessageChannelOptions): WaitForMessageOptions<Schema<unknown, TPayload>>;
36
28
  //#endregion
37
- export { defineMessageChannel, defineWorkflow, defineWorkflowFromName, defineWorkflowFromTarget, implementWorkflow, parseWorkflowInput, resolveMessageChannelSend, resolveMessageChannelWait };
29
+ export {};
@@ -6,18 +6,18 @@ function defineWorkflow(config) {
6
6
  kind: "definition",
7
7
  config,
8
8
  name: config.name,
9
- ...config.version === void 0 ? {} : { version: config.version }
9
+ version: config.version
10
10
  };
11
11
  }
12
12
  /** Creates a workflow definition from a resolved name and optional version. */
13
- function defineWorkflowFromName(name, version) {
13
+ function defineFromName(name, version) {
14
14
  return defineWorkflow({
15
15
  name,
16
- ...version === void 0 ? {} : { version }
16
+ version
17
17
  });
18
18
  }
19
19
  /** Returns the durable definition for a workflow definition or implementation. */
20
- function defineWorkflowFromTarget(target) {
20
+ function defineFromTarget(target) {
21
21
  return target.kind === "implementation" ? target.definition : target;
22
22
  }
23
23
  /** Defines an executable workflow implementation from durable workflow config. */
@@ -26,58 +26,42 @@ function implementWorkflow(config, handler) {
26
26
  kind: "definition",
27
27
  config,
28
28
  name: config.name,
29
- ...config.version === void 0 ? {} : { version: config.version }
29
+ version: config.version
30
30
  };
31
31
  return {
32
32
  kind: "implementation",
33
33
  definition,
34
34
  config: definition.config,
35
35
  name: definition.name,
36
- ...definition.version === void 0 ? {} : { version: definition.version },
36
+ version: definition.version,
37
37
  handler
38
38
  };
39
39
  }
40
- /** Defines workflow message channel for durable workflow use. */
40
+ /** Defines a message channel whose schema validates incoming payloads. */
41
41
  function defineMessageChannel(config) {
42
- const name = config.name;
43
42
  return {
44
- name,
45
- ...config.schema === void 0 ? {} : { schema: config.schema },
46
- resolveMessageId: (...args) => {
47
- return config.resolveMessageId?.(...args) ?? name;
48
- }
43
+ name: config.name,
44
+ schema: config.schema
49
45
  };
50
46
  }
51
- /** Normalizes and parses workflow message channel send. */
47
+ /** Validates a channel send and preserves its raw payload for the receiving schema. */
52
48
  async function resolveMessageChannelSend(channel, options = {}) {
53
- const payload = channel.schema === void 0 ? options.payload : await validateStandardSchema(channel.schema, options.payload, "Workflow message validation failed");
49
+ const payload = options.payload;
50
+ await validateStandardSchema(channel.schema, payload, "Workflow message validation failed");
54
51
  return {
55
- messageId: resolveMessageChannelMessageId(channel, options.key),
56
- ...payload === void 0 ? {} : { payload },
57
- ...options.idempotencyKey === void 0 ? {} : { idempotencyKey: options.idempotencyKey }
52
+ messageId: channel.name,
53
+ payload,
54
+ idempotencyKey: options.idempotencyKey
58
55
  };
59
56
  }
60
- /** Normalizes and parses workflow message channel wait. */
61
57
  function resolveMessageChannelWait(channel, options = {}) {
62
58
  return {
63
59
  commandId: options.commandId ?? options.name ?? channel.name,
64
60
  name: options.name ?? channel.name,
65
- messageId: resolveMessageChannelMessageId(channel, options.key),
66
- ...options.timeout === void 0 ? {} : { timeout: options.timeout },
67
- ...channel.schema === void 0 ? {} : { schema: channel.schema }
61
+ messageId: channel.name,
62
+ timeout: options.timeout,
63
+ schema: channel.schema
68
64
  };
69
65
  }
70
- function resolveMessageChannelMessageId(channel, key) {
71
- return channel.resolveMessageId(...workflowMessageChannelKeyArgs(key));
72
- }
73
- function workflowMessageChannelKeyArgs(key) {
74
- return key === void 0 ? [] : [key];
75
- }
76
- /** Parses raw workflow input against the definition schema when one is configured. */
77
- async function parseWorkflowInput(definition, input) {
78
- const schema = definition.config.schema;
79
- if (schema === void 0) return input;
80
- return await validateStandardSchema(schema, input, "Workflow input validation failed");
81
- }
82
66
  //#endregion
83
- export { defineMessageChannel, defineWorkflow, defineWorkflowFromName, defineWorkflowFromTarget, implementWorkflow, parseWorkflowInput, resolveMessageChannelSend, resolveMessageChannelWait };
67
+ export { defineFromName, defineFromTarget, defineMessageChannel, defineWorkflow, implementWorkflow, resolveMessageChannelSend, resolveMessageChannelWait };
@@ -1,10 +1,6 @@
1
- import { WorkflowDefinition } from "../types/definition.mjs";
2
- import { WorkflowStepRunWorkflowOptions, WorkflowStepStartWorkflowOptions, WorkflowStepWorkflowApi } from "../types/step.mjs";
3
- import { WorkflowExecutionEnvironment, WorkflowRunCanceler, WorkflowRunStarter } from "../types/engine.mjs";
1
+ import { StepWorkflowApi } from "../types/step.mjs";
2
+ import { WorkflowEngine } from "./create.mjs";
3
+ import { ExecutionEnvironment } from "../types/engine.mjs";
4
4
  //#region src/engine/child-workflow.d.ts
5
- interface WorkflowChildWorkflowEngine extends WorkflowRunStarter, WorkflowRunCanceler {}
6
- declare function createWorkflowStepWorkflowApi(environment: WorkflowExecutionEnvironment, engine: WorkflowChildWorkflowEngine): WorkflowStepWorkflowApi;
7
- declare function runChildWorkflow<TInput, TOutput, TRawInput = TInput>(environment: WorkflowExecutionEnvironment, engine: WorkflowChildWorkflowEngine, definition: WorkflowDefinition<TInput, TOutput, TRawInput>, input: TRawInput, options: WorkflowStepRunWorkflowOptions | undefined): Promise<TOutput>;
8
- declare function startBackgroundChildWorkflow<TInput, TOutput, TRawInput = TInput>(environment: WorkflowExecutionEnvironment, engine: WorkflowChildWorkflowEngine, definition: WorkflowDefinition<TInput, TOutput, TRawInput>, input: TRawInput, options: WorkflowStepStartWorkflowOptions | undefined): Promise<string>;
9
- //#endregion
10
- export { WorkflowChildWorkflowEngine, createWorkflowStepWorkflowApi, runChildWorkflow, startBackgroundChildWorkflow };
5
+ export declare function createStepWorkflowApi(environment: ExecutionEnvironment, engine: WorkflowEngine): StepWorkflowApi;
6
+ //#endregion