@graphrefly/graphrefly 0.44.0 → 0.46.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 (720) hide show
  1. package/README.md +22 -19
  2. package/dist/_internal-B23BagFd.d.cts +33 -0
  3. package/dist/_internal-B23BagFd.d.ts +33 -0
  4. package/dist/adaptive-rate-limiter-Dch_xYIi.d.cts +111 -0
  5. package/dist/adaptive-rate-limiter-Dch_xYIi.d.ts +111 -0
  6. package/dist/agents-C0Ji9ldU.d.cts +629 -0
  7. package/dist/agents-C9zexT7I.d.ts +629 -0
  8. package/dist/audit-BAXb3VOg.d.ts +246 -0
  9. package/dist/audit-C_bPfkqS.d.cts +246 -0
  10. package/dist/backoff-7KIK3WQW.js +24 -0
  11. package/dist/backoff-7KIK3WQW.js.map +1 -0
  12. package/dist/backoff-Bnb9OoPh.d.cts +6 -0
  13. package/dist/backoff-Bnb9OoPh.d.ts +6 -0
  14. package/dist/base/composition/index.cjs +811 -0
  15. package/dist/base/composition/index.cjs.map +1 -0
  16. package/dist/base/composition/index.d.cts +469 -0
  17. package/dist/base/composition/index.d.ts +469 -0
  18. package/dist/base/composition/index.js +40 -0
  19. package/dist/base/composition/index.js.map +1 -0
  20. package/dist/base/index.cjs +6336 -0
  21. package/dist/base/index.cjs.map +1 -0
  22. package/dist/base/index.d.cts +22 -0
  23. package/dist/base/index.d.ts +22 -0
  24. package/dist/base/index.js +259 -0
  25. package/dist/base/index.js.map +1 -0
  26. package/dist/base/io/index.cjs +3270 -0
  27. package/dist/base/io/index.cjs.map +1 -0
  28. package/dist/base/io/index.d.cts +2245 -0
  29. package/dist/base/io/index.d.ts +2245 -0
  30. package/dist/base/io/index.js +117 -0
  31. package/dist/base/io/index.js.map +1 -0
  32. package/dist/base/meta/index.cjs +43 -0
  33. package/dist/base/meta/index.cjs.map +1 -0
  34. package/dist/base/meta/index.d.cts +45 -0
  35. package/dist/base/meta/index.d.ts +45 -0
  36. package/dist/base/meta/index.js +13 -0
  37. package/dist/base/meta/index.js.map +1 -0
  38. package/dist/base/mutation/index.cjs +200 -0
  39. package/dist/base/mutation/index.cjs.map +1 -0
  40. package/dist/base/mutation/index.d.cts +177 -0
  41. package/dist/base/mutation/index.d.ts +177 -0
  42. package/dist/base/mutation/index.js +22 -0
  43. package/dist/base/mutation/index.js.map +1 -0
  44. package/dist/base/render/index.cjs +1120 -0
  45. package/dist/base/render/index.cjs.map +1 -0
  46. package/dist/{extra/render/index.d.ts → base/render/index.d.cts} +75 -31
  47. package/dist/{extra/render/index.d.cts → base/render/index.d.ts} +75 -31
  48. package/dist/base/render/index.js +24 -0
  49. package/dist/base/render/index.js.map +1 -0
  50. package/dist/base/sources/browser/index.cjs +172 -0
  51. package/dist/base/sources/browser/index.cjs.map +1 -0
  52. package/dist/base/sources/browser/index.d.cts +84 -0
  53. package/dist/base/sources/browser/index.d.ts +84 -0
  54. package/dist/base/sources/browser/index.js +151 -0
  55. package/dist/base/sources/browser/index.js.map +1 -0
  56. package/dist/base/sources/event/index.cjs +98 -0
  57. package/dist/base/sources/event/index.cjs.map +1 -0
  58. package/dist/base/sources/event/index.d.cts +91 -0
  59. package/dist/base/sources/event/index.d.ts +91 -0
  60. package/dist/base/sources/event/index.js +13 -0
  61. package/dist/base/sources/event/index.js.map +1 -0
  62. package/dist/base/sources/index.cjs +755 -0
  63. package/dist/base/sources/index.cjs.map +1 -0
  64. package/dist/{extra/sources.d.ts → base/sources/index.d.cts} +74 -301
  65. package/dist/{extra/sources.d.cts → base/sources/index.d.ts} +74 -301
  66. package/dist/base/sources/index.js +42 -0
  67. package/dist/base/sources/index.js.map +1 -0
  68. package/dist/base/sources/node/index.cjs +320 -0
  69. package/dist/base/sources/node/index.cjs.map +1 -0
  70. package/dist/{extra/node.d.ts → base/sources/node/index.d.cts} +35 -37
  71. package/dist/{extra/node.d.cts → base/sources/node/index.d.ts} +35 -37
  72. package/dist/base/sources/node/index.js +306 -0
  73. package/dist/base/sources/node/index.js.map +1 -0
  74. package/dist/base/utils/index.cjs +37 -0
  75. package/dist/base/utils/index.cjs.map +1 -0
  76. package/dist/base/utils/index.d.cts +37 -0
  77. package/dist/base/utils/index.d.ts +37 -0
  78. package/dist/base/utils/index.js +11 -0
  79. package/dist/base/utils/index.js.map +1 -0
  80. package/dist/base/worker/index.cjs +548 -0
  81. package/dist/base/worker/index.cjs.map +1 -0
  82. package/dist/base/worker/index.d.cts +207 -0
  83. package/dist/base/worker/index.d.ts +207 -0
  84. package/dist/base/worker/index.js +20 -0
  85. package/dist/base/worker/index.js.map +1 -0
  86. package/dist/breaker-C9skL3d8.d.ts +175 -0
  87. package/dist/breaker-ugSdq54q.d.cts +175 -0
  88. package/dist/{cascading-BglDkMdX.d.cts → cascading-CSSbKGrJ.d.ts} +3 -3
  89. package/dist/{cascading-MFgxu7Yo.d.ts → cascading-baGkiihI.d.cts} +3 -3
  90. package/dist/chunk-255UCBG4.js +58 -0
  91. package/dist/chunk-255UCBG4.js.map +1 -0
  92. package/dist/chunk-2LO3EL4W.js +1 -0
  93. package/dist/chunk-2LO3EL4W.js.map +1 -0
  94. package/dist/chunk-2OB3CEJS.js +1065 -0
  95. package/dist/chunk-2OB3CEJS.js.map +1 -0
  96. package/dist/chunk-36NMM65U.js +144 -0
  97. package/dist/chunk-36NMM65U.js.map +1 -0
  98. package/dist/chunk-3CEXCBN6.js +1 -0
  99. package/dist/chunk-3CEXCBN6.js.map +1 -0
  100. package/dist/chunk-3MUSLI6E.js +105 -0
  101. package/dist/chunk-3MUSLI6E.js.map +1 -0
  102. package/dist/chunk-3PSLNJDU.js +884 -0
  103. package/dist/chunk-3PSLNJDU.js.map +1 -0
  104. package/dist/chunk-3QZY5BI7.js +92 -0
  105. package/dist/chunk-3QZY5BI7.js.map +1 -0
  106. package/dist/chunk-42FQ27MQ.js +594 -0
  107. package/dist/chunk-42FQ27MQ.js.map +1 -0
  108. package/dist/chunk-4GYMCUDZ.js +1085 -0
  109. package/dist/chunk-4GYMCUDZ.js.map +1 -0
  110. package/dist/chunk-4S53H2KR.js +382 -0
  111. package/dist/chunk-4S53H2KR.js.map +1 -0
  112. package/dist/chunk-4XCHZRUJ.js +128 -0
  113. package/dist/chunk-4XCHZRUJ.js.map +1 -0
  114. package/dist/chunk-5THCXDWY.js +725 -0
  115. package/dist/chunk-5THCXDWY.js.map +1 -0
  116. package/dist/chunk-6XZYT4SW.js +256 -0
  117. package/dist/chunk-6XZYT4SW.js.map +1 -0
  118. package/dist/chunk-7EGRP2VX.js +76 -0
  119. package/dist/chunk-7EGRP2VX.js.map +1 -0
  120. package/dist/chunk-A7KV5UK4.js +150 -0
  121. package/dist/chunk-A7KV5UK4.js.map +1 -0
  122. package/dist/chunk-APY2SS5X.js +156 -0
  123. package/dist/chunk-APY2SS5X.js.map +1 -0
  124. package/dist/chunk-AZDQPQ3V.js +66 -0
  125. package/dist/chunk-AZDQPQ3V.js.map +1 -0
  126. package/dist/chunk-BU3SEFA5.js +90 -0
  127. package/dist/chunk-BU3SEFA5.js.map +1 -0
  128. package/dist/chunk-BXGZFGZ4.js +189 -0
  129. package/dist/chunk-BXGZFGZ4.js.map +1 -0
  130. package/dist/chunk-CGHORL6G.js +579 -0
  131. package/dist/chunk-CGHORL6G.js.map +1 -0
  132. package/dist/chunk-CXANAIZU.js +530 -0
  133. package/dist/chunk-CXANAIZU.js.map +1 -0
  134. package/dist/chunk-CZQHCKKG.js +1 -0
  135. package/dist/chunk-CZQHCKKG.js.map +1 -0
  136. package/dist/chunk-DKNHAICT.js +133 -0
  137. package/dist/chunk-DKNHAICT.js.map +1 -0
  138. package/dist/chunk-DM4OMPWK.js +584 -0
  139. package/dist/chunk-DM4OMPWK.js.map +1 -0
  140. package/dist/chunk-DMSNO6ZB.js +452 -0
  141. package/dist/chunk-DMSNO6ZB.js.map +1 -0
  142. package/dist/chunk-E5OZPDIW.js +229 -0
  143. package/dist/chunk-E5OZPDIW.js.map +1 -0
  144. package/dist/chunk-EVYY4X5A.js +509 -0
  145. package/dist/chunk-EVYY4X5A.js.map +1 -0
  146. package/dist/chunk-FDFD67UO.js +1 -0
  147. package/dist/chunk-FDFD67UO.js.map +1 -0
  148. package/dist/chunk-FMPF42Q4.js +13 -0
  149. package/dist/chunk-FMPF42Q4.js.map +1 -0
  150. package/dist/chunk-FR6RGA3B.js +1277 -0
  151. package/dist/chunk-FR6RGA3B.js.map +1 -0
  152. package/dist/chunk-FW23JYNQ.js +454 -0
  153. package/dist/chunk-FW23JYNQ.js.map +1 -0
  154. package/dist/chunk-GBCENOLN.js +1575 -0
  155. package/dist/chunk-GBCENOLN.js.map +1 -0
  156. package/dist/chunk-HL7HUJIX.js +1 -0
  157. package/dist/chunk-HL7HUJIX.js.map +1 -0
  158. package/dist/chunk-HULCUY35.js +2508 -0
  159. package/dist/chunk-HULCUY35.js.map +1 -0
  160. package/dist/chunk-IHTWQEDR.js +169 -0
  161. package/dist/chunk-IHTWQEDR.js.map +1 -0
  162. package/dist/chunk-IJRR6YAI.js +128 -0
  163. package/dist/chunk-IJRR6YAI.js.map +1 -0
  164. package/dist/chunk-JGFRAFDL.js +221 -0
  165. package/dist/chunk-JGFRAFDL.js.map +1 -0
  166. package/dist/chunk-KIIXR252.js +211 -0
  167. package/dist/chunk-KIIXR252.js.map +1 -0
  168. package/dist/chunk-KN3H5CNT.js +11 -0
  169. package/dist/chunk-KN3H5CNT.js.map +1 -0
  170. package/dist/chunk-KPG3DGLA.js +1 -0
  171. package/dist/chunk-KPG3DGLA.js.map +1 -0
  172. package/dist/chunk-KRNQ6RGQ.js +1 -0
  173. package/dist/chunk-KRNQ6RGQ.js.map +1 -0
  174. package/dist/chunk-LBAJK24K.js +1071 -0
  175. package/dist/chunk-LBAJK24K.js.map +1 -0
  176. package/dist/chunk-MLTPJMH6.js +417 -0
  177. package/dist/chunk-MLTPJMH6.js.map +1 -0
  178. package/dist/chunk-N3SZ7BMH.js +95 -0
  179. package/dist/chunk-N3SZ7BMH.js.map +1 -0
  180. package/dist/chunk-NDUD3IMO.js +540 -0
  181. package/dist/chunk-NDUD3IMO.js.map +1 -0
  182. package/dist/chunk-NY2PYHNC.js +873 -0
  183. package/dist/chunk-NY2PYHNC.js.map +1 -0
  184. package/dist/chunk-O3MT7DYI.js +225 -0
  185. package/dist/chunk-O3MT7DYI.js.map +1 -0
  186. package/dist/chunk-OCUDSN63.js +2386 -0
  187. package/dist/chunk-OCUDSN63.js.map +1 -0
  188. package/dist/chunk-OIWU3NYV.js +199 -0
  189. package/dist/chunk-OIWU3NYV.js.map +1 -0
  190. package/dist/chunk-OO5BM6CJ.js +1153 -0
  191. package/dist/chunk-OO5BM6CJ.js.map +1 -0
  192. package/dist/chunk-OQUIJT7A.js +1 -0
  193. package/dist/chunk-OQUIJT7A.js.map +1 -0
  194. package/dist/chunk-P5LBT622.js +105 -0
  195. package/dist/chunk-P5LBT622.js.map +1 -0
  196. package/dist/chunk-PKGQG5QQ.js +519 -0
  197. package/dist/chunk-PKGQG5QQ.js.map +1 -0
  198. package/dist/chunk-PKPO3JTZ.js +561 -0
  199. package/dist/chunk-PKPO3JTZ.js.map +1 -0
  200. package/dist/chunk-PL5UDIQ5.js +118 -0
  201. package/dist/chunk-PL5UDIQ5.js.map +1 -0
  202. package/dist/chunk-PZWISPIQ.js +432 -0
  203. package/dist/chunk-PZWISPIQ.js.map +1 -0
  204. package/dist/chunk-Q3EYOCZB.js +510 -0
  205. package/dist/chunk-Q3EYOCZB.js.map +1 -0
  206. package/dist/chunk-QMBYUVRL.js +15 -0
  207. package/dist/chunk-QMBYUVRL.js.map +1 -0
  208. package/dist/chunk-RAGGHLCV.js +200 -0
  209. package/dist/chunk-RAGGHLCV.js.map +1 -0
  210. package/dist/chunk-RGL53X5G.js +574 -0
  211. package/dist/chunk-RGL53X5G.js.map +1 -0
  212. package/dist/chunk-RJOG4IJU.js +1039 -0
  213. package/dist/chunk-RJOG4IJU.js.map +1 -0
  214. package/dist/chunk-SOOKUYVM.js +403 -0
  215. package/dist/chunk-SOOKUYVM.js.map +1 -0
  216. package/dist/chunk-T5BN5KG7.js +1 -0
  217. package/dist/chunk-T5BN5KG7.js.map +1 -0
  218. package/dist/chunk-TP7244Y6.js +207 -0
  219. package/dist/chunk-TP7244Y6.js.map +1 -0
  220. package/dist/chunk-TSBFTJKM.js +57 -0
  221. package/dist/chunk-TSBFTJKM.js.map +1 -0
  222. package/dist/chunk-URQ2CBBF.js +143 -0
  223. package/dist/chunk-URQ2CBBF.js.map +1 -0
  224. package/dist/chunk-W2BOPXTI.js +1 -0
  225. package/dist/chunk-W2BOPXTI.js.map +1 -0
  226. package/dist/chunk-WKSWLSCX.js +207 -0
  227. package/dist/chunk-WKSWLSCX.js.map +1 -0
  228. package/dist/chunk-Y52CS6YA.js +88 -0
  229. package/dist/chunk-Y52CS6YA.js.map +1 -0
  230. package/dist/chunk-YCBUWK77.js +92 -0
  231. package/dist/chunk-YCBUWK77.js.map +1 -0
  232. package/dist/chunk-YJ4U2D2C.js +314 -0
  233. package/dist/chunk-YJ4U2D2C.js.map +1 -0
  234. package/dist/chunk-Z4YXAUDN.js +239 -0
  235. package/dist/chunk-Z4YXAUDN.js.map +1 -0
  236. package/dist/chunk-Z6EGP5D7.js +92 -0
  237. package/dist/chunk-Z6EGP5D7.js.map +1 -0
  238. package/dist/compat/index.cjs +3100 -9
  239. package/dist/compat/index.cjs.map +1 -0
  240. package/dist/compat/index.d.cts +112 -18
  241. package/dist/compat/index.d.ts +112 -18
  242. package/dist/compat/index.js +176 -1
  243. package/dist/compat/index.js.map +1 -0
  244. package/dist/compat/jotai/index.cjs +149 -1
  245. package/dist/compat/jotai/index.cjs.map +1 -0
  246. package/dist/compat/jotai/index.d.cts +2 -2
  247. package/dist/compat/jotai/index.d.ts +2 -2
  248. package/dist/compat/jotai/index.js +8 -1
  249. package/dist/compat/jotai/index.js.map +1 -0
  250. package/dist/compat/nanostores/index.cjs +205 -1
  251. package/dist/compat/nanostores/index.cjs.map +1 -0
  252. package/dist/compat/nanostores/index.d.cts +2 -2
  253. package/dist/compat/nanostores/index.d.ts +2 -2
  254. package/dist/compat/nanostores/index.js +22 -1
  255. package/dist/compat/nanostores/index.js.map +1 -0
  256. package/dist/compat/nestjs/index.cjs +2241 -9
  257. package/dist/compat/nestjs/index.cjs.map +1 -0
  258. package/dist/compat/nestjs/index.d.cts +7 -10
  259. package/dist/compat/nestjs/index.d.ts +7 -10
  260. package/dist/compat/nestjs/index.js +78 -1
  261. package/dist/compat/nestjs/index.js.map +1 -0
  262. package/dist/compat/react/index.cjs +114 -1
  263. package/dist/compat/react/index.cjs.map +1 -0
  264. package/dist/compat/react/index.d.cts +2 -2
  265. package/dist/compat/react/index.d.ts +2 -2
  266. package/dist/compat/react/index.js +12 -1
  267. package/dist/compat/react/index.js.map +1 -0
  268. package/dist/compat/solid/index.cjs +101 -1
  269. package/dist/compat/solid/index.cjs.map +1 -0
  270. package/dist/compat/solid/index.d.cts +2 -2
  271. package/dist/compat/solid/index.d.ts +2 -2
  272. package/dist/compat/solid/index.js +12 -1
  273. package/dist/compat/solid/index.js.map +1 -0
  274. package/dist/compat/svelte/index.cjs +104 -1
  275. package/dist/compat/svelte/index.cjs.map +1 -0
  276. package/dist/compat/svelte/index.d.cts +2 -2
  277. package/dist/compat/svelte/index.d.ts +2 -2
  278. package/dist/compat/svelte/index.js +12 -1
  279. package/dist/compat/svelte/index.js.map +1 -0
  280. package/dist/compat/vue/index.cjs +119 -1
  281. package/dist/compat/vue/index.cjs.map +1 -0
  282. package/dist/compat/vue/index.d.cts +2 -2
  283. package/dist/compat/vue/index.d.ts +2 -2
  284. package/dist/compat/vue/index.js +12 -1
  285. package/dist/compat/vue/index.js.map +1 -0
  286. package/dist/compat/zustand/index.cjs +69 -3
  287. package/dist/compat/zustand/index.cjs.map +1 -0
  288. package/dist/compat/zustand/index.d.cts +2 -6
  289. package/dist/compat/zustand/index.d.ts +2 -6
  290. package/dist/compat/zustand/index.js +8 -1
  291. package/dist/compat/zustand/index.js.map +1 -0
  292. package/dist/distill-De6Rnn15.d.cts +48 -0
  293. package/dist/distill-De6Rnn15.d.ts +48 -0
  294. package/dist/external-register-CWyroXb_.d.cts +138 -0
  295. package/dist/external-register-CWyroXb_.d.ts +138 -0
  296. package/dist/{fallback-74oxi34l.d.cts → fallback-Bx46zqky.d.cts} +3 -10
  297. package/dist/{fallback-DUyyBTBK.d.ts → fallback-pIWW8A2d.d.ts} +3 -10
  298. package/dist/guarded-execution-BcdtxeBk.d.ts +207 -0
  299. package/dist/guarded-execution-C-3hnP6A.d.cts +207 -0
  300. package/dist/{index-CBGUK09R.d.ts → index-5SU_O78r.d.cts} +5 -5
  301. package/dist/{index-BmZXHqkE.d.ts → index-B6pxYJzO.d.cts} +1 -1
  302. package/dist/{index-hcDJ8PSI.d.cts → index-B6pxYJzO.d.ts} +1 -1
  303. package/dist/{index-C5stwKcw.d.cts → index-BFsng6v1.d.cts} +1 -1
  304. package/dist/{index-CdAlHFEt.d.ts → index-BFsng6v1.d.ts} +1 -1
  305. package/dist/{index-_6ODbuOu.d.cts → index-Bg-LwEt-.d.cts} +1 -1
  306. package/dist/{index-CviRnE4K.d.ts → index-Bg-LwEt-.d.ts} +1 -1
  307. package/dist/{index-CBBLl_rc.d.ts → index-Brp888t0.d.cts} +1 -1
  308. package/dist/{index-BQSKmbuG.d.cts → index-Brp888t0.d.ts} +1 -1
  309. package/dist/{index-sqkqlb1p.d.ts → index-CDfk6jHN.d.cts} +1 -1
  310. package/dist/{index-ZVQhLa2i.d.cts → index-CDfk6jHN.d.ts} +1 -1
  311. package/dist/{index-Climxqsu.d.cts → index-CEXCtYYJ.d.ts} +5 -5
  312. package/dist/index-DLAxYaN5.d.cts +169 -0
  313. package/dist/index-DLAxYaN5.d.ts +169 -0
  314. package/dist/{index-CK29LV56.d.cts → index-DeWbQzMe.d.cts} +1 -1
  315. package/dist/{index-CPQlGA29.d.ts → index-DeWbQzMe.d.ts} +1 -1
  316. package/dist/{index-BrPrLl4e.d.cts → index-dX9IzPqj.d.cts} +1 -1
  317. package/dist/{index-Dgl1HpPn.d.ts → index-dX9IzPqj.d.ts} +1 -1
  318. package/dist/index.cjs +25934 -191
  319. package/dist/index.cjs.map +1 -0
  320. package/dist/index.d.cts +58 -94
  321. package/dist/index.d.ts +58 -94
  322. package/dist/index.js +852 -1
  323. package/dist/index.js.map +1 -0
  324. package/dist/layout-types-B5aiHYgk.d.cts +72 -0
  325. package/dist/layout-types-B5aiHYgk.d.ts +72 -0
  326. package/dist/memory-composers-BryDrRBX.d.cts +529 -0
  327. package/dist/memory-composers-CVQqPYEV.d.ts +529 -0
  328. package/dist/{observable-DWjNfLvC.d.ts → observable-BXQoW1P-.d.cts} +1 -1
  329. package/dist/{observable-e3eiPPFy.d.cts → observable-BXQoW1P-.d.ts} +1 -1
  330. package/dist/{pipeline-graph-Sgj0gCwn.d.ts → pipeline-graph-Ce47CB6Y.d.cts} +13 -10
  331. package/dist/{pipeline-graph-CIKhynsF.d.cts → pipeline-graph-DXCwY9vG.d.ts} +13 -10
  332. package/dist/presets/ai/index.cjs +4377 -0
  333. package/dist/presets/ai/index.cjs.map +1 -0
  334. package/dist/presets/ai/index.d.cts +98 -0
  335. package/dist/presets/ai/index.d.ts +98 -0
  336. package/dist/presets/ai/index.js +54 -0
  337. package/dist/presets/ai/index.js.map +1 -0
  338. package/dist/presets/harness/index.cjs +5929 -0
  339. package/dist/presets/harness/index.cjs.map +1 -0
  340. package/dist/presets/harness/index.d.cts +566 -0
  341. package/dist/presets/harness/index.d.ts +566 -0
  342. package/dist/presets/harness/index.js +71 -0
  343. package/dist/presets/harness/index.js.map +1 -0
  344. package/dist/presets/index.cjs +9782 -0
  345. package/dist/presets/index.cjs.map +1 -0
  346. package/dist/presets/index.d.cts +28 -0
  347. package/dist/presets/index.d.ts +28 -0
  348. package/dist/presets/index.js +129 -0
  349. package/dist/presets/index.js.map +1 -0
  350. package/dist/presets/inspect/index.cjs +1087 -0
  351. package/dist/presets/inspect/index.cjs.map +1 -0
  352. package/dist/presets/inspect/index.d.cts +172 -0
  353. package/dist/presets/inspect/index.d.ts +172 -0
  354. package/dist/presets/inspect/index.js +21 -0
  355. package/dist/presets/inspect/index.js.map +1 -0
  356. package/dist/presets/resilience/index.cjs +1593 -0
  357. package/dist/presets/resilience/index.cjs.map +1 -0
  358. package/dist/presets/resilience/index.d.cts +205 -0
  359. package/dist/presets/resilience/index.d.ts +205 -0
  360. package/dist/presets/resilience/index.js +18 -0
  361. package/dist/presets/resilience/index.js.map +1 -0
  362. package/dist/rate-limiter-CEALq4N1.d.ts +559 -0
  363. package/dist/rate-limiter-DpVbSYdH.d.cts +559 -0
  364. package/dist/{reactive-layout-DOTs9P3X.d.ts → reactive-layout-fswlBUvX.d.cts} +19 -7
  365. package/dist/{reactive-layout-DgctbqZo.d.cts → reactive-layout-fswlBUvX.d.ts} +19 -7
  366. package/dist/retry-BDbRZ_gx.d.ts +125 -0
  367. package/dist/retry-DWuhjvsA.d.cts +125 -0
  368. package/dist/solutions/index.cjs +8200 -0
  369. package/dist/solutions/index.cjs.map +1 -0
  370. package/dist/solutions/index.d.cts +23 -0
  371. package/dist/solutions/index.d.ts +23 -0
  372. package/dist/solutions/index.js +55 -0
  373. package/dist/solutions/index.js.map +1 -0
  374. package/dist/spawnable-5mDY501F.d.cts +746 -0
  375. package/dist/spawnable-D3lR0oQu.d.ts +746 -0
  376. package/dist/status-U-rUI79b.d.cts +84 -0
  377. package/dist/status-U-rUI79b.d.ts +84 -0
  378. package/dist/timeout-U5O4ESK3.js +12 -0
  379. package/dist/timeout-U5O4ESK3.js.map +1 -0
  380. package/dist/{types-CWFysE9E.d.ts → types-BB5Lw-pB.d.cts} +3 -3
  381. package/dist/{types-C0_yquda.d.cts → types-BB5Lw-pB.d.ts} +3 -3
  382. package/dist/types-CJWIMJiZ.d.ts +548 -0
  383. package/dist/types-vCq7ShIm.d.cts +548 -0
  384. package/dist/utils/ai/browser.cjs +2169 -0
  385. package/dist/utils/ai/browser.cjs.map +1 -0
  386. package/dist/{patterns → utils}/ai/browser.d.cts +7 -5
  387. package/dist/{patterns → utils}/ai/browser.d.ts +7 -5
  388. package/dist/utils/ai/browser.js +255 -0
  389. package/dist/utils/ai/browser.js.map +1 -0
  390. package/dist/utils/ai/index.cjs +8468 -0
  391. package/dist/utils/ai/index.cjs.map +1 -0
  392. package/dist/{index-CR8QpwX8.d.ts → utils/ai/index.d.cts} +73 -976
  393. package/dist/{index-UPSiS-X7.d.cts → utils/ai/index.d.ts} +73 -976
  394. package/dist/utils/ai/index.js +173 -0
  395. package/dist/utils/ai/index.js.map +1 -0
  396. package/dist/utils/ai/node.cjs +648 -0
  397. package/dist/utils/ai/node.cjs.map +1 -0
  398. package/dist/{patterns → utils}/ai/node.d.cts +5 -7
  399. package/dist/{patterns → utils}/ai/node.d.ts +5 -7
  400. package/dist/utils/ai/node.js +84 -0
  401. package/dist/utils/ai/node.js.map +1 -0
  402. package/dist/utils/cqrs/index.cjs +1036 -0
  403. package/dist/utils/cqrs/index.cjs.map +1 -0
  404. package/dist/{index-CeFiHtAg.d.ts → utils/cqrs/index.d.cts} +7 -37
  405. package/dist/{index-B-_tFaqV.d.cts → utils/cqrs/index.d.ts} +7 -37
  406. package/dist/utils/cqrs/index.js +18 -0
  407. package/dist/utils/cqrs/index.js.map +1 -0
  408. package/dist/utils/demo-shell/index.cjs +865 -0
  409. package/dist/utils/demo-shell/index.cjs.map +1 -0
  410. package/dist/{index-B8YnZpIR.d.ts → utils/demo-shell/index.d.cts} +4 -16
  411. package/dist/{index-Cwv0KWcU.d.cts → utils/demo-shell/index.d.ts} +4 -16
  412. package/dist/utils/demo-shell/index.js +13 -0
  413. package/dist/utils/demo-shell/index.js.map +1 -0
  414. package/dist/utils/domain-templates/index.cjs +732 -0
  415. package/dist/utils/domain-templates/index.cjs.map +1 -0
  416. package/dist/{index-CzLVrjxn.d.ts → utils/domain-templates/index.d.cts} +3 -20
  417. package/dist/{index-BaQaY_IQ.d.cts → utils/domain-templates/index.d.ts} +3 -20
  418. package/dist/utils/domain-templates/index.js +17 -0
  419. package/dist/utils/domain-templates/index.js.map +1 -0
  420. package/dist/utils/graphspec/index.cjs +1174 -0
  421. package/dist/utils/graphspec/index.cjs.map +1 -0
  422. package/dist/{index-CMh5Rz1y.d.ts → utils/graphspec/index.d.cts} +106 -42
  423. package/dist/{index-CS0LTlB8.d.cts → utils/graphspec/index.d.ts} +106 -42
  424. package/dist/utils/graphspec/index.js +35 -0
  425. package/dist/utils/graphspec/index.js.map +1 -0
  426. package/dist/utils/harness/index.cjs +656 -0
  427. package/dist/utils/harness/index.cjs.map +1 -0
  428. package/dist/utils/harness/index.d.cts +542 -0
  429. package/dist/utils/harness/index.d.ts +542 -0
  430. package/dist/utils/harness/index.js +56 -0
  431. package/dist/utils/harness/index.js.map +1 -0
  432. package/dist/utils/index.cjs +17609 -0
  433. package/dist/utils/index.cjs.map +1 -0
  434. package/dist/utils/index.d.cts +96 -0
  435. package/dist/utils/index.d.ts +96 -0
  436. package/dist/utils/index.js +514 -0
  437. package/dist/utils/index.js.map +1 -0
  438. package/dist/utils/inspect/index.cjs +807 -0
  439. package/dist/utils/inspect/index.cjs.map +1 -0
  440. package/dist/utils/inspect/index.d.cts +123 -0
  441. package/dist/utils/inspect/index.d.ts +123 -0
  442. package/dist/utils/inspect/index.js +30 -0
  443. package/dist/utils/inspect/index.js.map +1 -0
  444. package/dist/utils/job-queue/index.cjs +717 -0
  445. package/dist/utils/job-queue/index.cjs.map +1 -0
  446. package/dist/{index-DisjX8a-.d.ts → utils/job-queue/index.d.cts} +5 -26
  447. package/dist/{index-DV_1YuVk.d.cts → utils/job-queue/index.d.ts} +5 -26
  448. package/dist/utils/job-queue/index.js +18 -0
  449. package/dist/utils/job-queue/index.js.map +1 -0
  450. package/dist/utils/memory/index.cjs +1451 -0
  451. package/dist/utils/memory/index.cjs.map +1 -0
  452. package/dist/{index-CZ3r5Rxp.d.ts → utils/memory/index.d.cts} +242 -34
  453. package/dist/{index-B17QddL1.d.cts → utils/memory/index.d.ts} +242 -34
  454. package/dist/utils/memory/index.js +19 -0
  455. package/dist/utils/memory/index.js.map +1 -0
  456. package/dist/utils/messaging/index.cjs +666 -0
  457. package/dist/utils/messaging/index.cjs.map +1 -0
  458. package/dist/utils/messaging/index.d.cts +562 -0
  459. package/dist/utils/messaging/index.d.ts +562 -0
  460. package/dist/utils/messaging/index.js +50 -0
  461. package/dist/utils/messaging/index.js.map +1 -0
  462. package/dist/utils/orchestration/index.cjs +876 -0
  463. package/dist/utils/orchestration/index.cjs.map +1 -0
  464. package/dist/utils/orchestration/index.d.cts +233 -0
  465. package/dist/utils/orchestration/index.d.ts +233 -0
  466. package/dist/utils/orchestration/index.js +19 -0
  467. package/dist/utils/orchestration/index.js.map +1 -0
  468. package/dist/utils/process/index.cjs +743 -0
  469. package/dist/utils/process/index.cjs.map +1 -0
  470. package/dist/{index-p09KSrTN.d.ts → utils/process/index.d.cts} +97 -44
  471. package/dist/{index-CasX6Pfq.d.cts → utils/process/index.d.ts} +97 -44
  472. package/dist/utils/process/index.js +14 -0
  473. package/dist/utils/process/index.js.map +1 -0
  474. package/dist/utils/reactive-layout/index.cjs +1607 -0
  475. package/dist/utils/reactive-layout/index.cjs.map +1 -0
  476. package/dist/{index-B5S8ULbU.d.ts → utils/reactive-layout/index.d.cts} +58 -81
  477. package/dist/{index-Dc4AYqrJ.d.cts → utils/reactive-layout/index.d.ts} +58 -81
  478. package/dist/utils/reactive-layout/index.js +52 -0
  479. package/dist/utils/reactive-layout/index.js.map +1 -0
  480. package/dist/utils/reduction/index.cjs +203 -0
  481. package/dist/utils/reduction/index.cjs.map +1 -0
  482. package/dist/{index-Byu-OpX_.d.ts → utils/reduction/index.d.cts} +6 -17
  483. package/dist/{index-tRCxuAXF.d.cts → utils/reduction/index.d.ts} +6 -17
  484. package/dist/utils/reduction/index.js +14 -0
  485. package/dist/utils/reduction/index.js.map +1 -0
  486. package/dist/utils/resilience/index.cjs +1617 -0
  487. package/dist/utils/resilience/index.cjs.map +1 -0
  488. package/dist/utils/resilience/index.d.cts +9 -0
  489. package/dist/utils/resilience/index.d.ts +9 -0
  490. package/dist/utils/resilience/index.js +44 -0
  491. package/dist/utils/resilience/index.js.map +1 -0
  492. package/dist/utils/surface/index.cjs +1070 -0
  493. package/dist/utils/surface/index.cjs.map +1 -0
  494. package/dist/{index-CYq8vAyV.d.ts → utils/surface/index.d.cts} +7 -58
  495. package/dist/{index-CSOmP7xT.d.cts → utils/surface/index.d.ts} +7 -58
  496. package/dist/utils/surface/index.js +30 -0
  497. package/dist/utils/surface/index.js.map +1 -0
  498. package/dist/utils/topology-view/index.cjs +620 -0
  499. package/dist/utils/topology-view/index.cjs.map +1 -0
  500. package/dist/utils/topology-view/index.d.cts +68 -0
  501. package/dist/utils/topology-view/index.d.ts +68 -0
  502. package/dist/utils/topology-view/index.js +11 -0
  503. package/dist/utils/topology-view/index.js.map +1 -0
  504. package/package.json +664 -584
  505. package/dist/backoff-HPZMEZNF.js +0 -1
  506. package/dist/chunk-2T7U5EU6.js +0 -1
  507. package/dist/chunk-3G5U5QNE.js +0 -5
  508. package/dist/chunk-4VVTGLXJ.js +0 -1
  509. package/dist/chunk-5M4CCMMD.js +0 -45
  510. package/dist/chunk-5QDBSZBV.js +0 -1
  511. package/dist/chunk-5XJ6B66J.js +0 -1
  512. package/dist/chunk-6QZNQS5B.js +0 -1
  513. package/dist/chunk-6X7AFUJV.js +0 -9
  514. package/dist/chunk-7K6PWTDQ.js +0 -1
  515. package/dist/chunk-7LIAPXJB.js +0 -1
  516. package/dist/chunk-7WPU3UHQ.js +0 -1
  517. package/dist/chunk-A5WCQ5NO.js +0 -1
  518. package/dist/chunk-APPIWSGD.js +0 -84
  519. package/dist/chunk-BEZWM2SY.js +0 -1
  520. package/dist/chunk-C72GO4IZ.js +0 -1
  521. package/dist/chunk-CB676TKJ.js +0 -1
  522. package/dist/chunk-CE6TI2TL.js +0 -1
  523. package/dist/chunk-CE72X3WO.js +0 -1
  524. package/dist/chunk-CK2E7BTU.js +0 -1
  525. package/dist/chunk-CLVB32RD.js +0 -1
  526. package/dist/chunk-CRVT7D2P.js +0 -1
  527. package/dist/chunk-D5RFJOZ2.js +0 -1
  528. package/dist/chunk-D7GPHKFH.js +0 -1
  529. package/dist/chunk-DHRX7JX4.js +0 -2
  530. package/dist/chunk-ESMPEKEV.js +0 -1
  531. package/dist/chunk-F672GV32.js +0 -1
  532. package/dist/chunk-FZMYDOWV.js +0 -1
  533. package/dist/chunk-GHBWHMRZ.js +0 -1
  534. package/dist/chunk-GLERH466.js +0 -1
  535. package/dist/chunk-GPW2V3RE.js +0 -1
  536. package/dist/chunk-HIDYF36O.js +0 -1
  537. package/dist/chunk-HITNVN6B.js +0 -3
  538. package/dist/chunk-HY4DJBA7.js +0 -5
  539. package/dist/chunk-KZIEYVXN.js +0 -1
  540. package/dist/chunk-L6NSJVJZ.js +0 -1
  541. package/dist/chunk-N4MQX6JU.js +0 -18
  542. package/dist/chunk-N7FHEL4D.js +0 -1
  543. package/dist/chunk-NTEURFZH.js +0 -1
  544. package/dist/chunk-OIVP6KFV.js +0 -1
  545. package/dist/chunk-OPHBU3LG.js +0 -1
  546. package/dist/chunk-OYQOZP2F.js +0 -5
  547. package/dist/chunk-PTZK576G.js +0 -1
  548. package/dist/chunk-QYADASLV.js +0 -1
  549. package/dist/chunk-ST7UXLWR.js +0 -1
  550. package/dist/chunk-SVY7VUYU.js +0 -1
  551. package/dist/chunk-TK3NWWD4.js +0 -1
  552. package/dist/chunk-TSOYJ743.js +0 -1
  553. package/dist/chunk-UNGSTR4X.js +0 -61
  554. package/dist/chunk-VIMF6LGM.js +0 -1
  555. package/dist/chunk-VJLMUKOI.js +0 -1
  556. package/dist/chunk-VN6RDSK2.js +0 -1
  557. package/dist/chunk-VV4N5P64.js +0 -1
  558. package/dist/chunk-W3I423PS.js +0 -1
  559. package/dist/chunk-WJR24TAG.js +0 -1
  560. package/dist/chunk-XTGKMHSW.js +0 -1
  561. package/dist/chunk-YBB7ZGTY.js +0 -1
  562. package/dist/chunk-Z4NPUARF.js +0 -1
  563. package/dist/chunk-ZGNQRPDT.js +0 -1
  564. package/dist/chunk-ZKPSFFKU.js +0 -1
  565. package/dist/chunk-ZLV5SQSX.js +0 -1
  566. package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
  567. package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
  568. package/dist/core/index.cjs +0 -1
  569. package/dist/core/index.d.cts +0 -3
  570. package/dist/core/index.d.ts +0 -3
  571. package/dist/core/index.js +0 -1
  572. package/dist/decay-BvOWTZ00.d.ts +0 -112
  573. package/dist/decay-CFlLvXUT.d.cts +0 -112
  574. package/dist/extra/browser.cjs +0 -1
  575. package/dist/extra/browser.d.cts +0 -4
  576. package/dist/extra/browser.d.ts +0 -4
  577. package/dist/extra/browser.js +0 -1
  578. package/dist/extra/index.cjs +0 -20
  579. package/dist/extra/index.d.cts +0 -17
  580. package/dist/extra/index.d.ts +0 -17
  581. package/dist/extra/index.js +0 -1
  582. package/dist/extra/node.cjs +0 -2
  583. package/dist/extra/node.js +0 -2
  584. package/dist/extra/operators.cjs +0 -1
  585. package/dist/extra/operators.d.cts +0 -958
  586. package/dist/extra/operators.d.ts +0 -958
  587. package/dist/extra/operators.js +0 -1
  588. package/dist/extra/reactive.cjs +0 -1
  589. package/dist/extra/reactive.d.cts +0 -353
  590. package/dist/extra/reactive.d.ts +0 -353
  591. package/dist/extra/reactive.js +0 -1
  592. package/dist/extra/render/index.cjs +0 -5
  593. package/dist/extra/render/index.js +0 -1
  594. package/dist/extra/sources.cjs +0 -3
  595. package/dist/extra/sources.js +0 -1
  596. package/dist/extra/storage-browser.cjs +0 -1
  597. package/dist/extra/storage-browser.d.cts +0 -37
  598. package/dist/extra/storage-browser.d.ts +0 -37
  599. package/dist/extra/storage-browser.js +0 -1
  600. package/dist/extra/storage-core.cjs +0 -1
  601. package/dist/extra/storage-core.d.cts +0 -28
  602. package/dist/extra/storage-core.d.ts +0 -28
  603. package/dist/extra/storage-core.js +0 -1
  604. package/dist/extra/storage-node.cjs +0 -1
  605. package/dist/extra/storage-node.d.cts +0 -2
  606. package/dist/extra/storage-node.d.ts +0 -2
  607. package/dist/extra/storage-node.js +0 -0
  608. package/dist/extra/storage-tiers-browser.cjs +0 -1
  609. package/dist/extra/storage-tiers-browser.d.cts +0 -120
  610. package/dist/extra/storage-tiers-browser.d.ts +0 -120
  611. package/dist/extra/storage-tiers-browser.js +0 -1
  612. package/dist/extra/storage-tiers-node.cjs +0 -1
  613. package/dist/extra/storage-tiers-node.d.cts +0 -210
  614. package/dist/extra/storage-tiers-node.d.ts +0 -210
  615. package/dist/extra/storage-tiers-node.js +0 -1
  616. package/dist/extra/storage-tiers.cjs +0 -1
  617. package/dist/extra/storage-tiers.d.cts +0 -412
  618. package/dist/extra/storage-tiers.d.ts +0 -412
  619. package/dist/extra/storage-tiers.js +0 -1
  620. package/dist/graph/index.cjs +0 -7
  621. package/dist/graph/index.d.cts +0 -7
  622. package/dist/graph/index.d.ts +0 -7
  623. package/dist/graph/index.js +0 -1
  624. package/dist/graph-CWvEUQAq.d.cts +0 -1861
  625. package/dist/graph-D9LFnda9.d.ts +0 -1861
  626. package/dist/index-5k1T6jl0.d.cts +0 -121
  627. package/dist/index-9770hRuQ.d.cts +0 -779
  628. package/dist/index-B1F8Enjf.d.ts +0 -704
  629. package/dist/index-BHskSB8v.d.ts +0 -3413
  630. package/dist/index-BIYAkbAi.d.cts +0 -26
  631. package/dist/index-BoJ5JHxI.d.ts +0 -557
  632. package/dist/index-BocU7pqs.d.ts +0 -779
  633. package/dist/index-BxNs2HB9.d.cts +0 -1858
  634. package/dist/index-C1T3d7V-.d.cts +0 -704
  635. package/dist/index-C5ri2Axc.d.cts +0 -301
  636. package/dist/index-C9l6OEBL.d.ts +0 -26
  637. package/dist/index-CC-AvFTy.d.cts +0 -557
  638. package/dist/index-CJF1URuX.d.ts +0 -121
  639. package/dist/index-CdTelp1M.d.ts +0 -202
  640. package/dist/index-Cj3WohTd.d.cts +0 -202
  641. package/dist/index-Co7uli2l.d.cts +0 -3413
  642. package/dist/index-D0aciIex.d.cts +0 -209
  643. package/dist/index-DHen9Klo.d.ts +0 -1858
  644. package/dist/index-Yq60JP3s.d.ts +0 -209
  645. package/dist/index-nozs3fFC.d.ts +0 -301
  646. package/dist/node-kK3CvTrR.d.cts +0 -1347
  647. package/dist/node-kK3CvTrR.d.ts +0 -1347
  648. package/dist/patterns/ai/browser.cjs +0 -8
  649. package/dist/patterns/ai/browser.js +0 -3
  650. package/dist/patterns/ai/index.cjs +0 -74
  651. package/dist/patterns/ai/index.d.cts +0 -20
  652. package/dist/patterns/ai/index.d.ts +0 -20
  653. package/dist/patterns/ai/index.js +0 -1
  654. package/dist/patterns/ai/node.cjs +0 -1
  655. package/dist/patterns/ai/node.js +0 -1
  656. package/dist/patterns/cqrs/index.cjs +0 -3
  657. package/dist/patterns/cqrs/index.d.cts +0 -8
  658. package/dist/patterns/cqrs/index.d.ts +0 -8
  659. package/dist/patterns/cqrs/index.js +0 -1
  660. package/dist/patterns/demo-shell/index.cjs +0 -5
  661. package/dist/patterns/demo-shell/index.d.cts +0 -7
  662. package/dist/patterns/demo-shell/index.d.ts +0 -7
  663. package/dist/patterns/demo-shell/index.js +0 -1
  664. package/dist/patterns/domain-templates/index.cjs +0 -3
  665. package/dist/patterns/domain-templates/index.d.cts +0 -6
  666. package/dist/patterns/domain-templates/index.d.ts +0 -6
  667. package/dist/patterns/domain-templates/index.js +0 -1
  668. package/dist/patterns/graphspec/index.cjs +0 -86
  669. package/dist/patterns/graphspec/index.d.cts +0 -8
  670. package/dist/patterns/graphspec/index.d.ts +0 -8
  671. package/dist/patterns/graphspec/index.js +0 -1
  672. package/dist/patterns/harness/index.cjs +0 -48
  673. package/dist/patterns/harness/index.d.cts +0 -13
  674. package/dist/patterns/harness/index.d.ts +0 -13
  675. package/dist/patterns/harness/index.js +0 -1
  676. package/dist/patterns/inspect/index.cjs +0 -3
  677. package/dist/patterns/inspect/index.d.cts +0 -9
  678. package/dist/patterns/inspect/index.d.ts +0 -9
  679. package/dist/patterns/inspect/index.js +0 -1
  680. package/dist/patterns/job-queue/index.cjs +0 -3
  681. package/dist/patterns/job-queue/index.d.cts +0 -9
  682. package/dist/patterns/job-queue/index.d.ts +0 -9
  683. package/dist/patterns/job-queue/index.js +0 -1
  684. package/dist/patterns/memory/index.cjs +0 -3
  685. package/dist/patterns/memory/index.d.cts +0 -8
  686. package/dist/patterns/memory/index.d.ts +0 -8
  687. package/dist/patterns/memory/index.js +0 -1
  688. package/dist/patterns/messaging/index.cjs +0 -3
  689. package/dist/patterns/messaging/index.d.cts +0 -7
  690. package/dist/patterns/messaging/index.d.ts +0 -7
  691. package/dist/patterns/messaging/index.js +0 -1
  692. package/dist/patterns/orchestration/index.cjs +0 -3
  693. package/dist/patterns/orchestration/index.d.cts +0 -8
  694. package/dist/patterns/orchestration/index.d.ts +0 -8
  695. package/dist/patterns/orchestration/index.js +0 -1
  696. package/dist/patterns/process/index.cjs +0 -3
  697. package/dist/patterns/process/index.d.cts +0 -10
  698. package/dist/patterns/process/index.d.ts +0 -10
  699. package/dist/patterns/process/index.js +0 -1
  700. package/dist/patterns/reactive-layout/index.cjs +0 -4
  701. package/dist/patterns/reactive-layout/index.d.cts +0 -7
  702. package/dist/patterns/reactive-layout/index.d.ts +0 -7
  703. package/dist/patterns/reactive-layout/index.js +0 -1
  704. package/dist/patterns/reduction/index.cjs +0 -3
  705. package/dist/patterns/reduction/index.d.cts +0 -6
  706. package/dist/patterns/reduction/index.d.ts +0 -6
  707. package/dist/patterns/reduction/index.js +0 -1
  708. package/dist/patterns/surface/index.cjs +0 -13
  709. package/dist/patterns/surface/index.d.cts +0 -9
  710. package/dist/patterns/surface/index.d.ts +0 -9
  711. package/dist/patterns/surface/index.js +0 -1
  712. package/dist/reactive-log-BKALbfal.d.ts +0 -223
  713. package/dist/reactive-log-DIGdYqQ6.d.cts +0 -223
  714. package/dist/reactive-map-CEFGp8TK.d.cts +0 -296
  715. package/dist/reactive-map-DS_SIAxv.d.ts +0 -296
  716. package/dist/resilience-6LYQJAC5.js +0 -1
  717. package/dist/sugar-DQjFmVqb.d.cts +0 -399
  718. package/dist/sugar-fhLIE7TT.d.ts +0 -399
  719. package/dist/topology-tree-Bcz27hpF.d.cts +0 -25
  720. package/dist/topology-tree-xvaD0fOX.d.ts +0 -25
@@ -1,704 +0,0 @@
1
- import { N as Node } from './node-kK3CvTrR.js';
2
-
3
- /**
4
- * Backoff strategies for {@link retry} (roadmap §3.1). Delays are in **nanoseconds**.
5
- *
6
- * Convention: all graphrefly-ts timestamps and durations use nanoseconds (`_ns` suffix).
7
- * 1 second = 1_000_000_000 ns, 1 ms = 1_000_000 ns.
8
- */
9
- declare const NS_PER_MS = 1000000;
10
- declare const NS_PER_SEC = 1000000000;
11
- type JitterMode = "none" | "full" | "equal";
12
- type BackoffPreset = "constant" | "linear" | "exponential" | "fibonacci" | "decorrelatedJitter";
13
- /** `(attempt, error?, previousDelayNs?) => delayNs | null` — `null` means zero delay. */
14
- type BackoffStrategy = (attempt: number, error?: unknown, prevDelayNs?: number | null) => number | null;
15
- /**
16
- * Builds a strategy that always returns the same delay in nanoseconds.
17
- *
18
- * @param delayNs - Non-negative delay in nanoseconds; values below zero are clamped to zero.
19
- * @returns `BackoffStrategy` for use with {@link retry} or custom timers.
20
- *
21
- * @example
22
- * ```ts
23
- * import { constant, retry, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
24
- *
25
- * const out = retry(source, { count: 3, backoff: constant(0.25 * NS_PER_SEC) });
26
- * ```
27
- *
28
- * @category extra
29
- */
30
- declare function constant(delayNs: number): BackoffStrategy;
31
- /**
32
- * Builds linear backoff: `baseNs + stepNs * attempt` (`stepNs` defaults to `baseNs`).
33
- *
34
- * @param baseNs - Base delay in nanoseconds (clamped non-negative).
35
- * @param stepNs - Added per retry attempt in nanoseconds (clamped non-negative).
36
- * @returns `BackoffStrategy` for {@link retry}.
37
- *
38
- * @example
39
- * ```ts
40
- * import { linear, retry, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
41
- *
42
- * // Attempt 0 → 1 s, attempt 1 → 2 s, attempt 2 → 3 s …
43
- * const out = retry(source, { count: 4, backoff: linear(NS_PER_SEC) });
44
- * ```
45
- *
46
- * @category extra
47
- */
48
- declare function linear(baseNs: number, stepNs?: number): BackoffStrategy;
49
- type ExponentialBackoffOptions = {
50
- baseNs?: number;
51
- factor?: number;
52
- maxDelayNs?: number;
53
- jitter?: JitterMode;
54
- };
55
- /**
56
- * Builds exponential backoff in nanoseconds, capped by `maxDelayNs`, with optional jitter.
57
- *
58
- * @param options - Base, factor, cap, and jitter mode.
59
- * @returns `BackoffStrategy` for {@link retry}.
60
- *
61
- * @remarks
62
- * **Jitter:** `"full"` spreads delay across `[0, delay]`; `"equal"` uses `[delay/2, delay]`.
63
- *
64
- * @example
65
- * ```ts
66
- * import { exponential, retry, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
67
- *
68
- * // 100 ms → 200 ms → 400 ms … capped at 30 s, with full jitter
69
- * const out = retry(source, {
70
- * count: 5,
71
- * backoff: exponential({ baseNs: 100 * NS_PER_SEC / 1000, jitter: "full" }),
72
- * });
73
- * ```
74
- *
75
- * @category extra
76
- */
77
- declare function exponential(options?: ExponentialBackoffOptions): BackoffStrategy;
78
- /**
79
- * Builds Fibonacci-scaled delays: `1, 2, 3, 5, … × baseNs`, capped at `maxDelayNs`.
80
- *
81
- * @param baseNs - Multiplier applied to the Fibonacci unit (default `100ms` in nanoseconds).
82
- * @param maxDelayNs - Upper bound in nanoseconds (default `30s`).
83
- * @returns `BackoffStrategy` for {@link retry}.
84
- *
85
- * @example
86
- * ```ts
87
- * import { fibonacci, retry, NS_PER_MS } from "@graphrefly/graphrefly-ts";
88
- *
89
- * // Delays: 100 ms, 200 ms, 300 ms, 500 ms, 800 ms … (× 100 ms base)
90
- * const out = retry(source, { count: 5, backoff: fibonacci(100 * NS_PER_MS) });
91
- * ```
92
- *
93
- * @category extra
94
- */
95
- declare function fibonacci(baseNs?: number, maxDelayNs?: number): BackoffStrategy;
96
- /**
97
- * Decorrelated jitter (AWS-recommended): `random(baseNs, min(maxNs, lastDelay * 3))`.
98
- *
99
- * Stateless — uses `prevDelayNs` (passed by the consumer) instead of closure state.
100
- * Safe to share across concurrent retry sequences.
101
- *
102
- * @param baseNs - Floor of the random range (default `100ms` in nanoseconds).
103
- * @param maxNs - Ceiling cap (default `30s` in nanoseconds).
104
- * @returns `BackoffStrategy` for {@link retry}.
105
- *
106
- * @example
107
- * ```ts
108
- * import { decorrelatedJitter, retry, NS_PER_MS, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
109
- *
110
- * const out = retry(source, {
111
- * count: 6,
112
- * backoff: decorrelatedJitter(100 * NS_PER_MS, 10 * NS_PER_SEC),
113
- * });
114
- * ```
115
- *
116
- * @category extra
117
- */
118
- declare function decorrelatedJitter(baseNs?: number, maxNs?: number): BackoffStrategy;
119
- /**
120
- * Decorator that caps any strategy at `maxAttempts`. Returns `null` (stop retrying) after the cap.
121
- *
122
- * @param strategy - Inner strategy to wrap.
123
- * @param maxAttempts - Maximum number of attempts (inclusive).
124
- * @returns Wrapped `BackoffStrategy`.
125
- *
126
- * @example
127
- * ```ts
128
- * import { withMaxAttempts, exponential } from "@graphrefly/graphrefly-ts";
129
- *
130
- * const capped = withMaxAttempts(exponential(), 3);
131
- * capped(3); // null — no more retries beyond attempt 3
132
- * ```
133
- *
134
- * @category extra
135
- */
136
- declare function withMaxAttempts(strategy: BackoffStrategy, maxAttempts: number): BackoffStrategy;
137
- /**
138
- * Maps a preset name to a concrete {@link BackoffStrategy} with library-default parameters.
139
- *
140
- * @param name - One of `constant`, `linear`, `exponential`, `fibonacci`, or `decorrelatedJitter`.
141
- * @returns Configured strategy with default parameters.
142
- * @throws Error when `name` is not a known preset.
143
- *
144
- * @example
145
- * ```ts
146
- * import { resolveBackoffPreset, retry } from "@graphrefly/graphrefly-ts";
147
- *
148
- * const out = retry(source, { count: 3, backoff: resolveBackoffPreset("exponential") });
149
- * // Equivalent to retry(source, { count: 3, backoff: exponential() })
150
- * ```
151
- *
152
- * @category extra
153
- */
154
- declare function resolveBackoffPreset(name: BackoffPreset): BackoffStrategy;
155
-
156
- /**
157
- * Resilience utilities — roadmap §3.1 + §3.1c (retry, breaker, rate limit, status,
158
- * fallback, cache, timeout, budgetGate).
159
- */
160
-
161
- type RetryOptions = {
162
- /**
163
- * Max retry attempts after each terminal `ERROR` (not counting the first failure).
164
- *
165
- * **Required when `backoff` is set.** Pass `Infinity` to opt in to unbounded retries
166
- * — the explicit value rules out the silent-infinite-budget footgun (a flaky provider
167
- * + exponential backoff + omitted `count` would previously default to ~2.1B retries).
168
- */
169
- count?: number;
170
- /** Delay between attempts; strategies use **nanoseconds**. */
171
- backoff?: BackoffStrategy | BackoffPreset;
172
- /**
173
- * Caller-supplied metadata merged into the produced node's `meta` (Tier 5.2
174
- * D8 widening). Use {@link domainMeta} to tag the layer for `describe()`
175
- * grouping. The primitive's `factoryTag("retry", …)` always wins against
176
- * caller keys.
177
- */
178
- meta?: Record<string, unknown>;
179
- };
180
- /** Factory-mode-only options. `initial` seeds the outer node's cache before the first attempt. */
181
- type RetryFactoryOptions<T> = RetryOptions & {
182
- /** Initial cache value for the outer node before the factory runs the first time. */
183
- initial?: T;
184
- };
185
- /**
186
- * Retry operator — two modes selected by the type of `input`:
187
- *
188
- * **Source mode** (`input: Node<T>`): resubscribes to the same node after each terminal
189
- * `ERROR`. The upstream should use `resubscribable: true` if it must emit again after `ERROR`.
190
- *
191
- * **Factory mode** (`input: () => Node<T>`): invokes the factory to build a fresh `Node<T>`
192
- * on every connect / reconnect. Ideal for producers that capture per-attempt resources
193
- * (sockets, clients, file handles) that become unusable after an error. Synchronous
194
- * exceptions thrown by the factory are treated as terminal ERROR and run through the
195
- * same retry pipeline as inner-node ERROR.
196
- *
197
- * @param input - Upstream node or factory that returns a fresh node per attempt.
198
- * @param opts - `count` caps attempts (**required when `backoff` is set**; pass `Infinity` to opt in to unbounded); `backoff` supplies delay in **nanoseconds** (or a preset name); `initial` seeds the outer node cache (factory mode only).
199
- * @returns Node that retries on error.
200
- *
201
- * @throws {RangeError} when `backoff` is provided without an explicit `count` (unbounded-retry footgun guard) or when `count < 0`.
202
- *
203
- * @remarks
204
- * **Protocol:** Forwards unknown message tuples unchanged; handles `DIRTY`, `DATA`, `RESOLVED`, `COMPLETE`, `ERROR`.
205
- *
206
- * **Backoff floor:** every scheduled delay is floored at 1ms via `Math.max(1, delayNs / NS_PER_MS)` even when the strategy returns 0ns. This avoids 0-delay re-entrancy on the active stack frame on a tight ERROR loop. Strategies that return `null`/`undefined` stop retrying immediately and forward the original error.
207
- *
208
- * @example
209
- * ```ts
210
- * // Source mode — resubscribe the same node:
211
- * import { ERROR, NS_PER_SEC, producer, retry, constant } from "@graphrefly/graphrefly-ts";
212
- *
213
- * const src = producer(
214
- * (a) => { a.down([[ERROR, new Error("x")]]); },
215
- * { resubscribable: true },
216
- * );
217
- * const out = retry(src, { count: 2, backoff: constant(0.25 * NS_PER_SEC) });
218
- *
219
- * // Factory mode — fresh node per attempt (e.g. reconnecting WebSocket):
220
- * import { NS_PER_SEC, exponential, retry, fromWebSocket } from "@graphrefly/graphrefly-ts";
221
- *
222
- * const connected$ = retry(
223
- * () => fromWebSocket(new WebSocket("wss://example/stream")),
224
- * { count: 10, backoff: exponential({ baseNs: 1 * NS_PER_SEC }) },
225
- * );
226
- * ```
227
- *
228
- * @category extra
229
- */
230
- declare function retry<T>(input: Node<T>, opts?: NodeOrValue<RetryOptions>): Node<T>;
231
- declare function retry<T>(input: () => Node<T>, opts?: NodeOrValue<RetryFactoryOptions<T>>): Node<T>;
232
- type CircuitState = "closed" | "open" | "half-open";
233
- /**
234
- * Thrown when {@link withBreaker} is configured with `onOpen: "error"` and the breaker rejects work.
235
- *
236
- * @category extra
237
- */
238
- declare class CircuitOpenError extends Error {
239
- name: string;
240
- constructor();
241
- }
242
- interface CircuitBreakerOptions {
243
- /** Number of consecutive failures before opening. Default: 5. */
244
- failureThreshold?: number;
245
- /** Base cooldown in nanoseconds before transitioning to half-open. Default: 30s. */
246
- cooldownNs?: number;
247
- /** Backoff strategy for cooldown escalation across consecutive open cycles. Overrides `cooldownNs` when provided. */
248
- cooldown?: BackoffStrategy;
249
- /** Max trial requests allowed in half-open state. Default: 1. */
250
- halfOpenMax?: number;
251
- /**
252
- * Clock function returning **nanoseconds** with `monotonicNs()` semantics
253
- * (monotonically non-decreasing; suitable for elapsed-time arithmetic — never
254
- * use `Date.now()` because wall-clock skew can flip elapsed math negative).
255
- * Default: `monotonicNs` from `core/clock`. Override for deterministic tests.
256
- */
257
- now?: () => number;
258
- }
259
- interface CircuitBreaker {
260
- /** Whether a request should be allowed through. Triggers open→half-open transition when cooldown expires. */
261
- canExecute(): boolean;
262
- /** Record a successful execution. Resets to closed. */
263
- recordSuccess(): void;
264
- /** Record a failed execution. May transition to open. */
265
- recordFailure(error?: unknown): void;
266
- /**
267
- * Current circuit state (read-only, does not trigger transitions).
268
- *
269
- * **Telemetry:** wrap with {@link withBreaker} to surface this as a reactive
270
- * `Node<CircuitState>` companion (`bundle.breakerState`) — every state
271
- * transition (`closed`/`open`/`half-open`) emits to subscribers.
272
- */
273
- readonly state: CircuitState;
274
- /** Number of consecutive failures in the current closed period. */
275
- readonly failureCount: number;
276
- /** Manually reset to closed state, clearing all counters. */
277
- reset(): void;
278
- /**
279
- * Release the reactive-options subscription (Tier 6.5 3.2.4, 2026-04-29).
280
- * No-op when constructed with static options. Call when retiring a
281
- * breaker whose options came from a `Node<CircuitBreakerOptions>` to
282
- * avoid leaking the option-Node subscription.
283
- */
284
- dispose(): void;
285
- }
286
- /**
287
- * Factory for a synchronous circuit breaker with `closed`, `open`, and `half-open` states.
288
- *
289
- * Supports escalating cooldown via an optional {@link BackoffStrategy} — each consecutive
290
- * open→half-open→open cycle increments the backoff attempt.
291
- *
292
- * @param options - Threshold, cooldown, half-open limit, and optional clock
293
- * override; OR a `Node<CircuitBreakerOptions>` carrying the same shape
294
- * reactively (Tier 6.5 3.2.4).
295
- * @returns {@link CircuitBreaker} instance.
296
- *
297
- * @remarks
298
- * **Timing:** Uses `monotonicNs()` by default (nanoseconds). Override `now` for tests.
299
- *
300
- * **Reactive options (locked semantics, Tier 6.5 3.2.4, 2026-04-29).**
301
- * When `options` is a `Node<CircuitBreakerOptions>`, the breaker
302
- * subscribes at construction and re-reads `failureThreshold` /
303
- * `cooldownNs` / `cooldown` / `halfOpenMax` / `now` on each DATA. **An
304
- * option swap RESETS the breaker to `"closed"`** with all counters
305
- * cleared — operators tuning a runaway breaker get a clean baseline.
306
- * If retaining failure history across re-tunings matters, derive a new
307
- * breaker per-tuning instead. Call `breaker.dispose()` when retiring to
308
- * release the option-Node subscription.
309
- *
310
- * @example
311
- * ```ts
312
- * import { circuitBreaker, exponential, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
313
- *
314
- * const b = circuitBreaker({
315
- * failureThreshold: 3,
316
- * cooldown: exponential({ baseNs: 1 * NS_PER_SEC }),
317
- * });
318
- * ```
319
- *
320
- * @category extra
321
- */
322
- declare function circuitBreaker(options?: NodeOrValue<CircuitBreakerOptions>): CircuitBreaker;
323
- type WithBreakerBundle<T> = {
324
- node: Node<T>;
325
- breakerState: Node<CircuitState>;
326
- };
327
- /**
328
- * Returns a unary wrapper that gates upstream `DATA` through a {@link CircuitBreaker}.
329
- *
330
- * @param breaker - Shared breaker instance (typically one per resource).
331
- * @param options - `onOpen: "skip"` emits `RESOLVED` when open; `"error"` emits {@link CircuitOpenError}.
332
- * @returns Function mapping `Node<T>` to `{ node, breakerState }` companion nodes.
333
- *
334
- * @remarks
335
- * **Success path:** `COMPLETE` calls {@link CircuitBreaker.recordSuccess}. **Failure path:** upstream `ERROR` calls {@link CircuitBreaker.recordFailure} and is forwarded.
336
- *
337
- * **State telemetry:** `breakerState: Node<CircuitState>` is a reactive companion that mirrors `breaker.state` — every transition (`closed`/`open`/`half-open`) emits a `DATA`. Also accessible via `node.meta.breakerState` for `describe()` traversal.
338
- *
339
- * @example
340
- * ```ts
341
- * import { state, withBreaker, circuitBreaker } from "@graphrefly/graphrefly-ts";
342
- *
343
- * const b = circuitBreaker({ failureThreshold: 2 });
344
- * const s = state(1);
345
- * const { node, breakerState } = withBreaker(b)(s);
346
- * ```
347
- *
348
- * @category extra
349
- */
350
- declare function withBreaker<T>(breaker: CircuitBreaker, options?: {
351
- onOpen?: "skip" | "error";
352
- meta?: Record<string, unknown>;
353
- }): (source: Node<T>) => WithBreakerBundle<T>;
354
- interface TokenBucket {
355
- /**
356
- * Number of tokens currently available (after refill).
357
- *
358
- * **Float-valued.** When `refillPerSecond` is fractional (or `capacity` × elapsed-fraction
359
- * yields a non-integer), the bucket accumulates fractional refill credit between
360
- * `tryConsume`s. Consumers should not assume integer tokens — e.g. with
361
- * `tokenBucket(10, 2.5)` after 100ms of elapsed time `available()` may report `0.25`.
362
- */
363
- available(): number;
364
- /** Try to consume `cost` tokens. Returns `true` if successful. */
365
- tryConsume(cost?: number): boolean;
366
- /**
367
- * Return `cost` tokens to the bucket (capped at capacity). Used when a
368
- * multi-bucket admission fails partway — e.g., `adaptiveRateLimiter`
369
- * consumes from an rpm bucket, then a tpm bucket; if tpm fails, call
370
- * `rpmBucket.putBack(requestCost)` so the rpm slot isn't wasted.
371
- * No-op for non-positive `cost`.
372
- */
373
- putBack(cost?: number): void;
374
- }
375
- /** Optional configuration for {@link tokenBucket}. */
376
- interface TokenBucketOptions {
377
- /**
378
- * Clock function returning **nanoseconds** with `monotonicNs()` semantics
379
- * (monotonically non-decreasing). Default: `monotonicNs` from `core/clock`.
380
- * Override for deterministic tests — eliminates the need for `vi.useFakeTimers`
381
- * to drive token-refill scheduling.
382
- */
383
- clock?: () => number;
384
- }
385
- /**
386
- * Token-bucket meter (capacity + refill rate per second). Use with {@link rateLimiter} or custom gates.
387
- *
388
- * @param capacity - Maximum tokens (must be positive).
389
- * @param refillPerSecond - Tokens added per elapsed second (non-negative; may be fractional).
390
- * @param opts - Optional `clock` override for deterministic testing.
391
- * @returns {@link TokenBucket} instance.
392
- *
393
- * @remarks
394
- * **Float behavior:** the internal token counter is float-valued — fractional refill
395
- * accumulates between `tryConsume` calls. See {@link TokenBucket.available} for caveats.
396
- *
397
- * **Clock injection:** pass `opts.clock` to drive refill scheduling deterministically
398
- * in tests. The contract matches {@link circuitBreaker}'s `now` option: must return
399
- * `monotonicNs()`-style nanoseconds, never `Date.now()` (wall-clock skew breaks
400
- * elapsed math).
401
- *
402
- * @example
403
- * ```ts
404
- * import { tokenBucket } from "@graphrefly/graphrefly-ts";
405
- *
406
- * const bucket = tokenBucket(10, 2); // capacity 10, refill 2 tokens/sec
407
- * bucket.tryConsume(3); // true — 7 tokens remaining
408
- * bucket.available(); // ~7 (plus any elapsed refill — float-valued)
409
- *
410
- * // Deterministic test:
411
- * let t = 0;
412
- * const tb = tokenBucket(5, 1, { clock: () => t });
413
- * tb.tryConsume(5); // exhausts
414
- * t = 1_000_000_000; // advance 1s → +1 refill
415
- * tb.tryConsume(1); // true
416
- * ```
417
- *
418
- * @category extra
419
- */
420
- declare function tokenBucket(capacity: number, refillPerSecond: number, opts?: TokenBucketOptions): TokenBucket;
421
- type RateLimiterOverflowPolicy = "drop-oldest" | "drop-newest" | "error";
422
- type RateLimiterOptions = {
423
- /** Maximum `DATA` emissions per window (must be > 0). */
424
- maxEvents: number;
425
- /** Window length in nanoseconds (must be > 0). */
426
- windowNs: number;
427
- /**
428
- * Cap on items queued while waiting for token refill.
429
- *
430
- * **Required.** Pass a finite positive integer (>= 1) for a bounded queue, OR
431
- * the literal `Infinity` to opt in to an unbounded queue (caller acknowledges
432
- * the unbounded-memory-growth risk on a high-rate source). Omitting this
433
- * throws at construction time — the silent-unbounded-buffer footgun is the
434
- * most common rateLimiter mis-configuration.
435
- */
436
- maxBuffer: number;
437
- /** Overflow policy when `maxBuffer` is exceeded. Default: `"drop-newest"`. */
438
- onOverflow?: RateLimiterOverflowPolicy;
439
- /**
440
- * Caller-supplied metadata merged into the produced node's `meta` (Tier 5.2
441
- * D8 widening). Use {@link domainMeta} to tag the layer for `describe()` /
442
- * mermaid grouping (e.g. `domainMeta("resilient", "rate-limit")`). The
443
- * primitive's own `factoryTag("rateLimiter", opts)` and the `droppedCount`
444
- * / `rateLimitState` companion seeds always win against caller-supplied
445
- * keys so the audit trail can't be silently overwritten.
446
- */
447
- meta?: Record<string, unknown>;
448
- };
449
- /**
450
- * Thrown by {@link rateLimiter} when `onOverflow: "error"` and the pending buffer is full.
451
- *
452
- * @category extra
453
- */
454
- declare class RateLimiterOverflowError extends Error {
455
- name: string;
456
- constructor(maxBuffer: number);
457
- }
458
- /**
459
- * Combined runtime state surfaced by {@link rateLimiter} alongside `droppedCount`.
460
- * Tier 5.2 D7 widening — exposes pending-buffer occupancy and a `paused`
461
- * flag so consumers can render backpressure (UI), feed `lens.health`, or
462
- * gate downstream effects.
463
- */
464
- type RateLimiterState = {
465
- /** Cumulative `DATA` items dropped due to overflow since this subscription cycle started. */
466
- droppedCount: number;
467
- /** Items currently buffered awaiting a token refill. `0` when the limiter is passing through. */
468
- pendingCount: number;
469
- /** `true` when at least one item is queued (the limiter is actively throttling). */
470
- paused: boolean;
471
- };
472
- /** Bundle returned by {@link rateLimiter}. */
473
- type RateLimiterBundle<T> = {
474
- /** The throttled stream — at most `maxEvents` `DATA` per `windowNs`. */
475
- node: Node<T>;
476
- /**
477
- * Reactive companion: count of `DATA` items dropped since the producer
478
- * activated.
479
- *
480
- * - Increments on every drop under any overflow policy (`drop-newest`,
481
- * `drop-oldest`). The `error` policy terminates the stream after a single
482
- * overflow, so `droppedCount` increments at most once in that path.
483
- * - **Lifecycle scoping (qa A1 + EC7):** the counter retains its final
484
- * value through terminal (`COMPLETE` / `ERROR` / `TEARDOWN`) so consumers
485
- * see the final drop count, not zero. The closure-held counter resets to
486
- * `0` only when the producer fn re-runs — which only happens on a new
487
- * subscription cycle, and only if the producer was constructed with
488
- * `resubscribable: true`. The default `rateLimiter` producer is NOT
489
- * resubscribable, so a single producer-fn run is the typical lifetime.
490
- * - Producer-pattern note: this companion is invisible to `describe()`
491
- * traversal from `node` (effect-mirror limitation; same shape as
492
- * `withBreaker.breakerState` and `withStatus.status`). Surface it via
493
- * `node.meta.droppedCount` if you need it in topology snapshots.
494
- */
495
- droppedCount: Node<number>;
496
- /**
497
- * Reactive companion: combined `{droppedCount, pendingCount, paused}` view.
498
- *
499
- * - `pendingCount` reflects the live buffer occupancy and updates on every
500
- * push / shift / overflow drop; `paused` is shorthand for
501
- * `pendingCount > 0`.
502
- * - Equality-deduped — re-emits only when one of the three fields actually
503
- * changes (so a busy steady-state where every DATA passes immediately
504
- * produces one `paused: false` emission, not one per DATA).
505
- * - **Lifecycle scoping (qa EC7):** same contract as `droppedCount` —
506
- * retains its final value through terminal; resets to the initial
507
- * `{droppedCount: 0, pendingCount: 0, paused: false}` only on a new
508
- * producer-fn run (resubscribable upstream required).
509
- * - Same producer-pattern caveat as `droppedCount` re: `describe()` visibility.
510
- */
511
- rateLimitState: Node<RateLimiterState>;
512
- };
513
- /**
514
- * Token-bucket rate limiter: at most `maxEvents` `DATA` values per `windowNs`.
515
- *
516
- * Uses {@link tokenBucket} internally (capacity = `maxEvents`, refill = `maxEvents / windowSeconds`).
517
- * Excess items are queued FIFO (in a fixed-capacity {@link RingBuffer} for O(1) push/shift)
518
- * until a token is available. The queue is bounded by the **required** `maxBuffer` option
519
- * with a configurable overflow policy.
520
- *
521
- * @param source - Upstream node.
522
- * @param opts - Rate + bounded-buffer configuration. `maxBuffer` is required (use `Infinity` to opt in to unbounded).
523
- * @returns `{ node, droppedCount }` bundle. Subscribe to `node` for the throttled stream and to `droppedCount` for backpressure pressure.
524
- *
525
- * @throws {RangeError} when `maxEvents` / `windowNs` is non-positive, when `maxBuffer` is omitted, or when `maxBuffer` is a finite value < 1.
526
- *
527
- * @remarks
528
- * **Terminal:** `COMPLETE` / `ERROR` cancel the refill timer, drop the pending queue,
529
- * reset `droppedCount` to `0`, and propagate.
530
- *
531
- * @example
532
- * ```ts
533
- * import { rateLimiter, state, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
534
- *
535
- * const src = state(0);
536
- * // Allow at most 5 DATA values per second; queue up to 100 excess items, drop newest beyond.
537
- * const { node: limited, droppedCount } = rateLimiter(src, {
538
- * maxEvents: 5,
539
- * windowNs: NS_PER_SEC,
540
- * maxBuffer: 100,
541
- * });
542
- * droppedCount.subscribe(([m]) => console.log("dropped so far:", m[1]));
543
- * ```
544
- *
545
- * @category extra
546
- */
547
- declare function rateLimiter<T>(source: Node<T>, opts: NodeOrValue<RateLimiterOptions>): RateLimiterBundle<T>;
548
- type StatusValue = "pending" | "running" | "completed" | "errored";
549
- type WithStatusBundle<T> = {
550
- node: Node<T>;
551
- status: Node<StatusValue>;
552
- error: Node<unknown | null>;
553
- };
554
- /**
555
- * Wraps `src` with `status` and `error` {@link state} companions for UI or meta snapshots.
556
- *
557
- * @param src - Upstream node to mirror.
558
- * @param options - `initialStatus` defaults to `"pending"`.
559
- * @returns `{ node, status, error }` where `out` is the mirrored stream, `status` is a
560
- * reactive `Node<StatusValue>` (`"pending" | "running" | "completed" | "errored"`),
561
- * and `error` holds the last `ERROR` payload (cleared to `null` on the next `DATA`
562
- * after `errored`).
563
- *
564
- * @remarks
565
- * **Lifecycle:** `pending` (no DATA yet) → `running` (on first DATA) → `completed`
566
- * (on COMPLETE) or `errored` (on ERROR). After `errored`, the next `DATA` clears
567
- * `error` and re-enters `running` inside a {@link batch} so subscribers see one
568
- * consistent transition (matches graphrefly-py).
569
- *
570
- * **Producer-pattern visibility:** `out` is built via `node([], fn, …)`, so `src`
571
- * appears as the source dependency in `describe()` traversal but the `status` /
572
- * `error` companions are mirrored via subscribe-callback effects — they appear
573
- * under `out.meta.status` / `out.meta.error` (and as `<name>::__meta__::status`
574
- * paths in `describe()`) rather than as separate top-level edges. Subscribers
575
- * to `out` see the throttled DATA stream; `status` / `error` companions may not
576
- * appear as edges in `describe()` if no consumer subscribes to them (per
577
- * COMPOSITION-GUIDE §1, push-on-subscribe semantics).
578
- *
579
- * **Per-subscribe lifecycle (DF8, 2026-04-29 doc lock).** When the wrapped
580
- * source is `resubscribable: true` and multiple consumers attach in
581
- * sequence, each new subscription cycle re-runs the producer fn AND
582
- * re-emits the initial `pending` + `null` companion DATAs. Downstream
583
- * subscribers to the `status` / `error` companions see thrash:
584
- * `pending → running → completed → pending → running …`. This is the
585
- * intended fresh-cycle semantic (each subscription cycle reports its own
586
- * lifecycle); consumers that need a "stable" status across cycles should
587
- * derive a snapshot via a separate `state()` mirror rather than depending
588
- * on the per-cycle reset.
589
- *
590
- * @example
591
- * ```ts
592
- * import { withStatus, state } from "@graphrefly/graphrefly-ts";
593
- *
594
- * const src = state<number>(0);
595
- * const { node, status, error } = withStatus(src);
596
- *
597
- * status.subscribe((msgs) => console.log("status:", msgs));
598
- * src.down([[DATA, 42]]); // status → "running"
599
- * ```
600
- *
601
- * @category extra
602
- */
603
- declare function withStatus<T>(src: Node<T>, options?: {
604
- initialStatus?: StatusValue;
605
- meta?: Record<string, unknown>;
606
- }): WithStatusBundle<T>;
607
- /**
608
- * Thrown by {@link timeout} when no `DATA` arrives within the deadline.
609
- *
610
- * @category extra
611
- */
612
- declare class TimeoutError extends Error {
613
- name: string;
614
- constructor(ns: number);
615
- }
616
- /**
617
- * Either a literal value or a reactive Node carrying it. Mirrors
618
- * {@link FallbackInput}'s precedent for "options that may be reactive."
619
- *
620
- * Used by {@link timeout} / {@link retry} / {@link rateLimiter} /
621
- * {@link circuitBreaker} / {@link budgetGate} to accept reactive option
622
- * configurations (Tier 6.5 3.2, 2026-04-29). Each primitive subscribes
623
- * to the option Node via {@link resolveReactiveOption} and rebinds
624
- * internal state per its locked swap-semantic rule (see each primitive's
625
- * JSDoc for the rule).
626
- *
627
- * @category extra
628
- */
629
- type NodeOrValue<T> = T | Node<T>;
630
- /** Inputs accepted by {@link fallback}. */
631
- type FallbackInput<T> = T | Node<T> | PromiseLike<T> | AsyncIterable<T>;
632
- /**
633
- * On upstream terminal `ERROR`, switch to a fallback source instead of propagating the error.
634
- *
635
- * Accepts any of:
636
- * - **scalar value** — emits `[[DATA, fb], [COMPLETE]]`
637
- * - **`Node<T>`** — subscribes and forwards all messages (push-on-subscribe delivers current cache)
638
- * - **`Promise<T>` / thenable** — resolves into a one-shot `DATA` then `COMPLETE` (via {@link fromAny})
639
- * - **`AsyncIterable<T>`** — streams each yielded value as `DATA`, then `COMPLETE` (via {@link fromAny})
640
- *
641
- * Non-`Node` inputs are routed through {@link fromAny} so the fallback participates in the
642
- * reactive protocol uniformly. Bare strings, arrays, and other synchronous scalars are treated
643
- * as single values (NOT split into characters / elements) to avoid the `fromAny`-on-string
644
- * iteration gotcha.
645
- *
646
- * Composes naturally with {@link retry}:
647
- * `pipe(source, retry({count:3}), fallback("default"))`.
648
- *
649
- * @param source - Upstream node.
650
- * @param fb - Fallback value, node, promise, or async iterable.
651
- * @returns Node that replaces errors with the fallback.
652
- *
653
- * @example
654
- * ```ts
655
- * import { fallback, throwError } from "@graphrefly/graphrefly-ts";
656
- *
657
- * const safe = fallback(throwError(new Error("boom")), "default");
658
- * safe.cache; // "default" after subscribe
659
- * ```
660
- *
661
- * @category extra
662
- */
663
- declare function fallback<T>(source: Node<T>, fb: FallbackInput<T>, options?: {
664
- meta?: Record<string, unknown>;
665
- }): Node<T>;
666
- /**
667
- * Emits `ERROR` with {@link TimeoutError} if no `DATA` arrives within the deadline.
668
- *
669
- * The timer starts on subscription and resets on each `DATA`. `DIRTY` does NOT reset
670
- * the timer. Terminal messages (`COMPLETE`/`ERROR`) cancel the timer.
671
- *
672
- * @param source - Upstream node.
673
- * @param timeoutNs - Deadline in **nanoseconds** (must be > 0), or a
674
- * `Node<number>` carrying the deadline reactively (Tier 6.5 3.2.1).
675
- * Internally converted to milliseconds for `setTimeout` scheduling.
676
- * @returns Node that errors on timeout.
677
- *
678
- * @throws {RangeError} when `timeoutNs <= 0`.
679
- *
680
- * @remarks
681
- * **Scheduling:** internally uses {@link ResettableTimer} (raw `setTimeout`) per spec §5.10's resilience-operator carve-out. The deadline is `timeoutNs / NS_PER_MS` ms; sub-millisecond `timeoutNs` values get the same minimum-1ms host-scheduler granularity that `setTimeout` provides.
682
- *
683
- * **Reactive `timeoutNs` (locked semantics, Tier 6.5 3.2.1, 2026-04-29).**
684
- * When `timeoutNs` is a `Node<number>`, each timer-(re)start reads the
685
- * latest value. An option swap mid-flight applies to the **next** timer
686
- * window (no in-flight reset) — the active timer keeps its original
687
- * deadline; the next DATA-driven `startTimer()` call reads the new
688
- * value. Static-form callers see no behavior change.
689
- *
690
- * @example
691
- * ```ts
692
- * import { timeout, never, NS_PER_SEC } from "@graphrefly/graphrefly-ts";
693
- *
694
- * const t = timeout(never(), 5 * NS_PER_SEC);
695
- * // After 5 seconds with no DATA: [[ERROR, TimeoutError]]
696
- * ```
697
- *
698
- * @category extra
699
- */
700
- declare function timeout<T>(source: Node<T>, timeoutNs: NodeOrValue<number>, options?: {
701
- meta?: Record<string, unknown>;
702
- }): Node<T>;
703
-
704
- export { type BackoffPreset as B, type CircuitBreaker as C, type ExponentialBackoffOptions as E, type FallbackInput as F, type JitterMode as J, NS_PER_MS as N, type RateLimiterOptions as R, type StatusValue as S, TimeoutError as T, type WithBreakerBundle as W, type BackoffStrategy as a, type CircuitBreakerOptions as b, CircuitOpenError as c, type CircuitState as d, NS_PER_SEC as e, RateLimiterOverflowError as f, type RateLimiterOverflowPolicy as g, type RetryOptions as h, type TokenBucket as i, type WithStatusBundle as j, circuitBreaker as k, constant as l, decorrelatedJitter as m, exponential as n, fallback as o, fibonacci as p, linear as q, rateLimiter as r, resolveBackoffPreset as s, retry as t, timeout as u, tokenBucket as v, withBreaker as w, withMaxAttempts as x, withStatus as y };