@demlik/tea 0.12.0 → 0.14.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 (368) 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-25LBDCBC.js → chunk-6IQPODUF.js} +2 -2
  5. package/dist/{chunk-25LBDCBC.js.map → chunk-6IQPODUF.js.map} +1 -1
  6. package/dist/chunk-AQ6ZIMEA.js +421 -0
  7. package/dist/chunk-AQ6ZIMEA.js.map +1 -0
  8. package/dist/{chunk-MUUROGIH.js → chunk-BLJ2JQSH.js} +62 -12
  9. package/dist/chunk-BLJ2JQSH.js.map +1 -0
  10. package/dist/{chunk-7SVIRMC6.js → chunk-F2US5BW6.js} +25 -5
  11. package/dist/chunk-F2US5BW6.js.map +1 -0
  12. package/dist/{batch-window/index.js → chunk-F7FMAWLA.js} +4 -8
  13. package/dist/chunk-F7FMAWLA.js.map +1 -0
  14. package/dist/{chunk-7V4EVLZA.js → chunk-HUKZQX6U.js} +20 -16
  15. package/dist/chunk-HUKZQX6U.js.map +1 -0
  16. package/dist/{chunk-EWJP3YYP.js → chunk-HWVW4AXC.js} +3 -3
  17. package/dist/chunk-HWVW4AXC.js.map +1 -0
  18. package/dist/{chunk-WLGO64WC.js → chunk-HYDWG35Q.js} +23 -6
  19. package/dist/chunk-HYDWG35Q.js.map +1 -0
  20. package/dist/{chunk-I5OV65MS.js → chunk-I5MQMJDW.js} +57 -7
  21. package/dist/chunk-I5MQMJDW.js.map +1 -0
  22. package/dist/{chunk-J6527VRQ.js → chunk-LFZUK6J2.js} +3 -3
  23. package/dist/chunk-LFZUK6J2.js.map +1 -0
  24. package/dist/{chunk-ZVJZ72HY.js → chunk-LYLTKJWM.js} +25 -11
  25. package/dist/chunk-LYLTKJWM.js.map +1 -0
  26. package/dist/{chunk-D736QUGF.js → chunk-MYXFNWAJ.js} +4 -5
  27. package/dist/chunk-MYXFNWAJ.js.map +1 -0
  28. package/dist/{chunk-K575PT4S.js → chunk-PR6TB3BL.js} +15 -4
  29. package/dist/chunk-PR6TB3BL.js.map +1 -0
  30. package/dist/chunk-RQULHGYH.js +1804 -0
  31. package/dist/chunk-RQULHGYH.js.map +1 -0
  32. package/dist/{chunk-FV3Z5MBE.js → chunk-TXN2KFHF.js} +14 -4
  33. package/dist/chunk-TXN2KFHF.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-Z2L3LSNV.js +1470 -0
  37. package/dist/chunk-Z2L3LSNV.js.map +1 -0
  38. package/dist/core-CTzMJ82M.d.ts +562 -0
  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 +48 -31
  43. package/dist/do/index.js +36 -25
  44. package/dist/do/index.js.map +1 -1
  45. package/dist/{durable-effects-D8SqU_if.d.ts → durable-effects-B0-qGQDy.d.ts} +2 -2
  46. package/dist/extension/index.d.ts +301 -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 +1295 -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/{batch-window/index.d.ts → index-4vZzljCD.d.ts} +7 -11
  55. package/dist/{fan-out/index.d.ts → index-6A7dB8f6.d.ts} +7 -8
  56. package/dist/index-B5BZ-_cT.d.ts +616 -0
  57. package/dist/index-Bc40JWVl.d.ts +131 -0
  58. package/dist/{debounce/index.d.ts → index-DHSUmQTR.d.ts} +7 -7
  59. package/dist/index-DJWIER_3.d.ts +69 -0
  60. package/dist/{snapshot/index.d.ts → index-DMCeMPMJ.d.ts} +15 -77
  61. package/dist/{monitored-run/index.d.ts → index-NjrT3fL2.d.ts} +37 -12
  62. package/dist/{recorder/index.d.ts → index-TvRb1KVf.d.ts} +4 -6
  63. package/dist/{deadline/index.d.ts → index-q0hXFeZ0.d.ts} +155 -8
  64. package/dist/index.d.ts +719 -6
  65. package/dist/index.js +1 -2
  66. package/dist/jev/index.d.ts +634 -0
  67. package/dist/jev/index.js +433 -0
  68. package/dist/jev/index.js.map +1 -0
  69. package/dist/machine-CdIcN2Xm.d.ts +1773 -0
  70. package/dist/machine-viz/index.d.ts +2 -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 +19 -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 +130 -4
  77. package/dist/node/index.js +222 -10
  78. package/dist/node/index.js.map +1 -1
  79. package/dist/{paginator → paginate}/index.d.ts +151 -6
  80. package/dist/paginate/index.js +7 -0
  81. package/dist/parity/index.d.ts +5 -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 +248 -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 -4
  88. package/dist/persistence/index.js +6 -0
  89. package/dist/react/index.d.ts +4 -3
  90. package/dist/react/index.js +1 -2
  91. package/dist/react/index.js.map +1 -1
  92. package/dist/resilience/index.d.ts +743 -0
  93. package/dist/resilience/index.js +657 -0
  94. package/dist/resilience/index.js.map +1 -0
  95. package/dist/retry-backoff/index.d.ts +3 -2
  96. package/dist/retry-backoff/index.js +1 -1
  97. package/dist/runtime-types-LWDoi943.d.ts +998 -0
  98. package/dist/testing/index.d.ts +3 -2
  99. package/dist/testing/index.js +1 -2
  100. package/dist/testing/index.js.map +1 -1
  101. package/dist/{throttled-input → timing}/index.d.ts +144 -12
  102. package/dist/{throttled-input → timing}/index.js +57 -12
  103. package/dist/timing/index.js.map +1 -0
  104. package/dist/{types-D7u9DkH7.d.ts → types-DP3f5NIl.d.ts} +1 -1
  105. package/dist/work-queue/index.d.ts +131 -54
  106. package/dist/work-queue/index.js +3 -2
  107. package/dist/work-queue/index.js.map +1 -1
  108. package/package.json +50 -216
  109. package/dist/authed-call/index.d.ts +0 -119
  110. package/dist/authed-call/index.js +0 -134
  111. package/dist/authed-call/index.js.map +0 -1
  112. package/dist/await-terminal/index.d.ts +0 -100
  113. package/dist/await-terminal/index.js +0 -76
  114. package/dist/await-terminal/index.js.map +0 -1
  115. package/dist/batch-window/index.js.map +0 -1
  116. package/dist/cache/index.d.ts +0 -151
  117. package/dist/cache/index.js +0 -8
  118. package/dist/chart/index.d.ts +0 -217
  119. package/dist/chart/index.js +0 -16
  120. package/dist/chart/index.js.map +0 -1
  121. package/dist/chart/inspect/index.d.ts +0 -85
  122. package/dist/chart/inspect/index.js +0 -5
  123. package/dist/chart/inspect/react.d.ts +0 -112
  124. package/dist/chart/inspect/react.js +0 -11
  125. package/dist/chart/inspect/react.js.map +0 -1
  126. package/dist/chart/inspect/styles.css +0 -286
  127. package/dist/chart/lane/index.d.ts +0 -361
  128. package/dist/chart/lane/index.js +0 -9
  129. package/dist/chart/lane/index.js.map +0 -1
  130. package/dist/chart/lane/react.d.ts +0 -83
  131. package/dist/chart/lane/react.js +0 -559
  132. package/dist/chart/lane/react.js.map +0 -1
  133. package/dist/chart/lane/server.d.ts +0 -148
  134. package/dist/chart/lane/server.js +0 -209
  135. package/dist/chart/lane/server.js.map +0 -1
  136. package/dist/chart/lane/styles.css +0 -498
  137. package/dist/chart/lane/viewer/assets/abnfDiagram-N423BO3Z-C729LI31.js +0 -1
  138. package/dist/chart/lane/viewer/assets/architectureDiagram-T3A2C74G-C729LI31.js +0 -1
  139. package/dist/chart/lane/viewer/assets/blockDiagram-VBNYF7ZC-C729LI31.js +0 -1
  140. package/dist/chart/lane/viewer/assets/c4Diagram-5PPSVZJV-C729LI31.js +0 -1
  141. package/dist/chart/lane/viewer/assets/chunk-2GRJ4B5K-HdDf8SI3.js +0 -1
  142. package/dist/chart/lane/viewer/assets/chunk-5RXB4S5H-CcNtpUd7.js +0 -231
  143. package/dist/chart/lane/viewer/assets/chunk-5VM5RSS4-BP4fRS_5.js +0 -15
  144. package/dist/chart/lane/viewer/assets/chunk-KBJHAD2P-DZOw7xU6.js +0 -1
  145. package/dist/chart/lane/viewer/assets/chunk-NSK5VX7P-CBCyTZMs.js +0 -128
  146. package/dist/chart/lane/viewer/assets/classDiagram-JCYQIIEL-C729LI31.js +0 -1
  147. package/dist/chart/lane/viewer/assets/classDiagram-v2-OCEON4UE-D4uAiFr8.js +0 -206
  148. package/dist/chart/lane/viewer/assets/cose-bilkent-JH36ORCC-DOwCrGXH.js +0 -1
  149. package/dist/chart/lane/viewer/assets/cynefinDiagram-MW4NZA55-C729LI31.js +0 -1
  150. package/dist/chart/lane/viewer/assets/dagre-K_PewWfS.js +0 -1
  151. package/dist/chart/lane/viewer/assets/dagre-VZM6K2ZE-831qZcA8.js +0 -4
  152. package/dist/chart/lane/viewer/assets/diagram-7IWD3JNH-C729LI31.js +0 -1
  153. package/dist/chart/lane/viewer/assets/diagram-B4RE2ZJO-C729LI31.js +0 -1
  154. package/dist/chart/lane/viewer/assets/diagram-LBJQPF4R-C729LI31.js +0 -1
  155. package/dist/chart/lane/viewer/assets/diagram-Q27KOJAE-C729LI31.js +0 -1
  156. package/dist/chart/lane/viewer/assets/diagram-UB23O5K3-C729LI31.js +0 -1
  157. package/dist/chart/lane/viewer/assets/ebnfDiagram-BXEA7PRR-C729LI31.js +0 -1
  158. package/dist/chart/lane/viewer/assets/erDiagram-JOGREHBK-C729LI31.js +0 -1
  159. package/dist/chart/lane/viewer/assets/flowDiagram-UKHOOZJN-C729LI31.js +0 -1
  160. package/dist/chart/lane/viewer/assets/ganttDiagram-PKOTCBZU-C729LI31.js +0 -1
  161. package/dist/chart/lane/viewer/assets/gitGraphDiagram-DS77QQ5N-C729LI31.js +0 -1
  162. package/dist/chart/lane/viewer/assets/index-9SkH5NA3.css +0 -1
  163. package/dist/chart/lane/viewer/assets/index-Bgt4sXpW.js +0 -195
  164. package/dist/chart/lane/viewer/assets/infoDiagram-6WML65LV-C729LI31.js +0 -1
  165. package/dist/chart/lane/viewer/assets/ishikawaDiagram-WSZJBQD7-C729LI31.js +0 -1
  166. package/dist/chart/lane/viewer/assets/journeyDiagram-NVQOT4AX-C729LI31.js +0 -1
  167. package/dist/chart/lane/viewer/assets/kanban-definition-27J2QSJJ-G7PaPzy-.js +0 -89
  168. package/dist/chart/lane/viewer/assets/katex-DOwCrGXH.js +0 -1
  169. package/dist/chart/lane/viewer/assets/mindmap-definition-FAOFIHXS-CGj9nrVk.js +0 -96
  170. package/dist/chart/lane/viewer/assets/path-fybaL0A-.js +0 -1
  171. package/dist/chart/lane/viewer/assets/pegDiagram-VL7TDLO6-C729LI31.js +0 -1
  172. package/dist/chart/lane/viewer/assets/pieDiagram-7S7Q4E2Y-C729LI31.js +0 -1
  173. package/dist/chart/lane/viewer/assets/quadrantDiagram-CIZ2JOQS-C729LI31.js +0 -1
  174. package/dist/chart/lane/viewer/assets/railroadDiagram-AXF67PYL-C729LI31.js +0 -1
  175. package/dist/chart/lane/viewer/assets/requirementDiagram-LRYGKXZP-C729LI31.js +0 -1
  176. package/dist/chart/lane/viewer/assets/sankeyDiagram-W5VNT64P-C729LI31.js +0 -1
  177. package/dist/chart/lane/viewer/assets/sequenceDiagram-SI44F4Z6-C729LI31.js +0 -1
  178. package/dist/chart/lane/viewer/assets/stateDiagram-OKZ733FA-B_88AzBS.js +0 -1
  179. package/dist/chart/lane/viewer/assets/stateDiagram-v2-UEYNNEHI-CR5gcgq6.js +0 -1
  180. package/dist/chart/lane/viewer/assets/swimlanes-SLNWSIFB-B4xK-rwg.js +0 -1
  181. package/dist/chart/lane/viewer/assets/swimlanesDiagram-ULZ7WXOC-C729LI31.js +0 -1
  182. package/dist/chart/lane/viewer/assets/timeline-definition-Z64GVDOM-CCv52MfY.js +0 -120
  183. package/dist/chart/lane/viewer/assets/vennDiagram-T6HMQDX7-C729LI31.js +0 -1
  184. package/dist/chart/lane/viewer/assets/wardleyDiagram-T6FBY63Y-C729LI31.js +0 -1
  185. package/dist/chart/lane/viewer/assets/xychartDiagram-ELKLHX3M-C729LI31.js +0 -1
  186. package/dist/chart/lane/viewer/index.html +0 -15
  187. package/dist/chart/report/index.d.ts +0 -116
  188. package/dist/chart/report/index.js +0 -32
  189. package/dist/chart/report/index.js.map +0 -1
  190. package/dist/chunk-2YFLOCWX.js +0 -15
  191. package/dist/chunk-2YFLOCWX.js.map +0 -1
  192. package/dist/chunk-3JU6657S.js +0 -372
  193. package/dist/chunk-3JU6657S.js.map +0 -1
  194. package/dist/chunk-4KTWLPL5.js +0 -33
  195. package/dist/chunk-4KTWLPL5.js.map +0 -1
  196. package/dist/chunk-5EHLEUTL.js +0 -686
  197. package/dist/chunk-5EHLEUTL.js.map +0 -1
  198. package/dist/chunk-5KJKJOFC.js +0 -758
  199. package/dist/chunk-5KJKJOFC.js.map +0 -1
  200. package/dist/chunk-7SVIRMC6.js.map +0 -1
  201. package/dist/chunk-7V4EVLZA.js.map +0 -1
  202. package/dist/chunk-A56OR5RF.js +0 -184
  203. package/dist/chunk-A56OR5RF.js.map +0 -1
  204. package/dist/chunk-AZZLE7XR.js +0 -62
  205. package/dist/chunk-AZZLE7XR.js.map +0 -1
  206. package/dist/chunk-B5VXOFMZ.js +0 -266
  207. package/dist/chunk-B5VXOFMZ.js.map +0 -1
  208. package/dist/chunk-BYQUGDD3.js +0 -16
  209. package/dist/chunk-BYQUGDD3.js.map +0 -1
  210. package/dist/chunk-D736QUGF.js.map +0 -1
  211. package/dist/chunk-E6GEDSF4.js +0 -307
  212. package/dist/chunk-E6GEDSF4.js.map +0 -1
  213. package/dist/chunk-EUF7XOEE.js +0 -223
  214. package/dist/chunk-EUF7XOEE.js.map +0 -1
  215. package/dist/chunk-EWJP3YYP.js.map +0 -1
  216. package/dist/chunk-FV3Z5MBE.js.map +0 -1
  217. package/dist/chunk-HCEVHFJ7.js +0 -54
  218. package/dist/chunk-HCEVHFJ7.js.map +0 -1
  219. package/dist/chunk-I5OV65MS.js.map +0 -1
  220. package/dist/chunk-J6527VRQ.js.map +0 -1
  221. package/dist/chunk-JELSZN25.js +0 -47
  222. package/dist/chunk-JELSZN25.js.map +0 -1
  223. package/dist/chunk-JER5O7PQ.js +0 -416
  224. package/dist/chunk-JER5O7PQ.js.map +0 -1
  225. package/dist/chunk-JGVL3WPL.js +0 -26
  226. package/dist/chunk-JGVL3WPL.js.map +0 -1
  227. package/dist/chunk-JP5D6GSL.js +0 -71
  228. package/dist/chunk-JP5D6GSL.js.map +0 -1
  229. package/dist/chunk-K575PT4S.js.map +0 -1
  230. package/dist/chunk-MU6MCIAC.js +0 -15
  231. package/dist/chunk-MU6MCIAC.js.map +0 -1
  232. package/dist/chunk-MUUROGIH.js.map +0 -1
  233. package/dist/chunk-ND3DH6KM.js +0 -88
  234. package/dist/chunk-ND3DH6KM.js.map +0 -1
  235. package/dist/chunk-Q2UM7BXU.js.map +0 -1
  236. package/dist/chunk-S2EGRPCM.js +0 -47
  237. package/dist/chunk-S2EGRPCM.js.map +0 -1
  238. package/dist/chunk-SINXE47Y.js +0 -55
  239. package/dist/chunk-SINXE47Y.js.map +0 -1
  240. package/dist/chunk-SUST46KO.js +0 -53
  241. package/dist/chunk-SUST46KO.js.map +0 -1
  242. package/dist/chunk-TP5UPGLY.js +0 -61
  243. package/dist/chunk-TP5UPGLY.js.map +0 -1
  244. package/dist/chunk-UF4MZSLT.js +0 -53
  245. package/dist/chunk-UF4MZSLT.js.map +0 -1
  246. package/dist/chunk-UOC2PL46.js +0 -13
  247. package/dist/chunk-UOC2PL46.js.map +0 -1
  248. package/dist/chunk-WLGO64WC.js.map +0 -1
  249. package/dist/chunk-WRAA7GVZ.js +0 -209
  250. package/dist/chunk-WRAA7GVZ.js.map +0 -1
  251. package/dist/chunk-ZCL7SCBK.js +0 -685
  252. package/dist/chunk-ZCL7SCBK.js.map +0 -1
  253. package/dist/chunk-ZD6PNZBK.js +0 -457
  254. package/dist/chunk-ZD6PNZBK.js.map +0 -1
  255. package/dist/chunk-ZF6WDK2D.js +0 -519
  256. package/dist/chunk-ZF6WDK2D.js.map +0 -1
  257. package/dist/chunk-ZJ5AOYBH.js +0 -8
  258. package/dist/chunk-ZJ5AOYBH.js.map +0 -1
  259. package/dist/chunk-ZVJZ72HY.js.map +0 -1
  260. package/dist/circuit-breaker/index.d.ts +0 -197
  261. package/dist/circuit-breaker/index.js +0 -3
  262. package/dist/circuit-breaker/index.js.map +0 -1
  263. package/dist/core-Bjc0bS8j.d.ts +0 -326
  264. package/dist/deadline/index.js +0 -6
  265. package/dist/deadline/index.js.map +0 -1
  266. package/dist/debounce/index.js +0 -3
  267. package/dist/debounce/index.js.map +0 -1
  268. package/dist/extension/react.d.ts +0 -121
  269. package/dist/extension/react.js +0 -75
  270. package/dist/extension/react.js.map +0 -1
  271. package/dist/extension/subs/index.d.ts +0 -44
  272. package/dist/extension/subs/index.js +0 -80
  273. package/dist/extension/subs/index.js.map +0 -1
  274. package/dist/extension/test-utils.d.ts +0 -128
  275. package/dist/extension/test-utils.js +0 -277
  276. package/dist/extension/test-utils.js.map +0 -1
  277. package/dist/fan-out/index.js +0 -5
  278. package/dist/fan-out/index.js.map +0 -1
  279. package/dist/fold-Blbhru48.d.ts +0 -435
  280. package/dist/graph-CcjWZVrd.d.ts +0 -923
  281. package/dist/idempotency/adapter.d.ts +0 -62
  282. package/dist/idempotency/adapter.js +0 -4
  283. package/dist/idempotency/adapter.js.map +0 -1
  284. package/dist/idempotent-intake/index.d.ts +0 -187
  285. package/dist/idempotent-intake/index.js +0 -7
  286. package/dist/idempotent-intake/index.js.map +0 -1
  287. package/dist/llm-call/index.d.ts +0 -310
  288. package/dist/llm-call/index.js +0 -16
  289. package/dist/llm-call/index.js.map +0 -1
  290. package/dist/machine-0OmPvsy_.d.ts +0 -804
  291. package/dist/monitored-run/index.js +0 -10
  292. package/dist/monitored-run/index.js.map +0 -1
  293. package/dist/paginated-walk/index.d.ts +0 -234
  294. package/dist/paginated-walk/index.js +0 -16
  295. package/dist/paginated-walk/index.js.map +0 -1
  296. package/dist/paginator/index.js +0 -3
  297. package/dist/paginator/index.js.map +0 -1
  298. package/dist/pbt/arbitraries/index.d.ts +0 -135
  299. package/dist/pbt/arbitraries/index.js +0 -3
  300. package/dist/pbt/arbitraries/index.js.map +0 -1
  301. package/dist/pbt/runners/index.d.ts +0 -117
  302. package/dist/pbt/runners/index.js +0 -5
  303. package/dist/pbt/runners/index.js.map +0 -1
  304. package/dist/poller/index.d.ts +0 -351
  305. package/dist/poller/index.js +0 -115
  306. package/dist/poller/index.js.map +0 -1
  307. package/dist/prediction/index.d.ts +0 -130
  308. package/dist/prediction/index.js +0 -4
  309. package/dist/prediction/index.js.map +0 -1
  310. package/dist/protocol-B5YmJr0d.d.ts +0 -45
  311. package/dist/pure/index.d.ts +0 -2
  312. package/dist/pure/index.js +0 -4
  313. package/dist/pure/index.js.map +0 -1
  314. package/dist/rate-limit/index.d.ts +0 -115
  315. package/dist/rate-limit/index.js +0 -3
  316. package/dist/rate-limit/index.js.map +0 -1
  317. package/dist/reconciler/index.d.ts +0 -192
  318. package/dist/reconciler/index.js +0 -164
  319. package/dist/reconciler/index.js.map +0 -1
  320. package/dist/recorder/index.js +0 -3
  321. package/dist/recorder/index.js.map +0 -1
  322. package/dist/reducer-BqyoVyBG.d.ts +0 -447
  323. package/dist/resilient-call/index.d.ts +0 -319
  324. package/dist/resilient-call/index.js +0 -14
  325. package/dist/resilient-call/index.js.map +0 -1
  326. package/dist/retry-to-success/index.d.ts +0 -109
  327. package/dist/retry-to-success/index.js +0 -37
  328. package/dist/retry-to-success/index.js.map +0 -1
  329. package/dist/run-BVeqJDBF.d.ts +0 -713
  330. package/dist/runtime-types-Bxc637bp.d.ts +0 -502
  331. package/dist/saga/index.d.ts +0 -240
  332. package/dist/saga/index.js +0 -150
  333. package/dist/saga/index.js.map +0 -1
  334. package/dist/samples-DCt6nF8H.d.ts +0 -59
  335. package/dist/snapshot/index.js +0 -5
  336. package/dist/snapshot/index.js.map +0 -1
  337. package/dist/subs/index.d.ts +0 -471
  338. package/dist/subs/index.js +0 -7
  339. package/dist/subs/index.js.map +0 -1
  340. package/dist/throttle/index.d.ts +0 -134
  341. package/dist/throttle/index.js +0 -3
  342. package/dist/throttle/index.js.map +0 -1
  343. package/dist/throttled-input/index.js.map +0 -1
  344. package/dist/token-refresh/index.d.ts +0 -215
  345. package/dist/token-refresh/index.js +0 -6
  346. package/dist/token-refresh/index.js.map +0 -1
  347. package/dist/trace-replay/index.js +0 -6
  348. package/dist/trace-replay/index.js.map +0 -1
  349. package/dist/with-deadline/index.d.ts +0 -196
  350. package/dist/with-deadline/index.js +0 -111
  351. package/dist/with-deadline/index.js.map +0 -1
  352. package/dist/with-resilience/index.d.ts +0 -224
  353. package/dist/with-resilience/index.js +0 -240
  354. package/dist/with-resilience/index.js.map +0 -1
  355. package/dist/with-telemetry/index.d.ts +0 -149
  356. package/dist/with-telemetry/index.js +0 -70
  357. package/dist/with-telemetry/index.js.map +0 -1
  358. package/dist/work-queue/adapter.d.ts +0 -83
  359. package/dist/work-queue/adapter.js +0 -4
  360. package/dist/work-queue/adapter.js.map +0 -1
  361. package/dist/work-queue/ops.d.ts +0 -70
  362. package/dist/work-queue/ops.js +0 -3
  363. package/dist/work-queue/ops.js.map +0 -1
  364. package/dist/workflow/index.d.ts +0 -484
  365. package/dist/workflow/index.js +0 -244
  366. package/dist/workflow/index.js.map +0 -1
  367. /package/dist/{cache → paginate}/index.js.map +0 -0
  368. /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-F7FMAWLA.js';
2
+ export { debounce } from '../chunk-LFZUK6J2.js';
3
+ import { createPaginatedWalk, PAGE_KEY } from '../chunk-I5MQMJDW.js';
4
+ import { pendingEffectsLedger, foldLedger, survivingEffects } from '../chunk-6IQPODUF.js';
5
+ export { emptyLedger } from '../chunk-6IQPODUF.js';
6
+ export { createMonitoredRun, liftRun } from '../chunk-HYDWG35Q.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-HUKZQX6U.js';
11
+ import '../chunk-AQ6ZIMEA.js';
12
+ import { asRng, defaultRetryPolicy, initRetry, recordFailure, shouldRetry, nextDelayMs } from '../chunk-VBDU4JL6.js';
13
+ import { deadlineSub, initCache, get, set } from '../chunk-F2US5BW6.js';
14
+ export { deadlineSub, subscribeDeadline } from '../chunk-F2US5BW6.js';
15
+ import { run, Cmd } from '../chunk-RQULHGYH.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