@graphrefly/graphrefly 0.44.0 → 0.45.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 (420) hide show
  1. package/README.md +21 -17
  2. package/dist/compat/index.cjs +20 -10
  3. package/dist/compat/index.cjs.map +1 -0
  4. package/dist/compat/index.d.cts +1 -22
  5. package/dist/compat/index.d.ts +1 -22
  6. package/dist/compat/index.js +3 -1
  7. package/dist/compat/index.js.map +1 -0
  8. package/dist/compat/jotai/index.cjs +21 -1
  9. package/dist/compat/jotai/index.cjs.map +1 -0
  10. package/dist/compat/jotai/index.d.cts +1 -2
  11. package/dist/compat/jotai/index.d.ts +1 -2
  12. package/dist/compat/jotai/index.js +3 -1
  13. package/dist/compat/jotai/index.js.map +1 -0
  14. package/dist/compat/nanostores/index.cjs +21 -1
  15. package/dist/compat/nanostores/index.cjs.map +1 -0
  16. package/dist/compat/nanostores/index.d.cts +1 -2
  17. package/dist/compat/nanostores/index.d.ts +1 -2
  18. package/dist/compat/nanostores/index.js +3 -1
  19. package/dist/compat/nanostores/index.js.map +1 -0
  20. package/dist/compat/nestjs/index.cjs +20 -10
  21. package/dist/compat/nestjs/index.cjs.map +1 -0
  22. package/dist/compat/nestjs/index.d.cts +1 -13
  23. package/dist/compat/nestjs/index.d.ts +1 -13
  24. package/dist/compat/nestjs/index.js +3 -1
  25. package/dist/compat/nestjs/index.js.map +1 -0
  26. package/dist/compat/react/index.cjs +21 -1
  27. package/dist/compat/react/index.cjs.map +1 -0
  28. package/dist/compat/react/index.d.cts +1 -2
  29. package/dist/compat/react/index.d.ts +1 -2
  30. package/dist/compat/react/index.js +3 -1
  31. package/dist/compat/react/index.js.map +1 -0
  32. package/dist/compat/solid/index.cjs +21 -1
  33. package/dist/compat/solid/index.cjs.map +1 -0
  34. package/dist/compat/solid/index.d.cts +1 -2
  35. package/dist/compat/solid/index.d.ts +1 -2
  36. package/dist/compat/solid/index.js +3 -1
  37. package/dist/compat/solid/index.js.map +1 -0
  38. package/dist/compat/svelte/index.cjs +21 -1
  39. package/dist/compat/svelte/index.cjs.map +1 -0
  40. package/dist/compat/svelte/index.d.cts +1 -2
  41. package/dist/compat/svelte/index.d.ts +1 -2
  42. package/dist/compat/svelte/index.js +3 -1
  43. package/dist/compat/svelte/index.js.map +1 -0
  44. package/dist/compat/vue/index.cjs +21 -1
  45. package/dist/compat/vue/index.cjs.map +1 -0
  46. package/dist/compat/vue/index.d.cts +1 -3
  47. package/dist/compat/vue/index.d.ts +1 -3
  48. package/dist/compat/vue/index.js +3 -1
  49. package/dist/compat/vue/index.js.map +1 -0
  50. package/dist/compat/zustand/index.cjs +21 -3
  51. package/dist/compat/zustand/index.cjs.map +1 -0
  52. package/dist/compat/zustand/index.d.cts +1 -6
  53. package/dist/compat/zustand/index.d.ts +1 -6
  54. package/dist/compat/zustand/index.js +3 -1
  55. package/dist/compat/zustand/index.js.map +1 -0
  56. package/dist/core/index.cjs +21 -1
  57. package/dist/core/index.cjs.map +1 -0
  58. package/dist/core/index.d.cts +1 -3
  59. package/dist/core/index.d.ts +1 -3
  60. package/dist/core/index.js +3 -1
  61. package/dist/core/index.js.map +1 -0
  62. package/dist/extra/browser.cjs +21 -1
  63. package/dist/extra/browser.cjs.map +1 -0
  64. package/dist/extra/browser.d.cts +1 -4
  65. package/dist/extra/browser.d.ts +1 -4
  66. package/dist/extra/browser.js +3 -1
  67. package/dist/extra/browser.js.map +1 -0
  68. package/dist/extra/index.cjs +20 -19
  69. package/dist/extra/index.cjs.map +1 -0
  70. package/dist/extra/index.d.cts +1 -17
  71. package/dist/extra/index.d.ts +1 -17
  72. package/dist/extra/index.js +3 -1
  73. package/dist/extra/index.js.map +1 -0
  74. package/dist/extra/node.cjs +21 -2
  75. package/dist/extra/node.cjs.map +1 -0
  76. package/dist/extra/node.d.cts +1 -187
  77. package/dist/extra/node.d.ts +1 -187
  78. package/dist/extra/node.js +3 -2
  79. package/dist/extra/node.js.map +1 -0
  80. package/dist/extra/operators.cjs +21 -1
  81. package/dist/extra/operators.cjs.map +1 -0
  82. package/dist/extra/operators.d.cts +1 -958
  83. package/dist/extra/operators.d.ts +1 -958
  84. package/dist/extra/operators.js +3 -1
  85. package/dist/extra/operators.js.map +1 -0
  86. package/dist/extra/reactive.cjs +21 -1
  87. package/dist/extra/reactive.cjs.map +1 -0
  88. package/dist/extra/reactive.d.cts +1 -353
  89. package/dist/extra/reactive.d.ts +1 -353
  90. package/dist/extra/reactive.js +3 -1
  91. package/dist/extra/reactive.js.map +1 -0
  92. package/dist/extra/render/index.cjs +21 -5
  93. package/dist/extra/render/index.cjs.map +1 -0
  94. package/dist/extra/render/index.d.cts +1 -183
  95. package/dist/extra/render/index.d.ts +1 -183
  96. package/dist/extra/render/index.js +3 -1
  97. package/dist/extra/render/index.js.map +1 -0
  98. package/dist/extra/sources.cjs +21 -3
  99. package/dist/extra/sources.cjs.map +1 -0
  100. package/dist/extra/sources.d.cts +1 -584
  101. package/dist/extra/sources.d.ts +1 -584
  102. package/dist/extra/sources.js +3 -1
  103. package/dist/extra/sources.js.map +1 -0
  104. package/dist/extra/storage-browser.cjs +21 -1
  105. package/dist/extra/storage-browser.cjs.map +1 -0
  106. package/dist/extra/storage-browser.d.cts +1 -37
  107. package/dist/extra/storage-browser.d.ts +1 -37
  108. package/dist/extra/storage-browser.js +3 -1
  109. package/dist/extra/storage-browser.js.map +1 -0
  110. package/dist/extra/storage-core.cjs +21 -1
  111. package/dist/extra/storage-core.cjs.map +1 -0
  112. package/dist/extra/storage-core.d.cts +1 -28
  113. package/dist/extra/storage-core.d.ts +1 -28
  114. package/dist/extra/storage-core.js +3 -1
  115. package/dist/extra/storage-core.js.map +1 -0
  116. package/dist/extra/storage-node.cjs +20 -0
  117. package/dist/extra/storage-node.cjs.map +1 -0
  118. package/dist/extra/storage-node.d.cts +1 -2
  119. package/dist/extra/storage-node.d.ts +1 -2
  120. package/dist/extra/storage-node.js +3 -0
  121. package/dist/extra/storage-node.js.map +1 -0
  122. package/dist/extra/storage-tiers-browser.cjs +21 -1
  123. package/dist/extra/storage-tiers-browser.cjs.map +1 -0
  124. package/dist/extra/storage-tiers-browser.d.cts +1 -120
  125. package/dist/extra/storage-tiers-browser.d.ts +1 -120
  126. package/dist/extra/storage-tiers-browser.js +3 -1
  127. package/dist/extra/storage-tiers-browser.js.map +1 -0
  128. package/dist/extra/storage-tiers-node.cjs +21 -1
  129. package/dist/extra/storage-tiers-node.cjs.map +1 -0
  130. package/dist/extra/storage-tiers-node.d.cts +1 -210
  131. package/dist/extra/storage-tiers-node.d.ts +1 -210
  132. package/dist/extra/storage-tiers-node.js +3 -1
  133. package/dist/extra/storage-tiers-node.js.map +1 -0
  134. package/dist/extra/storage-tiers.cjs +21 -1
  135. package/dist/extra/storage-tiers.cjs.map +1 -0
  136. package/dist/extra/storage-tiers.d.cts +1 -412
  137. package/dist/extra/storage-tiers.d.ts +1 -412
  138. package/dist/extra/storage-tiers.js +3 -1
  139. package/dist/extra/storage-tiers.js.map +1 -0
  140. package/dist/extra/storage-wal.cjs +21 -0
  141. package/dist/extra/storage-wal.cjs.map +1 -0
  142. package/dist/extra/storage-wal.d.cts +1 -0
  143. package/dist/extra/storage-wal.d.ts +1 -0
  144. package/dist/extra/storage-wal.js +3 -0
  145. package/dist/extra/storage-wal.js.map +1 -0
  146. package/dist/graph/index.cjs +21 -7
  147. package/dist/graph/index.cjs.map +1 -0
  148. package/dist/graph/index.d.cts +1 -7
  149. package/dist/graph/index.d.ts +1 -7
  150. package/dist/graph/index.js +3 -1
  151. package/dist/graph/index.js.map +1 -0
  152. package/dist/index.cjs +20 -227
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.cts +45 -95
  155. package/dist/index.d.ts +45 -95
  156. package/dist/index.js +3 -1
  157. package/dist/index.js.map +1 -0
  158. package/dist/patterns/ai/browser.cjs +20 -7
  159. package/dist/patterns/ai/browser.cjs.map +1 -0
  160. package/dist/patterns/ai/browser.d.cts +1 -127
  161. package/dist/patterns/ai/browser.d.ts +1 -127
  162. package/dist/patterns/ai/browser.js +3 -3
  163. package/dist/patterns/ai/browser.js.map +1 -0
  164. package/dist/patterns/ai/index.cjs +20 -73
  165. package/dist/patterns/ai/index.cjs.map +1 -0
  166. package/dist/patterns/ai/index.d.cts +1 -20
  167. package/dist/patterns/ai/index.d.ts +1 -20
  168. package/dist/patterns/ai/index.js +3 -1
  169. package/dist/patterns/ai/index.js.map +1 -0
  170. package/dist/patterns/ai/node.cjs +21 -1
  171. package/dist/patterns/ai/node.cjs.map +1 -0
  172. package/dist/patterns/ai/node.d.cts +1 -59
  173. package/dist/patterns/ai/node.d.ts +1 -59
  174. package/dist/patterns/ai/node.js +3 -1
  175. package/dist/patterns/ai/node.js.map +1 -0
  176. package/dist/patterns/cqrs/index.cjs +21 -3
  177. package/dist/patterns/cqrs/index.cjs.map +1 -0
  178. package/dist/patterns/cqrs/index.d.cts +1 -8
  179. package/dist/patterns/cqrs/index.d.ts +1 -8
  180. package/dist/patterns/cqrs/index.js +3 -1
  181. package/dist/patterns/cqrs/index.js.map +1 -0
  182. package/dist/patterns/demo-shell/index.cjs +21 -5
  183. package/dist/patterns/demo-shell/index.cjs.map +1 -0
  184. package/dist/patterns/demo-shell/index.d.cts +1 -7
  185. package/dist/patterns/demo-shell/index.d.ts +1 -7
  186. package/dist/patterns/demo-shell/index.js +3 -1
  187. package/dist/patterns/demo-shell/index.js.map +1 -0
  188. package/dist/patterns/domain-templates/index.cjs +21 -3
  189. package/dist/patterns/domain-templates/index.cjs.map +1 -0
  190. package/dist/patterns/domain-templates/index.d.cts +1 -6
  191. package/dist/patterns/domain-templates/index.d.ts +1 -6
  192. package/dist/patterns/domain-templates/index.js +3 -1
  193. package/dist/patterns/domain-templates/index.js.map +1 -0
  194. package/dist/patterns/graphspec/index.cjs +21 -86
  195. package/dist/patterns/graphspec/index.cjs.map +1 -0
  196. package/dist/patterns/graphspec/index.d.cts +1 -8
  197. package/dist/patterns/graphspec/index.d.ts +1 -8
  198. package/dist/patterns/graphspec/index.js +3 -1
  199. package/dist/patterns/graphspec/index.js.map +1 -0
  200. package/dist/patterns/harness/index.cjs +21 -48
  201. package/dist/patterns/harness/index.cjs.map +1 -0
  202. package/dist/patterns/harness/index.d.cts +1 -13
  203. package/dist/patterns/harness/index.d.ts +1 -13
  204. package/dist/patterns/harness/index.js +3 -1
  205. package/dist/patterns/harness/index.js.map +1 -0
  206. package/dist/patterns/inspect/index.cjs +21 -3
  207. package/dist/patterns/inspect/index.cjs.map +1 -0
  208. package/dist/patterns/inspect/index.d.cts +1 -9
  209. package/dist/patterns/inspect/index.d.ts +1 -9
  210. package/dist/patterns/inspect/index.js +3 -1
  211. package/dist/patterns/inspect/index.js.map +1 -0
  212. package/dist/patterns/job-queue/index.cjs +21 -3
  213. package/dist/patterns/job-queue/index.cjs.map +1 -0
  214. package/dist/patterns/job-queue/index.d.cts +1 -9
  215. package/dist/patterns/job-queue/index.d.ts +1 -9
  216. package/dist/patterns/job-queue/index.js +3 -1
  217. package/dist/patterns/job-queue/index.js.map +1 -0
  218. package/dist/patterns/memory/index.cjs +21 -3
  219. package/dist/patterns/memory/index.cjs.map +1 -0
  220. package/dist/patterns/memory/index.d.cts +1 -8
  221. package/dist/patterns/memory/index.d.ts +1 -8
  222. package/dist/patterns/memory/index.js +3 -1
  223. package/dist/patterns/memory/index.js.map +1 -0
  224. package/dist/patterns/messaging/index.cjs +21 -3
  225. package/dist/patterns/messaging/index.cjs.map +1 -0
  226. package/dist/patterns/messaging/index.d.cts +1 -7
  227. package/dist/patterns/messaging/index.d.ts +1 -7
  228. package/dist/patterns/messaging/index.js +3 -1
  229. package/dist/patterns/messaging/index.js.map +1 -0
  230. package/dist/patterns/orchestration/index.cjs +21 -3
  231. package/dist/patterns/orchestration/index.cjs.map +1 -0
  232. package/dist/patterns/orchestration/index.d.cts +1 -8
  233. package/dist/patterns/orchestration/index.d.ts +1 -8
  234. package/dist/patterns/orchestration/index.js +3 -1
  235. package/dist/patterns/orchestration/index.js.map +1 -0
  236. package/dist/patterns/process/index.cjs +21 -3
  237. package/dist/patterns/process/index.cjs.map +1 -0
  238. package/dist/patterns/process/index.d.cts +1 -10
  239. package/dist/patterns/process/index.d.ts +1 -10
  240. package/dist/patterns/process/index.js +3 -1
  241. package/dist/patterns/process/index.js.map +1 -0
  242. package/dist/patterns/reactive-layout/index.cjs +21 -4
  243. package/dist/patterns/reactive-layout/index.cjs.map +1 -0
  244. package/dist/patterns/reactive-layout/index.d.cts +1 -7
  245. package/dist/patterns/reactive-layout/index.d.ts +1 -7
  246. package/dist/patterns/reactive-layout/index.js +3 -1
  247. package/dist/patterns/reactive-layout/index.js.map +1 -0
  248. package/dist/patterns/reduction/index.cjs +21 -3
  249. package/dist/patterns/reduction/index.cjs.map +1 -0
  250. package/dist/patterns/reduction/index.d.cts +1 -6
  251. package/dist/patterns/reduction/index.d.ts +1 -6
  252. package/dist/patterns/reduction/index.js +3 -1
  253. package/dist/patterns/reduction/index.js.map +1 -0
  254. package/dist/patterns/surface/index.cjs +21 -13
  255. package/dist/patterns/surface/index.cjs.map +1 -0
  256. package/dist/patterns/surface/index.d.cts +1 -9
  257. package/dist/patterns/surface/index.d.ts +1 -9
  258. package/dist/patterns/surface/index.js +3 -1
  259. package/dist/patterns/surface/index.js.map +1 -0
  260. package/dist/patterns/topology-view/index.cjs +21 -0
  261. package/dist/patterns/topology-view/index.cjs.map +1 -0
  262. package/dist/patterns/topology-view/index.d.cts +1 -0
  263. package/dist/patterns/topology-view/index.d.ts +1 -0
  264. package/dist/patterns/topology-view/index.js +3 -0
  265. package/dist/patterns/topology-view/index.js.map +1 -0
  266. package/dist/testing/index.cjs +21 -0
  267. package/dist/testing/index.cjs.map +1 -0
  268. package/dist/testing/index.d.cts +1 -0
  269. package/dist/testing/index.d.ts +1 -0
  270. package/dist/testing/index.js +3 -0
  271. package/dist/testing/index.js.map +1 -0
  272. package/package.json +608 -584
  273. package/dist/backoff-HPZMEZNF.js +0 -1
  274. package/dist/cascading-BglDkMdX.d.cts +0 -199
  275. package/dist/cascading-MFgxu7Yo.d.ts +0 -199
  276. package/dist/chunk-2T7U5EU6.js +0 -1
  277. package/dist/chunk-3G5U5QNE.js +0 -5
  278. package/dist/chunk-4VVTGLXJ.js +0 -1
  279. package/dist/chunk-5M4CCMMD.js +0 -45
  280. package/dist/chunk-5QDBSZBV.js +0 -1
  281. package/dist/chunk-5XJ6B66J.js +0 -1
  282. package/dist/chunk-6QZNQS5B.js +0 -1
  283. package/dist/chunk-6X7AFUJV.js +0 -9
  284. package/dist/chunk-7K6PWTDQ.js +0 -1
  285. package/dist/chunk-7LIAPXJB.js +0 -1
  286. package/dist/chunk-7WPU3UHQ.js +0 -1
  287. package/dist/chunk-A5WCQ5NO.js +0 -1
  288. package/dist/chunk-APPIWSGD.js +0 -84
  289. package/dist/chunk-BEZWM2SY.js +0 -1
  290. package/dist/chunk-C72GO4IZ.js +0 -1
  291. package/dist/chunk-CB676TKJ.js +0 -1
  292. package/dist/chunk-CE6TI2TL.js +0 -1
  293. package/dist/chunk-CE72X3WO.js +0 -1
  294. package/dist/chunk-CK2E7BTU.js +0 -1
  295. package/dist/chunk-CLVB32RD.js +0 -1
  296. package/dist/chunk-CRVT7D2P.js +0 -1
  297. package/dist/chunk-D5RFJOZ2.js +0 -1
  298. package/dist/chunk-D7GPHKFH.js +0 -1
  299. package/dist/chunk-DHRX7JX4.js +0 -2
  300. package/dist/chunk-ESMPEKEV.js +0 -1
  301. package/dist/chunk-F672GV32.js +0 -1
  302. package/dist/chunk-FZMYDOWV.js +0 -1
  303. package/dist/chunk-GHBWHMRZ.js +0 -1
  304. package/dist/chunk-GLERH466.js +0 -1
  305. package/dist/chunk-GPW2V3RE.js +0 -1
  306. package/dist/chunk-HIDYF36O.js +0 -1
  307. package/dist/chunk-HITNVN6B.js +0 -3
  308. package/dist/chunk-HY4DJBA7.js +0 -5
  309. package/dist/chunk-KZIEYVXN.js +0 -1
  310. package/dist/chunk-L6NSJVJZ.js +0 -1
  311. package/dist/chunk-N4MQX6JU.js +0 -18
  312. package/dist/chunk-N7FHEL4D.js +0 -1
  313. package/dist/chunk-NTEURFZH.js +0 -1
  314. package/dist/chunk-OIVP6KFV.js +0 -1
  315. package/dist/chunk-OPHBU3LG.js +0 -1
  316. package/dist/chunk-OYQOZP2F.js +0 -5
  317. package/dist/chunk-PTZK576G.js +0 -1
  318. package/dist/chunk-QYADASLV.js +0 -1
  319. package/dist/chunk-ST7UXLWR.js +0 -1
  320. package/dist/chunk-SVY7VUYU.js +0 -1
  321. package/dist/chunk-TK3NWWD4.js +0 -1
  322. package/dist/chunk-TSOYJ743.js +0 -1
  323. package/dist/chunk-UNGSTR4X.js +0 -61
  324. package/dist/chunk-VIMF6LGM.js +0 -1
  325. package/dist/chunk-VJLMUKOI.js +0 -1
  326. package/dist/chunk-VN6RDSK2.js +0 -1
  327. package/dist/chunk-VV4N5P64.js +0 -1
  328. package/dist/chunk-W3I423PS.js +0 -1
  329. package/dist/chunk-WJR24TAG.js +0 -1
  330. package/dist/chunk-XTGKMHSW.js +0 -1
  331. package/dist/chunk-YBB7ZGTY.js +0 -1
  332. package/dist/chunk-Z4NPUARF.js +0 -1
  333. package/dist/chunk-ZGNQRPDT.js +0 -1
  334. package/dist/chunk-ZKPSFFKU.js +0 -1
  335. package/dist/chunk-ZLV5SQSX.js +0 -1
  336. package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
  337. package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
  338. package/dist/decay-BvOWTZ00.d.ts +0 -112
  339. package/dist/decay-CFlLvXUT.d.cts +0 -112
  340. package/dist/fallback-74oxi34l.d.cts +0 -250
  341. package/dist/fallback-DUyyBTBK.d.ts +0 -250
  342. package/dist/graph-CWvEUQAq.d.cts +0 -1861
  343. package/dist/graph-D9LFnda9.d.ts +0 -1861
  344. package/dist/index-5k1T6jl0.d.cts +0 -121
  345. package/dist/index-9770hRuQ.d.cts +0 -779
  346. package/dist/index-B-_tFaqV.d.cts +0 -468
  347. package/dist/index-B17QddL1.d.cts +0 -374
  348. package/dist/index-B1F8Enjf.d.ts +0 -704
  349. package/dist/index-B5S8ULbU.d.ts +0 -515
  350. package/dist/index-B8YnZpIR.d.ts +0 -102
  351. package/dist/index-BHskSB8v.d.ts +0 -3413
  352. package/dist/index-BIYAkbAi.d.cts +0 -26
  353. package/dist/index-BQSKmbuG.d.cts +0 -127
  354. package/dist/index-BaQaY_IQ.d.cts +0 -231
  355. package/dist/index-BmZXHqkE.d.ts +0 -36
  356. package/dist/index-BoJ5JHxI.d.ts +0 -557
  357. package/dist/index-BocU7pqs.d.ts +0 -779
  358. package/dist/index-BrPrLl4e.d.cts +0 -86
  359. package/dist/index-BxNs2HB9.d.cts +0 -1858
  360. package/dist/index-Byu-OpX_.d.ts +0 -113
  361. package/dist/index-C1T3d7V-.d.cts +0 -704
  362. package/dist/index-C5ri2Axc.d.cts +0 -301
  363. package/dist/index-C5stwKcw.d.cts +0 -44
  364. package/dist/index-C9l6OEBL.d.ts +0 -26
  365. package/dist/index-CBBLl_rc.d.ts +0 -127
  366. package/dist/index-CBGUK09R.d.ts +0 -754
  367. package/dist/index-CC-AvFTy.d.cts +0 -557
  368. package/dist/index-CJF1URuX.d.ts +0 -121
  369. package/dist/index-CK29LV56.d.cts +0 -34
  370. package/dist/index-CMh5Rz1y.d.ts +0 -385
  371. package/dist/index-CPQlGA29.d.ts +0 -34
  372. package/dist/index-CR8QpwX8.d.ts +0 -2680
  373. package/dist/index-CS0LTlB8.d.cts +0 -385
  374. package/dist/index-CSOmP7xT.d.cts +0 -291
  375. package/dist/index-CYq8vAyV.d.ts +0 -291
  376. package/dist/index-CZ3r5Rxp.d.ts +0 -374
  377. package/dist/index-CasX6Pfq.d.cts +0 -358
  378. package/dist/index-CdAlHFEt.d.ts +0 -44
  379. package/dist/index-CdTelp1M.d.ts +0 -202
  380. package/dist/index-CeFiHtAg.d.ts +0 -468
  381. package/dist/index-Cj3WohTd.d.cts +0 -202
  382. package/dist/index-Climxqsu.d.cts +0 -754
  383. package/dist/index-Co7uli2l.d.cts +0 -3413
  384. package/dist/index-CviRnE4K.d.ts +0 -45
  385. package/dist/index-Cwv0KWcU.d.cts +0 -102
  386. package/dist/index-CzLVrjxn.d.ts +0 -231
  387. package/dist/index-D0aciIex.d.cts +0 -209
  388. package/dist/index-DHen9Klo.d.ts +0 -1858
  389. package/dist/index-DV_1YuVk.d.cts +0 -221
  390. package/dist/index-Dc4AYqrJ.d.cts +0 -515
  391. package/dist/index-Dgl1HpPn.d.ts +0 -86
  392. package/dist/index-DisjX8a-.d.ts +0 -221
  393. package/dist/index-UPSiS-X7.d.cts +0 -2680
  394. package/dist/index-Yq60JP3s.d.ts +0 -209
  395. package/dist/index-ZVQhLa2i.d.cts +0 -37
  396. package/dist/index-_6ODbuOu.d.cts +0 -45
  397. package/dist/index-hcDJ8PSI.d.cts +0 -36
  398. package/dist/index-nozs3fFC.d.ts +0 -301
  399. package/dist/index-p09KSrTN.d.ts +0 -358
  400. package/dist/index-sqkqlb1p.d.ts +0 -37
  401. package/dist/index-tRCxuAXF.d.cts +0 -113
  402. package/dist/node-kK3CvTrR.d.cts +0 -1347
  403. package/dist/node-kK3CvTrR.d.ts +0 -1347
  404. package/dist/observable-DWjNfLvC.d.ts +0 -36
  405. package/dist/observable-e3eiPPFy.d.cts +0 -36
  406. package/dist/pipeline-graph-CIKhynsF.d.cts +0 -142
  407. package/dist/pipeline-graph-Sgj0gCwn.d.ts +0 -142
  408. package/dist/reactive-layout-DOTs9P3X.d.ts +0 -183
  409. package/dist/reactive-layout-DgctbqZo.d.cts +0 -183
  410. package/dist/reactive-log-BKALbfal.d.ts +0 -223
  411. package/dist/reactive-log-DIGdYqQ6.d.cts +0 -223
  412. package/dist/reactive-map-CEFGp8TK.d.cts +0 -296
  413. package/dist/reactive-map-DS_SIAxv.d.ts +0 -296
  414. package/dist/resilience-6LYQJAC5.js +0 -1
  415. package/dist/sugar-DQjFmVqb.d.cts +0 -399
  416. package/dist/sugar-fhLIE7TT.d.ts +0 -399
  417. package/dist/topology-tree-Bcz27hpF.d.cts +0 -25
  418. package/dist/topology-tree-xvaD0fOX.d.ts +0 -25
  419. package/dist/types-C0_yquda.d.cts +0 -442
  420. package/dist/types-CWFysE9E.d.ts +0 -442
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/patterns/ai/index.ts"],"sourcesContent":["// Phase 13.9.A shim — re-export from pure-TS sibling until\n// @graphrefly/native (napi binding) and per-milestone swap-overs land.\nexport * from \"@graphrefly/pure-ts/patterns/ai\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAEA,uBAAc,4CAFd;","names":[]}
@@ -1,20 +1 @@
1
- export { e as CapabilitiesRegistry, C as ChatMessage, L as LLMAdapter, a as LLMInvokeOptions, b as LLMResponse, M as ModelCapabilities, f as ModelFeatures, g as ModelLimits, h as ModelPricing, i as PriceBreakdown, P as PricingFn, j as PricingRegistry, R as Rate, S as StreamDelta, k as TieredRate, T as TokenUsage, c as ToolCall, d as ToolDefinition, l as composePricing, m as computePrice, n as createCapabilitiesRegistry, o as createPricingRegistry, p as pricingFor, r as registryPricing, z as zeroPrice } from '../../types-C0_yquda.cjs';
2
- export { A as AdapterProvider, b as AdapterTier, d as AllTiersExhaustedError, a as CascadeExhaustionReport, C as CascadingLlmAdapterOptions, e as CreateAdapterOptions, O as OpenAICompatAdapterOptions, f as OpenAICompatPreset, g as OpenAISdkLike, h as cascadingLlmAdapter, c as createAdapter, o as openAICompatAdapter, t as tier } from '../../cascading-BglDkMdX.cjs';
3
- export { A as AdapterStats, a as AdmissionScore3DOptions, b as AdmissionScoredOptions, c as AdmissionScores, d as AdmissionThresholds, e as AgentLoopGraph, f as AgentLoopOptions, g as AgentLoopStatus, h as AgentMemoryGraph, j as AgentMemoryOptions, k as AnthropicAdapterOptions, l as AnthropicSdkLike, B as BudgetCaps, m as BudgetExhaustedError, n as BudgetGateBundle, o as BudgetTotals, C as CallStatsEvent, p as ChatStreamGraph, q as ChatStreamOptions, r as ContentDecision, s as ContentGateOptions, t as CostMeterOptions, u as CostMeterReading, D as DryRunAdapterOptions, E as ExtractedToolCall, F as FrozenContextOptions, G as GatedStreamHandle, v as GatedStreamOptions, w as GaugesAsContextOptions, x as GoogleAdapterOptions, y as GoogleSdkLike, z as GoogleSdkRequestConfig, H as GoogleSdkRequestParams, I as GraphDefValidation, J as GraphFromSpecOptions, K as HandoffOptions, L as HttpErrorLike, M as KeywordFlag, N as KeywordFlagExtractorOptions, O as KnobsAsToolsResult, P as LLMConsolidatorOptions, Q as LLMExtractorOptions, R as LLMTimeoutError, S as McpToolSchema, T as MemoryRetrievalBundle, U as MemoryRetrievalOptions, V as MemoryTier, W as MemoryTiersBundle, X as MemoryTiersOptions, Y as MemoryWithKGOptions, Z as MemoryWithTiersOptions, _ as MemoryWithVectorsOptions, $ as OpenAIToolSchema, a0 as PromptCallOptions, a1 as PromptNodeOptions, a2 as RedactorOptions, a3 as ResilientAdapterBundle, a4 as ResilientAdapterOptions, a5 as RetrievalEntry, a6 as RetrievalPipelineOptions, a7 as RetrievalQuery, a8 as RetrievalTrace, a9 as StampedDelta, aa as StrategyOperation, ab as StrategyPlan, ac as StreamingPromptNodeHandle, ad as StreamingPromptNodeOptions, ae as SuggestStrategyOptions, af as SystemPromptHandle, ag as ToolExecutionOptions, ah as ToolRegistryGraph, ai as ToolRegistryOptions, aj as ToolResult, ak as ToolSelectorOptions, al as WithBreakerOptions, am as WithBudgetGateOptions, an as WithDryRunBundle, ao as WithDryRunOptions, ap as WithRateLimiterOptions, aq as WithRetryOptions, ar as admissionFilter3D, as as admissionScored, at as agentLoop, au as agentMemory, av as anthropicAdapter, aw as chatStream, ax as contentGate, ay as costMeterExtractor, az as dryRunAdapter, aA as frozenContext, aB as gatedStream, aC as gaugesAsContext, aD as googleAdapter, aE as graphFromSpec, aF as graphFromSpecReactive, aG as handoff, aH as keywordFlagExtractor, aI as knobsAsTools, aJ as llmConsolidator, aK as llmExtractor, aL as memoryRetrieval, aM as memoryWithKG, aN as memoryWithTiers, aO as memoryWithVectors, aP as observableAdapter, aQ as parseRateLimitFromError, aR as promptCall, aS as promptNode, aT as redactor, aU as resilientAdapter, aV as streamExtractor, aW as streamingPromptNode, aX as suggestStrategy, aY as suggestStrategyReactive, aZ as systemPromptBuilder, a_ as toolCallExtractor, a$ as toolExecution, b0 as toolRegistry, b1 as toolSelector, b2 as validateGraphDef, b3 as withBreaker, b4 as withBudgetGate, b5 as withDryRun, b6 as withRateLimiter, b7 as withRetry, b8 as withTimeout } from '../../index-UPSiS-X7.cjs';
4
- export { F as FallbackAdapterOptions, a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy, R as ReplayCacheKeyContext, d as ReplayCacheMissError, e as ReplayCacheMode, W as WithReplayCacheOptions, f as canonicalJson, g as fallbackAdapter, w as withReplayCache } from '../../fallback-74oxi34l.cjs';
5
- export { c as CircuitOpenError } from '../../index-C1T3d7V-.cjs';
6
- export { f as DEFAULT_DECAY_RATE } from '../../decay-CFlLvXUT.cjs';
7
- import '../../node-kK3CvTrR.cjs';
8
- import '../../extra/sources.cjs';
9
- import '../../reactive-log-DIGdYqQ6.cjs';
10
- import '../../extra/storage-tiers.cjs';
11
- import '../../graph-CWvEUQAq.cjs';
12
- import '../../sugar-DQjFmVqb.cjs';
13
- import '../../extra/storage-core.cjs';
14
- import '../../index-C5ri2Axc.cjs';
15
- import '../../pipeline-graph-CIKhynsF.cjs';
16
- import '../../index-D0aciIex.cjs';
17
- import '../../index-B17QddL1.cjs';
18
- import '../../index-CS0LTlB8.cjs';
19
- import '../../content-addressed-storage-4-ST1tYk.cjs';
20
- import '../../reactive-map-CEFGp8TK.cjs';
1
+ export * from '@graphrefly/pure-ts/patterns/ai';
@@ -1,20 +1 @@
1
- export { e as CapabilitiesRegistry, C as ChatMessage, L as LLMAdapter, a as LLMInvokeOptions, b as LLMResponse, M as ModelCapabilities, f as ModelFeatures, g as ModelLimits, h as ModelPricing, i as PriceBreakdown, P as PricingFn, j as PricingRegistry, R as Rate, S as StreamDelta, k as TieredRate, T as TokenUsage, c as ToolCall, d as ToolDefinition, l as composePricing, m as computePrice, n as createCapabilitiesRegistry, o as createPricingRegistry, p as pricingFor, r as registryPricing, z as zeroPrice } from '../../types-CWFysE9E.js';
2
- export { A as AdapterProvider, b as AdapterTier, d as AllTiersExhaustedError, a as CascadeExhaustionReport, C as CascadingLlmAdapterOptions, e as CreateAdapterOptions, O as OpenAICompatAdapterOptions, f as OpenAICompatPreset, g as OpenAISdkLike, h as cascadingLlmAdapter, c as createAdapter, o as openAICompatAdapter, t as tier } from '../../cascading-MFgxu7Yo.js';
3
- export { A as AdapterStats, a as AdmissionScore3DOptions, b as AdmissionScoredOptions, c as AdmissionScores, d as AdmissionThresholds, e as AgentLoopGraph, f as AgentLoopOptions, g as AgentLoopStatus, h as AgentMemoryGraph, j as AgentMemoryOptions, k as AnthropicAdapterOptions, l as AnthropicSdkLike, B as BudgetCaps, m as BudgetExhaustedError, n as BudgetGateBundle, o as BudgetTotals, C as CallStatsEvent, p as ChatStreamGraph, q as ChatStreamOptions, r as ContentDecision, s as ContentGateOptions, t as CostMeterOptions, u as CostMeterReading, D as DryRunAdapterOptions, E as ExtractedToolCall, F as FrozenContextOptions, G as GatedStreamHandle, v as GatedStreamOptions, w as GaugesAsContextOptions, x as GoogleAdapterOptions, y as GoogleSdkLike, z as GoogleSdkRequestConfig, H as GoogleSdkRequestParams, I as GraphDefValidation, J as GraphFromSpecOptions, K as HandoffOptions, L as HttpErrorLike, M as KeywordFlag, N as KeywordFlagExtractorOptions, O as KnobsAsToolsResult, P as LLMConsolidatorOptions, Q as LLMExtractorOptions, R as LLMTimeoutError, S as McpToolSchema, T as MemoryRetrievalBundle, U as MemoryRetrievalOptions, V as MemoryTier, W as MemoryTiersBundle, X as MemoryTiersOptions, Y as MemoryWithKGOptions, Z as MemoryWithTiersOptions, _ as MemoryWithVectorsOptions, $ as OpenAIToolSchema, a0 as PromptCallOptions, a1 as PromptNodeOptions, a2 as RedactorOptions, a3 as ResilientAdapterBundle, a4 as ResilientAdapterOptions, a5 as RetrievalEntry, a6 as RetrievalPipelineOptions, a7 as RetrievalQuery, a8 as RetrievalTrace, a9 as StampedDelta, aa as StrategyOperation, ab as StrategyPlan, ac as StreamingPromptNodeHandle, ad as StreamingPromptNodeOptions, ae as SuggestStrategyOptions, af as SystemPromptHandle, ag as ToolExecutionOptions, ah as ToolRegistryGraph, ai as ToolRegistryOptions, aj as ToolResult, ak as ToolSelectorOptions, al as WithBreakerOptions, am as WithBudgetGateOptions, an as WithDryRunBundle, ao as WithDryRunOptions, ap as WithRateLimiterOptions, aq as WithRetryOptions, ar as admissionFilter3D, as as admissionScored, at as agentLoop, au as agentMemory, av as anthropicAdapter, aw as chatStream, ax as contentGate, ay as costMeterExtractor, az as dryRunAdapter, aA as frozenContext, aB as gatedStream, aC as gaugesAsContext, aD as googleAdapter, aE as graphFromSpec, aF as graphFromSpecReactive, aG as handoff, aH as keywordFlagExtractor, aI as knobsAsTools, aJ as llmConsolidator, aK as llmExtractor, aL as memoryRetrieval, aM as memoryWithKG, aN as memoryWithTiers, aO as memoryWithVectors, aP as observableAdapter, aQ as parseRateLimitFromError, aR as promptCall, aS as promptNode, aT as redactor, aU as resilientAdapter, aV as streamExtractor, aW as streamingPromptNode, aX as suggestStrategy, aY as suggestStrategyReactive, aZ as systemPromptBuilder, a_ as toolCallExtractor, a$ as toolExecution, b0 as toolRegistry, b1 as toolSelector, b2 as validateGraphDef, b3 as withBreaker, b4 as withBudgetGate, b5 as withDryRun, b6 as withRateLimiter, b7 as withRetry, b8 as withTimeout } from '../../index-CR8QpwX8.js';
4
- export { F as FallbackAdapterOptions, a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy, R as ReplayCacheKeyContext, d as ReplayCacheMissError, e as ReplayCacheMode, W as WithReplayCacheOptions, f as canonicalJson, g as fallbackAdapter, w as withReplayCache } from '../../fallback-DUyyBTBK.js';
5
- export { c as CircuitOpenError } from '../../index-B1F8Enjf.js';
6
- export { f as DEFAULT_DECAY_RATE } from '../../decay-BvOWTZ00.js';
7
- import '../../node-kK3CvTrR.js';
8
- import '../../extra/sources.js';
9
- import '../../reactive-log-BKALbfal.js';
10
- import '../../extra/storage-tiers.js';
11
- import '../../graph-D9LFnda9.js';
12
- import '../../sugar-fhLIE7TT.js';
13
- import '../../extra/storage-core.js';
14
- import '../../index-nozs3fFC.js';
15
- import '../../pipeline-graph-Sgj0gCwn.js';
16
- import '../../index-Yq60JP3s.js';
17
- import '../../index-CZ3r5Rxp.js';
18
- import '../../index-CMh5Rz1y.js';
19
- import '../../content-addressed-storage-DuYMjV7o.js';
20
- import '../../reactive-map-DS_SIAxv.js';
1
+ export * from '@graphrefly/pure-ts/patterns/ai';
@@ -1 +1,3 @@
1
- import{$ as ma,A as N,B as O,C as P,D as Q,E as R,F as S,G as T,H as U,I as V,J as W,K as X,L as Y,M as Z,N as _,O as $,P as aa,Q as ba,R as ca,S as da,T as ea,U as fa,V as ga,W as ha,X as ia,Y as ja,Z as ka,_ as la,a as c,aa as na,b as n,ba as oa,c as o,ca as pa,d as p,e as q,f as r,g as s,h as t,i as u,j as v,k as w,l as x,m as y,n as z,o as D,p as E,q as F,r as G,u as H,v as I,w as J,x as K,y as L,z as M}from"../../chunk-UNGSTR4X.js";import"../../chunk-CE6TI2TL.js";import"../../chunk-OIVP6KFV.js";import"../../chunk-ZKPSFFKU.js";import{a as d,b as k,c as l,d as m,e as A,f as B,g as C}from"../../chunk-OYQOZP2F.js";import{a as e,g as f,h as g,i as h,j as i,k as j}from"../../chunk-OPHBU3LG.js";import"../../chunk-APPIWSGD.js";import"../../chunk-Z4NPUARF.js";import"../../chunk-KZIEYVXN.js";import"../../chunk-PTZK576G.js";import{a as b}from"../../chunk-TSOYJ743.js";import"../../chunk-N4MQX6JU.js";import{e as a}from"../../chunk-D7GPHKFH.js";import"../../chunk-WJR24TAG.js";import"../../chunk-W3I423PS.js";import"../../chunk-L6NSJVJZ.js";import"../../chunk-2T7U5EU6.js";import"../../chunk-3G5U5QNE.js";import"../../chunk-C72GO4IZ.js";import"../../chunk-HITNVN6B.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-D5RFJOZ2.js";import"../../chunk-CE72X3WO.js";import"../../chunk-CLVB32RD.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-GHBWHMRZ.js";import"../../chunk-BEZWM2SY.js";import"../../chunk-YBB7ZGTY.js";import"../../chunk-CRVT7D2P.js";import"../../chunk-NTEURFZH.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";export{ga as AgentLoopGraph,A as AllTiersExhaustedError,v as BudgetExhaustedError,V as ChatStreamGraph,a as CircuitOpenError,b as DEFAULT_DECAY_RATE,i as FallbackMissError,E as LLMTimeoutError,f as ReplayCacheMissError,Z as ToolRegistryGraph,ba as admissionFilter3D,aa as admissionScored,ha as agentLoop,ia as agentMemory,d as anthropicAdapter,h as canonicalJson,B as cascadingLlmAdapter,W as chatStream,s as composePricing,p as computePrice,T as contentGate,P as costMeterExtractor,m as createAdapter,c as createCapabilitiesRegistry,q as createPricingRegistry,e as dryRunAdapter,j as fallbackAdapter,H as frozenContext,N as gatedStream,ja as gaugesAsContext,k as googleAdapter,ka as graphFromSpec,la as graphFromSpecReactive,X as handoff,Q as keywordFlagExtractor,ma as knobsAsTools,L as llmConsolidator,K as llmExtractor,fa as memoryRetrieval,da as memoryWithKG,ea as memoryWithTiers,ca as memoryWithVectors,n as observableAdapter,l as openAICompatAdapter,y as parseRateLimitFromError,t as pricingFor,J as promptCall,I as promptNode,U as redactor,r as registryPricing,G as resilientAdapter,R as streamExtractor,M as streamingPromptNode,na as suggestStrategy,oa as suggestStrategyReactive,O as systemPromptBuilder,C as tier,S as toolCallExtractor,Y as toolExecution,_ as toolRegistry,$ as toolSelector,pa as validateGraphDef,u as withBreaker,w as withBudgetGate,x as withDryRun,z as withRateLimiter,g as withReplayCache,D as withRetry,F as withTimeout,o as zeroPrice};
1
+ // src/patterns/ai/index.ts
2
+ export * from "@graphrefly/pure-ts/patterns/ai";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/patterns/ai/index.ts"],"sourcesContent":["// Phase 13.9.A shim — re-export from pure-TS sibling until\n// @graphrefly/native (napi binding) and per-milestone swap-overs land.\nexport * from \"@graphrefly/pure-ts/patterns/ai\";\n"],"mappings":";AAEA,cAAc;","names":[]}
@@ -1 +1,21 @@
1
- "use strict";var ce=Object.defineProperty;var xt=Object.getOwnPropertyDescriptor;var At=Object.getOwnPropertyNames;var St=Object.prototype.hasOwnProperty;var k=(t,e)=>()=>(t&&(e=t(t=0)),e);var Mt=(t,e)=>{for(var n in e)ce(t,n,{get:e[n],enumerable:!0})},Nt=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of At(e))!St.call(t,o)&&o!==n&&ce(t,o,{get:()=>e[o],enumerable:!(r=xt(e,o))||r.enumerable});return t};var Et=t=>Nt(ce({},"__esModule",{value:!0}),t);function Re(){return Math.trunc(performance.now()*1e6)}function D(){return Date.now()*1e6}var Y=k(()=>{"use strict"});var G,A,O,L,I,V,$,R,S,y,H,ye,Dt,me,It,Vt,be,De,Ie,Ve,ve,X=k(()=>{"use strict";G=Symbol.for("graphrefly/START"),A=Symbol.for("graphrefly/DATA"),O=Symbol.for("graphrefly/DIRTY"),L=Symbol.for("graphrefly/RESOLVED"),I=Symbol.for("graphrefly/INVALIDATE"),V=Symbol.for("graphrefly/PAUSE"),$=Symbol.for("graphrefly/RESUME"),R=Symbol.for("graphrefly/TEARDOWN"),S=Symbol.for("graphrefly/COMPLETE"),y=Symbol.for("graphrefly/ERROR"),H=Object.freeze([O]),ye=Object.freeze([L]),Dt=Object.freeze([I]),me=Object.freeze([G]),It=Object.freeze([S]),Vt=Object.freeze([R]),be=Object.freeze([H]),De=Object.freeze([ye]),Ie=Object.freeze([Dt]),Ve=Object.freeze([It]),ve=Object.freeze([Vt])});function Ge(t){t.registerCodec(Gt)}var Gt,He=k(()=>{"use strict";Gt={name:"json",version:1,contentType:"application/json",encode(t){let e=JSON.stringify(t);return new TextEncoder().encode(e)},decode(t,e){let n=new TextDecoder().decode(t);return JSON.parse(n)}}});function Z(t){if(t==null)return Ht;let{type:e,id:n,...r}=t;return{type:e??"system",id:n??"",...r}}var Ht,Ue=k(()=>{"use strict";Ht={type:"system",id:""}});function We(){return Te>0||Ut}function $e(){return Te>0}function ze(t){Te>0?jt.push(t):t()}function Q(t,e,n){if(e.length===0)return;if(e.length===1){let c=n(e[0][0]);if(c<3||!We()){t(e);return}(c>=5?Be:c===4?Ke:je).push(()=>t(e));return}let r=e.length,o=r,i=r,d=r,s=0;for(;s<r&&n(e[s][0])<3;)s++;for(o=s;s<r&&n(e[s][0])===3;)s++;for(i=s;s<r&&n(e[s][0])===4;)s++;d=s;let a=We();if(o>0){let c=e.slice(0,o);t(c)}if(i>o){let c=e.slice(o,i);a?je.push(()=>t(c)):t(c)}if(d>i){let c=e.slice(i,d);a?Ke.push(()=>t(c)):t(c)}if(r>d){let c=e.slice(d,r);a?Be.push(()=>t(c)):t(c)}}var Te,Ut,je,Ke,Be,jt,qe=k(()=>{"use strict";Te=0,Ut=!1,je=[],Ke=[],Be=[],jt=[]});function Ye(t){t.registerMessageType(G,{tier:0,wireCrossing:!1}),t.registerMessageType(O,{tier:1,wireCrossing:!1}),t.registerMessageType(I,{tier:1,wireCrossing:!1,metaPassthrough:!1}),t.registerMessageType(V,{tier:2,wireCrossing:!1}),t.registerMessageType($,{tier:2,wireCrossing:!1}),t.registerMessageType(A,{tier:3,wireCrossing:!0}),t.registerMessageType(L,{tier:3,wireCrossing:!0}),t.registerMessageType(S,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(y,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(R,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var ee,Je=k(()=>{"use strict";X();ee=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_rigorRecorder;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(e){this._rigorRecorder=e}registerMessageType(e,n){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(e){let n=this._messageTypes.get(e);return n!=null?n.tier:1}isWireCrossing(e){let n=this._messageTypes.get(e);return n!=null?n.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let n=this._messageTypes.get(e);return n!=null?n.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});var U,Xe=k(()=>{"use strict";U=class extends Error{actor;action;nodeName;constructor(e,n){super(n??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}}});function _e(t){if(t===void 0)return null;if(typeof t=="number"){if(!Number.isFinite(t))throw new TypeError(`Cannot hash non-finite number: ${t}`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${t}. Cross-language cid parity is not guaranteed for unsafe integers.`);return t}if(typeof t=="string"||typeof t=="boolean"||t===null)return t;if(Array.isArray(t))return t.map(_e);if(typeof t=="object"&&t!==null){let e={};for(let n of Object.keys(t).sort())e[n]=_e(t[n]);return e}return null}function Wt(t){let e=Bt.encode(t),n=e.length,r=n*8,o=n+9+63&-64,i=new Uint8Array(o);i.set(e),i[n]=128;let d=new DataView(i.buffer);d.setUint32(o-4,r>>>0,!1),d.setUint32(o-8,Math.floor(r/4294967296)>>>0,!1);let s=1779033703,a=3144134277,c=1013904242,l=2773480762,u=1359893119,p=2600822924,f=528734635,h=1541459225,m=new Uint32Array(64),v=(M,w)=>M>>>w|M<<32-w;for(let M=0;M<o;M+=64){for(let T=0;T<16;T++)m[T]=d.getUint32(M+T*4,!1);for(let T=16;T<64;T++){let B=m[T-15],W=m[T-2],q=v(B,7)^v(B,18)^B>>>3,de=v(W,17)^v(W,19)^W>>>10;m[T]=m[T-16]+q+m[T-7]+de>>>0}let w=s,E=a,N=c,g=l,b=u,C=p,F=f,ae=h;for(let T=0;T<64;T++){let B=v(b,6)^v(b,11)^v(b,25),W=b&C^~b&F,q=ae+B+W+Kt[T]+m[T]>>>0,de=v(w,2)^v(w,13)^v(w,22),wt=w&E^w&N^E&N,kt=de+wt>>>0;ae=F,F=C,C=b,b=g+q>>>0,g=N,N=E,E=w,w=q+kt>>>0}s=s+w>>>0,a=a+E>>>0,c=c+N>>>0,l=l+g>>>0,u=u+b>>>0,p=p+C>>>0,f=f+F>>>0,h=h+ae>>>0}let _=M=>M.toString(16).padStart(8,"0");return _(s)+_(a)+_(c)+_(l)+_(u)+_(p)+_(f)+_(h)}function we(t){let e=_e(t??null),n=JSON.stringify(e);return Wt(n).slice(0,16)}function $t(){let t=globalThis.crypto;if(t?.randomUUID)return t.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=e()+e()+e()+e();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function ke(t,e,n){let r=n?.id??$t();if(t===0)return{id:r,version:0};let i=(n?.hash??we)(e);return{id:r,version:0,cid:i,prev:null}}function Ze(t,e,n){t.version+=1,"cid"in t&&(t.prev=t.cid,t.cid=n(e))}var Kt,Bt,Qe=k(()=>{"use strict";Kt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Bt=new TextEncoder});function nt(t){return{node:t,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function xe(t){t.prevData=void 0,t.dirty=!1,t.involvedThisWave=!1,t.dataBatch.length=0,t.terminal=void 0}function te(t){return t.length===0?t:typeof t[0]=="symbol"?[t]:t}function ot(t,e,n){let r=rt(t)?t:[],o=typeof t=="function"?t:typeof e=="function"?e:void 0,i={};return rt(t)?i=(Ae(e)?e:n)??{}:Ae(t)?i=t:i=(Ae(e)?e:n)??{},new ne(r,o,i)}var et,tt,zt,qt,Se,ne,rt,Ae,st=k(()=>{"use strict";He();Ue();qe();Y();Je();Xe();X();Qe();et=()=>{},tt=100;zt=(t,e,n,r)=>{n.direction==="down-in"&&t._onDepMessage(n.depIndex,e)},qt=(t,e,n,r)=>{let o=t;if(o._status==="completed"||o._status==="errored")return;let i=o._cached,d=i===void 0?[me]:[me,[A,i]];o._status==="dirty"&&d.push(H),Q(e,d,o._config.tierOf)},Se=new ee({onMessage:zt,onSubscribe:qt});Ye(Se);Ge(Se);ne=class t{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,n,r){this._config=r.config??Se,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=e.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??we;let o=r.versioning??this._config.defaultVersioning;this._versioningLevel=o,this._versioning=o!=null?ke(o,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(nt);let i={};for(let[s,a]of Object.entries(r.meta??{})){let c={initial:a,name:`${r.name??"node"}:meta:${s}`,describeKind:"state",config:this._config};r.guard!=null&&(c.guard=r.guard),r.resubscribable===!0&&(c.resubscribable=!0),i[s]=new t([],void 0,c)}Object.freeze(i),this.meta=i,this._hasMeta=Object.keys(i).length>0;let d=this;this._actions={emit(s){d._emit([[A,s]])},down(s){d._emit(te(s))},up(s){d._emitUp(te(s))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&e<=r)return;let o=n?.hash??this._hashFn;o!==this._hashFn&&(this._hashFn=o);let i=this._cached===void 0?void 0:this._cached,d=this._versioning,s=d?.id??n?.id,a=d?.version??0,c=ke(e,i,{id:s,hash:o});c.version=a,this._versioning=c,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let n=Z(e);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=e?.actor!=null;if(!n&&!r)return;let o=Z(e?.actor),i=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(o,i))throw new U({actor:o,action:i,nodeName:this.name});if(this._extraGuards!=null){for(let d of this._extraGuards)if(!d(o,i))throw new U({actor:o,action:i,nodeName:this.name})}this._lastMutation={actor:o,timestamp_ns:D()}}down(e,n){let r=te(e);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(e,n){this._checkGuard(n),this._emit([[A,e]])}up(e,n){if(this._deps.length===0)return;let r=te(e);if(r.length===0)return;this._checkGuard(n);let o=n??{internal:!0};this._validateUpTiers(r);for(let i of this._deps)i.node.up?.(r,o)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let n of this._deps)n.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let n=this._config.tierOf;for(let r of e){let o=n(r[0]);if(o===3||o===4)throw new Error(`Node "${this.name}": tier-${o} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,n){if(n!=null&&this._guard!=null){let a=Z(n);if(!this._guard(a,"observe"))throw new U({actor:a,action:"observe",nodeName:this.name})}let o=this._isTerminal&&this._resubscribable;if(o){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let a of this._deps)xe(a);if(this._partial===!1){for(let a of this._deps)if(a.prevData!==void 0||a.dataBatch.length!==0||a.terminal!==void 0||a.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let i;try{i=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:o},this._actions)}catch(a){throw this._sinkCount-=1,a}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let d=this._isTerminal;if(this._sinkCount===1&&!d)try{this._activate()}catch(a){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof i=="function")try{i()}catch{}throw a}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let s=!1;return()=>{s||(s=!0,this._sinkCount-=1,this._removeSink(e),typeof i=="function"&&i(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,n=0;try{for(let r=0;r<e;r++){let o=r,i=this._deps[r];i.unsub=et,i.unsub=i.node.subscribe(d=>{if(i.unsub===null)return;let s=this._config.tierOf,a=!1;for(let c of d)s(c[0])>=3&&(a=!0),this._config.onMessage(this,c,{direction:"down-in",depIndex:o},this._actions);a&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let o=0;o<n;o++){let i=this._deps[o];if(i.unsub!=null){let d=i.unsub;i.unsub=null;try{d()}catch{}xe(i)}}throw this._dirtyDepCount=0,r}}_addDep(e){for(let o=0;o<this._deps.length;o++)if(this._deps[o].node===e)return o;let n=this._deps.length,r=nt(e);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(be),r.unsub=et;try{r.unsub=e.subscribe(o=>{if(r.unsub===null)return;let i=this._config.tierOf,d=!1;for(let s of o)i(s[0])>=3&&(d=!0),this._config.onMessage(this,s,{direction:"down-in",depIndex:n},this._actions);d&&this._maybeRunFnOnSettlement()})}catch(o){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,o}return n}_deactivate(e=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[y,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(o){this._emit([[y,this._wrapFnError("cleanup.deactivate threw",o)]])}}for(let r of this._deps){if(r.unsub!=null){let o=r.unsub;r.unsub=null;try{o()}catch{}}xe(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,n){let r=this._deps[e],o=n[0];if(this._inspectorHooks!=null){let i={kind:"dep_message",depIndex:e,message:n};for(let d of this._inspectorHooks)d(i)}if(o!==G){if(o===O){this._depDirtied(r);return}if(o===I){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Ie);return}if(o===V||o===$){this._emit([n]);return}if(o===R){this._emit(ve);return}if(o===A)this._depSettledAsData(r,n[1]);else if(o===L)this._depSettledAsResolved(r);else if(o===S)this._depSettledAsTerminal(r,!0);else if(o===y)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(o===A||o===L)&&this._emit([n]),(o===S||o===y)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(be))}_depSettledAsData(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=n,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let n=this._deps[e];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(De),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(e!=null){this._autoError&&this._emit([[y,e.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Ve)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(d){this._emit([[y,this._wrapFnError("cleanup threw",d)]]);return}}else if(e!=null&&typeof e=="object"){let d=e.beforeRun;if(typeof d=="function"){e.beforeRun=void 0;try{d()}catch(s){this._emit([[y,this._wrapFnError("cleanup.beforeRun threw",s)]]);return}}}let n=this._deps.map(d=>d.involvedThisWave?d.dataBatch.length>0?[...d.dataBatch]:[]:void 0),r=this._deps.map(d=>d.prevData);for(let d=0;d<this._deps.length;d++){let s=n[d];s!=null&&s.length>0&&(this._deps[d].prevData=s[s.length-1])}let o=this._deps.map(d=>d.terminal),i={prevData:r,terminalDeps:o,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let d={kind:"run",batchData:n,prevData:r};for(let s of this._inspectorHooks)s(d)}this._isExecutingFn=!0;try{let d=this._fn(n,this._actions,i);if(typeof d=="function")this._cleanup=d;else if(d!=null&&typeof d=="object"){let s=d;(typeof s.beforeRun=="function"||typeof s.deactivate=="function"||typeof s.invalidate=="function")&&(this._cleanup=d)}}catch(d){this._emit([[y,this._wrapFnError("fn threw",d)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>tt?(this._rerunDepth=0,this._emit([[y,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${tt} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${e}: ${r}`,{cause:n})}_frameBatch(e){let n=this._config.tierOf;if(e.length===1)return n(e[0][0])===3&&this._status!=="dirty"?[H,e[0]]:e;let r=!0,o=!1,i=!1,d=-1;for(let a of e){let c=n(a[0]);c<d&&(r=!1),c===3&&(o=!0),a[0]===O&&(i=!0),d=c}let s=e;if(!r){let a=e.map((c,l)=>({m:c,i:l,tier:n(c[0])}));a.sort((c,l)=>c.tier-l.tier||c.i-l.i),s=a.map(c=>c.m)}if(o&&!i&&this._status!=="dirty"){let a=0;for(;a<s.length&&n(s[a][0])===0;)a++;return a===0?[H,...s]:[...s.slice(0,a),H,...s.slice(a)]}return s}_emit(e){if(e.length===0)return;for(let s=0;s<e.length;s++){let a=e[s];if(a[0]===y&&a[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=e;if(this._isTerminal&&!this._resubscribable){let s=e.filter(a=>a[0]===R||a[0]===I);if(s.length===0)return;n=s}n=this._frameBatch(n);let o=null;for(let s=0;s<n.length;s++){let a=n[s],c=a[0];if(c!==V&&c!==$){o?.push(a);continue}if(a.length<2)throw new Error(`Node "${this.name}": [[${c===V?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let l=!0;if(this._pausable!==!1){let u=a[1];if(c===V)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(u),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(u))l=!1;else if(this._pauseLocks.delete(u),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let p=this._pauseBuffer;this._pauseBuffer=[],this._emit(p)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}l?o?.push(a):o==null&&(o=n.slice(0,s))}if(o!=null){if(o.length===0)return;n=o}if(this._hasMeta&&n.some(s=>s[0]===R))for(let s of Object.keys(this.meta))try{this.meta[s]._emit(ve)}catch{}let{finalMessages:i,equalsError:d}=this._updateState(n);if(i.length>0&&this._config.inspectorEnabled){let s=this._config.globalInspector;if(s!=null)try{s({kind:"emit",node:this,messages:i})}catch{}}if(i.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let s=this._config.tierOf,a=[];for(let c of i)s(c[0])===3?this._pauseBuffer.push(c):a.push(c);a.length>0&&this._dispatchOrAccumulate(a)}else this._dispatchOrAccumulate(i);d!=null&&this._emit([[y,d]])}_updateState(e){let n=this._config.tierOf,r,o,i=-1,d=0;for(let l of e)n(l[0])===3&&d++;let s=d<=1,a=-1;if(this._versioning!=null&&d>1){for(let l=e.length-1;l>=0;l--)if(e[l][0]===A){a=l;break}}for(let l=0;l<e.length;l++){let u=e[l],p=u[0];if(p===A){if(u.length>=2){let f=!1;if(s&&this._cached!==void 0)try{f=this._equals(this._cached,u[1])}catch(h){o=this._wrapFnError("equals threw",h),i=l;break}if(f){r==null&&(r=e.slice(0,l)),r.push(ye),this._status="resolved";continue}this._cached=u[1],this._versioning!=null&&(a<0||l===a)&&Ze(this._versioning,u[1],this._hashFn)}this._status="settled",r?.push(u)}else if(r?.push(u),p===O)this._status="dirty";else if(p===L)this._status="resolved";else if(p===S){this._status="completed";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"completed",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===y){this._status="errored";{let f=this._config.rigorRecorder;if(f!=null)try{f.onTerminalTransition(this,"errored",this._autoComplete,this._autoError,this._deps.length>0)}catch{}}}else if(p===I){if(this._cached!==void 0){let h=this._config.rigorRecorder;if(h!=null)try{h.onNonVacuousInvalidate(this,this._cached)}catch{}}this._cached=void 0,this._status="dirty";let f=this._cleanup;if(typeof f=="function"){this._cleanup=void 0;try{f()}catch{}}else if(f!=null&&typeof f=="object"){let h=f.invalidate;if(typeof h=="function")try{h()}catch{}}}else p===R&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let c=i>=0?r??e.slice(0,i):r??e;return o!=null?{finalMessages:c,equalsError:o}:{finalMessages:c}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let n=[...this._sinks];for(let r of n)r(e)};_dispatchOrAccumulate(e){if($e()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],ze(()=>this._flushBatchPending()));for(let n of e)this._batchPendingMessages.push(n);return}Q(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let n=this._frameBatch(e);Q(this._deliverToSinks,n,this._config.tierOf)}},rt=t=>Array.isArray(t),Ae=t=>typeof t=="object"&&t!=null&&!Array.isArray(t)});function re(t,e){return ot((r,o,i)=>t(o,i)??void 0,{describeKind:"producer",...e})}var it=k(()=>{"use strict";st()});function Me(t){return{describeKind:"producer",...t}}function at(t,e){return re(n=>{let r=!1;try{for(let o of t){if(r)return;n.emit(o)}r||n.down([[S]])}catch(o){r||n.down([[y,o]])}return()=>{r=!0}},Me(e))}function Yt(t){return t!=null&&typeof t.then=="function"}function Jt(t,e){let{signal:n,...r}=e??{};return re(o=>{let i=!1,d=()=>{i||(i=!0,o.down([[y,n.reason]]))};if(n?.aborted){d();return}return n?.addEventListener("abort",d,{once:!0}),Promise.resolve(t).then(s=>{i||(i=!0,n?.removeEventListener("abort",d),o.emit(s),o.down([[S]]))},s=>{i||(i=!0,n?.removeEventListener("abort",d),o.down([[y,s]]))}),()=>{i=!0,n?.removeEventListener("abort",d)}},Me(r))}function Xt(t,e){let{signal:n,...r}=e??{};return re(o=>{let i=new AbortController,d=()=>i.abort(n?.reason);n?.aborted?i.abort(n.reason):n?.addEventListener("abort",d,{once:!0});let s=n??i.signal,a=!1,c=t[Symbol.asyncIterator](),l=()=>{a||s.aborted||Promise.resolve(c.next()).then(u=>{if(!(a||s.aborted)){if(u.done){o.down([[S]]);return}o.emit(u.value),l()}},u=>{!a&&!s.aborted&&o.down([[y,u]])})};return l(),()=>{a=!0,n?.removeEventListener("abort",d),i.abort(),Promise.resolve(c.return?.()).catch(()=>{})}},Me(r))}function Zt(t){return t!=null&&typeof t=="object"&&"cache"in t&&typeof t.subscribe=="function"}function Ne(t,e){if(Zt(t))return t;if(Yt(t))return Jt(t,e);if(t!=null){let n=t;if(typeof n[Symbol.asyncIterator]=="function")return Xt(t,e);if(typeof n[Symbol.iterator]=="function")return at(t,e)}return Qt(t)}function Qt(...t){return at(t,void 0)}function oe(t){return new Promise((e,n)=>{let r=!1,o=!1,i;i=t.subscribe(d=>{for(let s of d){if(r)return;if(s[0]===A){r=!0,e(s[1]),i?(i(),i=void 0):o=!0;return}if(s[0]===y){r=!0,n(s[1]),i?(i(),i=void 0):o=!0;return}if(s[0]===S){r=!0,n(new Error("completed without DATA")),i?(i(),i=void 0):o=!0;return}}}),o&&(i?.(),i=void 0)})}var dt=k(()=>{"use strict";X();it()});var Ee=k(()=>{"use strict";dt()});var j,Ce=k(()=>{"use strict";j=class{_timer;_gen=0;start(e,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},e)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});var sn={};Mt(sn,{fallbackAdapter:()=>_t});module.exports=Et(sn);var K=require("node:fs"),ie=require("node:path");var Le=require("node:crypto"),x=require("node:fs"),P=require("node:path"),Ft=require("node:sqlite");function le(t){if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(le);let e=t,n=Object.keys(e).sort(),r={};for(let o of n)r[o]=le(e[o]);return r}function Oe(t){return JSON.stringify(le(t),void 0,0)}var Ct=new TextEncoder,Ot=new TextDecoder("utf-8",{fatal:!0}),Lt={name:"json",version:1,encode(t){return Ct.encode(Oe(t))},decode(t){return JSON.parse(Ot.decode(t))}};function Rt(){let t=new Map;return{name:"memory",read(e){let n=t.get(e);return n===void 0?void 0:new Uint8Array(n)},write(e,n){t.set(e,new Uint8Array(n))},delete(e){t.delete(e)},list(e){let n=[...t.keys()];return e?n.filter(r=>r.startsWith(e)).sort():n.sort()}}}function ue(t,e={}){let n=e.codec??Lt,r=e.name??t.name??"kv",o=e.compactEvery,i=new Map,d=0,s={name:r,debounceMs:e.debounceMs,compactEvery:o,filter:e.filter,save(c,l){if(!(e.filter&&!e.filter(c,l))&&(i.set(c,l),d+=1,o!==void 0&&d%o===0||!e.debounceMs))return a()},load(c){let l=t.read(c);if(l!==void 0)return l instanceof Uint8Array?l.length===0?void 0:n.decode(l):Promise.resolve(l).then(u=>u===void 0||u.length===0?void 0:n.decode(u))},delete(c){if(i.delete(c),!!t.delete)return t.delete(c)},list(c){return t.list?t.list(c):[]},async flush(){await a()},async rollback(){i=new Map}};function a(){if(i.size===0)return;let c=i;i=new Map;let l=[];for(let[u,p]of c){let f=n.encode(p),h=t.write(u,f);h instanceof Promise&&l.push(h)}if(l.length>0)return Promise.all(l).then(()=>{})}return s}function fe(t){return ue(Rt(),t)}function Pt(t){let e=new TextEncoder,n=new TextDecoder("utf-8",{fatal:!0}),r=i=>{let d="";for(let s of i){if(s.length===1&&/[a-zA-Z0-9_-]/.test(s)){d+=s;continue}for(let a of e.encode(s))d+=`%${a.toString(16).padStart(2,"0")}`}return(0,P.join)(t,`${d}.bin`)},o=i=>{if(!i.endsWith(".bin"))return null;let d=i.slice(0,-4),s=[],a=l=>{for(let u=0;u<l.length;u++)s.push(l.charCodeAt(u))},c=0;for(;c<d.length;){let l=d[c];if(l==="%"&&c+2<d.length){let u=d.slice(c+1,c+3);if(/^[0-9a-f]{2}$/i.test(u)){s.push(Number.parseInt(u,16)),c+=3;continue}}a(l),c+=1}try{return n.decode(new Uint8Array(s))}catch{return null}};return{name:`file:${t}`,read(i){try{let d=(0,x.readFileSync)(r(i));return new Uint8Array(d.buffer,d.byteOffset,d.byteLength)}catch{return}},write(i,d){(0,x.mkdirSync)(t,{recursive:!0});let s=r(i),a=(0,P.basename)(s),c=(0,P.dirname)(s),l=(0,P.join)(c,`.${a}.${(0,Le.randomBytes)(8).toString("hex")}.tmp`);try{(0,x.writeFileSync)(l,d),(0,x.renameSync)(l,s)}catch(u){try{(0,x.unlinkSync)(l)}catch{}throw u}},delete(i){try{(0,x.unlinkSync)(r(i))}catch(d){if(d.code!=="ENOENT")throw d}},list(i){try{let d=(0,x.readdirSync)(t),s=[];for(let a of d){if(a.startsWith("."))continue;let c=o(a);c!==null&&(i!==void 0&&!c.startsWith(i)||s.push(c))}return s.sort()}catch(d){if(d.code==="ENOENT")return[];throw d}}}}function pe(t,e){return ue(Pt(t),e)}Y();async function J(t){let e=typeof t=="string"?new TextEncoder().encode(t):t,n=await globalThis.crypto.subtle.digest("SHA-256",e),r=new Uint8Array(n),o="";for(let i=0;i<r.length;i++)o+=Fe[r[i]];return o}var Fe=new Array(256);for(let t=0;t<256;t++)Fe[t]=t.toString(16).padStart(2,"0");Y();var he=class extends Error{constructor(n,r){super(`content-addressed lookup miss in read-strict mode: ${n}`);this.key=n;this.context=r;this.name="ContentAddressedMissError"}};function ge(t){let e=new Set,n=r=>{if(r===null||typeof r!="object")return r;let o=r;if(e.has(o))return{__cycle:!0};e.add(o);try{if(Array.isArray(r))return r.map(n);let i={};for(let d of Object.keys(r).sort())i[d]=n(r[d]);return i}finally{e.delete(o)}};return JSON.stringify(n(t))}function Pe(t){let{storage:e,keyContext:n,keyPrefix:r,mode:o="read-write"}=t,i=n??(s=>s);async function d(s){let a=ge(i(s)),c=await J(a);return r?`${r}:${c}`:c}return{keyFor:d,async lookup(s){if(o==="write")return;let a=await d(s),c=await e.load(a);if(c===void 0){if(o==="read-strict")throw new he(a,s);return}return c},async store(s,a){if(o==="read")return;let c=await d(s);await e.save(c,a)},async forget(s){if(o==="read"||o==="write"||!e.delete)return;let a=await d(s);await e.delete(a)}}}Ee();function ct(t,e={}){let n=e.keyFn??(o=>String(o)),r=new Map;return o=>{let i=n(o),d=r.get(i);if(d)return d;let s=t(o),a;s!=null&&typeof s.then=="function"?a=Promise.resolve(s):s!=null&&typeof s=="object"&&"subscribe"in s&&"cache"in s?a=oe(s):s!=null&&typeof s=="object"&&Symbol.asyncIterator in s?a=(async()=>{let u=s[Symbol.asyncIterator]();try{let{value:p,done:f}=await u.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return p}finally{await u.return?.()}})():s!=null&&typeof s=="object"&&Symbol.iterator in s?a=(async()=>{let u=s[Symbol.iterator]();try{let{value:p,done:f}=u.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return p}finally{u.return?.()}})():a=Promise.resolve(s);let c,l=()=>{r.get(i)===c&&r.delete(i)};return c=a.then(u=>(l(),u),u=>{throw l(),u}),r.set(i,c),c}}Ee();Ce();function lt(t){let{storage:e,mode:n="read-write",keyFn:r,keyPrefix:o="llm-replay"}=t,d=Pe({storage:e,keyPrefix:o,mode:n==="read-strict"?"read":n,keyContext:({messages:a,opts:c})=>{let{signal:l,keyContext:u,...p}=c??{};return{messages:a,opts:p}}});async function s(a,c){if(r){if(r.length<=1){let u={messages:a,opts:c,context:c?.keyContext},p=await r(u);return`${o}:${p}`}let l=await r(a,c);return`${o}:${l}`}return d.keyFor({messages:a,opts:c})}return{keyFor:s,async lookup(a,c){if(n!=="write"){if(r){let l=await s(a,c),u=await e.load(l);return u===void 0?void 0:u}return d.lookup({messages:a,opts:c})}},async store(a,c,l){if(n!=="read"){if(r){let u=await s(a,c);await e.save(u,l);return}await d.store({messages:a,opts:c},l)}},async forget(a,c){if(!(n==="read"||n==="write")&&e.delete){if(r){let l=await s(a,c);await e.delete(l);return}await d.forget({messages:a,opts:c})}}}}function ut(t,e,n){return{provider:n?.provider??t.provider,model:n?.model??t.model,capabilities:n?.capabilities??t.capabilities?.bind(t),invoke:e.invoke,stream:e.stream}}var ft=Symbol.for("graphrefly.adapter.middlewareLayers");function pt(t,e,n){let o=[...n?en(n):[],e];return Object.defineProperty(t,ft,{value:Object.freeze(o),enumerable:!1,writable:!1,configurable:!1}),t}function en(t){let e=t[ft];return Array.isArray(e)?e:[]}var z=class extends Error{constructor(n,r){super(`withReplayCache: no cached response for ${r} (key=${n}, mode=read-strict)`);this.key=n;this.method=r}name="ReplayCacheMissError"};function ht(t,e){let n=e.mode??"read-write",r=e.cacheStreaming??!1,o=e.captureStreamCadence??!1,i=e.replaySpeed??1,d=e.keyPrefix??"llm-replay",s=n==="read"||n==="read-strict",a=lt({storage:e.storage,mode:n==="write-only"?"write":n,keyFn:e.keyFn,keyPrefix:d}),c=p=>p<=0?Promise.resolve():new Promise(f=>{new j().start(p,()=>f())}),l=ct(async({messages:p,invokeOpts:f})=>await oe(Ne(t.invoke(p,f))),{keyFn:({_precomputedKey:p})=>p}),u=ut(t,{async invoke(p,f){let h=await a.keyFor(p,f),m=await a.lookup(p,f);if(m?.response){let _=m.response;return{..._,metadata:{..._.metadata??{},replayCache:"hit"}}}if(n==="read-strict")throw new z(h,"invoke");let v=await l({messages:p,invokeOpts:f,_precomputedKey:h});return s||await a.store(p,f,{response:v,storedAtNs:D()}),v},async*stream(p,f){if(!r){for await(let g of t.stream(p,f))yield g;return}let h=await a.keyFor(p,f),m=await a.lookup(p,f);if(m){let g=m.response;if(m.streamChunks&&m.streamCadenceMs)for(let b=0;b<m.streamChunks.length;b++){let C=m.streamCadenceMs[b]??0,F=i>0?C/i:0;F>0&&await c(F),yield{type:"token",delta:m.streamChunks[b]?.delta??""}}else g.content&&(yield{type:"token",delta:g.content});g.usage&&(yield{type:"usage",usage:g.usage}),yield{type:"finish",reason:g.finishReason??"stop"};return}if(n==="read-strict")throw new z(h,"stream");let v="",_,M,w=[],E=[],N;for await(let g of t.stream(p,f)){if(g.type==="token"&&(v+=g.delta,o)){let b=Re(),C=N===void 0?0:(b-N)/1e6;E.push(C),N=b,w.push({delta:g.delta})}g.type==="usage"&&(_=g.usage),g.type==="finish"&&(M=g.reason),yield g}if((v||_)&&!s){let b={response:{content:v,usage:_??{input:{regular:0},output:{regular:0}},finishReason:M,model:t.model??f?.model??"",provider:t.provider},storedAtNs:D(),...o?{streamChunks:w,streamCadenceMs:E}:{}};await a.store(p,f,b)}}});return pt(u,"withReplayCache",t),u}var gt=ge;Ce();function se(){let t=new Error("aborted");return t.name="AbortError",t}function yt(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(se()):new Promise((n,r)=>{let o=new j,i,d=()=>{o.cancel(),e&&i&&e.removeEventListener("abort",i)};o.start(t,()=>{d(),n()}),e&&(i=()=>{d(),r(se())},e.addEventListener("abort",i,{once:!0}))})}function mt(t={}){let e=t.provider??"dry-run",n=t.model??"dry-run-v1",r=t.latencyMs??0,o=Math.max(1,t.streamChunkSize??16),i=t.respond??(s=>{let a=[...s].reverse().find(c=>c.role==="user");return a?`echo: ${a.content}`:"dry-run: no user message"}),d=t.usage??((s,a)=>{let c=s.reduce((l,u)=>l+u.content.length,0);return{input:{regular:Math.ceil(c/4)},output:{regular:Math.ceil(a.length/4)}}});return{provider:e,model:n,async invoke(s,a){if(await yt(r,a?.signal),a?.signal?.aborted)throw se();let c=i(s,a),l=d(s,c);return{content:c,usage:l,finishReason:"stop",model:a?.model??n,provider:e,tier:a?.tier,metadata:{dryRun:!0}}},async*stream(s,a){let c=i(s,a),l=d(s,c),u=Math.ceil(c.length/o)||1,p=r>0?r/u:0;for(let f=0;f<c.length;f+=o){if(a?.signal?.aborted)throw se();await yt(p,a?.signal),yield{type:"token",delta:c.slice(f,f+o)}}yield{type:"usage",usage:l},yield{type:"finish",reason:"stop"}}}}function bt(t,e){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:e,provider:t,metadata:{degraded:!0,reason:"no-fixture"}}}function vt(t,e,n){return typeof t=="string"?{content:t,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:n,provider:e,metadata:{degraded:!0,reason:"respond"}}:t}async function tn(t,e){if("key"in t)return t.key;let n=gt({messages:t.messages,opts:t.invokeOpts??{}}),r=await J(n);return`${e}:${r}`}function nn(t){let e={response:t.response,storedAtNs:D()};if("key"in t&&t.stream){let n=t.stream.chunks.filter(r=>r.type==="token");return{...e,streamChunks:n.map(r=>({delta:r.delta})),streamCadenceMs:t.stream.delaysMs??n.map(()=>0)}}return e}function rn(t,e){let n=[];if(t.fixtures!=null&&n.push("fixtures"),t.fixturesStorage!=null&&n.push("fixturesStorage"),n.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\` and \`fixturesStorage\` are mutually exclusive; got both ${n.join(" and ")}. Pick one source. For filesystem directories use the node subpath's \`fallbackAdapter\`.`);if(t.fixtures){let r=fe(),o=t.fixtures,i=(async()=>{for(let d of o){let s=await tn(d,e);await r.save(s,nn(d))}})();return i.catch(()=>{}),{tier:r,seedReady:i}}return t.fixturesStorage?{tier:t.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Tt(t={}){let e=t.provider??"fallback",n=t.model??"fallback",r=t.onMiss??"respond",o=t.keyPrefix??"fallback",i=t.record?t.record.adapter:r==="throw"?mt({provider:e,model:n,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:e,model:n,async invoke(l,u){let p=t.respond?t.respond(l,u):bt(e,n);return vt(p,e,n)},async*stream(l,u){let p=t.respond?t.respond(l,u):bt(e,n),f=vt(p,e,n);yield{type:"token",delta:f.content},f.usage&&(yield{type:"usage",usage:f.usage}),yield{type:"finish",reason:f.finishReason??"stop"}}},d,s=Promise.resolve();if(t.record){if(!t.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");d=t.record.storage}else{let l=rn(t,o);d=l.tier??fe(),s=l.seedReady}let a=t.record?"read-write":r==="throw"?"read-strict":"read",c=ht(i,{storage:d,mode:a,keyPrefix:o,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:t.replaySpeed,...t.keyFn?{keyFn:t.keyFn}:{}});return{provider:e,model:n,capabilities:c.capabilities?.bind(c),async invoke(l,u){return await s,c.invoke(l,u)},async*stream(l,u){await s;for await(let p of c.stream(l,u))yield p}}}function on(t){if(!(0,K.existsSync)(t))return;let e=(0,K.readdirSync)(t).filter(a=>a.endsWith(".json"));if(e.length===0)return;let n=e[0],r=(0,ie.join)(t,n),o;try{o=JSON.parse((0,K.readFileSync)(r,"utf8"))}catch(a){throw new TypeError(`fallbackAdapter: ${r} is not valid JSON (${a.message}).`)}let i=o,d=i!=null&&"messages"in i,s=i==null||typeof i.response?.content!="string"||typeof i.storedAtNs!="number";if(d||s){let a=d?"`messages` at the top level means this looks hand-authored. ":"";throw new TypeError(`fallbackAdapter: ${r} is not in cache-file format. ${a}Expected \`{ response: { content, usage, ... }, storedAtNs, ... }\` (the shape \`withReplayCache\` and this adapter's \`record\` mode write). For hand-authored fixtures, use the inline \`fixtures: FallbackFixture[]\` option \u2014 the adapter hashes messages for you.`)}}function _t(t={}){let e=t.keyPrefix??"fallback",n=[];if(t.fixtures!=null&&n.push("fixtures"),t.fixturesDir!=null&&n.push("fixturesDir"),t.fixturesStorage!=null&&n.push("fixturesStorage"),n.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\`, \`fixturesDir\`, and \`fixturesStorage\` are mutually exclusive; got both ${n.join(" and ")}. Pick one source.`);let r=t.fixturesStorage;if(t.fixturesDir!=null){let c=(0,ie.join)(t.fixturesDir,e);on(c),r=pe(c)}let o;if(t.record){if(t.record.storage&&t.record.dir)throw new TypeError("fallbackAdapter: `record.storage` and `record.dir` are mutually exclusive; pick one.");if(t.record.storage)o={adapter:t.record.adapter,storage:t.record.storage};else{let c=t.record.dir??t.fixturesDir;if(c==null)throw new TypeError("fallbackAdapter: record mode requires either `record.dir`, `record.storage`, or an inherited `fixturesDir`.");o={adapter:t.record.adapter,storage:pe((0,ie.join)(c,e))}}}let{fixturesDir:i,record:d,...s}=t,a={...s,...r?{fixturesStorage:r}:{},...o?{record:o}:{}};return Tt(a)}0&&(module.exports={fallbackAdapter});
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+
17
+ // src/patterns/ai/node.ts
18
+ var node_exports = {};
19
+ module.exports = __toCommonJS(node_exports);
20
+ __reExport(node_exports, require("@graphrefly/pure-ts/patterns/ai/node"), module.exports);
21
+ //# sourceMappingURL=node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/patterns/ai/node.ts"],"sourcesContent":["// Phase 13.9.A shim — re-export from pure-TS sibling until\n// @graphrefly/native (napi binding) and per-milestone swap-overs land.\nexport * from \"@graphrefly/pure-ts/patterns/ai/node\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAEA,yBAAc,iDAFd;","names":[]}
@@ -1,59 +1 @@
1
- import { KvStorageTier } from '../../extra/storage-tiers.cjs';
2
- import { L as LLMAdapter } from '../../types-C0_yquda.cjs';
3
- import { F as FallbackAdapterOptions } from '../../fallback-74oxi34l.cjs';
4
- export { a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy } from '../../fallback-74oxi34l.cjs';
5
- import '../../node-kK3CvTrR.cjs';
6
- import '../../extra/sources.cjs';
7
- import '../../content-addressed-storage-4-ST1tYk.cjs';
8
-
9
- /**
10
- * Node-subpath extension of {@link fallbackAdapter} — adds filesystem
11
- * directory convenience options (`fixturesDir`, `record.dir`) that rely on
12
- * `node:fs` / `node:path` / `fileKv`.
13
- *
14
- * This module intentionally lives outside the main `patterns/ai` entry so
15
- * browser bundles don't pull `node:fs` / `node:path`. Import this variant
16
- * from `@graphrefly/graphrefly/patterns/ai/node` in Node
17
- * environments when you want the ergonomic directory options.
18
- *
19
- * @module
20
- */
21
-
22
- /**
23
- * Options for the node-only `fallbackAdapter`. Adds `fixturesDir` and
24
- * `record.dir` to the base options.
25
- */
26
- interface NodeFallbackAdapterOptions extends Omit<FallbackAdapterOptions, "record"> {
27
- /**
28
- * Directory of cache-format JSON files. Auto-namespaced to
29
- * `join(dir, keyPrefix)` so multiple adapters pointing at the same root
30
- * don't commingle files. Init-time validator throws a clear `TypeError`
31
- * if the namespaced subdirectory contains files that aren't in cache
32
- * format. Mutually exclusive with `fixtures` and `fixturesStorage`.
33
- */
34
- readonly fixturesDir?: string;
35
- /**
36
- * Record mode — same as the base, with `dir` as a convenience sibling to
37
- * `storage`. `dir` auto-namespaces to `join(dir, keyPrefix)`; `storage` is
38
- * pass-through. If `dir` is omitted and `fixturesDir` is set, record
39
- * defaults to writing to `fixturesDir` — the "read baseline, append
40
- * misses to same dir" pattern.
41
- */
42
- readonly record?: {
43
- readonly adapter: LLMAdapter;
44
- readonly dir?: string;
45
- readonly storage?: KvStorageTier;
46
- };
47
- }
48
- /**
49
- * Node-only `fallbackAdapter` — the base variant extended with `fixturesDir`
50
- * and `record.dir` filesystem convenience options. Resolves those to
51
- * `fileKv(...)` tiers and delegates to the base `fallbackAdapter`.
52
- *
53
- * For browser-safe usage, import `fallbackAdapter` from
54
- * `@graphrefly/graphrefly/patterns/ai` instead — that variant only accepts
55
- * `fixtures` and `fixturesStorage`, no `node:*` imports.
56
- */
57
- declare function fallbackAdapter(opts?: NodeFallbackAdapterOptions): LLMAdapter;
58
-
59
- export { FallbackAdapterOptions as BaseFallbackAdapterOptions, type NodeFallbackAdapterOptions, fallbackAdapter };
1
+ export * from '@graphrefly/pure-ts/patterns/ai/node';
@@ -1,59 +1 @@
1
- import { KvStorageTier } from '../../extra/storage-tiers.js';
2
- import { L as LLMAdapter } from '../../types-CWFysE9E.js';
3
- import { F as FallbackAdapterOptions } from '../../fallback-DUyyBTBK.js';
4
- export { a as FallbackFixture, b as FallbackMissError, c as FallbackMissPolicy } from '../../fallback-DUyyBTBK.js';
5
- import '../../node-kK3CvTrR.js';
6
- import '../../extra/sources.js';
7
- import '../../content-addressed-storage-DuYMjV7o.js';
8
-
9
- /**
10
- * Node-subpath extension of {@link fallbackAdapter} — adds filesystem
11
- * directory convenience options (`fixturesDir`, `record.dir`) that rely on
12
- * `node:fs` / `node:path` / `fileKv`.
13
- *
14
- * This module intentionally lives outside the main `patterns/ai` entry so
15
- * browser bundles don't pull `node:fs` / `node:path`. Import this variant
16
- * from `@graphrefly/graphrefly/patterns/ai/node` in Node
17
- * environments when you want the ergonomic directory options.
18
- *
19
- * @module
20
- */
21
-
22
- /**
23
- * Options for the node-only `fallbackAdapter`. Adds `fixturesDir` and
24
- * `record.dir` to the base options.
25
- */
26
- interface NodeFallbackAdapterOptions extends Omit<FallbackAdapterOptions, "record"> {
27
- /**
28
- * Directory of cache-format JSON files. Auto-namespaced to
29
- * `join(dir, keyPrefix)` so multiple adapters pointing at the same root
30
- * don't commingle files. Init-time validator throws a clear `TypeError`
31
- * if the namespaced subdirectory contains files that aren't in cache
32
- * format. Mutually exclusive with `fixtures` and `fixturesStorage`.
33
- */
34
- readonly fixturesDir?: string;
35
- /**
36
- * Record mode — same as the base, with `dir` as a convenience sibling to
37
- * `storage`. `dir` auto-namespaces to `join(dir, keyPrefix)`; `storage` is
38
- * pass-through. If `dir` is omitted and `fixturesDir` is set, record
39
- * defaults to writing to `fixturesDir` — the "read baseline, append
40
- * misses to same dir" pattern.
41
- */
42
- readonly record?: {
43
- readonly adapter: LLMAdapter;
44
- readonly dir?: string;
45
- readonly storage?: KvStorageTier;
46
- };
47
- }
48
- /**
49
- * Node-only `fallbackAdapter` — the base variant extended with `fixturesDir`
50
- * and `record.dir` filesystem convenience options. Resolves those to
51
- * `fileKv(...)` tiers and delegates to the base `fallbackAdapter`.
52
- *
53
- * For browser-safe usage, import `fallbackAdapter` from
54
- * `@graphrefly/graphrefly/patterns/ai` instead — that variant only accepts
55
- * `fixtures` and `fixturesStorage`, no `node:*` imports.
56
- */
57
- declare function fallbackAdapter(opts?: NodeFallbackAdapterOptions): LLMAdapter;
58
-
59
- export { FallbackAdapterOptions as BaseFallbackAdapterOptions, type NodeFallbackAdapterOptions, fallbackAdapter };
1
+ export * from '@graphrefly/pure-ts/patterns/ai/node';
@@ -1 +1,3 @@
1
- import{k as f}from"../../chunk-OPHBU3LG.js";import"../../chunk-WJR24TAG.js";import"../../chunk-ESMPEKEV.js";import{g as c}from"../../chunk-VN6RDSK2.js";import"../../chunk-D5RFJOZ2.js";import"../../chunk-CE72X3WO.js";import"../../chunk-CLVB32RD.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-GHBWHMRZ.js";import"../../chunk-CRVT7D2P.js";import"../../chunk-NTEURFZH.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";import{existsSync as u,readdirSync as k,readFileSync as h}from"fs";import{join as p}from"path";function b(e){if(!u(e))return;let i=k(e).filter(o=>o.endsWith(".json"));if(i.length===0)return;let r=i[0],a=p(e,r),t;try{t=JSON.parse(h(a,"utf8"))}catch(o){throw new TypeError(`fallbackAdapter: ${a} is not valid JSON (${o.message}).`)}let s=t,l=s!=null&&"messages"in s,d=s==null||typeof s.response?.content!="string"||typeof s.storedAtNs!="number";if(l||d){let o=l?"`messages` at the top level means this looks hand-authored. ":"";throw new TypeError(`fallbackAdapter: ${a} is not in cache-file format. ${o}Expected \`{ response: { content, usage, ... }, storedAtNs, ... }\` (the shape \`withReplayCache\` and this adapter's \`record\` mode write). For hand-authored fixtures, use the inline \`fixtures: FallbackFixture[]\` option \u2014 the adapter hashes messages for you.`)}}function x(e={}){let i=e.keyPrefix??"fallback",r=[];if(e.fixtures!=null&&r.push("fixtures"),e.fixturesDir!=null&&r.push("fixturesDir"),e.fixturesStorage!=null&&r.push("fixturesStorage"),r.length>1)throw new TypeError(`fallbackAdapter: \`fixtures\`, \`fixturesDir\`, and \`fixturesStorage\` are mutually exclusive; got both ${r.join(" and ")}. Pick one source.`);let a=e.fixturesStorage;if(e.fixturesDir!=null){let n=p(e.fixturesDir,i);b(n),a=c(n)}let t;if(e.record){if(e.record.storage&&e.record.dir)throw new TypeError("fallbackAdapter: `record.storage` and `record.dir` are mutually exclusive; pick one.");if(e.record.storage)t={adapter:e.record.adapter,storage:e.record.storage};else{let n=e.record.dir??e.fixturesDir;if(n==null)throw new TypeError("fallbackAdapter: record mode requires either `record.dir`, `record.storage`, or an inherited `fixturesDir`.");t={adapter:e.record.adapter,storage:c(p(n,i))}}}let{fixturesDir:s,record:l,...d}=e,o={...d,...a?{fixturesStorage:a}:{},...t?{record:t}:{}};return f(o)}export{x as fallbackAdapter};
1
+ // src/patterns/ai/node.ts
2
+ export * from "@graphrefly/pure-ts/patterns/ai/node";
3
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/patterns/ai/node.ts"],"sourcesContent":["// Phase 13.9.A shim — re-export from pure-TS sibling until\n// @graphrefly/native (napi binding) and per-milestone swap-overs land.\nexport * from \"@graphrefly/pure-ts/patterns/ai/node\";\n"],"mappings":";AAEA,cAAc;","names":[]}