@demlik/tea 0.13.0 → 0.15.0

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 (373) hide show
  1. package/README.md +11 -9
  2. package/dist/agent/index.d.ts +638 -45
  3. package/dist/agent/index.js +9 -19
  4. package/dist/{chunk-RH5EFRVJ.js → chunk-22POWGFA.js} +31 -5
  5. package/dist/chunk-22POWGFA.js.map +1 -0
  6. package/dist/{chunk-DMYGQB4O.js → chunk-3B5X7SBB.js} +23 -6
  7. package/dist/chunk-3B5X7SBB.js.map +1 -0
  8. package/dist/chunk-66PY5WYF.js +1816 -0
  9. package/dist/chunk-66PY5WYF.js.map +1 -0
  10. package/dist/{chunk-25LBDCBC.js → chunk-6IQPODUF.js} +2 -2
  11. package/dist/{chunk-25LBDCBC.js.map → chunk-6IQPODUF.js.map} +1 -1
  12. package/dist/chunk-AYS5N6WY.js +505 -0
  13. package/dist/chunk-AYS5N6WY.js.map +1 -0
  14. package/dist/{chunk-EWJP3YYP.js → chunk-HWVW4AXC.js} +3 -3
  15. package/dist/chunk-HWVW4AXC.js.map +1 -0
  16. package/dist/{chunk-O4MVQTEJ.js → chunk-L3TND7LA.js} +20 -16
  17. package/dist/chunk-L3TND7LA.js.map +1 -0
  18. package/dist/{chunk-J6527VRQ.js → chunk-LFZUK6J2.js} +3 -3
  19. package/dist/chunk-LFZUK6J2.js.map +1 -0
  20. package/dist/{chunk-D736QUGF.js → chunk-MYXFNWAJ.js} +4 -5
  21. package/dist/chunk-MYXFNWAJ.js.map +1 -0
  22. package/dist/{chunk-K575PT4S.js → chunk-PR6TB3BL.js} +15 -4
  23. package/dist/chunk-PR6TB3BL.js.map +1 -0
  24. package/dist/{chunk-YUXP55T2.js → chunk-Q5CQTBFA.js} +57 -7
  25. package/dist/chunk-Q5CQTBFA.js.map +1 -0
  26. package/dist/{batch-window/index.js → chunk-QPEVCJ5Q.js} +4 -8
  27. package/dist/chunk-QPEVCJ5Q.js.map +1 -0
  28. package/dist/chunk-TCLBCERH.js +1480 -0
  29. package/dist/chunk-TCLBCERH.js.map +1 -0
  30. package/dist/{chunk-FV3Z5MBE.js → chunk-TXN2KFHF.js} +14 -4
  31. package/dist/chunk-TXN2KFHF.js.map +1 -0
  32. package/dist/{chunk-MUUROGIH.js → chunk-V46HSVCK.js} +62 -12
  33. package/dist/chunk-V46HSVCK.js.map +1 -0
  34. package/dist/{chunk-Q2UM7BXU.js → chunk-VBDU4JL6.js} +2 -2
  35. package/dist/chunk-VBDU4JL6.js.map +1 -0
  36. package/dist/{chunk-ZVJZ72HY.js → chunk-VTQI2NHP.js} +25 -11
  37. package/dist/chunk-VTQI2NHP.js.map +1 -0
  38. package/dist/{core-Co0LWkIA.d.ts → core-DnzqWy6u.d.ts} +72 -23
  39. package/dist/devtools/index.d.ts +2 -2
  40. package/dist/devtools/index.js +207 -2
  41. package/dist/devtools/index.js.map +1 -1
  42. package/dist/do/index.d.ts +43 -29
  43. package/dist/do/index.js +36 -25
  44. package/dist/do/index.js.map +1 -1
  45. package/dist/{durable-effects-C6uwzjb5.d.ts → durable-effects-CWzA-o2B.d.ts} +2 -2
  46. package/dist/extension/index.d.ts +300 -3
  47. package/dist/extension/index.js +596 -5
  48. package/dist/extension/index.js.map +1 -1
  49. package/dist/flow/index.d.ts +1284 -0
  50. package/dist/flow/index.js +732 -0
  51. package/dist/flow/index.js.map +1 -0
  52. package/dist/idempotency/index.d.ts +90 -116
  53. package/dist/idempotency/index.js +4 -1
  54. package/dist/index-Bc40JWVl.d.ts +131 -0
  55. package/dist/{batch-window/index.d.ts → index-C2DwkjlP.d.ts} +7 -12
  56. package/dist/index-CA_7I5g9.d.ts +806 -0
  57. package/dist/index-CSyMYDAB.d.ts +69 -0
  58. package/dist/{fan-out/index.d.ts → index-CuNO9m8i.d.ts} +7 -9
  59. package/dist/{debounce/index.d.ts → index-DHSUmQTR.d.ts} +7 -7
  60. package/dist/{recorder/index.d.ts → index-DrIRb_Ch.d.ts} +4 -7
  61. package/dist/index-HSYgG2Yt.d.ts +380 -0
  62. package/dist/{monitored-run/index.d.ts → index-KXqTRJyb.d.ts} +37 -13
  63. package/dist/{snapshot/index.d.ts → index-ZCMhnVKN.d.ts} +15 -78
  64. package/dist/index.d.ts +771 -6
  65. package/dist/index.js +1 -2
  66. package/dist/jev/index.d.ts +646 -0
  67. package/dist/jev/index.js +485 -0
  68. package/dist/jev/index.js.map +1 -0
  69. package/dist/machine-DGlPWCWI.d.ts +1781 -0
  70. package/dist/machine-viz/index.d.ts +1 -1
  71. package/dist/machine-viz/index.js +12 -5
  72. package/dist/machine-viz/index.js.map +1 -1
  73. package/dist/mem/index.d.ts +18 -3
  74. package/dist/mem/index.js +22 -2
  75. package/dist/mem/index.js.map +1 -1
  76. package/dist/node/index.d.ts +104 -6
  77. package/dist/node/index.js +132 -9
  78. package/dist/node/index.js.map +1 -1
  79. package/dist/{paginator → paginate}/index.d.ts +140 -6
  80. package/dist/paginate/index.js +7 -0
  81. package/dist/parity/index.d.ts +4 -10
  82. package/dist/parity/index.js +4 -7
  83. package/dist/parity/index.js.map +1 -1
  84. package/dist/pbt/index.d.ts +247 -5
  85. package/dist/pbt/index.js +124 -5
  86. package/dist/pbt/index.js.map +1 -1
  87. package/dist/{trace-replay → persistence}/index.d.ts +7 -5
  88. package/dist/persistence/index.js +6 -0
  89. package/dist/{protocol-B5YmJr0d.d.ts → protocol-D8VbH-VH.d.ts} +10 -1
  90. package/dist/react/index.d.ts +2 -2
  91. package/dist/react/index.js +1 -2
  92. package/dist/react/index.js.map +1 -1
  93. package/dist/resilience/index.d.ts +744 -0
  94. package/dist/resilience/index.js +657 -0
  95. package/dist/resilience/index.js.map +1 -0
  96. package/dist/retry-backoff/index.d.ts +3 -2
  97. package/dist/retry-backoff/index.js +1 -1
  98. package/dist/runtime-types-CMF13BBh.d.ts +998 -0
  99. package/dist/testing/index.d.ts +147 -3
  100. package/dist/testing/index.js +95 -3
  101. package/dist/testing/index.js.map +1 -1
  102. package/dist/{throttled-input → timing}/index.d.ts +143 -12
  103. package/dist/{throttled-input → timing}/index.js +57 -12
  104. package/dist/timing/index.js.map +1 -0
  105. package/dist/{types-XS_miRnB.d.ts → types-BseNPIhr.d.ts} +1 -1
  106. package/dist/work-queue/index.d.ts +130 -54
  107. package/dist/work-queue/index.js +3 -2
  108. package/dist/work-queue/index.js.map +1 -1
  109. package/package.json +45 -218
  110. package/dist/authed-call/index.d.ts +0 -120
  111. package/dist/authed-call/index.js +0 -134
  112. package/dist/authed-call/index.js.map +0 -1
  113. package/dist/await-terminal/index.d.ts +0 -101
  114. package/dist/await-terminal/index.js +0 -76
  115. package/dist/await-terminal/index.js.map +0 -1
  116. package/dist/batch-window/index.js.map +0 -1
  117. package/dist/cache/index.d.ts +0 -152
  118. package/dist/cache/index.js +0 -8
  119. package/dist/chart/index.d.ts +0 -218
  120. package/dist/chart/index.js +0 -16
  121. package/dist/chart/index.js.map +0 -1
  122. package/dist/chart/inspect/index.d.ts +0 -86
  123. package/dist/chart/inspect/index.js +0 -5
  124. package/dist/chart/inspect/react.d.ts +0 -113
  125. package/dist/chart/inspect/react.js +0 -11
  126. package/dist/chart/inspect/react.js.map +0 -1
  127. package/dist/chart/inspect/styles.css +0 -286
  128. package/dist/chart/lane/index.d.ts +0 -362
  129. package/dist/chart/lane/index.js +0 -9
  130. package/dist/chart/lane/index.js.map +0 -1
  131. package/dist/chart/lane/react.d.ts +0 -84
  132. package/dist/chart/lane/react.js +0 -559
  133. package/dist/chart/lane/react.js.map +0 -1
  134. package/dist/chart/lane/server.d.ts +0 -148
  135. package/dist/chart/lane/server.js +0 -209
  136. package/dist/chart/lane/server.js.map +0 -1
  137. package/dist/chart/lane/styles.css +0 -498
  138. package/dist/chart/lane/viewer/assets/abnfDiagram-N423BO3Z-C729LI31.js +0 -1
  139. package/dist/chart/lane/viewer/assets/architectureDiagram-T3A2C74G-C729LI31.js +0 -1
  140. package/dist/chart/lane/viewer/assets/blockDiagram-VBNYF7ZC-C729LI31.js +0 -1
  141. package/dist/chart/lane/viewer/assets/c4Diagram-5PPSVZJV-C729LI31.js +0 -1
  142. package/dist/chart/lane/viewer/assets/chunk-2GRJ4B5K-HdDf8SI3.js +0 -1
  143. package/dist/chart/lane/viewer/assets/chunk-5RXB4S5H-CcNtpUd7.js +0 -231
  144. package/dist/chart/lane/viewer/assets/chunk-5VM5RSS4-BP4fRS_5.js +0 -15
  145. package/dist/chart/lane/viewer/assets/chunk-KBJHAD2P-DZOw7xU6.js +0 -1
  146. package/dist/chart/lane/viewer/assets/chunk-NSK5VX7P-CBCyTZMs.js +0 -128
  147. package/dist/chart/lane/viewer/assets/classDiagram-JCYQIIEL-C729LI31.js +0 -1
  148. package/dist/chart/lane/viewer/assets/classDiagram-v2-OCEON4UE-D4uAiFr8.js +0 -206
  149. package/dist/chart/lane/viewer/assets/cose-bilkent-JH36ORCC-DOwCrGXH.js +0 -1
  150. package/dist/chart/lane/viewer/assets/cynefinDiagram-MW4NZA55-C729LI31.js +0 -1
  151. package/dist/chart/lane/viewer/assets/dagre-K_PewWfS.js +0 -1
  152. package/dist/chart/lane/viewer/assets/dagre-VZM6K2ZE-831qZcA8.js +0 -4
  153. package/dist/chart/lane/viewer/assets/diagram-7IWD3JNH-C729LI31.js +0 -1
  154. package/dist/chart/lane/viewer/assets/diagram-B4RE2ZJO-C729LI31.js +0 -1
  155. package/dist/chart/lane/viewer/assets/diagram-LBJQPF4R-C729LI31.js +0 -1
  156. package/dist/chart/lane/viewer/assets/diagram-Q27KOJAE-C729LI31.js +0 -1
  157. package/dist/chart/lane/viewer/assets/diagram-UB23O5K3-C729LI31.js +0 -1
  158. package/dist/chart/lane/viewer/assets/ebnfDiagram-BXEA7PRR-C729LI31.js +0 -1
  159. package/dist/chart/lane/viewer/assets/erDiagram-JOGREHBK-C729LI31.js +0 -1
  160. package/dist/chart/lane/viewer/assets/flowDiagram-UKHOOZJN-C729LI31.js +0 -1
  161. package/dist/chart/lane/viewer/assets/ganttDiagram-PKOTCBZU-C729LI31.js +0 -1
  162. package/dist/chart/lane/viewer/assets/gitGraphDiagram-DS77QQ5N-C729LI31.js +0 -1
  163. package/dist/chart/lane/viewer/assets/index-9SkH5NA3.css +0 -1
  164. package/dist/chart/lane/viewer/assets/index-Bgt4sXpW.js +0 -195
  165. package/dist/chart/lane/viewer/assets/infoDiagram-6WML65LV-C729LI31.js +0 -1
  166. package/dist/chart/lane/viewer/assets/ishikawaDiagram-WSZJBQD7-C729LI31.js +0 -1
  167. package/dist/chart/lane/viewer/assets/journeyDiagram-NVQOT4AX-C729LI31.js +0 -1
  168. package/dist/chart/lane/viewer/assets/kanban-definition-27J2QSJJ-G7PaPzy-.js +0 -89
  169. package/dist/chart/lane/viewer/assets/katex-DOwCrGXH.js +0 -1
  170. package/dist/chart/lane/viewer/assets/mindmap-definition-FAOFIHXS-CGj9nrVk.js +0 -96
  171. package/dist/chart/lane/viewer/assets/path-fybaL0A-.js +0 -1
  172. package/dist/chart/lane/viewer/assets/pegDiagram-VL7TDLO6-C729LI31.js +0 -1
  173. package/dist/chart/lane/viewer/assets/pieDiagram-7S7Q4E2Y-C729LI31.js +0 -1
  174. package/dist/chart/lane/viewer/assets/quadrantDiagram-CIZ2JOQS-C729LI31.js +0 -1
  175. package/dist/chart/lane/viewer/assets/railroadDiagram-AXF67PYL-C729LI31.js +0 -1
  176. package/dist/chart/lane/viewer/assets/requirementDiagram-LRYGKXZP-C729LI31.js +0 -1
  177. package/dist/chart/lane/viewer/assets/sankeyDiagram-W5VNT64P-C729LI31.js +0 -1
  178. package/dist/chart/lane/viewer/assets/sequenceDiagram-SI44F4Z6-C729LI31.js +0 -1
  179. package/dist/chart/lane/viewer/assets/stateDiagram-OKZ733FA-B_88AzBS.js +0 -1
  180. package/dist/chart/lane/viewer/assets/stateDiagram-v2-UEYNNEHI-CR5gcgq6.js +0 -1
  181. package/dist/chart/lane/viewer/assets/swimlanes-SLNWSIFB-B4xK-rwg.js +0 -1
  182. package/dist/chart/lane/viewer/assets/swimlanesDiagram-ULZ7WXOC-C729LI31.js +0 -1
  183. package/dist/chart/lane/viewer/assets/timeline-definition-Z64GVDOM-CCv52MfY.js +0 -120
  184. package/dist/chart/lane/viewer/assets/vennDiagram-T6HMQDX7-C729LI31.js +0 -1
  185. package/dist/chart/lane/viewer/assets/wardleyDiagram-T6FBY63Y-C729LI31.js +0 -1
  186. package/dist/chart/lane/viewer/assets/xychartDiagram-ELKLHX3M-C729LI31.js +0 -1
  187. package/dist/chart/lane/viewer/index.html +0 -15
  188. package/dist/chart/report/index.d.ts +0 -117
  189. package/dist/chart/report/index.js +0 -32
  190. package/dist/chart/report/index.js.map +0 -1
  191. package/dist/chunk-2YFLOCWX.js +0 -15
  192. package/dist/chunk-2YFLOCWX.js.map +0 -1
  193. package/dist/chunk-3I52QZZ5.js +0 -519
  194. package/dist/chunk-3I52QZZ5.js.map +0 -1
  195. package/dist/chunk-3ZAFFRRB.js +0 -457
  196. package/dist/chunk-3ZAFFRRB.js.map +0 -1
  197. package/dist/chunk-4EQZ76JC.js +0 -33
  198. package/dist/chunk-4EQZ76JC.js.map +0 -1
  199. package/dist/chunk-4KLG43GY.js +0 -223
  200. package/dist/chunk-4KLG43GY.js.map +0 -1
  201. package/dist/chunk-7FRZ2CT2.js +0 -424
  202. package/dist/chunk-7FRZ2CT2.js.map +0 -1
  203. package/dist/chunk-AZZLE7XR.js +0 -62
  204. package/dist/chunk-AZZLE7XR.js.map +0 -1
  205. package/dist/chunk-BYQUGDD3.js +0 -16
  206. package/dist/chunk-BYQUGDD3.js.map +0 -1
  207. package/dist/chunk-CIQG5L42.js +0 -685
  208. package/dist/chunk-CIQG5L42.js.map +0 -1
  209. package/dist/chunk-CLM6ERNO.js +0 -61
  210. package/dist/chunk-CLM6ERNO.js.map +0 -1
  211. package/dist/chunk-COS5MSTO.js +0 -88
  212. package/dist/chunk-COS5MSTO.js.map +0 -1
  213. package/dist/chunk-CRPZJVD2.js +0 -71
  214. package/dist/chunk-CRPZJVD2.js.map +0 -1
  215. package/dist/chunk-D62FDQKE.js +0 -53
  216. package/dist/chunk-D62FDQKE.js.map +0 -1
  217. package/dist/chunk-D736QUGF.js.map +0 -1
  218. package/dist/chunk-DGE4PV4A.js +0 -26
  219. package/dist/chunk-DGE4PV4A.js.map +0 -1
  220. package/dist/chunk-DMYGQB4O.js.map +0 -1
  221. package/dist/chunk-EWJP3YYP.js.map +0 -1
  222. package/dist/chunk-FV3Z5MBE.js.map +0 -1
  223. package/dist/chunk-HCEVHFJ7.js +0 -54
  224. package/dist/chunk-HCEVHFJ7.js.map +0 -1
  225. package/dist/chunk-J6527VRQ.js.map +0 -1
  226. package/dist/chunk-JELSZN25.js +0 -47
  227. package/dist/chunk-JELSZN25.js.map +0 -1
  228. package/dist/chunk-K575PT4S.js.map +0 -1
  229. package/dist/chunk-L57ZOT5K.js +0 -184
  230. package/dist/chunk-L57ZOT5K.js.map +0 -1
  231. package/dist/chunk-MU6MCIAC.js +0 -15
  232. package/dist/chunk-MU6MCIAC.js.map +0 -1
  233. package/dist/chunk-MUUROGIH.js.map +0 -1
  234. package/dist/chunk-NR7BU22N.js +0 -758
  235. package/dist/chunk-NR7BU22N.js.map +0 -1
  236. package/dist/chunk-O4MVQTEJ.js.map +0 -1
  237. package/dist/chunk-OOYD44JI.js +0 -317
  238. package/dist/chunk-OOYD44JI.js.map +0 -1
  239. package/dist/chunk-Q2UM7BXU.js.map +0 -1
  240. package/dist/chunk-RH5EFRVJ.js.map +0 -1
  241. package/dist/chunk-S2EGRPCM.js +0 -47
  242. package/dist/chunk-S2EGRPCM.js.map +0 -1
  243. package/dist/chunk-SINXE47Y.js +0 -55
  244. package/dist/chunk-SINXE47Y.js.map +0 -1
  245. package/dist/chunk-UF4MZSLT.js +0 -53
  246. package/dist/chunk-UF4MZSLT.js.map +0 -1
  247. package/dist/chunk-UOC2PL46.js +0 -13
  248. package/dist/chunk-UOC2PL46.js.map +0 -1
  249. package/dist/chunk-VYFAZN3F.js +0 -372
  250. package/dist/chunk-VYFAZN3F.js.map +0 -1
  251. package/dist/chunk-WRAA7GVZ.js +0 -209
  252. package/dist/chunk-WRAA7GVZ.js.map +0 -1
  253. package/dist/chunk-XGELA764.js +0 -163
  254. package/dist/chunk-XGELA764.js.map +0 -1
  255. package/dist/chunk-YUXP55T2.js.map +0 -1
  256. package/dist/chunk-YWIKDKHY.js +0 -307
  257. package/dist/chunk-YWIKDKHY.js.map +0 -1
  258. package/dist/chunk-ZJ5AOYBH.js +0 -8
  259. package/dist/chunk-ZJ5AOYBH.js.map +0 -1
  260. package/dist/chunk-ZSUUOEPL.js +0 -731
  261. package/dist/chunk-ZSUUOEPL.js.map +0 -1
  262. package/dist/chunk-ZVJZ72HY.js.map +0 -1
  263. package/dist/circuit-breaker/index.d.ts +0 -197
  264. package/dist/circuit-breaker/index.js +0 -3
  265. package/dist/circuit-breaker/index.js.map +0 -1
  266. package/dist/deadline/index.d.ts +0 -199
  267. package/dist/deadline/index.js +0 -6
  268. package/dist/deadline/index.js.map +0 -1
  269. package/dist/debounce/index.js +0 -3
  270. package/dist/debounce/index.js.map +0 -1
  271. package/dist/extension/react.d.ts +0 -121
  272. package/dist/extension/react.js +0 -75
  273. package/dist/extension/react.js.map +0 -1
  274. package/dist/extension/subs/index.d.ts +0 -45
  275. package/dist/extension/subs/index.js +0 -80
  276. package/dist/extension/subs/index.js.map +0 -1
  277. package/dist/extension/test-utils.d.ts +0 -128
  278. package/dist/extension/test-utils.js +0 -277
  279. package/dist/extension/test-utils.js.map +0 -1
  280. package/dist/fan-out/index.js +0 -5
  281. package/dist/fan-out/index.js.map +0 -1
  282. package/dist/fold-BJPdjc9w.d.ts +0 -435
  283. package/dist/graph-B3L5e0N1.d.ts +0 -923
  284. package/dist/idempotency/adapter.d.ts +0 -62
  285. package/dist/idempotency/adapter.js +0 -4
  286. package/dist/idempotency/adapter.js.map +0 -1
  287. package/dist/idempotent-intake/index.d.ts +0 -188
  288. package/dist/idempotent-intake/index.js +0 -7
  289. package/dist/idempotent-intake/index.js.map +0 -1
  290. package/dist/journal/index.d.ts +0 -373
  291. package/dist/journal/index.js +0 -3
  292. package/dist/journal/index.js.map +0 -1
  293. package/dist/llm-call/index.d.ts +0 -311
  294. package/dist/llm-call/index.js +0 -16
  295. package/dist/llm-call/index.js.map +0 -1
  296. package/dist/machine-BtFWQmmq.d.ts +0 -804
  297. package/dist/monitored-run/index.js +0 -10
  298. package/dist/monitored-run/index.js.map +0 -1
  299. package/dist/paginated-walk/index.d.ts +0 -235
  300. package/dist/paginated-walk/index.js +0 -16
  301. package/dist/paginated-walk/index.js.map +0 -1
  302. package/dist/paginator/index.js +0 -3
  303. package/dist/paginator/index.js.map +0 -1
  304. package/dist/pbt/arbitraries/index.d.ts +0 -136
  305. package/dist/pbt/arbitraries/index.js +0 -3
  306. package/dist/pbt/arbitraries/index.js.map +0 -1
  307. package/dist/pbt/runners/index.d.ts +0 -118
  308. package/dist/pbt/runners/index.js +0 -5
  309. package/dist/pbt/runners/index.js.map +0 -1
  310. package/dist/poller/index.d.ts +0 -352
  311. package/dist/poller/index.js +0 -115
  312. package/dist/poller/index.js.map +0 -1
  313. package/dist/prediction/index.d.ts +0 -131
  314. package/dist/prediction/index.js +0 -4
  315. package/dist/prediction/index.js.map +0 -1
  316. package/dist/pure/index.d.ts +0 -3
  317. package/dist/pure/index.js +0 -4
  318. package/dist/pure/index.js.map +0 -1
  319. package/dist/rate-limit/index.d.ts +0 -115
  320. package/dist/rate-limit/index.js +0 -3
  321. package/dist/rate-limit/index.js.map +0 -1
  322. package/dist/reconciler/index.d.ts +0 -193
  323. package/dist/reconciler/index.js +0 -164
  324. package/dist/reconciler/index.js.map +0 -1
  325. package/dist/recorder/index.js +0 -3
  326. package/dist/recorder/index.js.map +0 -1
  327. package/dist/reducer-4GNR6b8B.d.ts +0 -447
  328. package/dist/resilient-call/index.d.ts +0 -320
  329. package/dist/resilient-call/index.js +0 -14
  330. package/dist/resilient-call/index.js.map +0 -1
  331. package/dist/retry-to-success/index.d.ts +0 -109
  332. package/dist/retry-to-success/index.js +0 -37
  333. package/dist/retry-to-success/index.js.map +0 -1
  334. package/dist/run-pAcmBpah.d.ts +0 -713
  335. package/dist/runtime-types-CNLmhWif.d.ts +0 -517
  336. package/dist/saga/index.d.ts +0 -241
  337. package/dist/saga/index.js +0 -150
  338. package/dist/saga/index.js.map +0 -1
  339. package/dist/samples-B3My5oh2.d.ts +0 -59
  340. package/dist/snapshot/index.js +0 -5
  341. package/dist/snapshot/index.js.map +0 -1
  342. package/dist/subs/index.d.ts +0 -472
  343. package/dist/subs/index.js +0 -7
  344. package/dist/subs/index.js.map +0 -1
  345. package/dist/throttle/index.d.ts +0 -134
  346. package/dist/throttle/index.js +0 -3
  347. package/dist/throttle/index.js.map +0 -1
  348. package/dist/throttled-input/index.js.map +0 -1
  349. package/dist/token-refresh/index.d.ts +0 -216
  350. package/dist/token-refresh/index.js +0 -6
  351. package/dist/token-refresh/index.js.map +0 -1
  352. package/dist/trace-replay/index.js +0 -6
  353. package/dist/trace-replay/index.js.map +0 -1
  354. package/dist/with-deadline/index.d.ts +0 -197
  355. package/dist/with-deadline/index.js +0 -111
  356. package/dist/with-deadline/index.js.map +0 -1
  357. package/dist/with-resilience/index.d.ts +0 -225
  358. package/dist/with-resilience/index.js +0 -240
  359. package/dist/with-resilience/index.js.map +0 -1
  360. package/dist/with-telemetry/index.d.ts +0 -150
  361. package/dist/with-telemetry/index.js +0 -70
  362. package/dist/with-telemetry/index.js.map +0 -1
  363. package/dist/work-queue/adapter.d.ts +0 -84
  364. package/dist/work-queue/adapter.js +0 -4
  365. package/dist/work-queue/adapter.js.map +0 -1
  366. package/dist/work-queue/ops.d.ts +0 -71
  367. package/dist/work-queue/ops.js +0 -3
  368. package/dist/work-queue/ops.js.map +0 -1
  369. package/dist/workflow/index.d.ts +0 -485
  370. package/dist/workflow/index.js +0 -244
  371. package/dist/workflow/index.js.map +0 -1
  372. /package/dist/{cache → paginate}/index.js.map +0 -0
  373. /package/dist/{chart/inspect → persistence}/index.js.map +0 -0
@@ -0,0 +1,732 @@
1
+ export { addItem, batchWindowExpired, createBatchWindow, initBatchWindow, onWindow, subsFor, subscribeBatchWindow } from '../chunk-QPEVCJ5Q.js';
2
+ export { debounce } from '../chunk-LFZUK6J2.js';
3
+ import { createPaginatedWalk, PAGE_KEY } from '../chunk-Q5CQTBFA.js';
4
+ import { pendingEffectsLedger, foldLedger, survivingEffects } from '../chunk-6IQPODUF.js';
5
+ export { emptyLedger } from '../chunk-6IQPODUF.js';
6
+ export { createMonitoredRun, liftRun } from '../chunk-3B5X7SBB.js';
7
+ export { createFanOut, initFanOut, isComplete } from '../chunk-MYXFNWAJ.js';
8
+ import { idempotencyMemory } from '../chunk-PR6TB3BL.js';
9
+ import { queueAdapter } from '../chunk-TXN2KFHF.js';
10
+ import '../chunk-L3TND7LA.js';
11
+ import '../chunk-AYS5N6WY.js';
12
+ import { asRng, defaultRetryPolicy, initRetry, recordFailure, shouldRetry, nextDelayMs } from '../chunk-VBDU4JL6.js';
13
+ import { deadlineSub, initCache, get, set } from '../chunk-22POWGFA.js';
14
+ export { deadlineSub, subscribeDeadline } from '../chunk-22POWGFA.js';
15
+ import { run, Cmd } from '../chunk-66PY5WYF.js';
16
+ import { z } from 'zod';
17
+
18
+ // src/internal/flow/await-terminal/index.ts
19
+ var TerminalTimeoutError = class extends Error {
20
+ constructor(timeoutMs) {
21
+ super(
22
+ `@demlik/tea: awaitTerminal did not reach a terminal state within ${timeoutMs}ms \u2014 no transition satisfied isTerminal before the deadline.`
23
+ );
24
+ this.timeoutMs = timeoutMs;
25
+ }
26
+ timeoutMs;
27
+ name = "TerminalTimeoutError";
28
+ _tag = "TerminalTimeoutError";
29
+ };
30
+ function awaitTerminal(runtime, isTerminal, opts = {}) {
31
+ return new Promise((resolve, reject) => {
32
+ const current = runtime.getState();
33
+ if (isTerminal(current)) {
34
+ resolve(current);
35
+ return;
36
+ }
37
+ let settled = false;
38
+ let timer;
39
+ let detach;
40
+ const cleanup = () => {
41
+ if (timer !== void 0) {
42
+ clearTimeout(timer);
43
+ timer = void 0;
44
+ }
45
+ if (detach !== void 0) {
46
+ detach();
47
+ detach = void 0;
48
+ }
49
+ };
50
+ detach = runtime.observe((_msg, state) => {
51
+ if (settled) return;
52
+ if (isTerminal(state)) {
53
+ settled = true;
54
+ cleanup();
55
+ resolve(state);
56
+ }
57
+ });
58
+ const timeoutMs = opts.timeoutMs;
59
+ if (timeoutMs !== void 0) {
60
+ timer = setTimeout(() => {
61
+ if (settled) return;
62
+ settled = true;
63
+ cleanup();
64
+ reject(new TerminalTimeoutError(timeoutMs));
65
+ }, timeoutMs);
66
+ }
67
+ });
68
+ }
69
+ async function runToTerminal(machine, seed, isTerminal, opts = {}) {
70
+ const { msgs, ...ctxArg } = seed;
71
+ const runtime = await run(
72
+ machine,
73
+ ctxArg
74
+ ).ready;
75
+ try {
76
+ const terminal = awaitTerminal(runtime, isTerminal, opts);
77
+ const seeding = Promise.all(msgs.map((msg) => runtime.dispatch(msg)));
78
+ const state = await Promise.race([terminal, seeding.then(() => terminal)]);
79
+ await runtime.stop();
80
+ return state;
81
+ } catch (err) {
82
+ await runtime.stop().catch(() => {
83
+ });
84
+ throw err;
85
+ }
86
+ }
87
+
88
+ // src/internal/flow/poller/index.ts
89
+ function pollerSubId(atMs) {
90
+ return `poller:tick:${atMs}`;
91
+ }
92
+ function createPoller(config, rng = Math.random) {
93
+ const rngBranded = asRng(rng);
94
+ const policy = config.retry ?? defaultRetryPolicy;
95
+ const memory = idempotencyMemory();
96
+ function init() {
97
+ return {
98
+ phase: "polling",
99
+ tick: 0,
100
+ retry: initRetry(),
101
+ nextAtMs: null,
102
+ // The dedupe store is created regardless; it is only WRITTEN when
103
+ // `dedupeKey` is set, so an unconfigured poller carries an inert empty
104
+ // store (no per-op cost, JSON-serializable, durable like the rest of
105
+ // the slice).
106
+ dedupe: memory.init({ ttlMs: config.dedupeTtlMs })
107
+ };
108
+ }
109
+ function start(state, at) {
110
+ return [
111
+ {
112
+ phase: "polling",
113
+ tick: state.tick,
114
+ lastResult: state.lastResult,
115
+ retry: state.retry,
116
+ nextAtMs: at + config.everyMs,
117
+ dedupe: state.dedupe
118
+ },
119
+ []
120
+ ];
121
+ }
122
+ function tick(state) {
123
+ if (state.phase !== "polling") return [state, []];
124
+ return [state, [config.onTick()]];
125
+ }
126
+ function tickResult(state, result, at, untilHeld) {
127
+ const tick2 = state.tick + 1;
128
+ if (untilHeld) {
129
+ return [
130
+ {
131
+ phase: "done",
132
+ tick: tick2,
133
+ lastResult: result,
134
+ retry: initRetry(),
135
+ dedupe: state.dedupe
136
+ },
137
+ []
138
+ ];
139
+ }
140
+ const next = {
141
+ phase: "polling",
142
+ tick: tick2,
143
+ lastResult: result,
144
+ retry: initRetry(),
145
+ nextAtMs: at + config.everyMs,
146
+ dedupe: state.dedupe
147
+ };
148
+ if (!config.dedupeKey) return [next, []];
149
+ const key = config.dedupeKey(result);
150
+ const suppress = memory.isSeen(next.dedupe, key, at);
151
+ const deduped = {
152
+ ...next,
153
+ dedupe: memory.remember(next.dedupe, key, true, at)
154
+ };
155
+ return [deduped, suppress ? [] : [config.onTick()]];
156
+ }
157
+ function tickErr(state, error, at) {
158
+ const retry = recordFailure(state.retry, error, at);
159
+ const tick2 = state.tick + 1;
160
+ if (!shouldRetry(retry, policy, at)) {
161
+ return [
162
+ {
163
+ phase: "gave_up",
164
+ tick: tick2,
165
+ lastResult: state.lastResult,
166
+ retry,
167
+ dedupe: state.dedupe
168
+ },
169
+ []
170
+ ];
171
+ }
172
+ const delayMs = nextDelayMs(retry, policy, rngBranded);
173
+ return [
174
+ {
175
+ phase: "polling",
176
+ tick: tick2,
177
+ lastResult: state.lastResult,
178
+ retry,
179
+ nextAtMs: at + delayMs,
180
+ dedupe: state.dedupe
181
+ },
182
+ []
183
+ ];
184
+ }
185
+ function subs(state) {
186
+ if (state.phase !== "polling" || state.nextAtMs === null) return [];
187
+ return [deadlineSub(pollerSubId(state.nextAtMs), state.nextAtMs)];
188
+ }
189
+ return { init, start, tick, tickResult, tickErr, subs };
190
+ }
191
+
192
+ // src/internal/flow/reconciler/index.ts
193
+ function createReconciler(config, rng = Math.random) {
194
+ const walk = createPaginatedWalk(
195
+ {
196
+ firstPage: config.firstPage,
197
+ nextCursor: config.nextCursor,
198
+ // The walk's per-page hook emits no Cmds — the reconciler accumulates the
199
+ // page's items itself in `pageOk` (where it holds its own slice), so the
200
+ // walk's onPage stays empty.
201
+ onPage: () => [],
202
+ retry: config.retry,
203
+ circuit: config.circuit,
204
+ rateLimit: config.rateLimit,
205
+ deadline: config.deadline
206
+ },
207
+ rng
208
+ );
209
+ function changeId(change) {
210
+ return config.idOf ? config.idOf(change) : JSON.stringify(change);
211
+ }
212
+ function withWalk(s, w) {
213
+ return { ...s, walk: w };
214
+ }
215
+ function init() {
216
+ return {
217
+ phase: "idle",
218
+ walk: walk.init(),
219
+ actual: [],
220
+ plan: [],
221
+ appliedCursor: 0,
222
+ applied: initCache()
223
+ };
224
+ }
225
+ function scan(s, at) {
226
+ if (s.phase !== "idle") return [s, []];
227
+ const [w, cmds] = walk.start(s.walk, at);
228
+ const next = { ...s, phase: "scanning", walk: w };
229
+ return [next, cmds];
230
+ }
231
+ function pageOk(s, page, at) {
232
+ if (s.phase !== "scanning") {
233
+ const [w2] = walk.pageOk(s.walk, page, at);
234
+ return [withWalk(s, w2), []];
235
+ }
236
+ const [w, walkCmds] = walk.pageOk(s.walk, page, at);
237
+ const actual = [...s.actual, ...config.itemsOf(page)];
238
+ const scanned = { ...s, walk: w, actual };
239
+ const cmds = walkCmds;
240
+ if (walk.isComplete(scanned.walk)) {
241
+ const [plannedState, applyCmds] = planned(scanned, at);
242
+ return [plannedState, [...cmds, ...applyCmds]];
243
+ }
244
+ return [scanned, cmds];
245
+ }
246
+ function pageErr(s, error, at) {
247
+ const [w, cmds] = walk.pageErr(s.walk, error, at);
248
+ let next = withWalk(s, w);
249
+ if (s.phase === "scanning" && w.resilience.calls[PAGE_KEY]?.phase === "failed") {
250
+ next = { ...next, phase: "failed" };
251
+ }
252
+ return [next, cmds];
253
+ }
254
+ function planned(s, at, changes) {
255
+ const plan = changes ?? config.diff(config.desired, s.actual);
256
+ const planning = {
257
+ ...s,
258
+ phase: "applying",
259
+ plan,
260
+ appliedCursor: 0
261
+ };
262
+ return applyNext(planning, at);
263
+ }
264
+ function applyNext(s, at) {
265
+ if (s.phase !== "applying") return [s, []];
266
+ let cursor = s.appliedCursor;
267
+ while (cursor < s.plan.length) {
268
+ const change = s.plan[cursor];
269
+ if (change === void 0) {
270
+ cursor++;
271
+ continue;
272
+ }
273
+ const id = changeId(change);
274
+ if (get(s.applied, id, at) === void 0) {
275
+ const advanced = { ...s, appliedCursor: cursor };
276
+ return [advanced, [config.apply(change)]];
277
+ }
278
+ cursor++;
279
+ }
280
+ const done = { ...s, phase: "done", appliedCursor: cursor };
281
+ return [done, []];
282
+ }
283
+ function applied(s, change, at) {
284
+ if (s.phase !== "applying") return [s, []];
285
+ const id = changeId(change);
286
+ const applied2 = set(
287
+ s.applied,
288
+ id,
289
+ change,
290
+ at,
291
+ Number.MAX_SAFE_INTEGER
292
+ );
293
+ const advanced = {
294
+ ...s,
295
+ applied: applied2,
296
+ appliedCursor: s.appliedCursor + 1
297
+ };
298
+ return applyNext(advanced, at);
299
+ }
300
+ function onTimer(s, msg) {
301
+ const [w, cmds] = walk.onTimer(s.walk, msg);
302
+ if (w === s.walk) {
303
+ return [s, []];
304
+ }
305
+ let next = withWalk(s, w);
306
+ if (s.phase === "scanning" && w.resilience.calls[PAGE_KEY]?.phase === "failed") {
307
+ next = { ...next, phase: "failed" };
308
+ }
309
+ return [next, cmds];
310
+ }
311
+ function isComplete2(s) {
312
+ return s.phase === "done";
313
+ }
314
+ function subs(s) {
315
+ return walk.subs(s.walk);
316
+ }
317
+ function handlers(ports) {
318
+ return walk.handlers(ports);
319
+ }
320
+ return {
321
+ init,
322
+ scan,
323
+ pageOk,
324
+ pageErr,
325
+ planned,
326
+ applyNext,
327
+ applied,
328
+ onTimer,
329
+ isComplete: isComplete2,
330
+ subs,
331
+ handlers
332
+ };
333
+ }
334
+ function liftReconciler(state, [slice, cmds]) {
335
+ return [{ ...state, rec: slice }, cmds];
336
+ }
337
+
338
+ // src/internal/flow/saga/index.ts
339
+ function isCommitted(state) {
340
+ return state.phase === "committed";
341
+ }
342
+ function isAborted(state) {
343
+ return state.phase === "aborted";
344
+ }
345
+ function isCompensationFailed(state) {
346
+ return state.phase === "compensation_failed";
347
+ }
348
+ function isSettled(state) {
349
+ return state.phase === "committed" || state.phase === "aborted" || state.phase === "compensation_failed";
350
+ }
351
+ function initSaga() {
352
+ return {
353
+ position: 0,
354
+ done: [],
355
+ compensating: false,
356
+ phase: "idle",
357
+ items: []
358
+ };
359
+ }
360
+ function createSaga(config) {
361
+ const wq = queueAdapter();
362
+ function freshLedger() {
363
+ let items = [];
364
+ config.steps.forEach((_step, index) => {
365
+ items = wq.enqueue(items, index, 0, String(index)).next;
366
+ });
367
+ return items;
368
+ }
369
+ function setStatus(items, index, status) {
370
+ return wq.patch(items, String(index), (item) => ({
371
+ ...item,
372
+ status
373
+ })).next;
374
+ }
375
+ function stepAt(index) {
376
+ return config.steps[index];
377
+ }
378
+ function lastDone(done) {
379
+ return done[done.length - 1];
380
+ }
381
+ function start(state) {
382
+ if (state.phase !== "idle") return [state, []];
383
+ const items = freshLedger();
384
+ const first = stepAt(0);
385
+ if (first === void 0) {
386
+ return [{ ...state, phase: "committed", items }, []];
387
+ }
388
+ const next = {
389
+ ...state,
390
+ position: 0,
391
+ phase: "running",
392
+ items: setStatus(items, 0, "running")
393
+ };
394
+ return [next, [first.do]];
395
+ }
396
+ function stepOk(state) {
397
+ if (state.phase !== "running") return [state, []];
398
+ const completed = state.position;
399
+ const itemsDone = setStatus(state.items, completed, "done");
400
+ const done = [...state.done, completed];
401
+ const nextPosition = completed + 1;
402
+ const nextStep = stepAt(nextPosition);
403
+ if (nextStep === void 0) {
404
+ return [{ ...state, done, items: itemsDone, phase: "committed" }, []];
405
+ }
406
+ const next = {
407
+ ...state,
408
+ position: nextPosition,
409
+ done,
410
+ items: setStatus(itemsDone, nextPosition, "running")
411
+ };
412
+ return [next, [nextStep.do]];
413
+ }
414
+ function stepErr(state, error) {
415
+ if (state.phase !== "running") return [state, []];
416
+ const failed = state.position;
417
+ const items = setStatus(state.items, failed, "failed");
418
+ const undoIndex = lastDone(state.done);
419
+ const undoStep = undoIndex === void 0 ? void 0 : stepAt(undoIndex);
420
+ if (undoIndex === void 0 || undoStep === void 0) {
421
+ return [
422
+ { ...state, items, error, compensating: true, phase: "aborted" },
423
+ []
424
+ ];
425
+ }
426
+ const next = {
427
+ ...state,
428
+ items,
429
+ error,
430
+ compensating: true,
431
+ phase: "compensating",
432
+ position: undoIndex
433
+ };
434
+ return [next, [undoStep.undo]];
435
+ }
436
+ function undoOk(state) {
437
+ if (state.phase !== "compensating") return [state, []];
438
+ const undone = lastDone(state.done);
439
+ if (undone === void 0) return [state, []];
440
+ const remaining = state.done.slice(0, -1);
441
+ const items = setStatus(state.items, undone, "cancelled");
442
+ const nextUndo = lastDone(remaining);
443
+ const nextStep = nextUndo === void 0 ? void 0 : stepAt(nextUndo);
444
+ if (nextUndo === void 0 || nextStep === void 0) {
445
+ return [{ ...state, done: remaining, items, phase: "aborted" }, []];
446
+ }
447
+ const next = {
448
+ ...state,
449
+ done: remaining,
450
+ items,
451
+ position: nextUndo
452
+ };
453
+ return [next, [nextStep.undo]];
454
+ }
455
+ function undoErr(state, error) {
456
+ if (state.phase !== "compensating") return [state, []];
457
+ const items = setStatus(state.items, state.position, "failed");
458
+ return [
459
+ {
460
+ ...state,
461
+ items,
462
+ compensationError: error,
463
+ phase: "compensation_failed"
464
+ },
465
+ []
466
+ ];
467
+ }
468
+ return {
469
+ init: initSaga,
470
+ start,
471
+ stepOk,
472
+ stepErr,
473
+ undoOk,
474
+ undoErr,
475
+ isCommitted,
476
+ isAborted,
477
+ isCompensationFailed,
478
+ isSettled
479
+ };
480
+ }
481
+
482
+ // src/internal/flow/workflow/route.ts
483
+ function routeWorkflowMsg(wf, state, msg) {
484
+ switch (msg.type) {
485
+ case "activity_ok":
486
+ return wf.onActivityOk(state, msg);
487
+ case "activity_err":
488
+ return wf.onActivityErr(state, msg);
489
+ case "compensation_ok":
490
+ return wf.onCompensationOk(state, msg);
491
+ case "compensation_err":
492
+ return wf.onCompensationErr(state, msg);
493
+ }
494
+ }
495
+
496
+ // src/internal/flow/workflow/index.ts
497
+ var WORKFLOW_STATUSES = new Set(
498
+ Object.keys({
499
+ running: true,
500
+ completed: true,
501
+ failed: true,
502
+ compensating: true,
503
+ failed_compensated: true,
504
+ compensation_failed: true
505
+ })
506
+ );
507
+ function workflowActivityDef() {
508
+ return Cmd.define("workflow_activity", {
509
+ input: z.custom(),
510
+ ok: z.void(),
511
+ err: []
512
+ });
513
+ }
514
+ function workflowCompensationDef() {
515
+ return Cmd.define("workflow_compensation", {
516
+ input: z.custom(),
517
+ ok: z.void(),
518
+ err: []
519
+ });
520
+ }
521
+ var WORKFLOW_MSG_TYPES = new Set(
522
+ Object.keys({
523
+ activity_ok: true,
524
+ activity_err: true,
525
+ compensation_ok: true,
526
+ compensation_err: true
527
+ })
528
+ );
529
+ function createWorkflow(restore) {
530
+ const recorder = pendingEffectsLedger(restore);
531
+ const activityCmd = workflowActivityDef();
532
+ const compensationCmd = workflowCompensationDef();
533
+ function stepAt(steps, index) {
534
+ const step = steps[index];
535
+ if (step === void 0) {
536
+ throw new Error(
537
+ `createWorkflow: step index ${index} out of range (length ${steps.length}) \u2014 a reducer bounds proof was violated.`
538
+ );
539
+ }
540
+ return step;
541
+ }
542
+ function oweOnLedger(build) {
543
+ const id = recorder.lastId() + 1;
544
+ const cmd = build(id);
545
+ const { id: issued, event } = recorder.owe(cmd);
546
+ if (issued !== id) {
547
+ throw new Error(
548
+ `createWorkflow: delivery-id prediction (${id}) diverged from the recorder's issued id (${issued}). The #67 recorder's monotonic counter is not gap-free as assumed \u2014 this is a substrate invariant violation, not a recoverable condition.`
549
+ );
550
+ }
551
+ return { id, owed: event, cmd };
552
+ }
553
+ function oweActivity(step, index) {
554
+ const { id, owed, cmd } = oweOnLedger(
555
+ (id2) => activityCmd({ index, id: id2, activity: step.activity })
556
+ );
557
+ const current = { index, step, id };
558
+ return { current, owed, cmd };
559
+ }
560
+ function oweCompensation(step, compensation, index) {
561
+ const { id, owed, cmd } = oweOnLedger(
562
+ (id2) => compensationCmd({ index, id: id2, compensation })
563
+ );
564
+ const current = { index, step, id };
565
+ return { current, owed, cmd };
566
+ }
567
+ function oweNextCompensation(completed, belowIndex) {
568
+ for (let i = belowIndex - 1; i >= 0; i--) {
569
+ const entry = completed[i];
570
+ if (entry !== void 0 && entry.step.compensation !== void 0) {
571
+ return oweCompensation(entry.step, entry.step.compensation, i);
572
+ }
573
+ }
574
+ return null;
575
+ }
576
+ function continueCompensating(base, next, confirmed) {
577
+ const compensating = {
578
+ ...base,
579
+ current: next.current
580
+ };
581
+ return {
582
+ state: compensating,
583
+ ledger: [confirmed, next.owed],
584
+ cmds: [next.cmd]
585
+ };
586
+ }
587
+ return {
588
+ init(steps) {
589
+ const { current, owed, cmd } = oweActivity(stepAt(steps, 0), 0);
590
+ const state = {
591
+ status: "running",
592
+ steps,
593
+ completed: [],
594
+ current
595
+ };
596
+ return { state, ledger: [owed], cmds: [cmd] };
597
+ },
598
+ onActivityOk(state, msg) {
599
+ if (state.status !== "running" || msg.id !== state.current.id) {
600
+ return { state, ledger: [], cmds: [] };
601
+ }
602
+ const confirmed = confirm(state.current.id);
603
+ const completedStep = {
604
+ step: state.current.step,
605
+ result: msg.result
606
+ };
607
+ const completed = [...state.completed, completedStep];
608
+ const nextIndex = state.current.index + 1;
609
+ if (nextIndex >= state.steps.length) {
610
+ const done = {
611
+ status: "completed",
612
+ steps: state.steps,
613
+ completed,
614
+ output: msg.result
615
+ };
616
+ return { state: done, ledger: [confirmed], cmds: [] };
617
+ }
618
+ const { current, owed, cmd } = oweActivity(
619
+ stepAt(state.steps, nextIndex),
620
+ nextIndex
621
+ );
622
+ const running = {
623
+ status: "running",
624
+ steps: state.steps,
625
+ completed,
626
+ current
627
+ };
628
+ return { state: running, ledger: [confirmed, owed], cmds: [cmd] };
629
+ },
630
+ onActivityErr(state, msg) {
631
+ if (state.status !== "running" || msg.id !== state.current.id) {
632
+ return { state, ledger: [], cmds: [] };
633
+ }
634
+ const confirmed = confirm(state.current.id);
635
+ const next = oweNextCompensation(state.completed, state.completed.length);
636
+ if (next === null) {
637
+ const failed = {
638
+ status: "failed",
639
+ steps: state.steps,
640
+ completed: state.completed,
641
+ failedStep: state.current.step,
642
+ failure: msg.failure
643
+ };
644
+ return { state: failed, ledger: [confirmed], cmds: [] };
645
+ }
646
+ return continueCompensating(
647
+ {
648
+ status: "compensating",
649
+ steps: state.steps,
650
+ completed: state.completed,
651
+ failedStep: state.current.step,
652
+ failure: msg.failure,
653
+ compensated: []
654
+ },
655
+ next,
656
+ confirmed
657
+ );
658
+ },
659
+ onCompensationOk(state, msg) {
660
+ if (state.status !== "compensating" || msg.id !== state.current.id) {
661
+ return { state, ledger: [], cmds: [] };
662
+ }
663
+ const confirmed = confirm(state.current.id);
664
+ const undoneStep = state.completed[state.current.index];
665
+ if (undoneStep === void 0) {
666
+ throw new Error(
667
+ `createWorkflow.onCompensationOk: compensation index ${state.current.index} has no completed step \u2014 a reverse-walk bounds proof was violated.`
668
+ );
669
+ }
670
+ const compensated = [...state.compensated, undoneStep];
671
+ const next = oweNextCompensation(state.completed, state.current.index);
672
+ if (next === null) {
673
+ const settled = {
674
+ status: "failed_compensated",
675
+ steps: state.steps,
676
+ completed: state.completed,
677
+ failedStep: state.failedStep,
678
+ failure: state.failure
679
+ };
680
+ return { state: settled, ledger: [confirmed], cmds: [] };
681
+ }
682
+ return continueCompensating(
683
+ {
684
+ status: "compensating",
685
+ steps: state.steps,
686
+ completed: state.completed,
687
+ failedStep: state.failedStep,
688
+ failure: state.failure,
689
+ compensated
690
+ },
691
+ next,
692
+ confirmed
693
+ );
694
+ },
695
+ onCompensationErr(state, msg) {
696
+ if (state.status !== "compensating" || msg.id !== state.current.id) {
697
+ return { state, ledger: [], cmds: [] };
698
+ }
699
+ const confirmed = confirm(state.current.id);
700
+ const halted = {
701
+ status: "compensation_failed",
702
+ steps: state.steps,
703
+ completed: state.completed,
704
+ failedStep: state.failedStep,
705
+ failure: state.failure,
706
+ compensated: state.compensated,
707
+ failedCompensationStep: state.current.step,
708
+ compensationFailure: msg.failure
709
+ };
710
+ return { state: halted, ledger: [confirmed], cmds: [] };
711
+ },
712
+ survivingActivities(ledgerEvents) {
713
+ const ledger = foldLedger(ledgerEvents);
714
+ return survivingEffects(ledger).map((owed) => owed.effect);
715
+ }
716
+ };
717
+ function confirm(id) {
718
+ return recorder.confirm(id).event;
719
+ }
720
+ }
721
+ function foldWorkflow(steps, msgs) {
722
+ const wf = createWorkflow();
723
+ let { state } = wf.init(steps);
724
+ for (const msg of msgs) {
725
+ state = routeWorkflowMsg(wf, state, msg).state;
726
+ }
727
+ return state;
728
+ }
729
+
730
+ export { TerminalTimeoutError, WORKFLOW_MSG_TYPES, WORKFLOW_STATUSES, awaitTerminal, createPoller, createReconciler, createSaga, createWorkflow, foldWorkflow, initSaga, isAborted, isCommitted, isCompensationFailed, isSettled, liftReconciler, routeWorkflowMsg, runToTerminal, workflowActivityDef, workflowCompensationDef };
731
+ //# sourceMappingURL=index.js.map
732
+ //# sourceMappingURL=index.js.map