@graphrefly/graphrefly 0.34.0 → 0.35.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 (333) hide show
  1. package/dist/{cascading-DKIb6Pk8.d.cts → cascading-B25wxpRa.d.cts} +3 -3
  2. package/dist/{cascading-Bg0a4VSf.d.ts → cascading-BsJ4GbnS.d.ts} +3 -3
  3. package/dist/{chunk-TZLEMGAK.js → chunk-2Y3DKIZL.js} +2 -2
  4. package/dist/chunk-3OT7K33Q.js +1 -0
  5. package/dist/chunk-53XJ2S6D.js +1 -0
  6. package/dist/chunk-5CPPC75H.js +1 -0
  7. package/dist/chunk-5KPIYVCC.js +7 -0
  8. package/dist/{chunk-GAOX6OPT.js → chunk-5XZRCS2M.js} +1 -1
  9. package/dist/{chunk-C5DINHNP.js → chunk-6G5YD37E.js} +1 -1
  10. package/dist/{chunk-WBWBY6LI.js → chunk-6SVKZ7VI.js} +1 -1
  11. package/dist/chunk-A5HZZYRK.js +1 -0
  12. package/dist/chunk-BGEY3PXH.js +1 -0
  13. package/dist/chunk-CD4CB6S7.js +1 -0
  14. package/dist/chunk-CE72X3WO.js +1 -0
  15. package/dist/chunk-CUQFO6MT.js +1 -0
  16. package/dist/chunk-D5RFJOZ2.js +1 -0
  17. package/dist/{chunk-A3GDELMY.js → chunk-E5YSBQSF.js} +7 -7
  18. package/dist/{chunk-SFIM774L.js → chunk-EUE7ELFQ.js} +1 -1
  19. package/dist/chunk-F3IGTWCQ.js +1 -0
  20. package/dist/chunk-F672GV32.js +1 -0
  21. package/dist/{chunk-GCUYSIM4.js → chunk-GWOKTENT.js} +1 -1
  22. package/dist/{chunk-4NYSEUKV.js → chunk-J6TGRQUP.js} +1 -1
  23. package/dist/{chunk-4F564IPP.js → chunk-JJTF75VS.js} +1 -1
  24. package/dist/{chunk-BY4WKPKM.js → chunk-JUJEPZOI.js} +1 -1
  25. package/dist/{chunk-65WWQ5CB.js → chunk-M5UC63ZI.js} +5 -5
  26. package/dist/chunk-MQZWA3DF.js +1 -0
  27. package/dist/chunk-MYFR67PY.js +18 -0
  28. package/dist/{chunk-KN2UMFT6.js → chunk-PCD2MU7X.js} +1 -1
  29. package/dist/{chunk-YDWTVO4E.js → chunk-PIIUJIF7.js} +1 -1
  30. package/dist/chunk-PVUTRA5K.js +5 -0
  31. package/dist/chunk-Q7EUZ6NN.js +1 -0
  32. package/dist/chunk-RLMYS3XZ.js +1 -0
  33. package/dist/chunk-RRFOCAH6.js +1 -0
  34. package/dist/{chunk-Q46YJCQH.js → chunk-T6RPUERH.js} +1 -1
  35. package/dist/{chunk-IPNJDNE7.js → chunk-T7GWBGOO.js} +1 -1
  36. package/dist/{chunk-U2T2XWDA.js → chunk-U347KVM4.js} +1 -1
  37. package/dist/chunk-UAMWD4GG.js +1 -0
  38. package/dist/chunk-VN6RDSK2.js +1 -0
  39. package/dist/{chunk-CJMFZXIZ.js → chunk-W2ZU226Q.js} +1 -1
  40. package/dist/{chunk-UF746BQ4.js → chunk-XINLP35X.js} +1 -1
  41. package/dist/{chunk-TONEKQM3.js → chunk-XMDNNSMK.js} +1 -1
  42. package/dist/{chunk-INXDSJRC.js → chunk-YOUAVGHJ.js} +1 -1
  43. package/dist/chunk-YV2A2VWG.js +1 -0
  44. package/dist/{chunk-PBN426RU.js → chunk-ZGVA2SR5.js} +1 -1
  45. package/dist/compat/index.cjs +10 -10
  46. package/dist/compat/index.d.cts +17 -14
  47. package/dist/compat/index.d.ts +17 -14
  48. package/dist/compat/index.js +1 -1
  49. package/dist/compat/jotai/index.d.cts +2 -2
  50. package/dist/compat/jotai/index.d.ts +2 -2
  51. package/dist/compat/nanostores/index.d.cts +2 -2
  52. package/dist/compat/nanostores/index.d.ts +2 -2
  53. package/dist/compat/nestjs/index.cjs +12 -12
  54. package/dist/compat/nestjs/index.d.cts +9 -6
  55. package/dist/compat/nestjs/index.d.ts +9 -6
  56. package/dist/compat/nestjs/index.js +1 -1
  57. package/dist/compat/react/index.d.cts +2 -2
  58. package/dist/compat/react/index.d.ts +2 -2
  59. package/dist/compat/solid/index.d.cts +2 -2
  60. package/dist/compat/solid/index.d.ts +2 -2
  61. package/dist/compat/svelte/index.d.cts +2 -2
  62. package/dist/compat/svelte/index.d.ts +2 -2
  63. package/dist/compat/vue/index.d.cts +2 -2
  64. package/dist/compat/vue/index.d.ts +2 -2
  65. package/dist/compat/zustand/index.cjs +7 -7
  66. package/dist/compat/zustand/index.d.cts +5 -4
  67. package/dist/compat/zustand/index.d.ts +5 -4
  68. package/dist/compat/zustand/index.js +1 -1
  69. package/dist/{composite-BPDU_XV1.d.ts → composite-CT_mApQD.d.ts} +2 -2
  70. package/dist/{composite-CmvdhTJe.d.cts → composite-_XckYx2e.d.cts} +2 -2
  71. package/dist/{content-addressed-storage-DqIWCmZG.d.cts → content-addressed-storage-4-ST1tYk.d.cts} +5 -5
  72. package/dist/{content-addressed-storage-BUiREIuj.d.ts → content-addressed-storage-DuYMjV7o.d.ts} +5 -5
  73. package/dist/core/index.d.cts +4 -4
  74. package/dist/core/index.d.ts +4 -4
  75. package/dist/extra/browser.cjs +1 -1
  76. package/dist/extra/browser.d.cts +4 -3
  77. package/dist/extra/browser.d.ts +4 -3
  78. package/dist/extra/browser.js +1 -1
  79. package/dist/extra/index.cjs +19 -19
  80. package/dist/extra/index.d.cts +13 -12
  81. package/dist/extra/index.d.ts +13 -12
  82. package/dist/extra/index.js +1 -1
  83. package/dist/extra/node.cjs +2 -3
  84. package/dist/extra/node.d.cts +3 -3
  85. package/dist/extra/node.d.ts +3 -3
  86. package/dist/extra/node.js +2 -2
  87. package/dist/extra/operators.cjs +1 -1
  88. package/dist/extra/operators.d.cts +1 -1
  89. package/dist/extra/operators.d.ts +1 -1
  90. package/dist/extra/operators.js +1 -1
  91. package/dist/extra/reactive.cjs +1 -1
  92. package/dist/extra/reactive.d.cts +4 -3
  93. package/dist/extra/reactive.d.ts +4 -3
  94. package/dist/extra/reactive.js +1 -1
  95. package/dist/extra/sources.cjs +1 -1
  96. package/dist/extra/sources.d.cts +57 -2
  97. package/dist/extra/sources.d.ts +57 -2
  98. package/dist/extra/sources.js +1 -1
  99. package/dist/extra/storage-browser.cjs +1 -1
  100. package/dist/extra/storage-browser.d.cts +8 -42
  101. package/dist/extra/storage-browser.d.ts +8 -42
  102. package/dist/extra/storage-browser.js +1 -1
  103. package/dist/extra/storage-core.cjs +1 -1
  104. package/dist/extra/storage-core.d.cts +13 -83
  105. package/dist/extra/storage-core.d.ts +13 -83
  106. package/dist/extra/storage-core.js +1 -1
  107. package/dist/extra/storage-node.cjs +1 -2
  108. package/dist/extra/storage-node.d.cts +1 -59
  109. package/dist/extra/storage-node.d.ts +1 -59
  110. package/dist/extra/storage-node.js +0 -1
  111. package/dist/extra/storage-tiers-browser.cjs +1 -0
  112. package/dist/extra/storage-tiers-browser.d.cts +49 -0
  113. package/dist/extra/storage-tiers-browser.d.ts +49 -0
  114. package/dist/extra/storage-tiers-browser.js +1 -0
  115. package/dist/extra/storage-tiers-node.cjs +1 -0
  116. package/dist/extra/storage-tiers-node.d.cts +86 -0
  117. package/dist/extra/storage-tiers-node.d.ts +86 -0
  118. package/dist/extra/storage-tiers-node.js +1 -0
  119. package/dist/extra/storage-tiers.cjs +1 -0
  120. package/dist/extra/storage-tiers.d.cts +284 -0
  121. package/dist/extra/storage-tiers.d.ts +284 -0
  122. package/dist/extra/storage-tiers.js +1 -0
  123. package/dist/{fallback-mYSd8vQo.d.ts → fallback-DuEXfA4F.d.ts} +14 -14
  124. package/dist/{fallback-9YznPvPP.d.cts → fallback-axI2cXwt.d.cts} +14 -14
  125. package/dist/graph/index.cjs +3 -3
  126. package/dist/graph/index.d.cts +6 -5
  127. package/dist/graph/index.d.ts +6 -5
  128. package/dist/graph/index.js +1 -1
  129. package/dist/{graph-BROUZPG9.d.ts → graph-Cv-8x0ZI.d.ts} +28 -16
  130. package/dist/{graph-DaoydJ_u.d.cts → graph-kTltt95s.d.cts} +28 -16
  131. package/dist/imperative-audit-ahAE65a9.d.cts +28 -0
  132. package/dist/imperative-audit-ahAE65a9.d.ts +28 -0
  133. package/dist/{index-CI5fULSz.d.ts → index-8OxXae3g.d.ts} +1 -1
  134. package/dist/{index-CQ1gt4rn.d.cts → index-9xhIaM-w.d.cts} +1 -1
  135. package/dist/{index-DhWrMTI6.d.cts → index-B3D_z0Z6.d.cts} +1 -1
  136. package/dist/{index-Ccv_61jG.d.cts → index-B3Dfl5sS.d.cts} +110 -27
  137. package/dist/{index-Dia4yc2y.d.ts → index-B4s70vYf.d.ts} +4 -4
  138. package/dist/{index-Db21wuaD.d.ts → index-B5UR87KG.d.ts} +3 -3
  139. package/dist/{index-DuvQAU02.d.ts → index-BBdwz2BW.d.ts} +2 -2
  140. package/dist/{index-B5eS17Bz.d.ts → index-BEvsFlfH.d.ts} +47 -32
  141. package/dist/{index-BUtCR0k6.d.ts → index-BF-ssbJB.d.ts} +7 -7
  142. package/dist/{index-ClKm7CFB.d.cts → index-BFuVcqL8.d.cts} +1 -1
  143. package/dist/{index-BkfL5MXh.d.cts → index-BWH17rK_.d.cts} +3 -3
  144. package/dist/{index-CD7qmvSf.d.ts → index-BZ1V5GzX.d.ts} +3 -3
  145. package/dist/{index-BDEhWLF4.d.cts → index-BhkPzu-Z.d.cts} +4 -4
  146. package/dist/{index-CNxdDb2e.d.ts → index-Bilohojo.d.ts} +3 -3
  147. package/dist/{index-zA1uVtk0.d.ts → index-BiomL7AW.d.ts} +1 -1
  148. package/dist/{index-BWiX5foT.d.ts → index-BjWZARLy.d.ts} +1 -1
  149. package/dist/{index-IxinNgAH.d.cts → index-BkbawFkI.d.cts} +16 -15
  150. package/dist/{index-RJX4snyi.d.cts → index-BlRVj-7Q.d.cts} +21 -21
  151. package/dist/index-BpFwRAf9.d.cts +26 -0
  152. package/dist/{index-Ds3Rz9m9.d.cts → index-BsZlbHM5.d.cts} +3 -3
  153. package/dist/{index-BFHpNSsV.d.ts → index-BtY2QVDf.d.cts} +8 -7
  154. package/dist/{index-BsxqmV6u.d.ts → index-BuMzxRO2.d.ts} +2 -2
  155. package/dist/{index-C5uMGVJw.d.ts → index-BwYGLgmI.d.ts} +4 -4
  156. package/dist/{index-3L3RC3VJ.d.ts → index-C40wA8zt.d.ts} +7 -7
  157. package/dist/{index-Bi4ZP6Hc.d.ts → index-C9xF16gc.d.ts} +110 -27
  158. package/dist/index-CAIhFfws.d.ts +171 -0
  159. package/dist/{index-BRisOxlx.d.ts → index-CDvC1m5p.d.ts} +1 -1
  160. package/dist/index-CGKs5ixV.d.cts +287 -0
  161. package/dist/{index-ygRFoyrN.d.ts → index-CI_yjtua.d.ts} +2 -2
  162. package/dist/{index-DxEcY7Om.d.ts → index-CIcu6fIR.d.ts} +1 -1
  163. package/dist/{index-CQtnGFrZ.d.cts → index-CfOSES72.d.cts} +7 -7
  164. package/dist/{index-Bd2AjMQY.d.ts → index-Cot94_82.d.ts} +21 -21
  165. package/dist/{index-B1hFhK1K.d.cts → index-CpZKtdMw.d.cts} +1 -1
  166. package/dist/{index-BO6t0HjV.d.cts → index-CqSJ25A9.d.cts} +1 -1
  167. package/dist/{index-Jgl7ev9I.d.cts → index-CzC0G0C3.d.cts} +9 -9
  168. package/dist/{index-p0bkNfby.d.cts → index-D6JRP-1_.d.cts} +3 -3
  169. package/dist/{index-D23g00HE.d.cts → index-D7r_vd0b.d.cts} +4 -4
  170. package/dist/{index-Cp91Sxbo.d.cts → index-D8IyqHvT.d.cts} +3 -3
  171. package/dist/{index-iKsmdnq6.d.cts → index-D9qoEOj_.d.cts} +2 -2
  172. package/dist/index-DBmBtqAN.d.ts +461 -0
  173. package/dist/{index-nP13Qe6T.d.ts → index-DFe2Pk2u.d.ts} +1 -1
  174. package/dist/{index-Cn3taOmp.d.cts → index-DKp1CIbG.d.cts} +2 -2
  175. package/dist/{index-CoR-tOZA.d.cts → index-DSD6xnbT.d.ts} +8 -7
  176. package/dist/{index-DheNs40A.d.ts → index-DXSLMoma.d.ts} +2 -2
  177. package/dist/{index-ZIQaKIdY.d.cts → index-DXZsXxtU.d.cts} +47 -32
  178. package/dist/{index-BVTjuKeP.d.cts → index-D_QQ_dTD.d.cts} +1 -1
  179. package/dist/{index-ChZvMC4M.d.cts → index-DeyzuqAi.d.cts} +7 -7
  180. package/dist/{index-Chi9IiHJ.d.ts → index-DlccEIi3.d.ts} +3 -3
  181. package/dist/{index-DR3XqZlV.d.cts → index-DmtWMP0X.d.cts} +1 -1
  182. package/dist/{index-CbCNoogR.d.ts → index-Dp69u0ym.d.ts} +16 -15
  183. package/dist/{index-b4a6Sg0R.d.ts → index-DwNNufVa.d.ts} +4 -4
  184. package/dist/{index-D80nGRb9.d.ts → index-DzYTXMBz.d.ts} +3 -3
  185. package/dist/index-DzgS5uYi.d.ts +26 -0
  186. package/dist/{index-B-KCkW4M.d.cts → index-GaW6Welt.d.cts} +4 -4
  187. package/dist/{index-DupIl9wI.d.ts → index-JYtN9uqM.d.ts} +1 -1
  188. package/dist/{index-Ced0dphF.d.ts → index-KNAMYngu.d.ts} +9 -9
  189. package/dist/{index-BpjQanLs.d.cts → index-PluovH45.d.cts} +2 -2
  190. package/dist/index-Qq-G9B6g.d.cts +171 -0
  191. package/dist/{index-yJY9thRY.d.cts → index-XxSeddWP.d.cts} +2 -2
  192. package/dist/{index-C8_bnDBZ.d.cts → index-ZhKyR8co.d.cts} +3 -3
  193. package/dist/index-hXKhbfh-.d.ts +287 -0
  194. package/dist/index-zK_mN1D-.d.cts +461 -0
  195. package/dist/index.cjs +59 -59
  196. package/dist/index.d.cts +53 -49
  197. package/dist/index.d.ts +53 -49
  198. package/dist/index.js +1 -1
  199. package/dist/{meta-BdjSt8ky.d.cts → meta-BGO6C7K9.d.cts} +1 -1
  200. package/dist/{meta-CtDjj7cU.d.ts → meta-CC6EPdpK.d.ts} +1 -1
  201. package/dist/{node-8qx0kgYt.d.cts → node-fSc-hCv8.d.cts} +1 -1
  202. package/dist/{node-8qx0kgYt.d.ts → node-fSc-hCv8.d.ts} +1 -1
  203. package/dist/{observable-B6Ba-TTI.d.cts → observable-Cqty11jG.d.cts} +1 -1
  204. package/dist/{observable-DOniYM2B.d.ts → observable-EAV_rNfM.d.ts} +1 -1
  205. package/dist/patterns/ai/browser.cjs +5 -5
  206. package/dist/patterns/ai/browser.d.cts +4 -4
  207. package/dist/patterns/ai/browser.d.ts +4 -4
  208. package/dist/patterns/ai/browser.js +1 -1
  209. package/dist/patterns/ai/index.cjs +19 -19
  210. package/dist/patterns/ai/index.d.cts +19 -17
  211. package/dist/patterns/ai/index.d.ts +19 -17
  212. package/dist/patterns/ai/index.js +1 -1
  213. package/dist/patterns/ai/node.cjs +1 -2
  214. package/dist/patterns/ai/node.d.cts +9 -9
  215. package/dist/patterns/ai/node.d.ts +9 -9
  216. package/dist/patterns/ai/node.js +1 -1
  217. package/dist/patterns/audit/index.cjs +6 -6
  218. package/dist/patterns/audit/index.d.cts +7 -5
  219. package/dist/patterns/audit/index.d.ts +7 -5
  220. package/dist/patterns/audit/index.js +1 -1
  221. package/dist/patterns/cqrs/index.cjs +7 -7
  222. package/dist/patterns/cqrs/index.d.cts +7 -4
  223. package/dist/patterns/cqrs/index.d.ts +7 -4
  224. package/dist/patterns/cqrs/index.js +1 -1
  225. package/dist/patterns/demo-shell/index.cjs +8 -8
  226. package/dist/patterns/demo-shell/index.d.cts +6 -5
  227. package/dist/patterns/demo-shell/index.d.ts +6 -5
  228. package/dist/patterns/demo-shell/index.js +1 -1
  229. package/dist/patterns/domain-templates/index.cjs +5 -5
  230. package/dist/patterns/domain-templates/index.d.cts +5 -4
  231. package/dist/patterns/domain-templates/index.d.ts +5 -4
  232. package/dist/patterns/domain-templates/index.js +1 -1
  233. package/dist/patterns/graphspec/index.cjs +20 -20
  234. package/dist/patterns/graphspec/index.d.cts +6 -5
  235. package/dist/patterns/graphspec/index.d.ts +6 -5
  236. package/dist/patterns/graphspec/index.js +1 -1
  237. package/dist/patterns/guarded-execution/index.cjs +7 -7
  238. package/dist/patterns/guarded-execution/index.d.cts +8 -6
  239. package/dist/patterns/guarded-execution/index.d.ts +8 -6
  240. package/dist/patterns/guarded-execution/index.js +1 -1
  241. package/dist/patterns/harness/index.cjs +12 -12
  242. package/dist/patterns/harness/index.d.cts +13 -10
  243. package/dist/patterns/harness/index.d.ts +13 -10
  244. package/dist/patterns/harness/index.js +1 -1
  245. package/dist/patterns/job-queue/index.cjs +7 -7
  246. package/dist/patterns/job-queue/index.d.cts +8 -4
  247. package/dist/patterns/job-queue/index.d.ts +8 -4
  248. package/dist/patterns/job-queue/index.js +1 -1
  249. package/dist/patterns/lens/index.cjs +4 -4
  250. package/dist/patterns/lens/index.d.cts +7 -6
  251. package/dist/patterns/lens/index.d.ts +7 -6
  252. package/dist/patterns/lens/index.js +1 -1
  253. package/dist/patterns/memory/index.cjs +1 -1
  254. package/dist/patterns/memory/index.d.cts +5 -4
  255. package/dist/patterns/memory/index.d.ts +5 -4
  256. package/dist/patterns/memory/index.js +1 -1
  257. package/dist/patterns/messaging/index.cjs +7 -7
  258. package/dist/patterns/messaging/index.d.cts +6 -4
  259. package/dist/patterns/messaging/index.d.ts +6 -4
  260. package/dist/patterns/messaging/index.js +1 -1
  261. package/dist/patterns/orchestration/index.cjs +7 -7
  262. package/dist/patterns/orchestration/index.d.cts +8 -5
  263. package/dist/patterns/orchestration/index.d.ts +8 -5
  264. package/dist/patterns/orchestration/index.js +1 -1
  265. package/dist/patterns/process/index.cjs +1 -0
  266. package/dist/patterns/process/index.d.cts +10 -0
  267. package/dist/patterns/process/index.d.ts +10 -0
  268. package/dist/patterns/process/index.js +1 -0
  269. package/dist/patterns/reactive-layout/index.cjs +5 -5
  270. package/dist/patterns/reactive-layout/index.d.cts +6 -5
  271. package/dist/patterns/reactive-layout/index.d.ts +6 -5
  272. package/dist/patterns/reactive-layout/index.js +1 -1
  273. package/dist/patterns/reduction/index.cjs +1 -1
  274. package/dist/patterns/reduction/index.d.cts +5 -4
  275. package/dist/patterns/reduction/index.d.ts +5 -4
  276. package/dist/patterns/reduction/index.js +1 -1
  277. package/dist/patterns/refine-loop/index.cjs +8 -8
  278. package/dist/patterns/refine-loop/index.d.cts +7 -5
  279. package/dist/patterns/refine-loop/index.d.ts +7 -5
  280. package/dist/patterns/refine-loop/index.js +1 -1
  281. package/dist/patterns/resilient-pipeline/index.cjs +1 -1
  282. package/dist/patterns/resilient-pipeline/index.d.cts +7 -6
  283. package/dist/patterns/resilient-pipeline/index.d.ts +7 -6
  284. package/dist/patterns/resilient-pipeline/index.js +1 -1
  285. package/dist/patterns/surface/index.cjs +11 -11
  286. package/dist/patterns/surface/index.d.cts +7 -6
  287. package/dist/patterns/surface/index.d.ts +7 -6
  288. package/dist/patterns/surface/index.js +1 -1
  289. package/dist/pipeline-graph-B85HUrWg.d.cts +120 -0
  290. package/dist/pipeline-graph-HOTU4UG0.d.ts +120 -0
  291. package/dist/{reactive-layout-DBJ3Vz-m.d.ts → reactive-layout-Btv0-efV.d.ts} +2 -2
  292. package/dist/{reactive-layout-Dk9AOQb_.d.cts → reactive-layout-D9zqqaqK.d.cts} +2 -2
  293. package/dist/reactive-log-ByBb8g6A.d.ts +188 -0
  294. package/dist/reactive-log-CgbNqksB.d.cts +188 -0
  295. package/dist/{reactive-map-LjwjcFaW.d.ts → reactive-map-CHyeCf4D.d.ts} +1 -1
  296. package/dist/{reactive-map-Cm89Hk0c.d.cts → reactive-map-DmgeADH8.d.cts} +1 -1
  297. package/dist/{resilience-RjDIHZNZ.d.ts → resilience-BWP2c7Af.d.cts} +27 -45
  298. package/dist/{resilience-N_VtLf7W.d.cts → resilience-Bys63Cpd.d.ts} +27 -45
  299. package/dist/resilience-OBU472D2.js +1 -0
  300. package/dist/{sugar-CQkn_rxB.d.ts → sugar-D13E2M_z.d.ts} +1 -1
  301. package/dist/{sugar-DVEYhR7a.d.cts → sugar-DgaGJcI6.d.cts} +1 -1
  302. package/dist/{topology-tree-BB6oJxMz.d.cts → topology-tree-C50l9ARE.d.cts} +1 -1
  303. package/dist/{topology-tree-CAFOG5S5.d.ts → topology-tree-CJsT24DP.d.ts} +1 -1
  304. package/dist/{types-Cp_4coR_.d.cts → types-BMSGPlpO.d.cts} +1 -1
  305. package/dist/{types-B2LfBvNc.d.ts → types-CidcBDuk.d.ts} +1 -1
  306. package/package.json +41 -1
  307. package/dist/chunk-2JO6LXFT.js +0 -7
  308. package/dist/chunk-2LZ6DL45.js +0 -1
  309. package/dist/chunk-3JXNEPCD.js +0 -2
  310. package/dist/chunk-3Y4BXFFR.js +0 -1
  311. package/dist/chunk-55T3K37W.js +0 -1
  312. package/dist/chunk-6HQ6HVTF.js +0 -1
  313. package/dist/chunk-7Q2WPFQ7.js +0 -1
  314. package/dist/chunk-FKRPIRE6.js +0 -1
  315. package/dist/chunk-HTBOCKVD.js +0 -1
  316. package/dist/chunk-I6VIH3VA.js +0 -1
  317. package/dist/chunk-IB64M7VP.js +0 -1
  318. package/dist/chunk-IJFSR4NU.js +0 -1
  319. package/dist/chunk-LOF5HSD3.js +0 -18
  320. package/dist/chunk-T2TB37TW.js +0 -1
  321. package/dist/chunk-T7EQPKOP.js +0 -1
  322. package/dist/chunk-Y63GWRHO.js +0 -5
  323. package/dist/chunk-YUBV7EEE.js +0 -1
  324. package/dist/index-C2Dey3L-.d.cts +0 -152
  325. package/dist/index-ClJUZAOr.d.cts +0 -101
  326. package/dist/index-Cq7Uqgu4.d.ts +0 -192
  327. package/dist/index-Dtpr2FIB.d.ts +0 -101
  328. package/dist/index-HvJ90_tX.d.ts +0 -152
  329. package/dist/index-wcfc7W-f.d.cts +0 -192
  330. package/dist/reactive-log-CWC7jO4J.d.cts +0 -190
  331. package/dist/reactive-log-CqaBg8nf.d.ts +0 -190
  332. package/dist/resilience-7UZHSSGC.js +0 -1
  333. /package/dist/{chunk-L3KUKDZC.js → chunk-O32GJOUJ.js} +0 -0
@@ -1,8 +1,8 @@
1
- "use strict";var Bt=Object.create;var ee=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var Gt=Object.getOwnPropertyNames;var jt=Object.getPrototypeOf,Vt=Object.prototype.hasOwnProperty;var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var Kt=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},Ge=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Gt(t))!Vt.call(e,s)&&s!==n&&ee(e,s,{get:()=>t[s],enumerable:!(r=Ht(t,s))||r.enumerable});return e};var Wt=(e,t,n)=>(n=e!=null?Bt(jt(e)):{},Ge(t||!e||!e.__esModule?ee(n,"default",{value:e,enumerable:!0}):n,e)),$t=e=>Ge(ee({},"__esModule",{value:!0}),e);function w(){return Math.trunc(performance.now()*1e6)}function D(){return Date.now()*1e6}var L=E(()=>{"use strict"});function $e(){return we>0||Jt}function qe(){return we>0}function ze(e){we>0?Qt.push(e):e()}function te(e,t,n){if(t.length===0)return;if(t.length===1){let d=n(t[0][0]);if(d<3||!$e()){e(t);return}(d>=5?We:d===4?Ke:Ve).push(()=>e(t));return}let r=t.length,s=r,i=r,a=r,o=0;for(;o<r&&n(t[o][0])<3;)o++;for(s=o;o<r&&n(t[o][0])===3;)o++;for(i=o;o<r&&n(t[o][0])===4;)o++;a=o;let c=$e();if(s>0){let d=t.slice(0,s);e(d)}if(i>s){let d=t.slice(s,i);c?Ve.push(()=>e(d)):e(d)}if(a>i){let d=t.slice(i,a);c?Ke.push(()=>e(d)):e(d)}if(r>a){let d=t.slice(a,r);c?We.push(()=>e(d)):e(d)}}var we,Jt,Ve,Ke,We,Qt,Je=E(()=>{"use strict";we=0,Jt=!1,Ve=[],Ke=[],We=[],Qt=[]});var J,R,P,I,U,B,Q,F,M,v,H,ve,Yt,xe,Xt,Zt,_e,Qe,Ye,Xe,Se,ne=E(()=>{"use strict";J=Symbol.for("graphrefly/START"),R=Symbol.for("graphrefly/DATA"),P=Symbol.for("graphrefly/DIRTY"),I=Symbol.for("graphrefly/RESOLVED"),U=Symbol.for("graphrefly/INVALIDATE"),B=Symbol.for("graphrefly/PAUSE"),Q=Symbol.for("graphrefly/RESUME"),F=Symbol.for("graphrefly/TEARDOWN"),M=Symbol.for("graphrefly/COMPLETE"),v=Symbol.for("graphrefly/ERROR"),H=Object.freeze([P]),ve=Object.freeze([I]),Yt=Object.freeze([U]),xe=Object.freeze([J]),Xt=Object.freeze([M]),Zt=Object.freeze([F]),_e=Object.freeze([H]),Qe=Object.freeze([ve]),Ye=Object.freeze([Yt]),Xe=Object.freeze([Xt]),Se=Object.freeze([Zt])});function Ze(e){e.registerCodec(en)}var en,et=E(()=>{"use strict";en={name:"json",version:1,contentType:"application/json",encode(e){let t=JSON.stringify(e);return new TextEncoder().encode(t)},decode(e,t){let n=new TextDecoder().decode(e);return JSON.parse(n)}}});function re(e){if(e==null)return tn;let{type:t,id:n,...r}=e;return{type:t??"system",id:n??"",...r}}var tn,tt=E(()=>{"use strict";tn={type:"system",id:""}});function nt(e){e.registerMessageType(J,{tier:0,wireCrossing:!1}),e.registerMessageType(P,{tier:1,wireCrossing:!1}),e.registerMessageType(U,{tier:1,wireCrossing:!1,metaPassthrough:!1}),e.registerMessageType(B,{tier:2,wireCrossing:!1}),e.registerMessageType(Q,{tier:2,wireCrossing:!1}),e.registerMessageType(R,{tier:3,wireCrossing:!0}),e.registerMessageType(I,{tier:3,wireCrossing:!0}),e.registerMessageType(M,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(v,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(F,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var oe,rt=E(()=>{"use strict";ne();oe=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(t){this._onMessage=t.onMessage,this._onSubscribe=t.onSubscribe,this._defaultVersioning=t.defaultVersioning,this._defaultHashFn=t.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(t){this._assertUnfrozen(),this._onMessage=t}set onSubscribe(t){this._assertUnfrozen(),this._onSubscribe=t}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(t){this._assertUnfrozen(),this._defaultVersioning=t}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(t){this._assertUnfrozen(),this._defaultHashFn=t}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(t){this._inspectorEnabled=t}get globalInspector(){return this._globalInspector}set globalInspector(t){this._globalInspector=t}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(t){this._rigorRecorder=t}registerMessageType(t,n){return this._assertUnfrozen(),this._messageTypes.set(t,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(t){let n=this._messageTypes.get(t);return n!=null?n.tier:1}isWireCrossing(t){let n=this._messageTypes.get(t);return n!=null?n.wireCrossing:!0}isLocalOnly(t){return!this.isWireCrossing(t)}isMetaPassthrough(t){let n=this._messageTypes.get(t);return n!=null?n.metaPassthrough:!0}isKnownMessageType(t){return this._messageTypes.has(t)}registerCodec(t){return this._assertUnfrozen(),this._codecs.set(t.name,t),this}lookupCodec(t){return this._codecs.get(t)}_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 G,ot=E(()=>{"use strict";G=class extends Error{actor;action;nodeName;constructor(t,n){super(n??`GuardDenied: action "${String(t.action)}" denied for actor type "${String(t.actor.type)}"`),this.name="GuardDenied",this.actor=t.actor,this.action=t.action,this.nodeName=t.nodeName}get node(){return this.nodeName}}});function Ae(e){if(e===void 0)return null;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Cannot hash non-finite number: ${e}`);if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${e}. Cross-language cid parity is not guaranteed for unsafe integers.`);return e}if(typeof e=="string"||typeof e=="boolean"||e===null)return e;if(Array.isArray(e))return e.map(Ae);if(typeof e=="object"&&e!==null){let t={};for(let n of Object.keys(e).sort())t[n]=Ae(e[n]);return t}return null}function on(e){let t=rn.encode(e),n=t.length,r=n*8,s=n+9+63&-64,i=new Uint8Array(s);i.set(t),i[n]=128;let a=new DataView(i.buffer);a.setUint32(s-4,r>>>0,!1),a.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let o=1779033703,c=3144134277,d=1013904242,u=2773480762,l=1359893119,p=2600822924,f=528734635,h=1541459225,y=new Uint32Array(64),m=(_,S)=>_>>>S|_<<32-S;for(let _=0;_<s;_+=64){for(let A=0;A<16;A++)y[A]=a.getUint32(_+A*4,!1);for(let A=16;A<64;A++){let W=y[A-15],$=y[A-2],Z=m(W,7)^m(W,18)^W>>>3,Te=m($,17)^m($,19)^$>>>10;y[A]=y[A-16]+Z+y[A-7]+Te>>>0}let S=o,N=c,k=d,b=u,T=l,x=p,C=f,ke=h;for(let A=0;A<64;A++){let W=m(T,6)^m(T,11)^m(T,25),$=T&x^~T&C,Z=ke+W+$+nn[A]+y[A]>>>0,Te=m(S,2)^m(S,13)^m(S,22),Dt=S&N^S&k^N&k,Ut=Te+Dt>>>0;ke=C,C=x,x=T,T=b+Z>>>0,b=k,k=N,N=S,S=Z+Ut>>>0}o=o+S>>>0,c=c+N>>>0,d=d+k>>>0,u=u+b>>>0,l=l+T>>>0,p=p+x>>>0,f=f+C>>>0,h=h+ke>>>0}let g=_=>_.toString(16).padStart(8,"0");return g(o)+g(c)+g(d)+g(u)+g(l)+g(p)+g(f)+g(h)}function Ee(e){let t=Ae(e??null),n=JSON.stringify(t);return on(n).slice(0,16)}function sn(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();let t=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=t()+t()+t()+t();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 Re(e,t,n){let r=n?.id??sn();if(e===0)return{id:r,version:0};let i=(n?.hash??Ee)(t);return{id:r,version:0,cid:i,prev:null}}function st(e,t,n){e.version+=1,"cid"in e&&(e.prev=e.cid,e.cid=n(t))}var nn,rn,it=E(()=>{"use strict";nn=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]),rn=new TextEncoder});function dt(e){return{node:e,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function Me(e){e.prevData=void 0,e.dirty=!1,e.involvedThisWave=!1,e.dataBatch.length=0,e.terminal=void 0}function se(e){return e.length===0?e:typeof e[0]=="symbol"?[e]:e}function ut(e,t,n){let r=lt(e)?e:[],s=typeof e=="function"?e:typeof t=="function"?t:void 0,i={};return lt(e)?i=(Ne(t)?t:n)??{}:Ne(e)?i=e:i=(Ne(t)?t:n)??{},new ie(r,s,i)}var at,ct,an,cn,Ce,ie,lt,Ne,pt=E(()=>{"use strict";et();tt();Je();L();rt();ot();ne();it();at=()=>{},ct=100;an=(e,t,n,r)=>{n.direction==="down-in"&&e._onDepMessage(n.depIndex,t)},cn=(e,t,n,r)=>{let s=e;if(s._status==="completed"||s._status==="errored")return;let i=s._cached,a=i===void 0?[xe]:[xe,[R,i]];s._status==="dirty"&&a.push(H),te(t,a,s._config.tierOf)},Ce=new oe({onMessage:an,onSubscribe:cn});nt(Ce);Ze(Ce);ie=class e{_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(t,n,r){this._config=r.config??Ce,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=t.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Ee;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?Re(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=t.map(dt);let i={};for(let[o,c]of Object.entries(r.meta??{})){let d={initial:c,name:`${r.name??"node"}:meta:${o}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),i[o]=new e([],void 0,d)}Object.freeze(i),this.meta=i,this._hasMeta=Object.keys(i).length>0;let a=this;this._actions={emit(o){a._emit([[R,o]])},down(o){a._emit(se(o))},up(o){a._emitUp(se(o))}},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(t,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&&t<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let i=this._cached===void 0?void 0:this._cached,a=this._versioning,o=a?.id??n?.id,c=a?.version??0,d=Re(t,i,{id:o,hash:s});d.version=c,this._versioning=d,this._versioningLevel=t}_setInspectorHook(t){return t==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(t),()=>{this._inspectorHooks?.delete(t),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(t){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(t),()=>{this._extraGuards?.delete(t),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(t){if(this._guard==null&&this._extraGuards==null)return!0;let n=re(t);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(t){if(t?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=t?.actor!=null;if(!n&&!r)return;let s=re(t?.actor),i=t?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,i))throw new G({actor:s,action:i,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(s,i))throw new G({actor:s,action:i,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:D()}}down(t,n){let r=se(t);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(t,n){this._checkGuard(n),this._emit([[R,t]])}up(t,n){if(this._deps.length===0)return;let r=se(t);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let i of this._deps)i.node.up?.(r,s)}_emitUp(t){if(this._deps.length!==0&&t.length!==0){this._validateUpTiers(t);for(let n of this._deps)n.node.up?.(t,{internal:!0})}}_validateUpTiers(t){let n=this._config.tierOf;for(let r of t){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} 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(t,n){if(n!=null&&this._guard!=null){let c=re(n);if(!this._guard(c,"observe"))throw new G({actor:c,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){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 c of this._deps)Me(c);if(this._partial===!1){for(let c of this._deps)if(c.prevData!==void 0||c.dataBatch.length!==0||c.terminal!==void 0||c.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,t,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(c){throw this._sinkCount-=1,c}this._sinks==null?this._sinks=t:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,t]):this._sinks.add(t);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(c){if(this._sinkCount-=1,this._removeSink(t),this._sinkCount===0&&(this._status="sentinel"),typeof i=="function")try{i()}catch{}throw c}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let o=!1;return()=>{o||(o=!0,this._sinkCount-=1,this._removeSink(t),typeof i=="function"&&i(),this._sinks==null&&this._deactivate())}}_removeSink(t){if(this._sinks===t)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(t),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 t=this._deps.length,n=0;try{for(let r=0;r<t;r++){let s=r,i=this._deps[r];i.unsub=at,i.unsub=i.node.subscribe(a=>{if(i.unsub===null)return;let o=this._config.tierOf,c=!1;for(let d of a)o(d[0])>=3&&(c=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:s},this._actions);c&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let i=this._deps[s];if(i.unsub!=null){let a=i.unsub;i.unsub=null;try{a()}catch{}Me(i)}}throw this._dirtyDepCount=0,r}}_addDep(t){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===t)return s;let n=this._deps.length,r=dt(t);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e),r.unsub=at;try{r.unsub=t.subscribe(s=>{if(r.unsub===null)return;let i=this._config.tierOf,a=!1;for(let o of s)i(o[0])>=3&&(a=!0),this._config.onMessage(this,o,{direction:"down-in",depIndex:n},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(t=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[v,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[v,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}Me(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),t||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(t,n){let r=this._deps[t],s=n[0];if(this._inspectorHooks!=null){let i={kind:"dep_message",depIndex:t,message:n};for(let a of this._inspectorHooks)a(i)}if(s!==J){if(s===P){this._depDirtied(r);return}if(s===U){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Ye);return}if(s===B||s===Q){this._emit([n]);return}if(s===F){this._emit(Se);return}if(s===R)this._depSettledAsData(r,n[1]);else if(s===I)this._depSettledAsResolved(r);else if(s===M)this._depSettledAsTerminal(r,!0);else if(s===v)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===R||s===I)&&this._emit([n]),(s===M||s===v)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(t){t.dirty||(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e))}_depSettledAsData(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.involvedThisWave=!0,t.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(t){t.dirty&&(t.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.terminal=n,t.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(t){t.prevData=void 0,t.terminal=void 0,t.dataBatch.length=0,t.dirty?t.involvedThisWave=!1:(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let t=0;t<this._deps.length;t++){let n=this._deps[t];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(Qe),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let t=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(t!=null){this._autoError&&this._emit([[v,t.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Xe)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let t=this._cleanup;if(typeof t=="function"){this._cleanup=void 0;try{t()}catch(a){this._emit([[v,this._wrapFnError("cleanup threw",a)]]);return}}else if(t!=null&&typeof t=="object"){let a=t.beforeRun;if(typeof a=="function"){t.beforeRun=void 0;try{a()}catch(o){this._emit([[v,this._wrapFnError("cleanup.beforeRun threw",o)]]);return}}}let n=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),r=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let o=n[a];o!=null&&o.length>0&&(this._deps[a].prevData=o[o.length-1])}let s=this._deps.map(a=>a.terminal),i={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:n,prevData:r};for(let o of this._inspectorHooks)o(a)}this._isExecutingFn=!0;try{let a=this._fn(n,this._actions,i);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let o=a;(typeof o.beforeRun=="function"||typeof o.deactivate=="function"||typeof o.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[v,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>ct?(this._rerunDepth=0,this._emit([[v,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${ct} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let t of this._deps)t.involvedThisWave=!1,t.dataBatch.length=0}_wrapFnError(t,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${t}: ${r}`,{cause:n})}_frameBatch(t){let n=this._config.tierOf;if(t.length===1)return n(t[0][0])===3&&this._status!=="dirty"?[H,t[0]]:t;let r=!0,s=!1,i=!1,a=-1;for(let c of t){let d=n(c[0]);d<a&&(r=!1),d===3&&(s=!0),c[0]===P&&(i=!0),a=d}let o=t;if(!r){let c=t.map((d,u)=>({m:d,i:u,tier:n(d[0])}));c.sort((d,u)=>d.tier-u.tier||d.i-u.i),o=c.map(d=>d.m)}if(s&&!i&&this._status!=="dirty"){let c=0;for(;c<o.length&&n(o[c][0])===0;)c++;return c===0?[H,...o]:[...o.slice(0,c),H,...o.slice(c)]}return o}_emit(t){if(t.length===0)return;for(let o=0;o<t.length;o++){let c=t[o];if(c[0]===v&&c[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=t;if(this._isTerminal&&!this._resubscribable){let o=t.filter(c=>c[0]===F||c[0]===U);if(o.length===0)return;n=o}n=this._frameBatch(n);let s=null;for(let o=0;o<n.length;o++){let c=n[o],d=c[0];if(d!==B&&d!==Q){s?.push(c);continue}if(c.length<2)throw new Error(`Node "${this.name}": [[${d===B?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let u=!0;if(this._pausable!==!1){let l=c[1];if(d===B)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(l),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(l))u=!1;else if(this._pauseLocks.delete(l),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())}}u?s?.push(c):s==null&&(s=n.slice(0,o))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(o=>o[0]===F))for(let o of Object.keys(this.meta))try{this.meta[o]._emit(Se)}catch{}let{finalMessages:i,equalsError:a}=this._updateState(n);if(i.length>0&&this._config.inspectorEnabled){let o=this._config.globalInspector;if(o!=null)try{o({kind:"emit",node:this,messages:i})}catch{}}if(i.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let o=this._config.tierOf,c=[];for(let d of i)o(d[0])===3?this._pauseBuffer.push(d):c.push(d);c.length>0&&this._dispatchOrAccumulate(c)}else this._dispatchOrAccumulate(i);a!=null&&this._emit([[v,a]])}_updateState(t){let n=this._config.tierOf,r,s,i=-1,a=0;for(let u of t)n(u[0])===3&&a++;let o=a<=1,c=-1;if(this._versioning!=null&&a>1){for(let u=t.length-1;u>=0;u--)if(t[u][0]===R){c=u;break}}for(let u=0;u<t.length;u++){let l=t[u],p=l[0];if(p===R){if(l.length>=2){let f=!1;if(o&&this._cached!==void 0)try{f=this._equals(this._cached,l[1])}catch(h){s=this._wrapFnError("equals threw",h),i=u;break}if(f){r==null&&(r=t.slice(0,u)),r.push(ve),this._status="resolved";continue}this._cached=l[1],this._versioning!=null&&(c<0||u===c)&&st(this._versioning,l[1],this._hashFn)}this._status="settled",r?.push(l)}else if(r?.push(l),p===P)this._status="dirty";else if(p===I)this._status="resolved";else if(p===M){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===v){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===U){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===F&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=i>=0?r??t.slice(0,i):r??t;return s!=null?{finalMessages:d,equalsError:s}:{finalMessages:d}}_deliverToSinks=t=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(t);return}let n=[...this._sinks];for(let r of n)r(t)};_dispatchOrAccumulate(t){if(qe()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],ze(()=>this._flushBatchPending()));for(let n of t)this._batchPendingMessages.push(n);return}te(this._deliverToSinks,t,this._config.tierOf)}_flushBatchPending(){let t=this._batchPendingMessages;if(t===null||(this._batchPendingMessages=null,t.length===0))return;let n=this._frameBatch(t);te(this._deliverToSinks,n,this._config.tierOf)}},lt=e=>Array.isArray(e),Ne=e=>typeof e=="object"&&e!=null&&!Array.isArray(e)});function ae(e,t){return ut((r,s,i)=>e(s,i)??void 0,{describeKind:"producer",...t})}var ft=E(()=>{"use strict";pt()});function Le(e){return{describeKind:"producer",...e}}function mt(e,t){return ae(n=>{let r=!1;try{for(let s of e){if(r)return;n.emit(s)}r||n.down([[M]])}catch(s){r||n.down([[v,s]])}return()=>{r=!0}},Le(t))}function dn(e){return e!=null&&typeof e.then=="function"}function ln(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=!1,a=()=>{i||(i=!0,s.down([[v,n.reason]]))};if(n?.aborted){a();return}return n?.addEventListener("abort",a,{once:!0}),Promise.resolve(e).then(o=>{i||(i=!0,n?.removeEventListener("abort",a),s.emit(o),s.down([[M]]))},o=>{i||(i=!0,n?.removeEventListener("abort",a),s.down([[v,o]]))}),()=>{i=!0,n?.removeEventListener("abort",a)}},Le(r))}function un(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=new AbortController,a=()=>i.abort(n?.reason);n?.aborted?i.abort(n.reason):n?.addEventListener("abort",a,{once:!0});let o=n??i.signal,c=!1,d=e[Symbol.asyncIterator](),u=()=>{c||o.aborted||Promise.resolve(d.next()).then(l=>{if(!(c||o.aborted)){if(l.done){s.down([[M]]);return}s.emit(l.value),u()}},l=>{!c&&!o.aborted&&s.down([[v,l]])})};return u(),()=>{c=!0,n?.removeEventListener("abort",a),i.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},Le(r))}function pn(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function Y(e,t){if(pn(e))return e;if(dn(e))return ln(e,t);if(e!=null){let n=e;if(typeof n[Symbol.asyncIterator]=="function")return un(e,t);if(typeof n[Symbol.iterator]=="function")return mt(e,t)}return fn(e)}function fn(...e){return mt(e,void 0)}function j(e){return new Promise((t,n)=>{let r=!1,s=!1,i;i=e.subscribe(a=>{for(let o of a){if(r)return;if(o[0]===R){r=!0,t(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===v){r=!0,n(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===M){r=!0,n(new Error("completed without DATA")),i?(i(),i=void 0):s=!0;return}}}),s&&(i?.(),i=void 0)})}var ce=E(()=>{"use strict";ne();ft()});var V,Oe=E(()=>{"use strict";V=class{_timer;_gen=0;start(t,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},t)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});function mn(e){return e<0?0:e}function gt(e){let t=Math.max(1,e?.failureThreshold??5),n=mn(e?.cooldownNs??30*1e9),r=e?.cooldown??null,s=Math.max(1,e?.halfOpenMax??1),i=e?.now??w,a="closed",o=0,c=0,d=0,u=n,l=0;function p(){if(!r)return n;let y=r(c);return y!==null?y:n}function f(){a="open",u=p(),d=i(),l=0}return{canExecute(){return a==="closed"?!0:a==="open"?i()-d>=u?(a="half-open",l=1,!0):!1:l<s?(l++,!0):!1},recordSuccess(){a==="half-open"?(a="closed",o=0,c=0):a==="closed"&&(o=0)},recordFailure(y){if(a==="half-open"){c++,f();return}a==="closed"&&(o++,o>=t&&f())},get state(){return a},get failureCount(){return o},reset(){a="closed",o=0,c=0,l=0}}}var ht=E(()=>{"use strict";L()});var Dn={};Kt(Dn,{chromeNanoAdapter:()=>q,cloudFirstPreset:()=>Pn,localFirstPreset:()=>In,offlinePreset:()=>Fn,webllmAdapter:()=>z});module.exports=$t(Dn);L();function je(){let e=new Error("aborted");return e.name="AbortError",e}function q(e={}){let t=e.streamMode??"accumulated",n=e.navigatorOverride??globalThis.navigator,r=()=>{let o=n?.ai;if(!o?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return o},s=async o=>r().languageModel.create({systemPrompt:o?.systemPrompt??e.systemPrompt,temperature:o?.temperature??e.temperature,topK:e.topK,signal:o?.signal}),i=o=>{let c=[];for(let d of o)d.role!=="system"&&c.push(`${d.role}: ${d.content}`);return c.join(`
1
+ "use strict";var Ht=Object.create;var ee=Object.defineProperty;var jt=Object.getOwnPropertyDescriptor;var Kt=Object.getOwnPropertyNames;var Vt=Object.getPrototypeOf,Wt=Object.prototype.hasOwnProperty;var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var $t=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},je=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Kt(t))!Wt.call(e,s)&&s!==n&&ee(e,s,{get:()=>t[s],enumerable:!(r=jt(t,s))||r.enumerable});return e};var qt=(e,t,n)=>(n=e!=null?Ht(Vt(e)):{},je(t||!e||!e.__esModule?ee(n,"default",{value:e,enumerable:!0}):n,e)),zt=e=>je(ee({},"__esModule",{value:!0}),e);function w(){return Math.trunc(performance.now()*1e6)}function D(){return Date.now()*1e6}var O=E(()=>{"use strict"});function qe(){return we>0||Yt}function ze(){return we>0}function Je(e){we>0?Xt.push(e):e()}function te(e,t,n){if(t.length===0)return;if(t.length===1){let d=n(t[0][0]);if(d<3||!qe()){e(t);return}(d>=5?$e:d===4?We:Ve).push(()=>e(t));return}let r=t.length,s=r,i=r,a=r,o=0;for(;o<r&&n(t[o][0])<3;)o++;for(s=o;o<r&&n(t[o][0])===3;)o++;for(i=o;o<r&&n(t[o][0])===4;)o++;a=o;let c=qe();if(s>0){let d=t.slice(0,s);e(d)}if(i>s){let d=t.slice(s,i);c?Ve.push(()=>e(d)):e(d)}if(a>i){let d=t.slice(i,a);c?We.push(()=>e(d)):e(d)}if(r>a){let d=t.slice(a,r);c?$e.push(()=>e(d)):e(d)}}var we,Yt,Ve,We,$e,Xt,Qe=E(()=>{"use strict";we=0,Yt=!1,Ve=[],We=[],$e=[],Xt=[]});var G,R,P,I,U,B,Q,F,M,v,H,ve,Zt,xe,en,tn,_e,Ye,Xe,Ze,Se,ne=E(()=>{"use strict";G=Symbol.for("graphrefly/START"),R=Symbol.for("graphrefly/DATA"),P=Symbol.for("graphrefly/DIRTY"),I=Symbol.for("graphrefly/RESOLVED"),U=Symbol.for("graphrefly/INVALIDATE"),B=Symbol.for("graphrefly/PAUSE"),Q=Symbol.for("graphrefly/RESUME"),F=Symbol.for("graphrefly/TEARDOWN"),M=Symbol.for("graphrefly/COMPLETE"),v=Symbol.for("graphrefly/ERROR"),H=Object.freeze([P]),ve=Object.freeze([I]),Zt=Object.freeze([U]),xe=Object.freeze([G]),en=Object.freeze([M]),tn=Object.freeze([F]),_e=Object.freeze([H]),Ye=Object.freeze([ve]),Xe=Object.freeze([Zt]),Ze=Object.freeze([en]),Se=Object.freeze([tn])});function et(e){e.registerCodec(nn)}var nn,tt=E(()=>{"use strict";nn={name:"json",version:1,contentType:"application/json",encode(e){let t=JSON.stringify(e);return new TextEncoder().encode(t)},decode(e,t){let n=new TextDecoder().decode(e);return JSON.parse(n)}}});function re(e){if(e==null)return rn;let{type:t,id:n,...r}=e;return{type:t??"system",id:n??"",...r}}var rn,nt=E(()=>{"use strict";rn={type:"system",id:""}});function rt(e){e.registerMessageType(G,{tier:0,wireCrossing:!1}),e.registerMessageType(P,{tier:1,wireCrossing:!1}),e.registerMessageType(U,{tier:1,wireCrossing:!1,metaPassthrough:!1}),e.registerMessageType(B,{tier:2,wireCrossing:!1}),e.registerMessageType(Q,{tier:2,wireCrossing:!1}),e.registerMessageType(R,{tier:3,wireCrossing:!0}),e.registerMessageType(I,{tier:3,wireCrossing:!0}),e.registerMessageType(M,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(v,{tier:4,wireCrossing:!0,metaPassthrough:!1}),e.registerMessageType(F,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var oe,ot=E(()=>{"use strict";ne();oe=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(t){this._onMessage=t.onMessage,this._onSubscribe=t.onSubscribe,this._defaultVersioning=t.defaultVersioning,this._defaultHashFn=t.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(t){this._assertUnfrozen(),this._onMessage=t}set onSubscribe(t){this._assertUnfrozen(),this._onSubscribe=t}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(t){this._assertUnfrozen(),this._defaultVersioning=t}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(t){this._assertUnfrozen(),this._defaultHashFn=t}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(t){this._inspectorEnabled=t}get globalInspector(){return this._globalInspector}set globalInspector(t){this._globalInspector=t}get rigorRecorder(){return this._rigorRecorder}set rigorRecorder(t){this._rigorRecorder=t}registerMessageType(t,n){return this._assertUnfrozen(),this._messageTypes.set(t,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(t){let n=this._messageTypes.get(t);return n!=null?n.tier:1}isWireCrossing(t){let n=this._messageTypes.get(t);return n!=null?n.wireCrossing:!0}isLocalOnly(t){return!this.isWireCrossing(t)}isMetaPassthrough(t){let n=this._messageTypes.get(t);return n!=null?n.metaPassthrough:!0}isKnownMessageType(t){return this._messageTypes.has(t)}registerCodec(t){return this._assertUnfrozen(),this._codecs.set(t.name,t),this}lookupCodec(t){return this._codecs.get(t)}_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 j,st=E(()=>{"use strict";j=class extends Error{actor;action;nodeName;constructor(t,n){super(n??`GuardDenied: action "${String(t.action)}" denied for actor type "${String(t.actor.type)}"`),this.name="GuardDenied",this.actor=t.actor,this.action=t.action,this.nodeName=t.nodeName}get node(){return this.nodeName}}});function Ae(e){if(e===void 0)return null;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Cannot hash non-finite number: ${e}`);if(Number.isInteger(e)&&!Number.isSafeInteger(e))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${e}. Cross-language cid parity is not guaranteed for unsafe integers.`);return e}if(typeof e=="string"||typeof e=="boolean"||e===null)return e;if(Array.isArray(e))return e.map(Ae);if(typeof e=="object"&&e!==null){let t={};for(let n of Object.keys(e).sort())t[n]=Ae(e[n]);return t}return null}function an(e){let t=sn.encode(e),n=t.length,r=n*8,s=n+9+63&-64,i=new Uint8Array(s);i.set(t),i[n]=128;let a=new DataView(i.buffer);a.setUint32(s-4,r>>>0,!1),a.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let o=1779033703,c=3144134277,d=1013904242,l=2773480762,u=1359893119,p=2600822924,f=528734635,g=1541459225,y=new Uint32Array(64),m=(_,S)=>_>>>S|_<<32-S;for(let _=0;_<s;_+=64){for(let A=0;A<16;A++)y[A]=a.getUint32(_+A*4,!1);for(let A=16;A<64;A++){let $=y[A-15],q=y[A-2],Z=m($,7)^m($,18)^$>>>3,Te=m(q,17)^m(q,19)^q>>>10;y[A]=y[A-16]+Z+y[A-7]+Te>>>0}let S=o,C=c,k=d,b=l,T=u,x=p,N=f,ke=g;for(let A=0;A<64;A++){let $=m(T,6)^m(T,11)^m(T,25),q=T&x^~T&N,Z=ke+$+q+on[A]+y[A]>>>0,Te=m(S,2)^m(S,13)^m(S,22),Bt=S&C^S&k^C&k,Gt=Te+Bt>>>0;ke=N,N=x,x=T,T=b+Z>>>0,b=k,k=C,C=S,S=Z+Gt>>>0}o=o+S>>>0,c=c+C>>>0,d=d+k>>>0,l=l+b>>>0,u=u+T>>>0,p=p+x>>>0,f=f+N>>>0,g=g+ke>>>0}let h=_=>_.toString(16).padStart(8,"0");return h(o)+h(c)+h(d)+h(l)+h(u)+h(p)+h(f)+h(g)}function Ee(e){let t=Ae(e??null),n=JSON.stringify(t);return an(n).slice(0,16)}function cn(){let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID();let t=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=t()+t()+t()+t();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 Re(e,t,n){let r=n?.id??cn();if(e===0)return{id:r,version:0};let i=(n?.hash??Ee)(t);return{id:r,version:0,cid:i,prev:null}}function it(e,t,n){e.version+=1,"cid"in e&&(e.prev=e.cid,e.cid=n(t))}var on,sn,at=E(()=>{"use strict";on=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]),sn=new TextEncoder});function lt(e){return{node:e,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function Me(e){e.prevData=void 0,e.dirty=!1,e.involvedThisWave=!1,e.dataBatch.length=0,e.terminal=void 0}function se(e){return e.length===0?e:typeof e[0]=="symbol"?[e]:e}function pt(e,t,n){let r=ut(e)?e:[],s=typeof e=="function"?e:typeof t=="function"?t:void 0,i={};return ut(e)?i=(Ce(t)?t:n)??{}:Ce(e)?i=e:i=(Ce(t)?t:n)??{},new ie(r,s,i)}var ct,dt,dn,ln,Ne,ie,ut,Ce,ft=E(()=>{"use strict";tt();nt();Qe();O();ot();st();ne();at();ct=()=>{},dt=100;dn=(e,t,n,r)=>{n.direction==="down-in"&&e._onDepMessage(n.depIndex,t)},ln=(e,t,n,r)=>{let s=e;if(s._status==="completed"||s._status==="errored")return;let i=s._cached,a=i===void 0?[xe]:[xe,[R,i]];s._status==="dirty"&&a.push(H),te(t,a,s._config.tierOf)},Ne=new oe({onMessage:dn,onSubscribe:ln});rt(Ne);et(Ne);ie=class e{_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(t,n,r){this._config=r.config??Ne,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=t.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Ee;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?Re(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=t.map(lt);let i={};for(let[o,c]of Object.entries(r.meta??{})){let d={initial:c,name:`${r.name??"node"}:meta:${o}`,describeKind:"state",config:this._config};r.guard!=null&&(d.guard=r.guard),i[o]=new e([],void 0,d)}Object.freeze(i),this.meta=i,this._hasMeta=Object.keys(i).length>0;let a=this;this._actions={emit(o){a._emit([[R,o]])},down(o){a._emit(se(o))},up(o){a._emitUp(se(o))}},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(t,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&&t<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let i=this._cached===void 0?void 0:this._cached,a=this._versioning,o=a?.id??n?.id,c=a?.version??0,d=Re(t,i,{id:o,hash:s});d.version=c,this._versioning=d,this._versioningLevel=t}_setInspectorHook(t){return t==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(t),()=>{this._inspectorHooks?.delete(t),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(t){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(t),()=>{this._extraGuards?.delete(t),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(t){if(this._guard==null&&this._extraGuards==null)return!0;let n=re(t);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(t){if(t?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=t?.actor!=null;if(!n&&!r)return;let s=re(t?.actor),i=t?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,i))throw new j({actor:s,action:i,nodeName:this.name});if(this._extraGuards!=null){for(let a of this._extraGuards)if(!a(s,i))throw new j({actor:s,action:i,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:D()}}down(t,n){let r=se(t);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(t,n){this._checkGuard(n),this._emit([[R,t]])}up(t,n){if(this._deps.length===0)return;let r=se(t);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let i of this._deps)i.node.up?.(r,s)}_emitUp(t){if(this._deps.length!==0&&t.length!==0){this._validateUpTiers(t);for(let n of this._deps)n.node.up?.(t,{internal:!0})}}_validateUpTiers(t){let n=this._config.tierOf;for(let r of t){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} 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(t,n){if(n!=null&&this._guard!=null){let c=re(n);if(!this._guard(c,"observe"))throw new j({actor:c,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){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 c of this._deps)Me(c);if(this._partial===!1){for(let c of this._deps)if(c.prevData!==void 0||c.dataBatch.length!==0||c.terminal!==void 0||c.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,t,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(c){throw this._sinkCount-=1,c}this._sinks==null?this._sinks=t:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,t]):this._sinks.add(t);let a=this._isTerminal;if(this._sinkCount===1&&!a)try{this._activate()}catch(c){if(this._sinkCount-=1,this._removeSink(t),this._sinkCount===0&&(this._status="sentinel"),typeof i=="function")try{i()}catch{}throw c}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let o=!1;return()=>{o||(o=!0,this._sinkCount-=1,this._removeSink(t),typeof i=="function"&&i(),this._sinks==null&&this._deactivate())}}_removeSink(t){if(this._sinks===t)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(t),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 t=this._deps.length,n=0;try{for(let r=0;r<t;r++){let s=r,i=this._deps[r];i.unsub=ct,i.unsub=i.node.subscribe(a=>{if(i.unsub===null)return;let o=this._config.tierOf,c=!1;for(let d of a)o(d[0])>=3&&(c=!0),this._config.onMessage(this,d,{direction:"down-in",depIndex:s},this._actions);c&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let i=this._deps[s];if(i.unsub!=null){let a=i.unsub;i.unsub=null;try{a()}catch{}Me(i)}}throw this._dirtyDepCount=0,r}}_addDep(t){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===t)return s;let n=this._deps.length,r=lt(t);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e),r.unsub=ct;try{r.unsub=t.subscribe(s=>{if(r.unsub===null)return;let i=this._config.tierOf,a=!1;for(let o of s)i(o[0])>=3&&(a=!0),this._config.onMessage(this,o,{direction:"down-in",depIndex:n},this._actions);a&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(t=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[v,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[v,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}Me(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),t||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(t,n){let r=this._deps[t],s=n[0];if(this._inspectorHooks!=null){let i={kind:"dep_message",depIndex:t,message:n};for(let a of this._inspectorHooks)a(i)}if(s!==G){if(s===P){this._depDirtied(r);return}if(s===U){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Xe);return}if(s===B||s===Q){this._emit([n]);return}if(s===F){this._emit(Se);return}if(s===R)this._depSettledAsData(r,n[1]);else if(s===I)this._depSettledAsResolved(r);else if(s===M)this._depSettledAsTerminal(r,!0);else if(s===v)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===R||s===I)&&this._emit([n]),(s===M||s===v)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(t){t.dirty||(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(_e))}_depSettledAsData(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.involvedThisWave=!0,t.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(t){t.dirty&&(t.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(t,n){t.dirty&&(t.dirty=!1,this._dirtyDepCount--),t.terminal=n,t.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(t){t.prevData=void 0,t.terminal=void 0,t.dataBatch.length=0,t.dirty?t.involvedThisWave=!1:(t.dirty=!0,t.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let t=0;t<this._deps.length;t++){let n=this._deps[t];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(Ye),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let t=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(t!=null){this._autoError&&this._emit([[v,t.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Ze)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let t=this._cleanup;if(typeof t=="function"){this._cleanup=void 0;try{t()}catch(a){this._emit([[v,this._wrapFnError("cleanup threw",a)]]);return}}else if(t!=null&&typeof t=="object"){let a=t.beforeRun;if(typeof a=="function"){t.beforeRun=void 0;try{a()}catch(o){this._emit([[v,this._wrapFnError("cleanup.beforeRun threw",o)]]);return}}}let n=this._deps.map(a=>a.involvedThisWave?a.dataBatch.length>0?[...a.dataBatch]:[]:void 0),r=this._deps.map(a=>a.prevData);for(let a=0;a<this._deps.length;a++){let o=n[a];o!=null&&o.length>0&&(this._deps[a].prevData=o[o.length-1])}let s=this._deps.map(a=>a.terminal),i={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let a={kind:"run",batchData:n,prevData:r};for(let o of this._inspectorHooks)o(a)}this._isExecutingFn=!0;try{let a=this._fn(n,this._actions,i);if(typeof a=="function")this._cleanup=a;else if(a!=null&&typeof a=="object"){let o=a;(typeof o.beforeRun=="function"||typeof o.deactivate=="function"||typeof o.invalidate=="function")&&(this._cleanup=a)}}catch(a){this._emit([[v,this._wrapFnError("fn threw",a)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>dt?(this._rerunDepth=0,this._emit([[v,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${dt} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let t of this._deps)t.involvedThisWave=!1,t.dataBatch.length=0}_wrapFnError(t,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${t}: ${r}`,{cause:n})}_frameBatch(t){let n=this._config.tierOf;if(t.length===1)return n(t[0][0])===3&&this._status!=="dirty"?[H,t[0]]:t;let r=!0,s=!1,i=!1,a=-1;for(let c of t){let d=n(c[0]);d<a&&(r=!1),d===3&&(s=!0),c[0]===P&&(i=!0),a=d}let o=t;if(!r){let c=t.map((d,l)=>({m:d,i:l,tier:n(d[0])}));c.sort((d,l)=>d.tier-l.tier||d.i-l.i),o=c.map(d=>d.m)}if(s&&!i&&this._status!=="dirty"){let c=0;for(;c<o.length&&n(o[c][0])===0;)c++;return c===0?[H,...o]:[...o.slice(0,c),H,...o.slice(c)]}return o}_emit(t){if(t.length===0)return;for(let o=0;o<t.length;o++){let c=t[o];if(c[0]===v&&c[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=t;if(this._isTerminal&&!this._resubscribable){let o=t.filter(c=>c[0]===F||c[0]===U);if(o.length===0)return;n=o}n=this._frameBatch(n);let s=null;for(let o=0;o<n.length;o++){let c=n[o],d=c[0];if(d!==B&&d!==Q){s?.push(c);continue}if(c.length<2)throw new Error(`Node "${this.name}": [[${d===B?"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=c[1];if(d===B)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?s?.push(c):s==null&&(s=n.slice(0,o))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(o=>o[0]===F))for(let o of Object.keys(this.meta))try{this.meta[o]._emit(Se)}catch{}let{finalMessages:i,equalsError:a}=this._updateState(n);if(i.length>0&&this._config.inspectorEnabled){let o=this._config.globalInspector;if(o!=null)try{o({kind:"emit",node:this,messages:i})}catch{}}if(i.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let o=this._config.tierOf,c=[];for(let d of i)o(d[0])===3?this._pauseBuffer.push(d):c.push(d);c.length>0&&this._dispatchOrAccumulate(c)}else this._dispatchOrAccumulate(i);a!=null&&this._emit([[v,a]])}_updateState(t){let n=this._config.tierOf,r,s,i=-1,a=0;for(let l of t)n(l[0])===3&&a++;let o=a<=1,c=-1;if(this._versioning!=null&&a>1){for(let l=t.length-1;l>=0;l--)if(t[l][0]===R){c=l;break}}for(let l=0;l<t.length;l++){let u=t[l],p=u[0];if(p===R){if(u.length>=2){let f=!1;if(o&&this._cached!==void 0)try{f=this._equals(this._cached,u[1])}catch(g){s=this._wrapFnError("equals threw",g),i=l;break}if(f){r==null&&(r=t.slice(0,l)),r.push(ve),this._status="resolved";continue}this._cached=u[1],this._versioning!=null&&(c<0||l===c)&&it(this._versioning,u[1],this._hashFn)}this._status="settled",r?.push(u)}else if(r?.push(u),p===P)this._status="dirty";else if(p===I)this._status="resolved";else if(p===M){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===v){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===U){if(this._cached!==void 0){let g=this._config.rigorRecorder;if(g!=null)try{g.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 g=f.invalidate;if(typeof g=="function")try{g()}catch{}}}else p===F&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let d=i>=0?r??t.slice(0,i):r??t;return s!=null?{finalMessages:d,equalsError:s}:{finalMessages:d}}_deliverToSinks=t=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(t);return}let n=[...this._sinks];for(let r of n)r(t)};_dispatchOrAccumulate(t){if(ze()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Je(()=>this._flushBatchPending()));for(let n of t)this._batchPendingMessages.push(n);return}te(this._deliverToSinks,t,this._config.tierOf)}_flushBatchPending(){let t=this._batchPendingMessages;if(t===null||(this._batchPendingMessages=null,t.length===0))return;let n=this._frameBatch(t);te(this._deliverToSinks,n,this._config.tierOf)}},ut=e=>Array.isArray(e),Ce=e=>typeof e=="object"&&e!=null&&!Array.isArray(e)});function ae(e,t){return pt((r,s,i)=>e(s,i)??void 0,{describeKind:"producer",...t})}var mt=E(()=>{"use strict";ft()});function Oe(e){return{describeKind:"producer",...e}}function gt(e,t){return ae(n=>{let r=!1;try{for(let s of e){if(r)return;n.emit(s)}r||n.down([[M]])}catch(s){r||n.down([[v,s]])}return()=>{r=!0}},Oe(t))}function un(e){return e!=null&&typeof e.then=="function"}function pn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=!1,a=()=>{i||(i=!0,s.down([[v,n.reason]]))};if(n?.aborted){a();return}return n?.addEventListener("abort",a,{once:!0}),Promise.resolve(e).then(o=>{i||(i=!0,n?.removeEventListener("abort",a),s.emit(o),s.down([[M]]))},o=>{i||(i=!0,n?.removeEventListener("abort",a),s.down([[v,o]]))}),()=>{i=!0,n?.removeEventListener("abort",a)}},Oe(r))}function fn(e,t){let{signal:n,...r}=t??{};return ae(s=>{let i=new AbortController,a=()=>i.abort(n?.reason);n?.aborted?i.abort(n.reason):n?.addEventListener("abort",a,{once:!0});let o=n??i.signal,c=!1,d=e[Symbol.asyncIterator](),l=()=>{c||o.aborted||Promise.resolve(d.next()).then(u=>{if(!(c||o.aborted)){if(u.done){s.down([[M]]);return}s.emit(u.value),l()}},u=>{!c&&!o.aborted&&s.down([[v,u]])})};return l(),()=>{c=!0,n?.removeEventListener("abort",a),i.abort(),Promise.resolve(d.return?.()).catch(()=>{})}},Oe(r))}function mn(e){return e!=null&&typeof e=="object"&&"cache"in e&&typeof e.subscribe=="function"}function Y(e,t){if(mn(e))return e;if(un(e))return pn(e,t);if(e!=null){let n=e;if(typeof n[Symbol.asyncIterator]=="function")return fn(e,t);if(typeof n[Symbol.iterator]=="function")return gt(e,t)}return gn(e)}function gn(...e){return gt(e,void 0)}function K(e){return new Promise((t,n)=>{let r=!1,s=!1,i;i=e.subscribe(a=>{for(let o of a){if(r)return;if(o[0]===R){r=!0,t(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===v){r=!0,n(o[1]),i?(i(),i=void 0):s=!0;return}if(o[0]===M){r=!0,n(new Error("completed without DATA")),i?(i(),i=void 0):s=!0;return}}}),s&&(i?.(),i=void 0)})}var ce=E(()=>{"use strict";ne();mt()});var V,Le=E(()=>{"use strict";V=class{_timer;_gen=0;start(t,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},t)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});function hn(e){return e<0?0:e}function ht(e){let t=Math.max(1,e?.failureThreshold??5),n=hn(e?.cooldownNs??30*1e9),r=e?.cooldown??null,s=Math.max(1,e?.halfOpenMax??1),i=e?.now??w,a="closed",o=0,c=0,d=0,l=n,u=0;function p(){if(!r)return n;let y=r(c);return y!==null?y:n}function f(){a="open",l=p(),d=i(),u=0}return{canExecute(){return a==="closed"?!0:a==="open"?i()-d>=l?(a="half-open",u=1,!0):!1:u<s?(u++,!0):!1},recordSuccess(){a==="half-open"?(a="closed",o=0,c=0):a==="closed"&&(o=0)},recordFailure(y){if(a==="half-open"){c++,f();return}a==="closed"&&(o++,o>=t&&f())},get state(){return a},get failureCount(){return o},reset(){a="closed",o=0,c=0,u=0}}}var yt=E(()=>{"use strict";O()});var Vn={};$t(Vn,{chromeNanoAdapter:()=>z,cloudFirstPreset:()=>Hn,localFirstPreset:()=>jn,offlinePreset:()=>Kn,webllmAdapter:()=>J});module.exports=zt(Vn);O();function Ke(){let e=new Error("aborted");return e.name="AbortError",e}function z(e={}){let t=e.streamMode??"accumulated",n=e.navigatorOverride??globalThis.navigator,r=()=>{let o=n?.ai;if(!o?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return o},s=async o=>r().languageModel.create({systemPrompt:o?.systemPrompt??e.systemPrompt,temperature:o?.temperature??e.temperature,topK:e.topK,signal:o?.signal}),i=o=>{let c=[];for(let d of o)d.role!=="system"&&c.push(`${d.role}: ${d.content}`);return c.join(`
2
2
 
3
- `)},a=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(o,c){let d=await s(c);try{let u=i(o),l=w(),p=await d.prompt(u,{signal:c?.signal}),f=Math.max(0,(w()-l)/1e6);return{content:p,usage:a(),finishReason:"stop",latencyMs:f,model:"chrome-nano",provider:"chrome-nano"}}finally{d.destroy?.()}},async*stream(o,c){let d=await s(c);try{let u=i(o);if(t==="delta")for await(let l of d.promptStreaming(u,{signal:c?.signal})){if(c?.signal?.aborted)throw je();l&&(yield{type:"token",delta:l})}else{let l="";for await(let p of d.promptStreaming(u,{signal:c?.signal})){if(c?.signal?.aborted)throw je();let f=p.startsWith(l)?p.slice(l.length):p;l=p,f&&(yield{type:"token",delta:f})}}yield{type:"usage",usage:a()},yield{type:"finish",reason:"stop"}}finally{d.destroy?.()}}}}L();function qt(){let e=new Error("aborted");return e.name="AbortError",e}function z(e){let t=e.engine,n=async()=>{if(t)return t;if(!zt(e.navigatorOverride))throw new Error("webllmAdapter: WebGPU not available in this environment");let a=(await import("@mlc-ai/web-llm").catch(()=>{throw new Error("webllmAdapter: @mlc-ai/web-llm not installed. Add it as a peer dependency or pass opts.engine.")})).CreateMLCEngine;if(!a)throw new Error("webllmAdapter: @mlc-ai/web-llm missing CreateMLCEngine export");return t=await a(e.model,{initProgressCallback:e.initProgressCallback}),t},r=(i,a)=>{let o=[];a?.systemPrompt&&o.push({role:"system",content:a.systemPrompt});for(let c of i)o.push({role:c.role==="tool"?"user":c.role,content:c.content});return o},s=i=>({input:{regular:i?.prompt_tokens??0},output:{regular:i?.completion_tokens??0},raw:i});return{provider:"webllm",model:e.model,async invoke(i,a){let o=await n(),c=w(),d=await o.chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature},{signal:a?.signal}),u=Math.max(0,(w()-c)/1e6),l=d.choices?.[0];return{content:l?.message?.content??"",usage:s(d.usage),finishReason:l?.finish_reason,latencyMs:u,model:e.model,provider:"webllm"}},async*stream(i,a){let c=await(await n()).chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature,stream:!0},{signal:a?.signal}),d,u;for await(let l of c){if(a?.signal?.aborted)throw qt();let p=l.choices?.[0];p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.finish_reason&&(u=p.finish_reason),l.usage&&(d=l.usage)}d&&(yield{type:"usage",usage:s(d)}),yield{type:"finish",reason:u??"stop"}}}}function zt(e){let t=e??globalThis.navigator;return!!(t&&"gpu"in t&&t.gpu)}L();async function*K(e,t){let n=t?.parse??(k=>k),r=t?.signal,s=new TextDecoder,i="",a="message",o=[],c,d,u=[],l=()=>{if(o.length===0&&a==="message"&&c===void 0){o=[];return}let k=o.join(`
4
- `);u.push({event:a,data:n(k),id:c,retry:d}),a="message",o=[],c=void 0,d=void 0},p=k=>{if(k===""){l();return}if(k.startsWith(":"))return;let b=k.indexOf(":"),T=b<0?k:k.slice(0,b),x=b<0?"":k.slice(b+1);switch(x.startsWith(" ")&&(x=x.slice(1)),T){case"event":a=x;break;case"data":o.push(x);break;case"id":x.includes("\0")||(c=x);break;case"retry":{let C=Number(x);Number.isFinite(C)&&(d=C);break}}},f=(k,b)=>{i+=s.decode(k,{stream:!b});let T=i.split(/\r?\n/);i=T.pop()??"";for(let x of T)p(x)},h=e,y=e instanceof ReadableStream?e:h&&typeof h=="object"&&h.body instanceof ReadableStream?h.body:null,m,g,_=!1,S=()=>{_||(_=!0,m&&m.cancel().catch(()=>{}),g&&typeof g.return=="function"&&Promise.resolve(g.return()).catch(()=>{}))},N=()=>{S()};if(r){if(r.aborted)return;r.addEventListener("abort",N,{once:!0})}try{if(y){for(m=y.getReader();!r?.aborted;){let{value:k,done:b}=await m.read();if(b)break;for(f(k,!1);u.length>0;)yield u.shift()}f(new Uint8Array,!0)}else{for(g=e[Symbol.asyncIterator]();!r?.aborted;){let b=await g.next();if(b.done)break;for(f(b.value,!1);u.length>0;)yield u.shift()}f(new Uint8Array,!0)}if(i.trim()){for(let k of i.split(/\r?\n/))p(k);l()}for(;u.length>0;)yield u.shift()}finally{r&&r.removeEventListener("abort",N),S()}}async function O(e,t){let n;try{n=await e.text()}catch{n=""}let r=t??"HTTP",s=new Error(`${r} API ${e.status}: ${e.statusText}${n?` \u2014 ${n}`:""}`);return s.status=e.status,s.headers=e.headers,s}function yt(e={}){return e.sdk?kn(e):bn(e)}function de(e,t,n,r){let s=t?.model??n;if(!s)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:i,chat:a}=gn(e,t?.systemPrompt),o={model:s,messages:a.map(hn),max_tokens:t?.maxTokens??4096};return i&&(o.system=i),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(yn)),t?.maxReasoningTokens!=null&&(o.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,r&&(o.stream=!0),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function gn(e,t){let n=[];t&&n.push(t);let r=[];for(let s of e)s.role==="system"?n.push(s.content):r.push(s);return{system:n.length>0?n.join(`
3
+ `)},a=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(o,c){let d=await s(c);try{let l=i(o),u=w(),p=await d.prompt(l,{signal:c?.signal}),f=Math.max(0,(w()-u)/1e6);return{content:p,usage:a(),finishReason:"stop",latencyMs:f,model:"chrome-nano",provider:"chrome-nano"}}finally{d.destroy?.()}},async*stream(o,c){let d=await s(c);try{let l=i(o);if(t==="delta")for await(let u of d.promptStreaming(l,{signal:c?.signal})){if(c?.signal?.aborted)throw Ke();u&&(yield{type:"token",delta:u})}else{let u="";for await(let p of d.promptStreaming(l,{signal:c?.signal})){if(c?.signal?.aborted)throw Ke();let f=p.startsWith(u)?p.slice(u.length):p;u=p,f&&(yield{type:"token",delta:f})}}yield{type:"usage",usage:a()},yield{type:"finish",reason:"stop"}}finally{d.destroy?.()}}}}O();function Jt(){let e=new Error("aborted");return e.name="AbortError",e}function J(e){let t=e.engine,n=async()=>{if(t)return t;if(!Qt(e.navigatorOverride))throw new Error("webllmAdapter: WebGPU not available in this environment");let a=(await import("@mlc-ai/web-llm").catch(()=>{throw new Error("webllmAdapter: @mlc-ai/web-llm not installed. Add it as a peer dependency or pass opts.engine.")})).CreateMLCEngine;if(!a)throw new Error("webllmAdapter: @mlc-ai/web-llm missing CreateMLCEngine export");return t=await a(e.model,{initProgressCallback:e.initProgressCallback}),t},r=(i,a)=>{let o=[];a?.systemPrompt&&o.push({role:"system",content:a.systemPrompt});for(let c of i)o.push({role:c.role==="tool"?"user":c.role,content:c.content});return o},s=i=>({input:{regular:i?.prompt_tokens??0},output:{regular:i?.completion_tokens??0},raw:i});return{provider:"webllm",model:e.model,async invoke(i,a){let o=await n(),c=w(),d=await o.chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature},{signal:a?.signal}),l=Math.max(0,(w()-c)/1e6),u=d.choices?.[0];return{content:u?.message?.content??"",usage:s(d.usage),finishReason:u?.finish_reason,latencyMs:l,model:e.model,provider:"webllm"}},async*stream(i,a){let c=await(await n()).chat.completions.create({model:a?.model??e.model,messages:r(i,a),max_tokens:a?.maxTokens,temperature:a?.temperature,stream:!0},{signal:a?.signal}),d,l;for await(let u of c){if(a?.signal?.aborted)throw Jt();let p=u.choices?.[0];p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.finish_reason&&(l=p.finish_reason),u.usage&&(d=u.usage)}d&&(yield{type:"usage",usage:s(d)}),yield{type:"finish",reason:l??"stop"}}}}function Qt(e){let t=e??globalThis.navigator;return!!(t&&"gpu"in t&&t.gpu)}O();async function*W(e,t){let n=t?.parse??(k=>k),r=t?.signal,s=new TextDecoder,i="",a="message",o=[],c,d,l=[],u=()=>{if(o.length===0&&a==="message"&&c===void 0){o=[];return}let k=o.join(`
4
+ `);l.push({event:a,data:n(k),id:c,retry:d}),a="message",o=[],c=void 0,d=void 0},p=k=>{if(k===""){u();return}if(k.startsWith(":"))return;let b=k.indexOf(":"),T=b<0?k:k.slice(0,b),x=b<0?"":k.slice(b+1);switch(x.startsWith(" ")&&(x=x.slice(1)),T){case"event":a=x;break;case"data":o.push(x);break;case"id":x.includes("\0")||(c=x);break;case"retry":{let N=Number(x);Number.isFinite(N)&&(d=N);break}}},f=(k,b)=>{i+=s.decode(k,{stream:!b});let T=i.split(/\r?\n/);i=T.pop()??"";for(let x of T)p(x)},g=e,y=e instanceof ReadableStream?e:g&&typeof g=="object"&&g.body instanceof ReadableStream?g.body:null,m,h,_=!1,S=()=>{_||(_=!0,m&&m.cancel().catch(()=>{}),h&&typeof h.return=="function"&&Promise.resolve(h.return()).catch(()=>{}))},C=()=>{S()};if(r){if(r.aborted)return;r.addEventListener("abort",C,{once:!0})}try{if(y){for(m=y.getReader();!r?.aborted;){let{value:k,done:b}=await m.read();if(b)break;for(f(k,!1);l.length>0;)yield l.shift()}f(new Uint8Array,!0)}else{for(h=e[Symbol.asyncIterator]();!r?.aborted;){let b=await h.next();if(b.done)break;for(f(b.value,!1);l.length>0;)yield l.shift()}f(new Uint8Array,!0)}if(i.trim()){for(let k of i.split(/\r?\n/))p(k);u()}for(;l.length>0;)yield l.shift()}finally{r&&r.removeEventListener("abort",C),S()}}async function L(e,t){let n;try{n=await e.text()}catch{n=""}let r=t??"HTTP",s=new Error(`${r} API ${e.status}: ${e.statusText}${n?` \u2014 ${n}`:""}`);return s.status=e.status,s.headers=e.headers,s}function bt(e={}){return e.sdk?wn(e):Tn(e)}function de(e,t,n,r){let s=t?.model??n;if(!s)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:i,chat:a}=yn(e,t?.systemPrompt),o={model:s,messages:a.map(bn),max_tokens:t?.maxTokens??4096};return i&&(o.system=i),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(kn)),t?.maxReasoningTokens!=null&&(o.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,r&&(o.stream=!0),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function yn(e,t){let n=[];t&&n.push(t);let r=[];for(let s of e)s.role==="system"?n.push(s.content):r.push(s);return{system:n.length>0?n.join(`
5
5
 
6
- `):void 0,chat:r}}function hn(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let n of e.toolCalls)t.push({type:"tool_use",id:n.id,name:n.name,input:n.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function yn(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function le(e,t){if(!e)return{...t};let n={...e};return t.input_tokens!=null&&(n.input_tokens=t.input_tokens),t.output_tokens!=null&&(n.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(n.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(n.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(n.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(n.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),n}function Pe(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function bt(e,t){let n=[],r=[];for(let s of e.content)if(s.type==="text"&&typeof s.text=="string")n.push(s.text);else if(s.type==="tool_use"){let i=s;r.push({id:i.id,name:i.name,arguments:i.input??{}})}return{content:n.join(""),toolCalls:r.length>0?r:void 0,usage:Pe(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function bn(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,n=e.baseURL??"https://api.anthropic.com",r=e.anthropicVersion??"2023-06-01",s=e.fetchImpl??fetch,i=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":r,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,o){let c=de(a,o,e.model,!1),d=w(),u=await s(`${n}/v1/messages`,{method:"POST",headers:i(),body:JSON.stringify(c),signal:o?.signal});if(!u.ok)throw await O(u,"Anthropic");let l=await u.json(),p=Math.max(0,(w()-d)/1e6);return bt(l,p)},async*stream(a,o){let c=de(a,o,e.model,!0),d=await s(`${n}/v1/messages`,{method:"POST",headers:{...i(),accept:"text/event-stream"},body:JSON.stringify(c),signal:o?.signal});if(!d.ok)throw await O(d,"Anthropic");if(!d.body)throw new Error("anthropicAdapter: streaming response has no body");let u,l,p=new Map;for await(let f of K(d.body,{signal:o?.signal})){let h=f.data;if(!h)continue;let y;try{y=JSON.parse(h)}catch{continue}switch(y.type){case"message_start":{u=le(u,y.message.usage);break}case"content_block_start":{let m=y,g=m.content_block;g.type==="tool_use"&&(p.set(m.index,{id:String(g.id??""),name:String(g.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(g.id??""),name:String(g.name??"")}});break}case"content_block_delta":{let m=y,g=m.delta;if(g.type==="text_delta"&&typeof g.text=="string")yield{type:"token",delta:g.text};else if(g.type==="input_json_delta"&&typeof g.partial_json=="string"){let _=p.get(m.index);_&&(_.argBuf+=g.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:g.partial_json}}}else g.type==="thinking_delta"&&typeof g.thinking=="string"&&(yield{type:"thinking",delta:g.thinking});break}case"message_delta":{let m=y;m.delta.stop_reason&&(l=m.delta.stop_reason),m.delta.usage&&(u=le(u,m.delta.usage));break}case"message_stop":break}}u&&(yield{type:"usage",usage:Pe(u)}),yield{type:"finish",reason:l??"stop"}}}}function kn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(n,r){let s=de(n,r,e.model,!1),i=w(),a=await t.messages.create(s,{signal:r?.signal}),o=Math.max(0,(w()-i)/1e6);return bt(a,o)},async*stream(n,r){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let s=de(n,r,e.model,!0),i,a;for await(let o of t.messages.stream(s,{signal:r?.signal}))switch(o.type){case"message_start":i=le(i,o.message.usage);break;case"content_block_delta":{let c=o.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=o;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(i=le(i,c.delta.usage));break}}i&&(yield{type:"usage",usage:Pe(i)}),yield{type:"finish",reason:a??"stop"}}}}Oe();function ue(){let e=new Error("aborted");return e.name="AbortError",e}function kt(e,t){return e<=0?Promise.resolve():t?.aborted?Promise.reject(ue()):new Promise((n,r)=>{let s=new V,i,a=()=>{s.cancel(),t&&i&&t.removeEventListener("abort",i)};s.start(e,()=>{a(),n()}),t&&(i=()=>{a(),r(ue())},t.addEventListener("abort",i,{once:!0}))})}function pe(e={}){let t=e.provider??"dry-run",n=e.model??"dry-run-v1",r=e.latencyMs??0,s=Math.max(1,e.streamChunkSize??16),i=e.respond??(o=>{let c=[...o].reverse().find(d=>d.role==="user");return c?`echo: ${c.content}`:"dry-run: no user message"}),a=e.usage??((o,c)=>{let d=o.reduce((u,l)=>u+l.content.length,0);return{input:{regular:Math.ceil(d/4)},output:{regular:Math.ceil(c.length/4)}}});return{provider:t,model:n,async invoke(o,c){if(await kt(r,c?.signal),c?.signal?.aborted)throw ue();let d=i(o,c),u=a(o,d);return{content:d,usage:u,finishReason:"stop",model:c?.model??n,provider:t,tier:c?.tier,metadata:{dryRun:!0}}},async*stream(o,c){let d=i(o,c),u=a(o,d),l=Math.ceil(d.length/s)||1,p=r>0?r/l:0;for(let f=0;f<d.length;f+=s){if(c?.signal?.aborted)throw ue();await kt(p,c?.signal),yield{type:"token",delta:d.slice(f,f+s)}}yield{type:"usage",usage:u},yield{type:"finish",reason:"stop"}}}}L();async function fe(e){let t=typeof e=="string"?new TextEncoder().encode(e):e,n=await globalThis.crypto.subtle.digest("SHA-256",t),r=new Uint8Array(n),s="";for(let i=0;i<r.length;i++)s+=Tt[r[i]];return s}var Tt=new Array(256);for(let e=0;e<256;e++)Tt[e]=e.toString(16).padStart(2,"0");function Ie(){let e=new Map;return{save(t,n){e.set(t,JSON.parse(JSON.stringify(n)))},load(t){let n=e.get(t);return n===void 0?null:JSON.parse(JSON.stringify(n))},clear(t){e.delete(t)},list(){return[...e.keys()].sort()}}}L();var Fe=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 De(e){let t=new Set,n=r=>{if(r===null||typeof r!="object")return r;let s=r;if(t.has(s))return{__cycle:!0};t.add(s);try{if(Array.isArray(r))return r.map(n);let i={};for(let a of Object.keys(r).sort())i[a]=n(r[a]);return i}finally{t.delete(s)}};return JSON.stringify(n(e))}function wt(e){let{storage:t,keyContext:n,keyPrefix:r,mode:s="read-write"}=e,i=n??(o=>o);async function a(o){let c=De(i(o)),d=await fe(c);return r?`${r}:${d}`:d}return{keyFor:a,async lookup(o){if(s==="write")return;let c=await a(o),d=await t.load(c);if(d==null){if(s==="read-strict")throw new Fe(c,o);return}return d},async store(o,c){if(s==="read")return;let d=await a(o);await t.save(d,c)},async forget(o){if(s==="read"||s==="write"||!t.clear)return;let c=await a(o);await t.clear(c)}}}ce();function vt(e,t={}){let n=t.keyFn??(s=>String(s)),r=new Map;return s=>{let i=n(s),a=r.get(i);if(a)return a;let o=e(s),c;o!=null&&typeof o.then=="function"?c=Promise.resolve(o):o!=null&&typeof o=="object"&&"subscribe"in o&&"cache"in o?c=j(o):o!=null&&typeof o=="object"&&Symbol.asyncIterator in o?c=(async()=>{let l=o[Symbol.asyncIterator]();try{let{value:p,done:f}=await l.next();if(f)throw new Error("singleFromAny: factory returned empty async iterable");return p}finally{await l.return?.()}})():o!=null&&typeof o=="object"&&Symbol.iterator in o?c=(async()=>{let l=o[Symbol.iterator]();try{let{value:p,done:f}=l.next();if(f)throw new Error("singleFromAny: factory returned empty iterable");return p}finally{l.return?.()}})():c=Promise.resolve(o);let d,u=()=>{r.get(i)===d&&r.delete(i)};return d=c.then(l=>(u(),l),l=>{throw u(),l}),r.set(i,d),d}}ce();Oe();function xt(e){let{storage:t,mode:n="read-write",keyFn:r,keyPrefix:s="llm-replay"}=e,a=wt({storage:t,keyPrefix:s,mode:n==="read-strict"?"read":n,keyContext:({messages:c,opts:d})=>{let{signal:u,keyContext:l,...p}=d??{};return{messages:c,opts:p}}});async function o(c,d){if(r){if(r.length<=1){let l={messages:c,opts:d,context:d?.keyContext},p=await r(l);return`${s}:${p}`}let u=await r(c,d);return`${s}:${u}`}return a.keyFor({messages:c,opts:d})}return{keyFor:o,async lookup(c,d){if(n!=="write"){if(r){let u=await o(c,d),l=await t.load(u);return l??void 0}return a.lookup({messages:c,opts:d})}},async store(c,d,u){if(n!=="read"){if(r){let l=await o(c,d);await t.save(l,u);return}await a.store({messages:c,opts:d},u)}},async forget(c,d){if(!(n==="read"||n==="write")&&t.clear){if(r){let u=await o(c,d);await t.clear(u);return}await a.forget({messages:c,opts:d})}}}}function _t(e,t,n){return{provider:n?.provider??e.provider,model:n?.model??e.model,capabilities:n?.capabilities??e.capabilities?.bind(e),invoke:t.invoke,stream:t.stream}}var St=Symbol.for("graphrefly.adapter.middlewareLayers");function me(e,t,n){let s=[...n?Tn(n):[],t];return Object.defineProperty(e,St,{value:Object.freeze(s),enumerable:!1,writable:!1,configurable:!1}),e}function Tn(e){let t=e[St];return Array.isArray(t)?t:[]}var X=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 At(e,t){let n=t.mode??"read-write",r=t.cacheStreaming??!1,s=t.captureStreamCadence??!1,i=t.replaySpeed??1,a=t.keyPrefix??"llm-replay",o=n==="read"||n==="read-strict",c=xt({storage:t.storage,mode:n==="write-only"?"write":n,keyFn:t.keyFn,keyPrefix:a}),d=p=>p<=0?Promise.resolve():new Promise(f=>{new V().start(p,()=>f())}),u=vt(async({messages:p,invokeOpts:f})=>await j(Y(e.invoke(p,f))),{keyFn:({_precomputedKey:p})=>p}),l=_t(e,{async invoke(p,f){let h=await c.keyFor(p,f),y=await c.lookup(p,f);if(y?.response){let g=y.response;return{...g,metadata:{...g.metadata??{},replayCache:"hit"}}}if(n==="read-strict")throw new X(h,"invoke");let m=await u({messages:p,invokeOpts:f,_precomputedKey:h});return o||await c.store(p,f,{response:m,storedAtNs:D()}),m},async*stream(p,f){if(!r){for await(let b of e.stream(p,f))yield b;return}let h=await c.keyFor(p,f),y=await c.lookup(p,f);if(y){let b=y.response;if(y.streamChunks&&y.streamCadenceMs)for(let T=0;T<y.streamChunks.length;T++){let x=y.streamCadenceMs[T]??0,C=i>0?x/i:0;C>0&&await d(C),yield{type:"token",delta:y.streamChunks[T]?.delta??""}}else b.content&&(yield{type:"token",delta:b.content});b.usage&&(yield{type:"usage",usage:b.usage}),yield{type:"finish",reason:b.finishReason??"stop"};return}if(n==="read-strict")throw new X(h,"stream");let m="",g,_,S=[],N=[],k;for await(let b of e.stream(p,f)){if(b.type==="token"&&(m+=b.delta,s)){let T=w(),x=k===void 0?0:(T-k)/1e6;N.push(x),k=T,S.push({delta:b.delta})}b.type==="usage"&&(g=b.usage),b.type==="finish"&&(_=b.reason),yield b}if((m||g)&&!o){let T={response:{content:m,usage:g??{input:{regular:0},output:{regular:0}},finishReason:_,model:e.model??f?.model??"",provider:e.provider},storedAtNs:D(),...s?{streamChunks:S,streamCadenceMs:N}:{}};await c.store(p,f,T)}}});return me(l,"withReplayCache",e),l}var Et=De;function Rt(e,t){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Mt(e,t,n){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:n,provider:t,metadata:{degraded:!0,reason:"respond"}}:e}async function wn(e,t){if("key"in e)return e.key;let n=Et({messages:e.messages,opts:e.invokeOpts??{}}),r=await fe(n);return`${t}:${r}`}function vn(e){let t={response:e.response,storedAtNs:D()};if("key"in e&&e.stream){let n=e.stream.chunks.filter(r=>r.type==="token");return{...t,streamChunks:n.map(r=>({delta:r.delta})),streamCadenceMs:e.stream.delaysMs??n.map(()=>0)}}return t}function xn(e,t){let n=[];if(e.fixtures!=null&&n.push("fixtures"),e.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(e.fixtures){let r=Ie(),s=e.fixtures,i=(async()=>{for(let a of s){let o=await wn(a,t);await r.save(o,vn(a))}})();return i.catch(()=>{}),{tier:r,seedReady:i}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Nt(e={}){let t=e.provider??"fallback",n=e.model??"fallback",r=e.onMiss??"respond",s=e.keyPrefix??"fallback",i=e.record?e.record.adapter:r==="throw"?pe({provider:t,model:n,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:t,model:n,async invoke(u,l){let p=e.respond?e.respond(u,l):Rt(t,n);return Mt(p,t,n)},async*stream(u,l){let p=e.respond?e.respond(u,l):Rt(t,n),f=Mt(p,t,n);yield{type:"token",delta:f.content},f.usage&&(yield{type:"usage",usage:f.usage}),yield{type:"finish",reason:f.finishReason??"stop"}}},a,o=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");a=e.record.storage}else{let u=xn(e,s);a=u.tier??Ie(),o=u.seedReady}let c=e.record?"read-write":r==="throw"?"read-strict":"read",d=At(i,{storage:a,mode:c,keyPrefix:s,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:t,model:n,capabilities:d.capabilities?.bind(d),async invoke(u,l){return await o,d.invoke(u,l)},async*stream(u,l){await o;for await(let p of d.stream(u,l))yield p}}}L();function Lt(e={}){return e.sdk?En(e):An(e)}function ge(e,t){let n=[],r=[];t?.systemPrompt&&n.push(t.systemPrompt);for(let a of e){if(a.role==="system"){n.push(a.content);continue}if(a.role==="tool"){r.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let o=[];a.content&&o.push({text:a.content});for(let c of a.toolCalls)o.push({functionCall:{name:c.name,args:c.arguments}});r.push({role:"model",parts:o});continue}r.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let s={contents:r};n.length>0&&(s.systemInstruction={role:"system",parts:[{text:n.join(`
6
+ `):void 0,chat:r}}function bn(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let n of e.toolCalls)t.push({type:"tool_use",id:n.id,name:n.name,input:n.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function kn(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function le(e,t){if(!e)return{...t};let n={...e};return t.input_tokens!=null&&(n.input_tokens=t.input_tokens),t.output_tokens!=null&&(n.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(n.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(n.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(n.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(n.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),n}function Pe(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function kt(e,t){let n=[],r=[];for(let s of e.content)if(s.type==="text"&&typeof s.text=="string")n.push(s.text);else if(s.type==="tool_use"){let i=s;r.push({id:i.id,name:i.name,arguments:i.input??{}})}return{content:n.join(""),toolCalls:r.length>0?r:void 0,usage:Pe(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function Tn(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,n=e.baseURL??"https://api.anthropic.com",r=e.anthropicVersion??"2023-06-01",s=e.fetchImpl??fetch,i=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":r,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,o){let c=de(a,o,e.model,!1),d=w(),l=await s(`${n}/v1/messages`,{method:"POST",headers:i(),body:JSON.stringify(c),signal:o?.signal});if(!l.ok)throw await L(l,"Anthropic");let u=await l.json(),p=Math.max(0,(w()-d)/1e6);return kt(u,p)},async*stream(a,o){let c=de(a,o,e.model,!0),d=await s(`${n}/v1/messages`,{method:"POST",headers:{...i(),accept:"text/event-stream"},body:JSON.stringify(c),signal:o?.signal});if(!d.ok)throw await L(d,"Anthropic");if(!d.body)throw new Error("anthropicAdapter: streaming response has no body");let l,u,p=new Map;for await(let f of W(d.body,{signal:o?.signal})){let g=f.data;if(!g)continue;let y;try{y=JSON.parse(g)}catch{continue}switch(y.type){case"message_start":{l=le(l,y.message.usage);break}case"content_block_start":{let m=y,h=m.content_block;h.type==="tool_use"&&(p.set(m.index,{id:String(h.id??""),name:String(h.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(h.id??""),name:String(h.name??"")}});break}case"content_block_delta":{let m=y,h=m.delta;if(h.type==="text_delta"&&typeof h.text=="string")yield{type:"token",delta:h.text};else if(h.type==="input_json_delta"&&typeof h.partial_json=="string"){let _=p.get(m.index);_&&(_.argBuf+=h.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:h.partial_json}}}else h.type==="thinking_delta"&&typeof h.thinking=="string"&&(yield{type:"thinking",delta:h.thinking});break}case"message_delta":{let m=y;m.delta.stop_reason&&(u=m.delta.stop_reason),m.delta.usage&&(l=le(l,m.delta.usage));break}case"message_stop":break}}l&&(yield{type:"usage",usage:Pe(l)}),yield{type:"finish",reason:u??"stop"}}}}function wn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(n,r){let s=de(n,r,e.model,!1),i=w(),a=await t.messages.create(s,{signal:r?.signal}),o=Math.max(0,(w()-i)/1e6);return kt(a,o)},async*stream(n,r){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let s=de(n,r,e.model,!0),i,a;for await(let o of t.messages.stream(s,{signal:r?.signal}))switch(o.type){case"message_start":i=le(i,o.message.usage);break;case"content_block_delta":{let c=o.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=o;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(i=le(i,c.delta.usage));break}}i&&(yield{type:"usage",usage:Pe(i)}),yield{type:"finish",reason:a??"stop"}}}}Le();function ue(){let e=new Error("aborted");return e.name="AbortError",e}function Tt(e,t){return e<=0?Promise.resolve():t?.aborted?Promise.reject(ue()):new Promise((n,r)=>{let s=new V,i,a=()=>{s.cancel(),t&&i&&t.removeEventListener("abort",i)};s.start(e,()=>{a(),n()}),t&&(i=()=>{a(),r(ue())},t.addEventListener("abort",i,{once:!0}))})}function pe(e={}){let t=e.provider??"dry-run",n=e.model??"dry-run-v1",r=e.latencyMs??0,s=Math.max(1,e.streamChunkSize??16),i=e.respond??(o=>{let c=[...o].reverse().find(d=>d.role==="user");return c?`echo: ${c.content}`:"dry-run: no user message"}),a=e.usage??((o,c)=>{let d=o.reduce((l,u)=>l+u.content.length,0);return{input:{regular:Math.ceil(d/4)},output:{regular:Math.ceil(c.length/4)}}});return{provider:t,model:n,async invoke(o,c){if(await Tt(r,c?.signal),c?.signal?.aborted)throw ue();let d=i(o,c),l=a(o,d);return{content:d,usage:l,finishReason:"stop",model:c?.model??n,provider:t,tier:c?.tier,metadata:{dryRun:!0}}},async*stream(o,c){let d=i(o,c),l=a(o,d),u=Math.ceil(d.length/s)||1,p=r>0?r/u:0;for(let f=0;f<d.length;f+=s){if(c?.signal?.aborted)throw ue();await Tt(p,c?.signal),yield{type:"token",delta:d.slice(f,f+s)}}yield{type:"usage",usage:l},yield{type:"finish",reason:"stop"}}}}O();async function fe(e){let t=typeof e=="string"?new TextEncoder().encode(e):e,n=await globalThis.crypto.subtle.digest("SHA-256",t),r=new Uint8Array(n),s="";for(let i=0;i<r.length;i++)s+=wt[r[i]];return s}var wt=new Array(256);for(let e=0;e<256;e++)wt[e]=e.toString(16).padStart(2,"0");function Ie(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(Ie);let t=e,n=Object.keys(t).sort(),r={};for(let s of n)r[s]=Ie(t[s]);return r}function vt(e){return JSON.stringify(Ie(e),void 0,0)}var vn=new TextEncoder,xn=new TextDecoder("utf-8",{fatal:!0}),_n={name:"json",version:1,encode(e){return vn.encode(vt(e))},decode(e){return JSON.parse(xn.decode(e))}};function Sn(){let e=new Map;return{name:"memory",read(t){let n=e.get(t);return n===void 0?void 0:new Uint8Array(n)},write(t,n){e.set(t,new Uint8Array(n))},delete(t){e.delete(t)},list(t){let n=[...e.keys()];return t?n.filter(r=>r.startsWith(t)).sort():n.sort()}}}function An(e,t={}){let n=t.codec??_n,r=t.name??e.name??"kv",s=t.compactEvery,i=new Map,a=0,o={name:r,debounceMs:t.debounceMs,compactEvery:s,filter:t.filter,save(d,l){if(!(t.filter&&!t.filter(d,l))&&(i.set(d,l),a+=1,s!==void 0&&a%s===0||!t.debounceMs))return c()},load(d){let l=e.read(d);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(d){if(i.delete(d),!!e.delete)return e.delete(d)},list(d){return e.list?e.list(d):[]},async flush(){await c()},async rollback(){i=new Map}};function c(){if(i.size===0)return;let d=i;i=new Map;let l=[];for(let[u,p]of d){let f=n.encode(p),g=e.write(u,f);g instanceof Promise&&l.push(g)}if(l.length>0)return Promise.all(l).then(()=>{})}return o}function Fe(e){return An(Sn(),e)}O();var De=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 Ue(e){let t=new Set,n=r=>{if(r===null||typeof r!="object")return r;let s=r;if(t.has(s))return{__cycle:!0};t.add(s);try{if(Array.isArray(r))return r.map(n);let i={};for(let a of Object.keys(r).sort())i[a]=n(r[a]);return i}finally{t.delete(s)}};return JSON.stringify(n(e))}function xt(e){let{storage:t,keyContext:n,keyPrefix:r,mode:s="read-write"}=e,i=n??(o=>o);async function a(o){let c=Ue(i(o)),d=await fe(c);return r?`${r}:${d}`:d}return{keyFor:a,async lookup(o){if(s==="write")return;let c=await a(o),d=await t.load(c);if(d===void 0){if(s==="read-strict")throw new De(c,o);return}return d},async store(o,c){if(s==="read")return;let d=await a(o);await t.save(d,c)},async forget(o){if(s==="read"||s==="write"||!t.delete)return;let c=await a(o);await t.delete(c)}}}ce();function _t(e,t={}){let n=t.keyFn??(s=>String(s)),r=new Map;return s=>{let i=n(s),a=r.get(i);if(a)return a;let o=e(s),c;o!=null&&typeof o.then=="function"?c=Promise.resolve(o):o!=null&&typeof o=="object"&&"subscribe"in o&&"cache"in o?c=K(o):o!=null&&typeof o=="object"&&Symbol.asyncIterator in o?c=(async()=>{let u=o[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?.()}})():o!=null&&typeof o=="object"&&Symbol.iterator in o?c=(async()=>{let u=o[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?.()}})():c=Promise.resolve(o);let d,l=()=>{r.get(i)===d&&r.delete(i)};return d=c.then(u=>(l(),u),u=>{throw l(),u}),r.set(i,d),d}}ce();Le();function St(e){let{storage:t,mode:n="read-write",keyFn:r,keyPrefix:s="llm-replay"}=e,a=xt({storage:t,keyPrefix:s,mode:n==="read-strict"?"read":n,keyContext:({messages:c,opts:d})=>{let{signal:l,keyContext:u,...p}=d??{};return{messages:c,opts:p}}});async function o(c,d){if(r){if(r.length<=1){let u={messages:c,opts:d,context:d?.keyContext},p=await r(u);return`${s}:${p}`}let l=await r(c,d);return`${s}:${l}`}return a.keyFor({messages:c,opts:d})}return{keyFor:o,async lookup(c,d){if(n!=="write"){if(r){let l=await o(c,d),u=await t.load(l);return u===void 0?void 0:u}return a.lookup({messages:c,opts:d})}},async store(c,d,l){if(n!=="read"){if(r){let u=await o(c,d);await t.save(u,l);return}await a.store({messages:c,opts:d},l)}},async forget(c,d){if(!(n==="read"||n==="write")&&t.delete){if(r){let l=await o(c,d);await t.delete(l);return}await a.forget({messages:c,opts:d})}}}}function At(e,t,n){return{provider:n?.provider??e.provider,model:n?.model??e.model,capabilities:n?.capabilities??e.capabilities?.bind(e),invoke:t.invoke,stream:t.stream}}var Et=Symbol.for("graphrefly.adapter.middlewareLayers");function me(e,t,n){let s=[...n?En(n):[],t];return Object.defineProperty(e,Et,{value:Object.freeze(s),enumerable:!1,writable:!1,configurable:!1}),e}function En(e){let t=e[Et];return Array.isArray(t)?t:[]}var X=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 Rt(e,t){let n=t.mode??"read-write",r=t.cacheStreaming??!1,s=t.captureStreamCadence??!1,i=t.replaySpeed??1,a=t.keyPrefix??"llm-replay",o=n==="read"||n==="read-strict",c=St({storage:t.storage,mode:n==="write-only"?"write":n,keyFn:t.keyFn,keyPrefix:a}),d=p=>p<=0?Promise.resolve():new Promise(f=>{new V().start(p,()=>f())}),l=_t(async({messages:p,invokeOpts:f})=>await K(Y(e.invoke(p,f))),{keyFn:({_precomputedKey:p})=>p}),u=At(e,{async invoke(p,f){let g=await c.keyFor(p,f),y=await c.lookup(p,f);if(y?.response){let h=y.response;return{...h,metadata:{...h.metadata??{},replayCache:"hit"}}}if(n==="read-strict")throw new X(g,"invoke");let m=await l({messages:p,invokeOpts:f,_precomputedKey:g});return o||await c.store(p,f,{response:m,storedAtNs:D()}),m},async*stream(p,f){if(!r){for await(let b of e.stream(p,f))yield b;return}let g=await c.keyFor(p,f),y=await c.lookup(p,f);if(y){let b=y.response;if(y.streamChunks&&y.streamCadenceMs)for(let T=0;T<y.streamChunks.length;T++){let x=y.streamCadenceMs[T]??0,N=i>0?x/i:0;N>0&&await d(N),yield{type:"token",delta:y.streamChunks[T]?.delta??""}}else b.content&&(yield{type:"token",delta:b.content});b.usage&&(yield{type:"usage",usage:b.usage}),yield{type:"finish",reason:b.finishReason??"stop"};return}if(n==="read-strict")throw new X(g,"stream");let m="",h,_,S=[],C=[],k;for await(let b of e.stream(p,f)){if(b.type==="token"&&(m+=b.delta,s)){let T=w(),x=k===void 0?0:(T-k)/1e6;C.push(x),k=T,S.push({delta:b.delta})}b.type==="usage"&&(h=b.usage),b.type==="finish"&&(_=b.reason),yield b}if((m||h)&&!o){let T={response:{content:m,usage:h??{input:{regular:0},output:{regular:0}},finishReason:_,model:e.model??f?.model??"",provider:e.provider},storedAtNs:D(),...s?{streamChunks:S,streamCadenceMs:C}:{}};await c.store(p,f,T)}}});return me(u,"withReplayCache",e),u}var Mt=Ue;function Ct(e,t){return{content:"[fallback: no cached response available for this request]",usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:t,provider:e,metadata:{degraded:!0,reason:"no-fixture"}}}function Nt(e,t,n){return typeof e=="string"?{content:e,usage:{input:{regular:0},output:{regular:0}},finishReason:"stop",model:n,provider:t,metadata:{degraded:!0,reason:"respond"}}:e}async function Rn(e,t){if("key"in e)return e.key;let n=Mt({messages:e.messages,opts:e.invokeOpts??{}}),r=await fe(n);return`${t}:${r}`}function Mn(e){let t={response:e.response,storedAtNs:D()};if("key"in e&&e.stream){let n=e.stream.chunks.filter(r=>r.type==="token");return{...t,streamChunks:n.map(r=>({delta:r.delta})),streamCadenceMs:e.stream.delaysMs??n.map(()=>0)}}return t}function Cn(e,t){let n=[];if(e.fixtures!=null&&n.push("fixtures"),e.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(e.fixtures){let r=Fe(),s=e.fixtures,i=(async()=>{for(let a of s){let o=await Rn(a,t);await r.save(o,Mn(a))}})();return i.catch(()=>{}),{tier:r,seedReady:i}}return e.fixturesStorage?{tier:e.fixturesStorage,seedReady:Promise.resolve()}:{tier:void 0,seedReady:Promise.resolve()}}function Ot(e={}){let t=e.provider??"fallback",n=e.model??"fallback",r=e.onMiss??"respond",s=e.keyPrefix??"fallback",i=e.record?e.record.adapter:r==="throw"?pe({provider:t,model:n,respond:()=>"[unreachable: read-strict mode throws on miss]"}):{provider:t,model:n,async invoke(l,u){let p=e.respond?e.respond(l,u):Ct(t,n);return Nt(p,t,n)},async*stream(l,u){let p=e.respond?e.respond(l,u):Ct(t,n),f=Nt(p,t,n);yield{type:"token",delta:f.content},f.usage&&(yield{type:"usage",usage:f.usage}),yield{type:"finish",reason:f.finishReason??"stop"}}},a,o=Promise.resolve();if(e.record){if(!e.record.storage)throw new TypeError("fallbackAdapter: `record.storage` is required in record mode. For filesystem `record.dir` convenience, use the node subpath's `fallbackAdapter`.");a=e.record.storage}else{let l=Cn(e,s);a=l.tier??Fe(),o=l.seedReady}let c=e.record?"read-write":r==="throw"?"read-strict":"read",d=Rt(i,{storage:a,mode:c,keyPrefix:s,cacheStreaming:!0,captureStreamCadence:!0,replaySpeed:e.replaySpeed,...e.keyFn?{keyFn:e.keyFn}:{}});return{provider:t,model:n,capabilities:d.capabilities?.bind(d),async invoke(l,u){return await o,d.invoke(l,u)},async*stream(l,u){await o;for await(let p of d.stream(l,u))yield p}}}O();function Pt(e={}){return e.sdk?Pn(e):Ln(e)}function ge(e,t){let n=[],r=[];t?.systemPrompt&&n.push(t.systemPrompt);for(let a of e){if(a.role==="system"){n.push(a.content);continue}if(a.role==="tool"){r.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let o=[];a.content&&o.push({text:a.content});for(let c of a.toolCalls)o.push({functionCall:{name:c.name,args:c.arguments}});r.push({role:"model",parts:o});continue}r.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let s={contents:r};n.length>0&&(s.systemInstruction={role:"system",parts:[{text:n.join(`
7
7
 
8
- `)}]});let i={};return t?.maxTokens!=null&&(i.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.maxReasoningTokens!=null&&(i.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(i).length>0&&(s.generationConfig=i),t?.tools&&t.tools.length>0&&(s.tools=[{functionDeclarations:t.tools.map(_n)}]),t?.providerExtras&&Object.assign(s,t.providerExtras),s}function _n(e){return{name:e.name,description:e.description,parameters:e.parameters}}function Ct(e,t,n){let r={},s=e.generationConfig;s&&(typeof s.maxOutputTokens=="number"&&(r.maxOutputTokens=s.maxOutputTokens),typeof s.temperature=="number"&&(r.temperature=s.temperature),s.thinkingConfig&&(r.thinkingConfig=s.thinkingConfig)),e.systemInstruction&&(r.systemInstruction=e.systemInstruction),e.tools&&(r.tools=e.tools);for(let[i,a]of Object.entries(e))i==="contents"||i==="generationConfig"||i==="systemInstruction"||i==="tools"||i==="abortSignal"||i==="model"||(r[i]=a);return n&&(r.abortSignal=n),{model:t,contents:e.contents,config:Object.keys(r).length>0?r:void 0}}function Ue(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.promptTokenCount??0,r=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let s of e.promptTokensDetails){let i=s.modality?.toLowerCase();i==="image"?t.input.image=(t.input.image??0)+s.tokenCount:i==="audio"?t.input.audio=(t.input.audio??0)+s.tokenCount:i==="video"&&(t.input.video=(t.input.video??0)+s.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function Ot(e,t){let n=e.candidates?.[0],r=n?.content?.parts??[],s=[],i=[],a=0;for(let o of r)typeof o.text=="string"&&s.push(o.text),o.functionCall&&i.push({id:`${o.functionCall.name}-${a++}`,name:o.functionCall.name,arguments:o.functionCall.args??{}});return{content:s.join(""),toolCalls:i.length>0?i:void 0,usage:Ue(e.usageMetadata),finishReason:n?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function Sn(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function An(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",n=e.fetchImpl??fetch,r=i=>{let a=i?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},s=()=>{let i=Sn(e);if(!i)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(i)}`};return{provider:"google",model:e.model,async invoke(i,a){let o=r(a),c=ge(i,a),d=w(),u=`${t}/models/${encodeURIComponent(o)}:generateContent?${s()}`,l=await n(u,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await O(l,"Google");let p=await l.json(),f=Math.max(0,(w()-d)/1e6);return Ot(p,f)},async*stream(i,a){let o=r(a),c=ge(i,a),d=`${t}/models/${encodeURIComponent(o)}:streamGenerateContent?alt=sse&${s()}`,u=await n(d,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!u.ok)throw await O(u,"Google");if(!u.body)throw new Error("googleAdapter: streaming response has no body");let l,p;for await(let f of K(u.body,{signal:a?.signal})){if(!f.data)continue;let h;try{h=JSON.parse(f.data)}catch{continue}let y=h.candidates?.[0];for(let m of y?.content?.parts??[])typeof m.text=="string"&&(m.thought?yield{type:"thinking",delta:m.text}:yield{type:"token",delta:m.text}),m.functionCall&&(yield{type:"tool-call-delta",delta:{name:m.functionCall.name,argumentsDelta:JSON.stringify(m.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),h.usageMetadata&&(l=h.usageMetadata)}l&&(yield{type:"usage",usage:Ue(l)}),yield{type:"finish",reason:p??"stop"}}}}function En(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(n,r){let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=Ct(s,i,r?.signal),o=w(),c=await t.models.generateContent(a),d=Math.max(0,(w()-o)/1e6);return Ot(c,d)},async*stream(n,r){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=Ct(s,i,r?.signal),o,c,d=await t.models.generateContentStream(a);for await(let u of d){let l=u.candidates?.[0];for(let p of l?.content?.parts??[])typeof p.text=="string"&&(p.thought?yield{type:"thinking",delta:p.text}:yield{type:"token",delta:p.text}),p.functionCall&&(yield{type:"tool-call-delta",delta:{name:p.functionCall.name,argumentsDelta:JSON.stringify(p.functionCall.args??{})}});l?.finishReason&&(c=l.finishReason),u.usageMetadata&&(o=u.usageMetadata)}o&&(yield{type:"usage",usage:Ue(o)}),yield{type:"finish",reason:c??"stop"}}}}L();var Rn={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function Pt(e={}){return e.sdk?On(e):Ln(e)}function he(e,t,n,r,s){let i=t?.model??n;if(!i)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(Mn);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let o={model:i,messages:a};return t?.maxTokens!=null&&(o.max_tokens=t.maxTokens),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(Nn)),t?.maxReasoningTokens!=null&&(o.reasoning={max_tokens:t.maxReasoningTokens}),r&&(o.stream=!0,o.stream_options={include_usage:!0}),s&&Object.assign(o,s),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function Mn(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function Nn(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function Be(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.prompt_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(r=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,n-r)):t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let s=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,s-i),i>0&&(t.output.reasoning=i),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function It(e,t,n){let r=e.choices[0],s=r?.message,i=s?.content??"",a=(s?.tool_calls??[]).map(o=>({id:o.id,name:o.function.name,arguments:Cn(o.function.arguments)}));return{content:i,toolCalls:a.length>0?a:void 0,usage:Be(e.usage),finishReason:r?.finish_reason,latencyMs:t,model:e.model,provider:n}}function Cn(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function Ft(e){let t=e.preset??"openai",n=Rn[t],r=e.baseURL??n.baseURL,s=e.provider??n.provider,i=n.apiKeyEnv,a=e.apiKey??(i?globalThis.process?.env?.[i]:void 0);return{provider:s,baseURL:r,apiKey:a}}function Ln(e){let{provider:t,baseURL:n,apiKey:r}=Ft(e),s=e.fetchImpl??fetch,i=t!=="ollama",a=()=>{let o={"content-type":"application/json",...e.headers??{}};if(i){if(!r)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);o.authorization=`Bearer ${r}`}return o};return{provider:t,model:e.model,async invoke(o,c){let d=he(o,c,e.model,!1,e.bodyExtras),u=w(),l=await s(`${n}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(d),signal:c?.signal});if(!l.ok)throw await O(l,t);let p=await l.json(),f=Math.max(0,(w()-u)/1e6);return It(p,f,t)},async*stream(o,c){let d=he(o,c,e.model,!0,e.bodyExtras),u=await s(`${n}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(d),signal:c?.signal});if(!u.ok)throw await O(u,t);if(!u.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let l,p;for await(let f of K(u.body,{signal:c?.signal})){if(!f.data||f.data==="[DONE]")continue;let h;try{h=JSON.parse(f.data)}catch{continue}let y=h.choices;if(y){let m=y[0];if(m?.delta?.content&&(yield{type:"token",delta:m.delta.content}),m?.delta?.reasoning_content&&(yield{type:"thinking",delta:m.delta.reasoning_content}),m?.delta?.tool_calls)for(let g of m.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:g.id,name:g.function?.name,argumentsDelta:g.function?.arguments}};m?.finish_reason&&(p=m.finish_reason)}h.usage&&(l=h.usage,yield{type:"usage",usage:Be(l)})}yield{type:"finish",reason:p??"stop"}}}}function On(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:n}=Ft(e);return{provider:n,model:e.model,async invoke(r,s){let i=he(r,s,e.model,!1,e.bodyExtras),a=w(),o=await t.chat.completions.create(i,{signal:s?.signal}),c=Math.max(0,(w()-a)/1e6);return It(o,c,n)},async*stream(r,s){let i=he(r,s,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(i,{signal:s?.signal}),o,c;for await(let d of a){let u=d.choices;if(u){let p=u[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let l=d.usage;l&&(o=l,yield{type:"usage",usage:Be(l)})}yield{type:"finish",reason:c??"stop"}}}}function He(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return yt(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Lt(t)}case"dry-run":{let t={model:e.model,...e.extras};return pe(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return Nt(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Pt(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}ht();ce();var ye=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let n=[];t.failed.size>0&&n.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&n.push(`skipped=[${t.skipped.map(r=>`${r.name}(${r.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${n.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function be(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let n=e.map(i=>({name:i.name,adapter:i.adapter,filter:i.filter,breaker:i.breaker?"canExecute"in i.breaker?i.breaker:gt(i.breaker):void 0})),r=t.streamRetryBeforeFirstChunk??!0,s={provider:"cascading",model:void 0,async invoke(i,a){let o=[],c=new Map;for(let u=0;u<n.length;u++){let l=n[u];if(l.filter&&!l.filter(i,a)){o.push({name:l.name,reason:"filter"});continue}if(l.breaker&&!l.breaker.canExecute()){o.push({name:l.name,reason:"breaker"});continue}try{let p=await j(Y(l.adapter.invoke(i,a)));return l.breaker?.recordSuccess(),{...p,metadata:{...p.metadata??{},tier:l.name}}}catch(p){c.set(l.name,p),l.breaker?.recordFailure(p);let f=n[u+1];f&&t.onFallback?.(l.name,f.name,p)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)},async*stream(i,a){let o=[],c=new Map;for(let u=0;u<n.length;u++){let l=n[u];if(l.filter&&!l.filter(i,a)){o.push({name:l.name,reason:"filter"});continue}if(l.breaker&&!l.breaker.canExecute()){o.push({name:l.name,reason:"breaker"});continue}let p=!1;try{for await(let f of l.adapter.stream(i,a))p=!0,yield f;l.breaker?.recordSuccess();return}catch(f){if(c.set(l.name,f),l.breaker?.recordFailure(f),p||!r)throw f;let h=n[u+1];h&&t.onFallback?.(l.name,h.name,f)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)}};return me(s,`cascade[${n.map(i=>i.name).join(",")}]`),s}function Pn(e){let t=[{name:"cloud",adapter:He(e.cloud)}];return e.webllmModel&&t.push({name:"webllm",adapter:z({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function In(e){let t=[{name:"ollama",adapter:He({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&t.push({name:"webllm",adapter:z({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function Fn(e){let t=[{name:"webllm",adapter:z({model:e.webllmModel})}];return e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:q(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}0&&(module.exports={chromeNanoAdapter,cloudFirstPreset,localFirstPreset,offlinePreset,webllmAdapter});
8
+ `)}]});let i={};return t?.maxTokens!=null&&(i.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.maxReasoningTokens!=null&&(i.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(i).length>0&&(s.generationConfig=i),t?.tools&&t.tools.length>0&&(s.tools=[{functionDeclarations:t.tools.map(Nn)}]),t?.providerExtras&&Object.assign(s,t.providerExtras),s}function Nn(e){return{name:e.name,description:e.description,parameters:e.parameters}}function Lt(e,t,n){let r={},s=e.generationConfig;s&&(typeof s.maxOutputTokens=="number"&&(r.maxOutputTokens=s.maxOutputTokens),typeof s.temperature=="number"&&(r.temperature=s.temperature),s.thinkingConfig&&(r.thinkingConfig=s.thinkingConfig)),e.systemInstruction&&(r.systemInstruction=e.systemInstruction),e.tools&&(r.tools=e.tools);for(let[i,a]of Object.entries(e))i==="contents"||i==="generationConfig"||i==="systemInstruction"||i==="tools"||i==="abortSignal"||i==="model"||(r[i]=a);return n&&(r.abortSignal=n),{model:t,contents:e.contents,config:Object.keys(r).length>0?r:void 0}}function Be(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.promptTokenCount??0,r=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let s of e.promptTokensDetails){let i=s.modality?.toLowerCase();i==="image"?t.input.image=(t.input.image??0)+s.tokenCount:i==="audio"?t.input.audio=(t.input.audio??0)+s.tokenCount:i==="video"&&(t.input.video=(t.input.video??0)+s.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function It(e,t){let n=e.candidates?.[0],r=n?.content?.parts??[],s=[],i=[],a=0;for(let o of r)typeof o.text=="string"&&s.push(o.text),o.functionCall&&i.push({id:`${o.functionCall.name}-${a++}`,name:o.functionCall.name,arguments:o.functionCall.args??{}});return{content:s.join(""),toolCalls:i.length>0?i:void 0,usage:Be(e.usageMetadata),finishReason:n?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function On(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function Ln(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",n=e.fetchImpl??fetch,r=i=>{let a=i?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},s=()=>{let i=On(e);if(!i)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(i)}`};return{provider:"google",model:e.model,async invoke(i,a){let o=r(a),c=ge(i,a),d=w(),l=`${t}/models/${encodeURIComponent(o)}:generateContent?${s()}`,u=await n(l,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!u.ok)throw await L(u,"Google");let p=await u.json(),f=Math.max(0,(w()-d)/1e6);return It(p,f)},async*stream(i,a){let o=r(a),c=ge(i,a),d=`${t}/models/${encodeURIComponent(o)}:streamGenerateContent?alt=sse&${s()}`,l=await n(d,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await L(l,"Google");if(!l.body)throw new Error("googleAdapter: streaming response has no body");let u,p;for await(let f of W(l.body,{signal:a?.signal})){if(!f.data)continue;let g;try{g=JSON.parse(f.data)}catch{continue}let y=g.candidates?.[0];for(let m of y?.content?.parts??[])typeof m.text=="string"&&(m.thought?yield{type:"thinking",delta:m.text}:yield{type:"token",delta:m.text}),m.functionCall&&(yield{type:"tool-call-delta",delta:{name:m.functionCall.name,argumentsDelta:JSON.stringify(m.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),g.usageMetadata&&(u=g.usageMetadata)}u&&(yield{type:"usage",usage:Be(u)}),yield{type:"finish",reason:p??"stop"}}}}function Pn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(n,r){let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=Lt(s,i,r?.signal),o=w(),c=await t.models.generateContent(a),d=Math.max(0,(w()-o)/1e6);return It(c,d)},async*stream(n,r){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let s=ge(n,r),i=r?.model??e.model;if(!i)throw new Error("googleAdapter: model required");let a=Lt(s,i,r?.signal),o,c,d=await t.models.generateContentStream(a);for await(let l of d){let u=l.candidates?.[0];for(let p of u?.content?.parts??[])typeof p.text=="string"&&(p.thought?yield{type:"thinking",delta:p.text}:yield{type:"token",delta:p.text}),p.functionCall&&(yield{type:"tool-call-delta",delta:{name:p.functionCall.name,argumentsDelta:JSON.stringify(p.functionCall.args??{})}});u?.finishReason&&(c=u.finishReason),l.usageMetadata&&(o=l.usageMetadata)}o&&(yield{type:"usage",usage:Be(o)}),yield{type:"finish",reason:c??"stop"}}}}O();var In={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function Ft(e={}){return e.sdk?Gn(e):Bn(e)}function he(e,t,n,r,s){let i=t?.model??n;if(!i)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(Fn);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let o={model:i,messages:a};return t?.maxTokens!=null&&(o.max_tokens=t.maxTokens),t?.temperature!=null&&(o.temperature=t.temperature),t?.tools&&t.tools.length>0&&(o.tools=t.tools.map(Dn)),t?.maxReasoningTokens!=null&&(o.reasoning={max_tokens:t.maxReasoningTokens}),r&&(o.stream=!0,o.stream_options={include_usage:!0}),s&&Object.assign(o,s),t?.providerExtras&&Object.assign(o,t.providerExtras),o}function Fn(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function Dn(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function Ge(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let n=e.prompt_tokens??0,r=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(r=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,n-r)):t.input.regular=Math.max(0,n-r),r>0&&(t.input.cacheRead=r),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let s=e.completion_tokens??0,i=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,s-i),i>0&&(t.output.reasoning=i),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function Dt(e,t,n){let r=e.choices[0],s=r?.message,i=s?.content??"",a=(s?.tool_calls??[]).map(o=>({id:o.id,name:o.function.name,arguments:Un(o.function.arguments)}));return{content:i,toolCalls:a.length>0?a:void 0,usage:Ge(e.usage),finishReason:r?.finish_reason,latencyMs:t,model:e.model,provider:n}}function Un(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function Ut(e){let t=e.preset??"openai",n=In[t],r=e.baseURL??n.baseURL,s=e.provider??n.provider,i=n.apiKeyEnv,a=e.apiKey??(i?globalThis.process?.env?.[i]:void 0);return{provider:s,baseURL:r,apiKey:a}}function Bn(e){let{provider:t,baseURL:n,apiKey:r}=Ut(e),s=e.fetchImpl??fetch,i=t!=="ollama",a=()=>{let o={"content-type":"application/json",...e.headers??{}};if(i){if(!r)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);o.authorization=`Bearer ${r}`}return o};return{provider:t,model:e.model,async invoke(o,c){let d=he(o,c,e.model,!1,e.bodyExtras),l=w(),u=await s(`${n}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(d),signal:c?.signal});if(!u.ok)throw await L(u,t);let p=await u.json(),f=Math.max(0,(w()-l)/1e6);return Dt(p,f,t)},async*stream(o,c){let d=he(o,c,e.model,!0,e.bodyExtras),l=await s(`${n}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(d),signal:c?.signal});if(!l.ok)throw await L(l,t);if(!l.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let u,p;for await(let f of W(l.body,{signal:c?.signal})){if(!f.data||f.data==="[DONE]")continue;let g;try{g=JSON.parse(f.data)}catch{continue}let y=g.choices;if(y){let m=y[0];if(m?.delta?.content&&(yield{type:"token",delta:m.delta.content}),m?.delta?.reasoning_content&&(yield{type:"thinking",delta:m.delta.reasoning_content}),m?.delta?.tool_calls)for(let h of m.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:h.id,name:h.function?.name,argumentsDelta:h.function?.arguments}};m?.finish_reason&&(p=m.finish_reason)}g.usage&&(u=g.usage,yield{type:"usage",usage:Ge(u)})}yield{type:"finish",reason:p??"stop"}}}}function Gn(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:n}=Ut(e);return{provider:n,model:e.model,async invoke(r,s){let i=he(r,s,e.model,!1,e.bodyExtras),a=w(),o=await t.chat.completions.create(i,{signal:s?.signal}),c=Math.max(0,(w()-a)/1e6);return Dt(o,c,n)},async*stream(r,s){let i=he(r,s,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(i,{signal:s?.signal}),o,c;for await(let d of a){let l=d.choices;if(l){let p=l[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let u=d.usage;u&&(o=u,yield{type:"usage",usage:Ge(u)})}yield{type:"finish",reason:c??"stop"}}}}function He(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return bt(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Pt(t)}case"dry-run":{let t={model:e.model,...e.extras};return pe(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return Ot(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return Ft(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}yt();ce();var ye=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let n=[];t.failed.size>0&&n.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&n.push(`skipped=[${t.skipped.map(r=>`${r.name}(${r.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${n.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function be(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let n=e.map(i=>({name:i.name,adapter:i.adapter,filter:i.filter,breaker:i.breaker?"canExecute"in i.breaker?i.breaker:ht(i.breaker):void 0})),r=t.streamRetryBeforeFirstChunk??!0,s={provider:"cascading",model:void 0,async invoke(i,a){let o=[],c=new Map;for(let l=0;l<n.length;l++){let u=n[l];if(u.filter&&!u.filter(i,a)){o.push({name:u.name,reason:"filter"});continue}if(u.breaker&&!u.breaker.canExecute()){o.push({name:u.name,reason:"breaker"});continue}try{let p=await K(Y(u.adapter.invoke(i,a)));return u.breaker?.recordSuccess(),{...p,metadata:{...p.metadata??{},tier:u.name}}}catch(p){c.set(u.name,p),u.breaker?.recordFailure(p);let f=n[l+1];f&&t.onFallback?.(u.name,f.name,p)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)},async*stream(i,a){let o=[],c=new Map;for(let l=0;l<n.length;l++){let u=n[l];if(u.filter&&!u.filter(i,a)){o.push({name:u.name,reason:"filter"});continue}if(u.breaker&&!u.breaker.canExecute()){o.push({name:u.name,reason:"breaker"});continue}let p=!1;try{for await(let f of u.adapter.stream(i,a))p=!0,yield f;u.breaker?.recordSuccess();return}catch(f){if(c.set(u.name,f),u.breaker?.recordFailure(f),p||!r)throw f;let g=n[l+1];g&&t.onFallback?.(u.name,g.name,f)}}let d={skipped:o,failed:c};throw t.onExhausted?.(d),new ye(d)}};return me(s,`cascade[${n.map(i=>i.name).join(",")}]`),s}function Hn(e){let t=[{name:"cloud",adapter:He(e.cloud)}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:z(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function jn(e){let t=[{name:"ollama",adapter:He({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&t.push({name:"webllm",adapter:J({model:e.webllmModel})}),e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:z(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}function Kn(e){let t=[{name:"webllm",adapter:J({model:e.webllmModel})}];return e.chromeNano!==!1&&t.push({name:"chrome-nano",adapter:z(),filter:(n,r)=>!r?.tools||r.tools.length===0}),be(t,e.cascade)}0&&(module.exports={chromeNanoAdapter,cloudFirstPreset,localFirstPreset,offlinePreset,webllmAdapter});
@@ -1,8 +1,8 @@
1
- import { L as LLMAdapter } from '../../types-Cp_4coR_.cjs';
2
- import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-DKIb6Pk8.cjs';
3
- import '../../node-8qx0kgYt.cjs';
1
+ import { L as LLMAdapter } from '../../types-BMSGPlpO.cjs';
2
+ import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-B25wxpRa.cjs';
3
+ import '../../node-fSc-hCv8.cjs';
4
4
  import '../../extra/sources.cjs';
5
- import '../../resilience-N_VtLf7W.cjs';
5
+ import '../../resilience-BWP2c7Af.cjs';
6
6
 
7
7
  /**
8
8
  * ChromeNanoAdapter — Chrome Built-in AI Prompt API.
@@ -1,8 +1,8 @@
1
- import { L as LLMAdapter } from '../../types-B2LfBvNc.js';
2
- import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-Bg0a4VSf.js';
3
- import '../../node-8qx0kgYt.js';
1
+ import { L as LLMAdapter } from '../../types-CidcBDuk.js';
2
+ import { c as createAdapter, C as CascadingLlmAdapterOptions } from '../../cascading-BsJ4GbnS.js';
3
+ import '../../node-fSc-hCv8.js';
4
4
  import '../../extra/sources.js';
5
- import '../../resilience-RjDIHZNZ.js';
5
+ import '../../resilience-Bys63Cpd.js';
6
6
 
7
7
  /**
8
8
  * ChromeNanoAdapter — Chrome Built-in AI Prompt API.
@@ -1,3 +1,3 @@
1
- import{d as y,f}from"../../chunk-KN2UMFT6.js";import"../../chunk-2LZ6DL45.js";import"../../chunk-LOF5HSD3.js";import"../../chunk-FKRPIRE6.js";import"../../chunk-7Q2WPFQ7.js";import"../../chunk-SGS4OJGS.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-I6VIH3VA.js";import"../../chunk-4F564IPP.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-T7EQPKOP.js";import{o as p}from"../../chunk-LYCLF26R.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";function L(){let e=new Error("aborted");return e.name="AbortError",e}function h(e={}){let r=e.streamMode??"accumulated",d=e.navigatorOverride??globalThis.navigator,i=()=>{let a=d?.ai;if(!a?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return a},g=async a=>i().languageModel.create({systemPrompt:a?.systemPrompt??e.systemPrompt,temperature:a?.temperature??e.temperature,topK:e.topK,signal:a?.signal}),l=a=>{let n=[];for(let o of a)o.role!=="system"&&n.push(`${o.role}: ${o.content}`);return n.join(`
1
+ import{d as y,f}from"../../chunk-PCD2MU7X.js";import"../../chunk-5CPPC75H.js";import"../../chunk-MYFR67PY.js";import"../../chunk-A5HZZYRK.js";import"../../chunk-Q7EUZ6NN.js";import"../../chunk-SGS4OJGS.js";import"../../chunk-ESMPEKEV.js";import"../../chunk-D5RFJOZ2.js";import"../../chunk-CE72X3WO.js";import"../../chunk-JJTF75VS.js";import"../../chunk-4VVTGLXJ.js";import"../../chunk-MQZWA3DF.js";import{o as p}from"../../chunk-LYCLF26R.js";import"../../chunk-CK2E7BTU.js";import"../../chunk-QYADASLV.js";function L(){let e=new Error("aborted");return e.name="AbortError",e}function h(e={}){let r=e.streamMode??"accumulated",d=e.navigatorOverride??globalThis.navigator,i=()=>{let a=d?.ai;if(!a?.languageModel)throw new Error("chromeNanoAdapter: Chrome AI languageModel not available (requires Chrome 131+ with flag/OT).");return a},g=async a=>i().languageModel.create({systemPrompt:a?.systemPrompt??e.systemPrompt,temperature:a?.temperature??e.temperature,topK:e.topK,signal:a?.signal}),l=a=>{let n=[];for(let o of a)o.role!=="system"&&n.push(`${o.role}: ${o.content}`);return n.join(`
2
2
 
3
3
  `)},t=()=>({input:{regular:0},output:{regular:0}});return{provider:"chrome-nano",model:"chrome-nano",async invoke(a,n){let o=await g(n);try{let c=l(a),s=p(),m=await o.prompt(c,{signal:n?.signal}),u=Math.max(0,(p()-s)/1e6);return{content:m,usage:t(),finishReason:"stop",latencyMs:u,model:"chrome-nano",provider:"chrome-nano"}}finally{o.destroy?.()}},async*stream(a,n){let o=await g(n);try{let c=l(a);if(r==="delta")for await(let s of o.promptStreaming(c,{signal:n?.signal})){if(n?.signal?.aborted)throw L();s&&(yield{type:"token",delta:s})}else{let s="";for await(let m of o.promptStreaming(c,{signal:n?.signal})){if(n?.signal?.aborted)throw L();let u=m.startsWith(s)?m.slice(s.length):m;s=m,u&&(yield{type:"token",delta:u})}}yield{type:"usage",usage:t()},yield{type:"finish",reason:"stop"}}finally{o.destroy?.()}}}}function A(){let e=new Error("aborted");return e.name="AbortError",e}function b(e){let r=e.engine,d=async()=>{if(r)return r;if(!w(e.navigatorOverride))throw new Error("webllmAdapter: WebGPU not available in this environment");let t=(await import("@mlc-ai/web-llm").catch(()=>{throw new Error("webllmAdapter: @mlc-ai/web-llm not installed. Add it as a peer dependency or pass opts.engine.")})).CreateMLCEngine;if(!t)throw new Error("webllmAdapter: @mlc-ai/web-llm missing CreateMLCEngine export");return r=await t(e.model,{initProgressCallback:e.initProgressCallback}),r},i=(l,t)=>{let a=[];t?.systemPrompt&&a.push({role:"system",content:t.systemPrompt});for(let n of l)a.push({role:n.role==="tool"?"user":n.role,content:n.content});return a},g=l=>({input:{regular:l?.prompt_tokens??0},output:{regular:l?.completion_tokens??0},raw:l});return{provider:"webllm",model:e.model,async invoke(l,t){let a=await d(),n=p(),o=await a.chat.completions.create({model:t?.model??e.model,messages:i(l,t),max_tokens:t?.maxTokens,temperature:t?.temperature},{signal:t?.signal}),c=Math.max(0,(p()-n)/1e6),s=o.choices?.[0];return{content:s?.message?.content??"",usage:g(o.usage),finishReason:s?.finish_reason,latencyMs:c,model:e.model,provider:"webllm"}},async*stream(l,t){let n=await(await d()).chat.completions.create({model:t?.model??e.model,messages:i(l,t),max_tokens:t?.maxTokens,temperature:t?.temperature,stream:!0},{signal:t?.signal}),o,c;for await(let s of n){if(t?.signal?.aborted)throw A();let m=s.choices?.[0];m?.delta?.content&&(yield{type:"token",delta:m.delta.content}),m?.finish_reason&&(c=m.finish_reason),s.usage&&(o=s.usage)}o&&(yield{type:"usage",usage:g(o)}),yield{type:"finish",reason:c??"stop"}}}}function w(e){let r=e??globalThis.navigator;return!!(r&&"gpu"in r&&r.gpu)}function N(e){let r=[{name:"cloud",adapter:y(e.cloud)}];return e.webllmModel&&r.push({name:"webllm",adapter:b({model:e.webllmModel})}),e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}function S(e){let r=[{name:"ollama",adapter:y({provider:"ollama",model:e.ollamaModel,baseURL:e.ollamaBaseURL})}];return e.webllmModel&&r.push({name:"webllm",adapter:b({model:e.webllmModel})}),e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}function R(e){let r=[{name:"webllm",adapter:b({model:e.webllmModel})}];return e.chromeNano!==!1&&r.push({name:"chrome-nano",adapter:h(),filter:(d,i)=>!i?.tools||i.tools.length===0}),f(r,e.cascade)}export{h as chromeNanoAdapter,N as cloudFirstPreset,S as localFirstPreset,R as offlinePreset,b as webllmAdapter};