@graphrefly/graphrefly 0.45.0 → 0.47.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 (714) hide show
  1. package/README.md +1 -2
  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 +865 -0
  15. package/dist/base/composition/index.cjs.map +1 -0
  16. package/dist/base/composition/index.d.cts +468 -0
  17. package/dist/base/composition/index.d.ts +468 -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 +6390 -0
  21. package/dist/base/index.cjs.map +1 -0
  22. package/dist/base/index.d.cts +21 -0
  23. package/dist/base/index.d.ts +21 -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/base/render/index.d.cts +227 -0
  47. package/dist/base/render/index.d.ts +227 -0
  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/base/sources/index.d.cts +357 -0
  65. package/dist/base/sources/index.d.ts +357 -0
  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/base/sources/node/index.d.cts +185 -0
  71. package/dist/base/sources/node/index.d.ts +185 -0
  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-CSSbKGrJ.d.ts +199 -0
  89. package/dist/cascading-baGkiihI.d.cts +199 -0
  90. package/dist/chunk-22SG74BD.js +207 -0
  91. package/dist/chunk-22SG74BD.js.map +1 -0
  92. package/dist/chunk-255UCBG4.js +58 -0
  93. package/dist/chunk-255UCBG4.js.map +1 -0
  94. package/dist/chunk-2LO3EL4W.js +1 -0
  95. package/dist/chunk-2LO3EL4W.js.map +1 -0
  96. package/dist/chunk-2OB3CEJS.js +1065 -0
  97. package/dist/chunk-2OB3CEJS.js.map +1 -0
  98. package/dist/chunk-36NMM65U.js +144 -0
  99. package/dist/chunk-36NMM65U.js.map +1 -0
  100. package/dist/chunk-3CEXCBN6.js +1 -0
  101. package/dist/chunk-3CEXCBN6.js.map +1 -0
  102. package/dist/chunk-3MUSLI6E.js +105 -0
  103. package/dist/chunk-3MUSLI6E.js.map +1 -0
  104. package/dist/chunk-3PSLNJDU.js +884 -0
  105. package/dist/chunk-3PSLNJDU.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-5IMMNARC.js +1153 -0
  115. package/dist/chunk-5IMMNARC.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-EHRRQ4IC.js +211 -0
  145. package/dist/chunk-EHRRQ4IC.js.map +1 -0
  146. package/dist/chunk-EVYY4X5A.js +509 -0
  147. package/dist/chunk-EVYY4X5A.js.map +1 -0
  148. package/dist/chunk-FDFD67UO.js +1 -0
  149. package/dist/chunk-FDFD67UO.js.map +1 -0
  150. package/dist/chunk-FMPF42Q4.js +13 -0
  151. package/dist/chunk-FMPF42Q4.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-GWRNLJNW.js +2508 -0
  155. package/dist/chunk-GWRNLJNW.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-IHTWQEDR.js +169 -0
  159. package/dist/chunk-IHTWQEDR.js.map +1 -0
  160. package/dist/chunk-IJRR6YAI.js +128 -0
  161. package/dist/chunk-IJRR6YAI.js.map +1 -0
  162. package/dist/chunk-JGFRAFDL.js +221 -0
  163. package/dist/chunk-JGFRAFDL.js.map +1 -0
  164. package/dist/chunk-JKTC747G.js +725 -0
  165. package/dist/chunk-JKTC747G.js.map +1 -0
  166. package/dist/chunk-KN3H5CNT.js +11 -0
  167. package/dist/chunk-KN3H5CNT.js.map +1 -0
  168. package/dist/chunk-KPG3DGLA.js +1 -0
  169. package/dist/chunk-KPG3DGLA.js.map +1 -0
  170. package/dist/chunk-KRNQ6RGQ.js +1 -0
  171. package/dist/chunk-KRNQ6RGQ.js.map +1 -0
  172. package/dist/chunk-MLTPJMH6.js +417 -0
  173. package/dist/chunk-MLTPJMH6.js.map +1 -0
  174. package/dist/chunk-N3SZ7BMH.js +95 -0
  175. package/dist/chunk-N3SZ7BMH.js.map +1 -0
  176. package/dist/chunk-NDUD3IMO.js +540 -0
  177. package/dist/chunk-NDUD3IMO.js.map +1 -0
  178. package/dist/chunk-NY2PYHNC.js +873 -0
  179. package/dist/chunk-NY2PYHNC.js.map +1 -0
  180. package/dist/chunk-O3MT7DYI.js +225 -0
  181. package/dist/chunk-O3MT7DYI.js.map +1 -0
  182. package/dist/chunk-OCUDSN63.js +2386 -0
  183. package/dist/chunk-OCUDSN63.js.map +1 -0
  184. package/dist/chunk-OIWU3NYV.js +199 -0
  185. package/dist/chunk-OIWU3NYV.js.map +1 -0
  186. package/dist/chunk-OQUIJT7A.js +1 -0
  187. package/dist/chunk-OQUIJT7A.js.map +1 -0
  188. package/dist/chunk-P5LBT622.js +105 -0
  189. package/dist/chunk-P5LBT622.js.map +1 -0
  190. package/dist/chunk-PKGQG5QQ.js +519 -0
  191. package/dist/chunk-PKGQG5QQ.js.map +1 -0
  192. package/dist/chunk-PKPO3JTZ.js +561 -0
  193. package/dist/chunk-PKPO3JTZ.js.map +1 -0
  194. package/dist/chunk-PL5UDIQ5.js +118 -0
  195. package/dist/chunk-PL5UDIQ5.js.map +1 -0
  196. package/dist/chunk-PZWISPIQ.js +432 -0
  197. package/dist/chunk-PZWISPIQ.js.map +1 -0
  198. package/dist/chunk-Q3EYOCZB.js +510 -0
  199. package/dist/chunk-Q3EYOCZB.js.map +1 -0
  200. package/dist/chunk-QMBYUVRL.js +15 -0
  201. package/dist/chunk-QMBYUVRL.js.map +1 -0
  202. package/dist/chunk-RAGGHLCV.js +200 -0
  203. package/dist/chunk-RAGGHLCV.js.map +1 -0
  204. package/dist/chunk-RJOG4IJU.js +1039 -0
  205. package/dist/chunk-RJOG4IJU.js.map +1 -0
  206. package/dist/chunk-SOOKUYVM.js +403 -0
  207. package/dist/chunk-SOOKUYVM.js.map +1 -0
  208. package/dist/chunk-T5BN5KG7.js +1 -0
  209. package/dist/chunk-T5BN5KG7.js.map +1 -0
  210. package/dist/chunk-TNX5ZGDJ.js +574 -0
  211. package/dist/chunk-TNX5ZGDJ.js.map +1 -0
  212. package/dist/chunk-TP7244Y6.js +207 -0
  213. package/dist/chunk-TP7244Y6.js.map +1 -0
  214. package/dist/chunk-TSBFTJKM.js +57 -0
  215. package/dist/chunk-TSBFTJKM.js.map +1 -0
  216. package/dist/chunk-URQ2CBBF.js +143 -0
  217. package/dist/chunk-URQ2CBBF.js.map +1 -0
  218. package/dist/chunk-VLAGJZSL.js +1079 -0
  219. package/dist/chunk-VLAGJZSL.js.map +1 -0
  220. package/dist/chunk-W2BOPXTI.js +1 -0
  221. package/dist/chunk-W2BOPXTI.js.map +1 -0
  222. package/dist/chunk-Y52CS6YA.js +88 -0
  223. package/dist/chunk-Y52CS6YA.js.map +1 -0
  224. package/dist/chunk-YCBUWK77.js +92 -0
  225. package/dist/chunk-YCBUWK77.js.map +1 -0
  226. package/dist/chunk-YJ4U2D2C.js +314 -0
  227. package/dist/chunk-YJ4U2D2C.js.map +1 -0
  228. package/dist/chunk-Z4YXAUDN.js +239 -0
  229. package/dist/chunk-Z4YXAUDN.js.map +1 -0
  230. package/dist/chunk-Z65DVDEQ.js +146 -0
  231. package/dist/chunk-Z65DVDEQ.js.map +1 -0
  232. package/dist/chunk-Z6EGP5D7.js +92 -0
  233. package/dist/chunk-Z6EGP5D7.js.map +1 -0
  234. package/dist/chunk-ZT4WMQW4.js +1575 -0
  235. package/dist/chunk-ZT4WMQW4.js.map +1 -0
  236. package/dist/chunk-ZVXXDWIB.js +1282 -0
  237. package/dist/chunk-ZVXXDWIB.js.map +1 -0
  238. package/dist/compat/index.cjs +3150 -6
  239. package/dist/compat/index.cjs.map +1 -1
  240. package/dist/compat/index.d.cts +116 -1
  241. package/dist/compat/index.d.ts +116 -1
  242. package/dist/compat/index.js +175 -2
  243. package/dist/compat/index.js.map +1 -1
  244. package/dist/compat/jotai/index.cjs +130 -2
  245. package/dist/compat/jotai/index.cjs.map +1 -1
  246. package/dist/compat/jotai/index.d.cts +2 -1
  247. package/dist/compat/jotai/index.d.ts +2 -1
  248. package/dist/compat/jotai/index.js +7 -2
  249. package/dist/compat/jotai/index.js.map +1 -1
  250. package/dist/compat/nanostores/index.cjs +186 -2
  251. package/dist/compat/nanostores/index.cjs.map +1 -1
  252. package/dist/compat/nanostores/index.d.cts +2 -1
  253. package/dist/compat/nanostores/index.d.ts +2 -1
  254. package/dist/compat/nanostores/index.js +21 -2
  255. package/dist/compat/nanostores/index.js.map +1 -1
  256. package/dist/compat/nestjs/index.cjs +2291 -6
  257. package/dist/compat/nestjs/index.cjs.map +1 -1
  258. package/dist/compat/nestjs/index.d.cts +10 -1
  259. package/dist/compat/nestjs/index.d.ts +10 -1
  260. package/dist/compat/nestjs/index.js +76 -2
  261. package/dist/compat/nestjs/index.js.map +1 -1
  262. package/dist/compat/react/index.cjs +95 -2
  263. package/dist/compat/react/index.cjs.map +1 -1
  264. package/dist/compat/react/index.d.cts +2 -1
  265. package/dist/compat/react/index.d.ts +2 -1
  266. package/dist/compat/react/index.js +11 -2
  267. package/dist/compat/react/index.js.map +1 -1
  268. package/dist/compat/solid/index.cjs +82 -2
  269. package/dist/compat/solid/index.cjs.map +1 -1
  270. package/dist/compat/solid/index.d.cts +2 -1
  271. package/dist/compat/solid/index.d.ts +2 -1
  272. package/dist/compat/solid/index.js +11 -2
  273. package/dist/compat/solid/index.js.map +1 -1
  274. package/dist/compat/svelte/index.cjs +85 -2
  275. package/dist/compat/svelte/index.cjs.map +1 -1
  276. package/dist/compat/svelte/index.d.cts +2 -1
  277. package/dist/compat/svelte/index.d.ts +2 -1
  278. package/dist/compat/svelte/index.js +11 -2
  279. package/dist/compat/svelte/index.js.map +1 -1
  280. package/dist/compat/vue/index.cjs +100 -2
  281. package/dist/compat/vue/index.cjs.map +1 -1
  282. package/dist/compat/vue/index.d.cts +3 -1
  283. package/dist/compat/vue/index.d.ts +3 -1
  284. package/dist/compat/vue/index.js +11 -2
  285. package/dist/compat/vue/index.js.map +1 -1
  286. package/dist/compat/zustand/index.cjs +50 -2
  287. package/dist/compat/zustand/index.cjs.map +1 -1
  288. package/dist/compat/zustand/index.d.cts +2 -1
  289. package/dist/compat/zustand/index.d.ts +2 -1
  290. package/dist/compat/zustand/index.js +7 -2
  291. package/dist/compat/zustand/index.js.map +1 -1
  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-Bx46zqky.d.cts +243 -0
  297. package/dist/fallback-pIWW8A2d.d.ts +243 -0
  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-B6pxYJzO.d.cts +36 -0
  301. package/dist/index-B6pxYJzO.d.ts +36 -0
  302. package/dist/index-BFsng6v1.d.cts +44 -0
  303. package/dist/index-BFsng6v1.d.ts +44 -0
  304. package/dist/index-B_p8tnvf.d.cts +770 -0
  305. package/dist/index-Bg-LwEt-.d.cts +45 -0
  306. package/dist/index-Bg-LwEt-.d.ts +45 -0
  307. package/dist/index-Brp888t0.d.cts +127 -0
  308. package/dist/index-Brp888t0.d.ts +127 -0
  309. package/dist/index-CDfk6jHN.d.cts +37 -0
  310. package/dist/index-CDfk6jHN.d.ts +37 -0
  311. package/dist/index-DLAxYaN5.d.cts +169 -0
  312. package/dist/index-DLAxYaN5.d.ts +169 -0
  313. package/dist/index-DeWbQzMe.d.cts +34 -0
  314. package/dist/index-DeWbQzMe.d.ts +34 -0
  315. package/dist/index-_HDSmPyp.d.ts +770 -0
  316. package/dist/index-dX9IzPqj.d.cts +86 -0
  317. package/dist/index-dX9IzPqj.d.ts +86 -0
  318. package/dist/index.cjs +26009 -0
  319. package/dist/index.cjs.map +1 -1
  320. package/dist/index.d.cts +55 -42
  321. package/dist/index.d.ts +55 -42
  322. package/dist/index.js +849 -0
  323. package/dist/index.js.map +1 -1
  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-B25XqCbZ.d.cts +59 -0
  329. package/dist/observable-B25XqCbZ.d.ts +59 -0
  330. package/dist/pipeline-graph-Ce47CB6Y.d.cts +145 -0
  331. package/dist/pipeline-graph-DXCwY9vG.d.ts +145 -0
  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-fswlBUvX.d.cts +195 -0
  365. package/dist/reactive-layout-fswlBUvX.d.ts +195 -0
  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-BB5Lw-pB.d.cts +442 -0
  381. package/dist/types-BB5Lw-pB.d.ts +442 -0
  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/utils/ai/browser.d.cts +129 -0
  387. package/dist/utils/ai/browser.d.ts +129 -0
  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/utils/ai/index.d.cts +1777 -0
  393. package/dist/utils/ai/index.d.ts +1777 -0
  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/utils/ai/node.d.cts +57 -0
  399. package/dist/utils/ai/node.d.ts +57 -0
  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/utils/cqrs/index.d.cts +438 -0
  405. package/dist/utils/cqrs/index.d.ts +438 -0
  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/utils/demo-shell/index.d.cts +90 -0
  411. package/dist/utils/demo-shell/index.d.ts +90 -0
  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/utils/domain-templates/index.d.cts +214 -0
  417. package/dist/utils/domain-templates/index.d.ts +214 -0
  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/utils/graphspec/index.d.cts +449 -0
  423. package/dist/utils/graphspec/index.d.ts +449 -0
  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 +17614 -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/utils/job-queue/index.d.cts +200 -0
  447. package/dist/utils/job-queue/index.d.ts +200 -0
  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 +1456 -0
  451. package/dist/utils/memory/index.cjs.map +1 -0
  452. package/dist/utils/memory/index.d.cts +660 -0
  453. package/dist/utils/memory/index.d.ts +660 -0
  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/utils/process/index.d.cts +411 -0
  471. package/dist/utils/process/index.d.ts +411 -0
  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/utils/reactive-layout/index.d.cts +492 -0
  477. package/dist/utils/reactive-layout/index.d.ts +492 -0
  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/utils/reduction/index.d.cts +102 -0
  483. package/dist/utils/reduction/index.d.ts +102 -0
  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/utils/surface/index.d.cts +240 -0
  495. package/dist/utils/surface/index.d.ts +240 -0
  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 +293 -241
  505. package/dist/core/index.cjs +0 -21
  506. package/dist/core/index.cjs.map +0 -1
  507. package/dist/core/index.d.cts +0 -1
  508. package/dist/core/index.d.ts +0 -1
  509. package/dist/core/index.js +0 -3
  510. package/dist/core/index.js.map +0 -1
  511. package/dist/extra/browser.cjs +0 -21
  512. package/dist/extra/browser.cjs.map +0 -1
  513. package/dist/extra/browser.d.cts +0 -1
  514. package/dist/extra/browser.d.ts +0 -1
  515. package/dist/extra/browser.js +0 -3
  516. package/dist/extra/browser.js.map +0 -1
  517. package/dist/extra/index.cjs +0 -21
  518. package/dist/extra/index.cjs.map +0 -1
  519. package/dist/extra/index.d.cts +0 -1
  520. package/dist/extra/index.d.ts +0 -1
  521. package/dist/extra/index.js +0 -3
  522. package/dist/extra/index.js.map +0 -1
  523. package/dist/extra/node.cjs +0 -21
  524. package/dist/extra/node.cjs.map +0 -1
  525. package/dist/extra/node.d.cts +0 -1
  526. package/dist/extra/node.d.ts +0 -1
  527. package/dist/extra/node.js +0 -3
  528. package/dist/extra/node.js.map +0 -1
  529. package/dist/extra/operators.cjs +0 -21
  530. package/dist/extra/operators.cjs.map +0 -1
  531. package/dist/extra/operators.d.cts +0 -1
  532. package/dist/extra/operators.d.ts +0 -1
  533. package/dist/extra/operators.js +0 -3
  534. package/dist/extra/operators.js.map +0 -1
  535. package/dist/extra/reactive.cjs +0 -21
  536. package/dist/extra/reactive.cjs.map +0 -1
  537. package/dist/extra/reactive.d.cts +0 -1
  538. package/dist/extra/reactive.d.ts +0 -1
  539. package/dist/extra/reactive.js +0 -3
  540. package/dist/extra/reactive.js.map +0 -1
  541. package/dist/extra/render/index.cjs +0 -21
  542. package/dist/extra/render/index.cjs.map +0 -1
  543. package/dist/extra/render/index.d.cts +0 -1
  544. package/dist/extra/render/index.d.ts +0 -1
  545. package/dist/extra/render/index.js +0 -3
  546. package/dist/extra/render/index.js.map +0 -1
  547. package/dist/extra/sources.cjs +0 -21
  548. package/dist/extra/sources.cjs.map +0 -1
  549. package/dist/extra/sources.d.cts +0 -1
  550. package/dist/extra/sources.d.ts +0 -1
  551. package/dist/extra/sources.js +0 -3
  552. package/dist/extra/sources.js.map +0 -1
  553. package/dist/extra/storage-browser.cjs +0 -21
  554. package/dist/extra/storage-browser.cjs.map +0 -1
  555. package/dist/extra/storage-browser.d.cts +0 -1
  556. package/dist/extra/storage-browser.d.ts +0 -1
  557. package/dist/extra/storage-browser.js +0 -3
  558. package/dist/extra/storage-browser.js.map +0 -1
  559. package/dist/extra/storage-core.cjs +0 -21
  560. package/dist/extra/storage-core.cjs.map +0 -1
  561. package/dist/extra/storage-core.d.cts +0 -1
  562. package/dist/extra/storage-core.d.ts +0 -1
  563. package/dist/extra/storage-core.js +0 -3
  564. package/dist/extra/storage-core.js.map +0 -1
  565. package/dist/extra/storage-node.cjs +0 -21
  566. package/dist/extra/storage-node.cjs.map +0 -1
  567. package/dist/extra/storage-node.d.cts +0 -1
  568. package/dist/extra/storage-node.d.ts +0 -1
  569. package/dist/extra/storage-node.js +0 -3
  570. package/dist/extra/storage-node.js.map +0 -1
  571. package/dist/extra/storage-tiers-browser.cjs +0 -21
  572. package/dist/extra/storage-tiers-browser.cjs.map +0 -1
  573. package/dist/extra/storage-tiers-browser.d.cts +0 -1
  574. package/dist/extra/storage-tiers-browser.d.ts +0 -1
  575. package/dist/extra/storage-tiers-browser.js +0 -3
  576. package/dist/extra/storage-tiers-browser.js.map +0 -1
  577. package/dist/extra/storage-tiers-node.cjs +0 -21
  578. package/dist/extra/storage-tiers-node.cjs.map +0 -1
  579. package/dist/extra/storage-tiers-node.d.cts +0 -1
  580. package/dist/extra/storage-tiers-node.d.ts +0 -1
  581. package/dist/extra/storage-tiers-node.js +0 -3
  582. package/dist/extra/storage-tiers-node.js.map +0 -1
  583. package/dist/extra/storage-tiers.cjs +0 -21
  584. package/dist/extra/storage-tiers.cjs.map +0 -1
  585. package/dist/extra/storage-tiers.d.cts +0 -1
  586. package/dist/extra/storage-tiers.d.ts +0 -1
  587. package/dist/extra/storage-tiers.js +0 -3
  588. package/dist/extra/storage-tiers.js.map +0 -1
  589. package/dist/extra/storage-wal.cjs +0 -21
  590. package/dist/extra/storage-wal.cjs.map +0 -1
  591. package/dist/extra/storage-wal.d.cts +0 -1
  592. package/dist/extra/storage-wal.d.ts +0 -1
  593. package/dist/extra/storage-wal.js +0 -3
  594. package/dist/extra/storage-wal.js.map +0 -1
  595. package/dist/graph/index.cjs +0 -21
  596. package/dist/graph/index.cjs.map +0 -1
  597. package/dist/graph/index.d.cts +0 -1
  598. package/dist/graph/index.d.ts +0 -1
  599. package/dist/graph/index.js +0 -3
  600. package/dist/graph/index.js.map +0 -1
  601. package/dist/patterns/ai/browser.cjs +0 -21
  602. package/dist/patterns/ai/browser.cjs.map +0 -1
  603. package/dist/patterns/ai/browser.d.cts +0 -1
  604. package/dist/patterns/ai/browser.d.ts +0 -1
  605. package/dist/patterns/ai/browser.js +0 -3
  606. package/dist/patterns/ai/browser.js.map +0 -1
  607. package/dist/patterns/ai/index.cjs +0 -21
  608. package/dist/patterns/ai/index.cjs.map +0 -1
  609. package/dist/patterns/ai/index.d.cts +0 -1
  610. package/dist/patterns/ai/index.d.ts +0 -1
  611. package/dist/patterns/ai/index.js +0 -3
  612. package/dist/patterns/ai/index.js.map +0 -1
  613. package/dist/patterns/ai/node.cjs +0 -21
  614. package/dist/patterns/ai/node.cjs.map +0 -1
  615. package/dist/patterns/ai/node.d.cts +0 -1
  616. package/dist/patterns/ai/node.d.ts +0 -1
  617. package/dist/patterns/ai/node.js +0 -3
  618. package/dist/patterns/ai/node.js.map +0 -1
  619. package/dist/patterns/cqrs/index.cjs +0 -21
  620. package/dist/patterns/cqrs/index.cjs.map +0 -1
  621. package/dist/patterns/cqrs/index.d.cts +0 -1
  622. package/dist/patterns/cqrs/index.d.ts +0 -1
  623. package/dist/patterns/cqrs/index.js +0 -3
  624. package/dist/patterns/cqrs/index.js.map +0 -1
  625. package/dist/patterns/demo-shell/index.cjs +0 -21
  626. package/dist/patterns/demo-shell/index.cjs.map +0 -1
  627. package/dist/patterns/demo-shell/index.d.cts +0 -1
  628. package/dist/patterns/demo-shell/index.d.ts +0 -1
  629. package/dist/patterns/demo-shell/index.js +0 -3
  630. package/dist/patterns/demo-shell/index.js.map +0 -1
  631. package/dist/patterns/domain-templates/index.cjs +0 -21
  632. package/dist/patterns/domain-templates/index.cjs.map +0 -1
  633. package/dist/patterns/domain-templates/index.d.cts +0 -1
  634. package/dist/patterns/domain-templates/index.d.ts +0 -1
  635. package/dist/patterns/domain-templates/index.js +0 -3
  636. package/dist/patterns/domain-templates/index.js.map +0 -1
  637. package/dist/patterns/graphspec/index.cjs +0 -21
  638. package/dist/patterns/graphspec/index.cjs.map +0 -1
  639. package/dist/patterns/graphspec/index.d.cts +0 -1
  640. package/dist/patterns/graphspec/index.d.ts +0 -1
  641. package/dist/patterns/graphspec/index.js +0 -3
  642. package/dist/patterns/graphspec/index.js.map +0 -1
  643. package/dist/patterns/harness/index.cjs +0 -21
  644. package/dist/patterns/harness/index.cjs.map +0 -1
  645. package/dist/patterns/harness/index.d.cts +0 -1
  646. package/dist/patterns/harness/index.d.ts +0 -1
  647. package/dist/patterns/harness/index.js +0 -3
  648. package/dist/patterns/harness/index.js.map +0 -1
  649. package/dist/patterns/inspect/index.cjs +0 -21
  650. package/dist/patterns/inspect/index.cjs.map +0 -1
  651. package/dist/patterns/inspect/index.d.cts +0 -1
  652. package/dist/patterns/inspect/index.d.ts +0 -1
  653. package/dist/patterns/inspect/index.js +0 -3
  654. package/dist/patterns/inspect/index.js.map +0 -1
  655. package/dist/patterns/job-queue/index.cjs +0 -21
  656. package/dist/patterns/job-queue/index.cjs.map +0 -1
  657. package/dist/patterns/job-queue/index.d.cts +0 -1
  658. package/dist/patterns/job-queue/index.d.ts +0 -1
  659. package/dist/patterns/job-queue/index.js +0 -3
  660. package/dist/patterns/job-queue/index.js.map +0 -1
  661. package/dist/patterns/memory/index.cjs +0 -21
  662. package/dist/patterns/memory/index.cjs.map +0 -1
  663. package/dist/patterns/memory/index.d.cts +0 -1
  664. package/dist/patterns/memory/index.d.ts +0 -1
  665. package/dist/patterns/memory/index.js +0 -3
  666. package/dist/patterns/memory/index.js.map +0 -1
  667. package/dist/patterns/messaging/index.cjs +0 -21
  668. package/dist/patterns/messaging/index.cjs.map +0 -1
  669. package/dist/patterns/messaging/index.d.cts +0 -1
  670. package/dist/patterns/messaging/index.d.ts +0 -1
  671. package/dist/patterns/messaging/index.js +0 -3
  672. package/dist/patterns/messaging/index.js.map +0 -1
  673. package/dist/patterns/orchestration/index.cjs +0 -21
  674. package/dist/patterns/orchestration/index.cjs.map +0 -1
  675. package/dist/patterns/orchestration/index.d.cts +0 -1
  676. package/dist/patterns/orchestration/index.d.ts +0 -1
  677. package/dist/patterns/orchestration/index.js +0 -3
  678. package/dist/patterns/orchestration/index.js.map +0 -1
  679. package/dist/patterns/process/index.cjs +0 -21
  680. package/dist/patterns/process/index.cjs.map +0 -1
  681. package/dist/patterns/process/index.d.cts +0 -1
  682. package/dist/patterns/process/index.d.ts +0 -1
  683. package/dist/patterns/process/index.js +0 -3
  684. package/dist/patterns/process/index.js.map +0 -1
  685. package/dist/patterns/reactive-layout/index.cjs +0 -21
  686. package/dist/patterns/reactive-layout/index.cjs.map +0 -1
  687. package/dist/patterns/reactive-layout/index.d.cts +0 -1
  688. package/dist/patterns/reactive-layout/index.d.ts +0 -1
  689. package/dist/patterns/reactive-layout/index.js +0 -3
  690. package/dist/patterns/reactive-layout/index.js.map +0 -1
  691. package/dist/patterns/reduction/index.cjs +0 -21
  692. package/dist/patterns/reduction/index.cjs.map +0 -1
  693. package/dist/patterns/reduction/index.d.cts +0 -1
  694. package/dist/patterns/reduction/index.d.ts +0 -1
  695. package/dist/patterns/reduction/index.js +0 -3
  696. package/dist/patterns/reduction/index.js.map +0 -1
  697. package/dist/patterns/surface/index.cjs +0 -21
  698. package/dist/patterns/surface/index.cjs.map +0 -1
  699. package/dist/patterns/surface/index.d.cts +0 -1
  700. package/dist/patterns/surface/index.d.ts +0 -1
  701. package/dist/patterns/surface/index.js +0 -3
  702. package/dist/patterns/surface/index.js.map +0 -1
  703. package/dist/patterns/topology-view/index.cjs +0 -21
  704. package/dist/patterns/topology-view/index.cjs.map +0 -1
  705. package/dist/patterns/topology-view/index.d.cts +0 -1
  706. package/dist/patterns/topology-view/index.d.ts +0 -1
  707. package/dist/patterns/topology-view/index.js +0 -3
  708. package/dist/patterns/topology-view/index.js.map +0 -1
  709. package/dist/testing/index.cjs +0 -21
  710. package/dist/testing/index.cjs.map +0 -1
  711. package/dist/testing/index.d.cts +0 -1
  712. package/dist/testing/index.d.ts +0 -1
  713. package/dist/testing/index.js +0 -3
  714. package/dist/testing/index.js.map +0 -1
@@ -0,0 +1,243 @@
1
+ import { KvStorageTier } from '@graphrefly/pure-ts/extra';
2
+ import { a as ChatMessage, b as LLMInvokeOptions, L as LLMAdapter, c as LLMResponse, S as StreamDelta } from './types-BB5Lw-pB.cjs';
3
+
4
+ /**
5
+ * `withReplayCache` — content-addressed response cache over `KvStorageTier`.
6
+ *
7
+ * - Key: sha256 of canonicalized (messages + invoke options minus `signal`).
8
+ * - `"read-write"` (default): returns cached response if present; on miss,
9
+ * passes through and stores the result.
10
+ * - `"write-only"`: never reads; populates the cache for later runs.
11
+ * - `"read"`: reads only; on miss, passes through without writing.
12
+ * - `"read-strict"`: reads only; on miss, **throws `ReplayCacheMissError`**
13
+ * instead of passing through. Use for fixture-driven tests or offline
14
+ * fallback adapters where any cache miss is a test failure or a signal to
15
+ * degrade.
16
+ *
17
+ * Reuses the library's existing `KvStorageTier` abstraction — any kv tier
18
+ * (memoryKv / fileKv / sqliteKv / indexedDbKv / custom).
19
+ *
20
+ * **Concurrent cache-miss dedup:** uses `singleFromAny` so two concurrent
21
+ * calls with the same key share one upstream request. Second caller sees the
22
+ * same response that the first caller fetched; no duplicate provider spend.
23
+ *
24
+ * **Circular-ref safe:** `canonicalJson` uses a seen-set replacer so
25
+ * user-supplied `ToolDefinition.parameters` with `$ref` cycles don't stack-
26
+ * overflow the key computation.
27
+ *
28
+ * **Stream cadence capture:** when `cacheStreaming: true` AND
29
+ * `captureStreamCadence: true`, per-chunk delays (ms since previous chunk)
30
+ * are recorded alongside the content. Replay honors the recorded cadence
31
+ * unless `replaySpeed` is set, which multiplies the effective per-chunk
32
+ * delay (`replaySpeed: 2` → 2× faster; `replaySpeed: 0` → instant).
33
+ * Without `captureStreamCadence`, replay is instant regardless.
34
+ */
35
+
36
+ type ReplayCacheMode = "read" | "read-strict" | "write-only" | "read-write";
37
+ declare class ReplayCacheMissError extends Error {
38
+ readonly key: string;
39
+ readonly method: "invoke" | "stream";
40
+ name: string;
41
+ constructor(key: string, method: "invoke" | "stream");
42
+ }
43
+ /**
44
+ * Context object passed to {@link WithReplayCacheOptions.keyFn}. Extending
45
+ * with additional fields is forward-compatible — current implementations
46
+ * ignoring unknown fields continue to work.
47
+ */
48
+ interface ReplayCacheKeyContext {
49
+ readonly messages: readonly ChatMessage[];
50
+ readonly opts: LLMInvokeOptions | undefined;
51
+ /** Shortcut to `opts?.keyContext` — avoids an extra guard in callers. */
52
+ readonly context: unknown;
53
+ }
54
+ interface WithReplayCacheOptions {
55
+ storage: KvStorageTier;
56
+ mode?: ReplayCacheMode;
57
+ /**
58
+ * Custom key function. Receives a {@link ReplayCacheKeyContext} with the
59
+ * chat messages, the invoke options, and the caller-supplied
60
+ * `opts.keyContext`. Defaults to sha256 of canonical JSON over
61
+ * `(messages, opts without signal/keyContext)`.
62
+ *
63
+ * Legacy 2-arg form `(messages, opts?)` also accepted — the adapter
64
+ * detects arity and dispatches. Prefer the object form for new code.
65
+ */
66
+ keyFn?: ((ctx: ReplayCacheKeyContext) => string | Promise<string>) | ((messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string | Promise<string>);
67
+ /** Prefix for cached keys (useful when sharing a tier across domains). */
68
+ keyPrefix?: string;
69
+ /**
70
+ * Whether to cache streaming responses (by consuming the full stream
71
+ * and replaying it as one synthetic token chunk). Default `false`.
72
+ */
73
+ cacheStreaming?: boolean;
74
+ /**
75
+ * When `cacheStreaming: true`, also record per-chunk delays (ms since
76
+ * previous chunk) so replay can honor the original streaming cadence.
77
+ * Default `false` (chunks replay instantly).
78
+ */
79
+ captureStreamCadence?: boolean;
80
+ /**
81
+ * Stream replay speed multiplier. `1` = original cadence (requires
82
+ * `captureStreamCadence`). `2` = 2× faster. `0` = instant. Default `1`.
83
+ */
84
+ replaySpeed?: number;
85
+ }
86
+ /** Wrap an adapter with a replay cache. */
87
+ declare function withReplayCache(inner: LLMAdapter, opts: WithReplayCacheOptions): LLMAdapter;
88
+
89
+ /**
90
+ * `fallbackAdapter` — fixture-backed {@link LLMAdapter} for offline demos,
91
+ * deterministic tests, and graceful degradation in production.
92
+ *
93
+ * A peer of `anthropicAdapter` / `openAICompatAdapter` / `googleAdapter` /
94
+ * `ollamaAdapter` / `dryRunAdapter`, but whose role is to serve pre-recorded
95
+ * or canned responses when real providers aren't reachable. Install it as a
96
+ * tier via the existing routing primitives (no new composer needed):
97
+ *
98
+ * ```ts
99
+ * // Graceful offline fallback for a user app:
100
+ * resilientAdapter(anthropicAdapter({ ... }), {
101
+ * fallback: fallbackAdapter({ fixturesDir: "./fixtures" }),
102
+ * });
103
+ *
104
+ * // Or the general N-tier shape:
105
+ * cascadingLlmAdapter([
106
+ * { name: "primary", adapter: anthropicAdapter({ ... }) },
107
+ * { name: "fallback", adapter: fallbackAdapter({ fixturesDir: "./fixtures" }) },
108
+ * ]);
109
+ * ```
110
+ *
111
+ * The `provider` field is `"fallback"` so its role is self-documenting in
112
+ * logs, stats, cost tables, and audit trails.
113
+ *
114
+ * ## Three fixture sources (mutually exclusive)
115
+ *
116
+ * Pick exactly one of:
117
+ *
118
+ * 1. **`fixtures: FallbackFixture[]`** — inline, hand-authored. Supports
119
+ * both hash-keyed and messages-keyed shapes; the adapter computes the
120
+ * canonical hash for messages-keyed entries at init time. Ideal when you
121
+ * want full control in code (tests, small demos).
122
+ *
123
+ * 2. **`fixturesStorage: KvStorageTier`** — the escape hatch for any backend.
124
+ * Pass a `memoryKv()`, `indexedDbKv(...)`, `sqliteKv(...)`,
125
+ * `cascadingCache(...)`, or a custom tier. You own the layout — no
126
+ * auto-namespacing.
127
+ *
128
+ * **Filesystem directories (Node only):** the core `fallbackAdapter`
129
+ * does NOT import `node:fs` / `node:path` — it's safe to bundle for
130
+ * browsers. For a directory convenience, import `fallbackAdapter` from
131
+ * `@graphrefly/graphrefly/patterns/ai/node` (node subpath);
132
+ * that variant adds `fixturesDir: string` (auto-namespaced to
133
+ * `join(dir, keyPrefix)`, cache-format validated at init).
134
+ *
135
+ * ## Record mode
136
+ *
137
+ * `record: { adapter: real, storage }` proxies every call to `real` AND
138
+ * persists the response through the provided tier. Use the node subpath's
139
+ * `fallbackAdapter` for `record.dir` (auto-namespaced + `record.dir` defaults
140
+ * to `fixturesDir` when both are file-backed).
141
+ *
142
+ * ## Three use cases, one implementation
143
+ *
144
+ * | Use case | Config |
145
+ * |---|---|
146
+ * | **User apps** — degrade when the cloud provider errors or network is down | `fallbackAdapter({ fixturesStorage: ... })` installed as a fallback tier |
147
+ * | **Tests** — deterministic replays, fail loudly on miss | `fallbackAdapter({ fixturesStorage: ..., onMiss: "throw" })` |
148
+ * | **Eval offline replay** — zero-spend repeat runs | `fallbackAdapter({ fixturesStorage: ... })` as the only adapter |
149
+ *
150
+ * ## Implementation
151
+ *
152
+ * Thin sugar over {@link withReplayCache}. Key shape comes from its
153
+ * `canonicalJson` — fixtures written by either tool are interchangeable.
154
+ *
155
+ * @module
156
+ */
157
+
158
+ type FallbackMissPolicy = "throw" | "respond";
159
+ /**
160
+ * Thrown when `fallbackAdapter({ onMiss: "throw" })` receives a request that
161
+ * has no matching fixture. Alias of `ReplayCacheMissError` for now — the
162
+ * adapter is a thin sugar over `withReplayCache` and shares its miss-error.
163
+ */
164
+ declare const FallbackMissError: typeof ReplayCacheMissError;
165
+ type FallbackMissError = ReplayCacheMissError;
166
+ /**
167
+ * One recorded fixture. Two authoring shapes:
168
+ * - **Hash-keyed** — `{ key, response, stream? }`. Key is `sha256(canonicalJson({messages, opts}))`
169
+ * with `fallback:` prefix. This is what `record` mode writes.
170
+ * - **Messages-keyed** — `{ messages, invokeOpts?, response }`. The adapter
171
+ * computes the key at init time. Ergonomic for hand-authored fixtures.
172
+ */
173
+ type FallbackFixture = {
174
+ readonly key: string;
175
+ readonly response: LLMResponse;
176
+ readonly stream?: {
177
+ readonly chunks: readonly StreamDelta[];
178
+ readonly delaysMs?: readonly number[];
179
+ };
180
+ } | {
181
+ readonly messages: readonly ChatMessage[];
182
+ readonly invokeOpts?: Omit<LLMInvokeOptions, "signal">;
183
+ readonly response: LLMResponse;
184
+ };
185
+ interface FallbackAdapterOptions {
186
+ /** Adapter provider label. Default `"fallback"`. */
187
+ readonly provider?: string;
188
+ /** Adapter model label. Default `"fallback"`. */
189
+ readonly model?: string;
190
+ /**
191
+ * Inline hand-authored fixtures. Supports both hash-keyed (`{key, response, stream?}`)
192
+ * and messages-keyed (`{messages, invokeOpts?, response}`) shapes — the adapter
193
+ * computes the canonical hash for messages-keyed entries at init time. Held in
194
+ * an internal `memoryKv`. Mutually exclusive with `fixturesDir` and
195
+ * `fixturesStorage`.
196
+ */
197
+ readonly fixtures?: readonly FallbackFixture[];
198
+ /**
199
+ * Bring-your-own `KvStorageTier` (`memoryKv`, `sqliteKv`,
200
+ * `indexedDbKv`, `cascadingCache`, or a custom tier). You own the
201
+ * layout — no auto-namespacing. Mutually exclusive with `fixtures`.
202
+ *
203
+ * For filesystem directories, use the node subpath's `fallbackAdapter`
204
+ * with its `fixturesDir` option (auto-namespaced + validated).
205
+ */
206
+ readonly fixturesStorage?: KvStorageTier;
207
+ /**
208
+ * Called on fixture miss when `onMiss === "respond"`. If not provided and
209
+ * `onMiss === "respond"`, a canned "service unavailable" response is
210
+ * returned (marked with `metadata.degraded: true`).
211
+ */
212
+ readonly respond?: (messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string | LLMResponse;
213
+ /** Miss policy. Default `"respond"`. */
214
+ readonly onMiss?: FallbackMissPolicy;
215
+ /**
216
+ * Record mode. Proxies every call to `record.adapter` AND persists the
217
+ * result through `record.storage`. For filesystem `record.dir` convenience,
218
+ * use the node subpath's `fallbackAdapter`.
219
+ */
220
+ readonly record?: {
221
+ readonly adapter: LLMAdapter;
222
+ readonly storage?: KvStorageTier;
223
+ };
224
+ /** Stream replay speed multiplier. See {@link withReplayCache}. Default `1`. */
225
+ readonly replaySpeed?: number;
226
+ /** Key prefix. Kept compatible with `withReplayCache` defaults. Default `"fallback"`. */
227
+ readonly keyPrefix?: string;
228
+ /**
229
+ * Custom key function — forwarded directly to the underlying
230
+ * {@link withReplayCache}. Use to shard fixtures by `invokeOpts.keyContext`
231
+ * (tenant, session, feature flag). Accepts either the new
232
+ * {@link ReplayCacheKeyContext} object form or the legacy 2-arg
233
+ * `(messages, opts?)` form.
234
+ */
235
+ readonly keyFn?: ((ctx: ReplayCacheKeyContext) => string) | ((messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string);
236
+ }
237
+ /**
238
+ * Build a fixture-backed {@link LLMAdapter}. See module docs for use cases
239
+ * (offline demo, tests, degraded-mode) and recipe snippets.
240
+ */
241
+ declare function fallbackAdapter(opts?: FallbackAdapterOptions): LLMAdapter;
242
+
243
+ export { type FallbackAdapterOptions as F, type ReplayCacheKeyContext as R, type WithReplayCacheOptions as W, type FallbackFixture as a, FallbackMissError as b, type FallbackMissPolicy as c, ReplayCacheMissError as d, type ReplayCacheMode as e, fallbackAdapter as f, withReplayCache as w };
@@ -0,0 +1,243 @@
1
+ import { KvStorageTier } from '@graphrefly/pure-ts/extra';
2
+ import { a as ChatMessage, b as LLMInvokeOptions, L as LLMAdapter, c as LLMResponse, S as StreamDelta } from './types-BB5Lw-pB.js';
3
+
4
+ /**
5
+ * `withReplayCache` — content-addressed response cache over `KvStorageTier`.
6
+ *
7
+ * - Key: sha256 of canonicalized (messages + invoke options minus `signal`).
8
+ * - `"read-write"` (default): returns cached response if present; on miss,
9
+ * passes through and stores the result.
10
+ * - `"write-only"`: never reads; populates the cache for later runs.
11
+ * - `"read"`: reads only; on miss, passes through without writing.
12
+ * - `"read-strict"`: reads only; on miss, **throws `ReplayCacheMissError`**
13
+ * instead of passing through. Use for fixture-driven tests or offline
14
+ * fallback adapters where any cache miss is a test failure or a signal to
15
+ * degrade.
16
+ *
17
+ * Reuses the library's existing `KvStorageTier` abstraction — any kv tier
18
+ * (memoryKv / fileKv / sqliteKv / indexedDbKv / custom).
19
+ *
20
+ * **Concurrent cache-miss dedup:** uses `singleFromAny` so two concurrent
21
+ * calls with the same key share one upstream request. Second caller sees the
22
+ * same response that the first caller fetched; no duplicate provider spend.
23
+ *
24
+ * **Circular-ref safe:** `canonicalJson` uses a seen-set replacer so
25
+ * user-supplied `ToolDefinition.parameters` with `$ref` cycles don't stack-
26
+ * overflow the key computation.
27
+ *
28
+ * **Stream cadence capture:** when `cacheStreaming: true` AND
29
+ * `captureStreamCadence: true`, per-chunk delays (ms since previous chunk)
30
+ * are recorded alongside the content. Replay honors the recorded cadence
31
+ * unless `replaySpeed` is set, which multiplies the effective per-chunk
32
+ * delay (`replaySpeed: 2` → 2× faster; `replaySpeed: 0` → instant).
33
+ * Without `captureStreamCadence`, replay is instant regardless.
34
+ */
35
+
36
+ type ReplayCacheMode = "read" | "read-strict" | "write-only" | "read-write";
37
+ declare class ReplayCacheMissError extends Error {
38
+ readonly key: string;
39
+ readonly method: "invoke" | "stream";
40
+ name: string;
41
+ constructor(key: string, method: "invoke" | "stream");
42
+ }
43
+ /**
44
+ * Context object passed to {@link WithReplayCacheOptions.keyFn}. Extending
45
+ * with additional fields is forward-compatible — current implementations
46
+ * ignoring unknown fields continue to work.
47
+ */
48
+ interface ReplayCacheKeyContext {
49
+ readonly messages: readonly ChatMessage[];
50
+ readonly opts: LLMInvokeOptions | undefined;
51
+ /** Shortcut to `opts?.keyContext` — avoids an extra guard in callers. */
52
+ readonly context: unknown;
53
+ }
54
+ interface WithReplayCacheOptions {
55
+ storage: KvStorageTier;
56
+ mode?: ReplayCacheMode;
57
+ /**
58
+ * Custom key function. Receives a {@link ReplayCacheKeyContext} with the
59
+ * chat messages, the invoke options, and the caller-supplied
60
+ * `opts.keyContext`. Defaults to sha256 of canonical JSON over
61
+ * `(messages, opts without signal/keyContext)`.
62
+ *
63
+ * Legacy 2-arg form `(messages, opts?)` also accepted — the adapter
64
+ * detects arity and dispatches. Prefer the object form for new code.
65
+ */
66
+ keyFn?: ((ctx: ReplayCacheKeyContext) => string | Promise<string>) | ((messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string | Promise<string>);
67
+ /** Prefix for cached keys (useful when sharing a tier across domains). */
68
+ keyPrefix?: string;
69
+ /**
70
+ * Whether to cache streaming responses (by consuming the full stream
71
+ * and replaying it as one synthetic token chunk). Default `false`.
72
+ */
73
+ cacheStreaming?: boolean;
74
+ /**
75
+ * When `cacheStreaming: true`, also record per-chunk delays (ms since
76
+ * previous chunk) so replay can honor the original streaming cadence.
77
+ * Default `false` (chunks replay instantly).
78
+ */
79
+ captureStreamCadence?: boolean;
80
+ /**
81
+ * Stream replay speed multiplier. `1` = original cadence (requires
82
+ * `captureStreamCadence`). `2` = 2× faster. `0` = instant. Default `1`.
83
+ */
84
+ replaySpeed?: number;
85
+ }
86
+ /** Wrap an adapter with a replay cache. */
87
+ declare function withReplayCache(inner: LLMAdapter, opts: WithReplayCacheOptions): LLMAdapter;
88
+
89
+ /**
90
+ * `fallbackAdapter` — fixture-backed {@link LLMAdapter} for offline demos,
91
+ * deterministic tests, and graceful degradation in production.
92
+ *
93
+ * A peer of `anthropicAdapter` / `openAICompatAdapter` / `googleAdapter` /
94
+ * `ollamaAdapter` / `dryRunAdapter`, but whose role is to serve pre-recorded
95
+ * or canned responses when real providers aren't reachable. Install it as a
96
+ * tier via the existing routing primitives (no new composer needed):
97
+ *
98
+ * ```ts
99
+ * // Graceful offline fallback for a user app:
100
+ * resilientAdapter(anthropicAdapter({ ... }), {
101
+ * fallback: fallbackAdapter({ fixturesDir: "./fixtures" }),
102
+ * });
103
+ *
104
+ * // Or the general N-tier shape:
105
+ * cascadingLlmAdapter([
106
+ * { name: "primary", adapter: anthropicAdapter({ ... }) },
107
+ * { name: "fallback", adapter: fallbackAdapter({ fixturesDir: "./fixtures" }) },
108
+ * ]);
109
+ * ```
110
+ *
111
+ * The `provider` field is `"fallback"` so its role is self-documenting in
112
+ * logs, stats, cost tables, and audit trails.
113
+ *
114
+ * ## Three fixture sources (mutually exclusive)
115
+ *
116
+ * Pick exactly one of:
117
+ *
118
+ * 1. **`fixtures: FallbackFixture[]`** — inline, hand-authored. Supports
119
+ * both hash-keyed and messages-keyed shapes; the adapter computes the
120
+ * canonical hash for messages-keyed entries at init time. Ideal when you
121
+ * want full control in code (tests, small demos).
122
+ *
123
+ * 2. **`fixturesStorage: KvStorageTier`** — the escape hatch for any backend.
124
+ * Pass a `memoryKv()`, `indexedDbKv(...)`, `sqliteKv(...)`,
125
+ * `cascadingCache(...)`, or a custom tier. You own the layout — no
126
+ * auto-namespacing.
127
+ *
128
+ * **Filesystem directories (Node only):** the core `fallbackAdapter`
129
+ * does NOT import `node:fs` / `node:path` — it's safe to bundle for
130
+ * browsers. For a directory convenience, import `fallbackAdapter` from
131
+ * `@graphrefly/graphrefly/patterns/ai/node` (node subpath);
132
+ * that variant adds `fixturesDir: string` (auto-namespaced to
133
+ * `join(dir, keyPrefix)`, cache-format validated at init).
134
+ *
135
+ * ## Record mode
136
+ *
137
+ * `record: { adapter: real, storage }` proxies every call to `real` AND
138
+ * persists the response through the provided tier. Use the node subpath's
139
+ * `fallbackAdapter` for `record.dir` (auto-namespaced + `record.dir` defaults
140
+ * to `fixturesDir` when both are file-backed).
141
+ *
142
+ * ## Three use cases, one implementation
143
+ *
144
+ * | Use case | Config |
145
+ * |---|---|
146
+ * | **User apps** — degrade when the cloud provider errors or network is down | `fallbackAdapter({ fixturesStorage: ... })` installed as a fallback tier |
147
+ * | **Tests** — deterministic replays, fail loudly on miss | `fallbackAdapter({ fixturesStorage: ..., onMiss: "throw" })` |
148
+ * | **Eval offline replay** — zero-spend repeat runs | `fallbackAdapter({ fixturesStorage: ... })` as the only adapter |
149
+ *
150
+ * ## Implementation
151
+ *
152
+ * Thin sugar over {@link withReplayCache}. Key shape comes from its
153
+ * `canonicalJson` — fixtures written by either tool are interchangeable.
154
+ *
155
+ * @module
156
+ */
157
+
158
+ type FallbackMissPolicy = "throw" | "respond";
159
+ /**
160
+ * Thrown when `fallbackAdapter({ onMiss: "throw" })` receives a request that
161
+ * has no matching fixture. Alias of `ReplayCacheMissError` for now — the
162
+ * adapter is a thin sugar over `withReplayCache` and shares its miss-error.
163
+ */
164
+ declare const FallbackMissError: typeof ReplayCacheMissError;
165
+ type FallbackMissError = ReplayCacheMissError;
166
+ /**
167
+ * One recorded fixture. Two authoring shapes:
168
+ * - **Hash-keyed** — `{ key, response, stream? }`. Key is `sha256(canonicalJson({messages, opts}))`
169
+ * with `fallback:` prefix. This is what `record` mode writes.
170
+ * - **Messages-keyed** — `{ messages, invokeOpts?, response }`. The adapter
171
+ * computes the key at init time. Ergonomic for hand-authored fixtures.
172
+ */
173
+ type FallbackFixture = {
174
+ readonly key: string;
175
+ readonly response: LLMResponse;
176
+ readonly stream?: {
177
+ readonly chunks: readonly StreamDelta[];
178
+ readonly delaysMs?: readonly number[];
179
+ };
180
+ } | {
181
+ readonly messages: readonly ChatMessage[];
182
+ readonly invokeOpts?: Omit<LLMInvokeOptions, "signal">;
183
+ readonly response: LLMResponse;
184
+ };
185
+ interface FallbackAdapterOptions {
186
+ /** Adapter provider label. Default `"fallback"`. */
187
+ readonly provider?: string;
188
+ /** Adapter model label. Default `"fallback"`. */
189
+ readonly model?: string;
190
+ /**
191
+ * Inline hand-authored fixtures. Supports both hash-keyed (`{key, response, stream?}`)
192
+ * and messages-keyed (`{messages, invokeOpts?, response}`) shapes — the adapter
193
+ * computes the canonical hash for messages-keyed entries at init time. Held in
194
+ * an internal `memoryKv`. Mutually exclusive with `fixturesDir` and
195
+ * `fixturesStorage`.
196
+ */
197
+ readonly fixtures?: readonly FallbackFixture[];
198
+ /**
199
+ * Bring-your-own `KvStorageTier` (`memoryKv`, `sqliteKv`,
200
+ * `indexedDbKv`, `cascadingCache`, or a custom tier). You own the
201
+ * layout — no auto-namespacing. Mutually exclusive with `fixtures`.
202
+ *
203
+ * For filesystem directories, use the node subpath's `fallbackAdapter`
204
+ * with its `fixturesDir` option (auto-namespaced + validated).
205
+ */
206
+ readonly fixturesStorage?: KvStorageTier;
207
+ /**
208
+ * Called on fixture miss when `onMiss === "respond"`. If not provided and
209
+ * `onMiss === "respond"`, a canned "service unavailable" response is
210
+ * returned (marked with `metadata.degraded: true`).
211
+ */
212
+ readonly respond?: (messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string | LLMResponse;
213
+ /** Miss policy. Default `"respond"`. */
214
+ readonly onMiss?: FallbackMissPolicy;
215
+ /**
216
+ * Record mode. Proxies every call to `record.adapter` AND persists the
217
+ * result through `record.storage`. For filesystem `record.dir` convenience,
218
+ * use the node subpath's `fallbackAdapter`.
219
+ */
220
+ readonly record?: {
221
+ readonly adapter: LLMAdapter;
222
+ readonly storage?: KvStorageTier;
223
+ };
224
+ /** Stream replay speed multiplier. See {@link withReplayCache}. Default `1`. */
225
+ readonly replaySpeed?: number;
226
+ /** Key prefix. Kept compatible with `withReplayCache` defaults. Default `"fallback"`. */
227
+ readonly keyPrefix?: string;
228
+ /**
229
+ * Custom key function — forwarded directly to the underlying
230
+ * {@link withReplayCache}. Use to shard fixtures by `invokeOpts.keyContext`
231
+ * (tenant, session, feature flag). Accepts either the new
232
+ * {@link ReplayCacheKeyContext} object form or the legacy 2-arg
233
+ * `(messages, opts?)` form.
234
+ */
235
+ readonly keyFn?: ((ctx: ReplayCacheKeyContext) => string) | ((messages: readonly ChatMessage[], opts?: LLMInvokeOptions) => string);
236
+ }
237
+ /**
238
+ * Build a fixture-backed {@link LLMAdapter}. See module docs for use cases
239
+ * (offline demo, tests, degraded-mode) and recipe snippets.
240
+ */
241
+ declare function fallbackAdapter(opts?: FallbackAdapterOptions): LLMAdapter;
242
+
243
+ export { type FallbackAdapterOptions as F, type ReplayCacheKeyContext as R, type WithReplayCacheOptions as W, type FallbackFixture as a, FallbackMissError as b, type FallbackMissPolicy as c, ReplayCacheMissError as d, type ReplayCacheMode as e, fallbackAdapter as f, withReplayCache as w };