@fudrouter/fsrouter 0.6.42 → 0.6.44

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 (419) hide show
  1. package/bin/cli.cjs +2 -2
  2. package/package.json +1 -1
  3. package/public/.vite/manifest.json +469 -0
  4. package/public/CHANGELOG.md +103 -0
  5. package/public/assets/EndpointPageClient.CGB3HjDe.js +6 -0
  6. package/public/assets/EndpointPageClient.Cee8kfmV.js +6 -0
  7. package/public/assets/EndpointPageClient.DdAfxJoK.js +6 -0
  8. package/public/assets/EndpointPageClient.GpJ_FKds.js +6 -0
  9. package/public/assets/Loading.BhEzHe-X.js +1 -0
  10. package/public/assets/Loading.DFkQ-Ly9.js +1 -0
  11. package/public/assets/Loading.DaQG3sHF.js +1 -0
  12. package/public/assets/Loading.QMOYJhLu.js +1 -0
  13. package/public/assets/NoAuthProxyCard.Buvt0BVH.js +89 -0
  14. package/public/assets/NoAuthProxyCard.C18iZ3Fk.js +89 -0
  15. package/public/assets/NoAuthProxyCard.C5ap-Sga.css +1 -0
  16. package/public/assets/NoAuthProxyCard.DyEjms20.js +89 -0
  17. package/public/assets/NoAuthProxyCard.VRP7gDcs.js +89 -0
  18. package/public/assets/cliTools.CsdwAybi.js +23 -0
  19. package/public/assets/index.1VBQU7rF.js +11 -0
  20. package/public/assets/index.B-zMpSp_.js +89 -0
  21. package/public/assets/index.BuPfZebu.css +1 -0
  22. package/public/assets/index.CoYbjSIL.js +89 -0
  23. package/public/assets/index.DQDDDpp7.js +89 -0
  24. package/public/assets/index.KMEObSAk.js +89 -0
  25. package/public/assets/machine.CagOtseJ.js +1 -0
  26. package/public/assets/material-symbols-outlined.B4RtTC4Y.woff2 +0 -0
  27. package/public/assets/page.1gncE-Vr.js +1 -0
  28. package/public/assets/page.3QwV1pLl.js +1 -0
  29. package/public/assets/page.5Aj6RvuD.js +1 -0
  30. package/public/assets/page.A7FRfarX.js +1 -0
  31. package/public/assets/page.Amtgxj_r.js +1 -0
  32. package/public/assets/page.B1a01Vfg.js +1 -0
  33. package/public/assets/page.B7h6EPVo.js +1 -0
  34. package/public/assets/page.B9r7QI90.js +1 -0
  35. package/public/assets/page.BAjUiqtJ.js +4 -0
  36. package/public/assets/page.BBMJAyy7.js +1 -0
  37. package/public/assets/page.BBSUQskO.js +64 -0
  38. package/public/assets/page.BCPmNscX.js +1 -0
  39. package/public/assets/page.BFENid_V.js +31 -0
  40. package/public/assets/page.BIG_uMBA.js +1 -0
  41. package/public/assets/page.BINfJPNt.js +1 -0
  42. package/public/assets/page.BJzBUr1v.js +2 -0
  43. package/public/assets/page.BKM5Up2Y.js +1 -0
  44. package/public/assets/page.BLUEyope.js +1 -0
  45. package/public/assets/page.BMeBT03D.js +5 -0
  46. package/public/assets/page.BMf0BFTW.js +1 -0
  47. package/public/assets/page.BONoTspJ.js +1 -0
  48. package/public/assets/page.BQwH91-m.js +1 -0
  49. package/public/assets/page.BRgXbpJe.js +1 -0
  50. package/public/assets/page.BV28PqHr.js +1 -0
  51. package/public/assets/page.BW6Rv-_k.js +1 -0
  52. package/public/assets/page.BXq7Sixg.js +1 -0
  53. package/public/assets/page.Bb3E5EzI.js +6 -0
  54. package/public/assets/page.Bbf1xxJj.js +1 -0
  55. package/public/assets/page.BcuklMLO.js +2 -0
  56. package/public/assets/page.BdPGDnx0.js +6 -0
  57. package/public/assets/page.Bi5OEfgq.js +1 -0
  58. package/public/assets/page.Bi9gIWN0.js +1 -0
  59. package/public/assets/page.BiLGOe6j.js +1 -0
  60. package/public/assets/page.BicDCwTa.js +1 -0
  61. package/public/assets/page.Bj0au_ka.js +5 -0
  62. package/public/assets/page.Bjd38gaf.js +1 -0
  63. package/public/assets/page.BmOXfa4k.js +1 -0
  64. package/public/assets/page.Bqk4tX-5.js +1 -0
  65. package/public/assets/page.BrrSjbBJ.js +1 -0
  66. package/public/assets/page.BsUeE2Y_.js +1 -0
  67. package/public/assets/page.BthVvW1e.js +64 -0
  68. package/public/assets/page.BxAWh20c.js +1 -0
  69. package/public/assets/page.C-2GmPmS.js +4 -0
  70. package/public/assets/page.C27wrrub.js +1 -0
  71. package/public/assets/page.C3FwsCq_.js +23 -0
  72. package/public/assets/page.C4RMU4Xv.js +23 -0
  73. package/public/assets/page.C7SC9vwX.js +1 -0
  74. package/public/assets/page.C8gTAwsH.js +5 -0
  75. package/public/assets/page.CB__T51y.js +2 -0
  76. package/public/assets/page.CDVZIbSe.js +2 -0
  77. package/public/assets/page.CECQKY1y.js +5 -0
  78. package/public/assets/page.CEN8xgCA.js +1 -0
  79. package/public/assets/page.CF5pD5lz.js +1 -0
  80. package/public/assets/page.CHG9mx5l.js +1 -0
  81. package/public/assets/page.CMUOu9fe.js +1 -0
  82. package/public/assets/page.CRex977Y.js +5 -0
  83. package/public/assets/page.CTdMdgI4.js +23 -0
  84. package/public/assets/page.CUsb0F5t.js +1 -0
  85. package/public/assets/page.CVu_9TAu.js +64 -0
  86. package/public/assets/page.CXE5AWV3.js +1 -0
  87. package/public/assets/page.CXIP8Wzi.js +4 -0
  88. package/public/assets/page.CXOuLQhq.js +1 -0
  89. package/public/assets/page.CXPMjDX9.js +1 -0
  90. package/public/assets/page.CXPPlybJ.js +6 -0
  91. package/public/assets/page.CYfjd9SF.js +1 -0
  92. package/public/assets/page.CZtbttgE.js +1 -0
  93. package/public/assets/page.CbOSwuwi.js +1 -0
  94. package/public/assets/page.CbWWyTC4.js +1 -0
  95. package/public/assets/page.CdbMx9XI.js +1 -0
  96. package/public/assets/page.CfDkX9XZ.js +31 -0
  97. package/public/assets/page.CfXJWUgA.js +1 -0
  98. package/public/assets/page.CfdTLncK.js +1 -0
  99. package/public/assets/page.ChqEg6y-.js +1 -0
  100. package/public/assets/page.ClXnUNhb.js +1 -0
  101. package/public/assets/page.CmbatQd6.js +4 -0
  102. package/public/assets/page.Cp7XaHGI.js +1 -0
  103. package/public/assets/page.CqR-Z0pY.js +1 -0
  104. package/public/assets/page.CrzjUbZg.js +1 -0
  105. package/public/assets/page.CsLBZFbk.js +1 -0
  106. package/public/assets/page.CyqTG9Kn.js +2 -0
  107. package/public/assets/page.CzKSjT-r.js +1 -0
  108. package/public/assets/page.D1S50DvR.js +1 -0
  109. package/public/assets/page.D3b1o69R.js +5 -0
  110. package/public/assets/page.D5B_p_2E.js +31 -0
  111. package/public/assets/page.D6TULIkh.js +1 -0
  112. package/public/assets/page.D8X-8LSd.js +2 -0
  113. package/public/assets/page.DA2dX7iN.js +1 -0
  114. package/public/assets/page.DAgwiopx.js +1 -0
  115. package/public/assets/page.DBNjxgJS.js +6 -0
  116. package/public/assets/page.DEBBy5qz.js +1 -0
  117. package/public/assets/page.DEOXc6iv.js +6 -0
  118. package/public/assets/page.DG46DZcu.js +1 -0
  119. package/public/assets/page.DGAKp9YS.js +1 -0
  120. package/public/assets/page.DGico7sP.js +1 -0
  121. package/public/assets/page.DHBHS2oS.js +1 -0
  122. package/public/assets/page.DIrcssm-.js +1 -0
  123. package/public/assets/page.DKdtfq8E.js +2 -0
  124. package/public/assets/page.DKj8qFYb.js +1 -0
  125. package/public/assets/page.DNofNt4p.js +1 -0
  126. package/public/assets/page.DVdv-E5d.js +1 -0
  127. package/public/assets/page.Da-kutqN.js +1 -0
  128. package/public/assets/page.DaW7T6nt.js +1 -0
  129. package/public/assets/page.DgnlzpNx.js +1 -0
  130. package/public/assets/page.DhPzWwGm.js +1 -0
  131. package/public/assets/page.DhcizW_i.js +1 -0
  132. package/public/assets/page.Dju6Kwa5.js +1 -0
  133. package/public/assets/page.Dlh3Q_rt.js +1 -0
  134. package/public/assets/page.DmNhmYKk.js +64 -0
  135. package/public/assets/page.Dmvhu2ua.js +1 -0
  136. package/public/assets/page.Dp30ZzXE.js +1 -0
  137. package/public/assets/page.DsY8qNEU.js +1 -0
  138. package/public/assets/page.DskvkVIF.js +1 -0
  139. package/public/assets/page.DtGEStU7.js +1 -0
  140. package/public/assets/page.DuXsnK8A.js +1 -0
  141. package/public/assets/page.DwU6Ubqf.js +1 -0
  142. package/public/assets/page.FmrKiZlG.js +2 -0
  143. package/public/assets/page.GSAm83Cv.js +6 -0
  144. package/public/assets/page.IgH-AWcu.js +1 -0
  145. package/public/assets/page.Ii8wGSnt.js +1 -0
  146. package/public/assets/page.KtURQA9Q.js +1 -0
  147. package/public/assets/page.NFGJtdfx.js +1 -0
  148. package/public/assets/page.QPaIzKAa.js +1 -0
  149. package/public/assets/page.QuBXfL80.js +1 -0
  150. package/public/assets/page.S02TdGZT.js +1 -0
  151. package/public/assets/page.V3CmUOJF.js +1 -0
  152. package/public/assets/page.VClP2n2B.js +1 -0
  153. package/public/assets/page.Vo9Oe8DJ.js +1 -0
  154. package/public/assets/page.WIMFvXoG.js +1 -0
  155. package/public/assets/page.XUya1XZj.js +23 -0
  156. package/public/assets/page.XqKIvnmq.js +31 -0
  157. package/public/assets/page.aAUPKg0H.js +1 -0
  158. package/public/assets/page.aRQdaBbf.js +1 -0
  159. package/public/assets/page.e-Zxfi03.js +1 -0
  160. package/public/assets/page.e-cA5aB5.js +6 -0
  161. package/public/assets/page.eNXd9f58.js +6 -0
  162. package/public/assets/page.gj2B5h2d.js +1 -0
  163. package/public/assets/page.gvZgqycR.js +1 -0
  164. package/public/assets/page.jvowBQYJ.js +1 -0
  165. package/public/assets/page.k_WzlZwU.js +5 -0
  166. package/public/assets/page.qK1RUb_S.js +1 -0
  167. package/public/assets/page.ryYPRTww.js +1 -0
  168. package/public/assets/page.u7XFxplU.js +1 -0
  169. package/public/assets/page.xm98_0dX.js +5 -0
  170. package/public/assets/page.yjCJ-4Uh.js +1 -0
  171. package/public/assets/react.l0sNRNKZ.js +1 -0
  172. package/public/assets/router.Cjj1--8t.js +28 -0
  173. package/public/assets/zustand.akaTi5uX.js +1 -0
  174. package/public/favicon.ico +0 -0
  175. package/public/favicon.png +0 -0
  176. package/public/icons/icon-192.svg +4 -0
  177. package/public/icons/icon-512.svg +4 -0
  178. package/public/image-video-docs.html +1363 -0
  179. package/public/index.html +21 -0
  180. package/public/logo_amrouter.png +0 -0
  181. package/public/logo_fsrouter.png +0 -0
  182. package/public/logo_fsrouter.svg +10 -0
  183. package/public/logo_fsrouter_backup.png +0 -0
  184. package/public/logo_v2.png +0 -0
  185. package/public/providers/agentrouter.png +0 -0
  186. package/public/providers/agentrouter.webp +0 -0
  187. package/public/providers/alicode-intl.png +0 -0
  188. package/public/providers/alicode-intl.webp +0 -0
  189. package/public/providers/alicode.png +0 -0
  190. package/public/providers/alicode.webp +0 -0
  191. package/public/providers/amp.png +0 -0
  192. package/public/providers/amp.webp +0 -0
  193. package/public/providers/anthropic-m.png +0 -0
  194. package/public/providers/anthropic-m.webp +0 -0
  195. package/public/providers/anthropic.png +0 -0
  196. package/public/providers/anthropic.webp +0 -0
  197. package/public/providers/antigravity.png +0 -0
  198. package/public/providers/antigravity.webp +0 -0
  199. package/public/providers/assemblyai.png +0 -0
  200. package/public/providers/assemblyai.webp +0 -0
  201. package/public/providers/aws-polly.png +0 -0
  202. package/public/providers/aws-polly.webp +0 -0
  203. package/public/providers/azure.png +0 -0
  204. package/public/providers/azure.webp +0 -0
  205. package/public/providers/black-forest-labs.png +0 -0
  206. package/public/providers/black-forest-labs.webp +0 -0
  207. package/public/providers/blackbox.png +0 -0
  208. package/public/providers/blackbox.webp +0 -0
  209. package/public/providers/brave-search.png +0 -0
  210. package/public/providers/brave-search.webp +0 -0
  211. package/public/providers/byteplus.png +0 -0
  212. package/public/providers/byteplus.webp +0 -0
  213. package/public/providers/cartesia.png +0 -0
  214. package/public/providers/cartesia.webp +0 -0
  215. package/public/providers/cerebras.png +0 -0
  216. package/public/providers/cerebras.webp +0 -0
  217. package/public/providers/chutes.png +0 -0
  218. package/public/providers/chutes.webp +0 -0
  219. package/public/providers/claude.png +0 -0
  220. package/public/providers/claude.webp +0 -0
  221. package/public/providers/cline.png +0 -0
  222. package/public/providers/cline.webp +0 -0
  223. package/public/providers/clinepass.png +0 -0
  224. package/public/providers/cloudflare-ai.png +0 -0
  225. package/public/providers/cloudflare-ai.webp +0 -0
  226. package/public/providers/codebuddy-cn.png +0 -0
  227. package/public/providers/codebuddy-cn.webp +0 -0
  228. package/public/providers/codebuddy.png +0 -0
  229. package/public/providers/codebuddy.svg +1 -0
  230. package/public/providers/codex.png +0 -0
  231. package/public/providers/codex.webp +0 -0
  232. package/public/providers/cohere.png +0 -0
  233. package/public/providers/cohere.webp +0 -0
  234. package/public/providers/comfyui.png +0 -0
  235. package/public/providers/comfyui.webp +0 -0
  236. package/public/providers/commandcode.png +0 -0
  237. package/public/providers/commandcode.webp +0 -0
  238. package/public/providers/continue.png +0 -0
  239. package/public/providers/continue.webp +0 -0
  240. package/public/providers/copilot.png +0 -0
  241. package/public/providers/copilot.webp +0 -0
  242. package/public/providers/coqui.png +0 -0
  243. package/public/providers/coqui.webp +0 -0
  244. package/public/providers/cursor.png +0 -0
  245. package/public/providers/cursor.webp +0 -0
  246. package/public/providers/deepgram.png +0 -0
  247. package/public/providers/deepgram.webp +0 -0
  248. package/public/providers/deepseek-tui.png +0 -0
  249. package/public/providers/deepseek-tui.webp +0 -0
  250. package/public/providers/deepseek.png +0 -0
  251. package/public/providers/deepseek.webp +0 -0
  252. package/public/providers/digitalocean.png +0 -0
  253. package/public/providers/droid.png +0 -0
  254. package/public/providers/droid.webp +0 -0
  255. package/public/providers/edge-tts.png +0 -0
  256. package/public/providers/edge-tts.webp +0 -0
  257. package/public/providers/elevenlabs.png +0 -0
  258. package/public/providers/elevenlabs.webp +0 -0
  259. package/public/providers/exa.png +0 -0
  260. package/public/providers/exa.webp +0 -0
  261. package/public/providers/fal-ai.png +0 -0
  262. package/public/providers/fal-ai.webp +0 -0
  263. package/public/providers/firecrawl.png +0 -0
  264. package/public/providers/firecrawl.webp +0 -0
  265. package/public/providers/fireworks.png +0 -0
  266. package/public/providers/fireworks.webp +0 -0
  267. package/public/providers/gemini-cli.png +0 -0
  268. package/public/providers/gemini-cli.webp +0 -0
  269. package/public/providers/gemini.png +0 -0
  270. package/public/providers/gemini.webp +0 -0
  271. package/public/providers/gigachat.png +0 -0
  272. package/public/providers/gigachat.webp +0 -0
  273. package/public/providers/github.png +0 -0
  274. package/public/providers/github.webp +0 -0
  275. package/public/providers/glm-cn.png +0 -0
  276. package/public/providers/glm-cn.webp +0 -0
  277. package/public/providers/glm.png +0 -0
  278. package/public/providers/glm.webp +0 -0
  279. package/public/providers/google-pse.png +0 -0
  280. package/public/providers/google-pse.webp +0 -0
  281. package/public/providers/google-tts.png +0 -0
  282. package/public/providers/google-tts.webp +0 -0
  283. package/public/providers/grok-web.png +0 -0
  284. package/public/providers/grok-web.webp +0 -0
  285. package/public/providers/groq.png +0 -0
  286. package/public/providers/groq.webp +0 -0
  287. package/public/providers/hermes.png +0 -0
  288. package/public/providers/hermes.webp +0 -0
  289. package/public/providers/heroku.png +0 -0
  290. package/public/providers/heroku.webp +0 -0
  291. package/public/providers/huggingface.png +0 -0
  292. package/public/providers/huggingface.webp +0 -0
  293. package/public/providers/hyperbolic.png +0 -0
  294. package/public/providers/hyperbolic.webp +0 -0
  295. package/public/providers/ibm-bob.png +0 -0
  296. package/public/providers/iflow.png +0 -0
  297. package/public/providers/iflow.webp +0 -0
  298. package/public/providers/inworld.png +0 -0
  299. package/public/providers/inworld.webp +0 -0
  300. package/public/providers/jcode.png +0 -0
  301. package/public/providers/jcode.webp +0 -0
  302. package/public/providers/jina-ai.png +0 -0
  303. package/public/providers/jina-ai.webp +0 -0
  304. package/public/providers/jina-reader.png +0 -0
  305. package/public/providers/jina-reader.webp +0 -0
  306. package/public/providers/kilocode.png +0 -0
  307. package/public/providers/kilocode.webp +0 -0
  308. package/public/providers/kimchi.png +0 -0
  309. package/public/providers/kimchi.webp +0 -0
  310. package/public/providers/kimi-coding.png +0 -0
  311. package/public/providers/kimi-coding.webp +0 -0
  312. package/public/providers/kimi.png +0 -0
  313. package/public/providers/kimi.webp +0 -0
  314. package/public/providers/kiro.png +0 -0
  315. package/public/providers/kiro.webp +0 -0
  316. package/public/providers/leonardo.png +0 -0
  317. package/public/providers/linkup.png +0 -0
  318. package/public/providers/linkup.webp +0 -0
  319. package/public/providers/llamagate.png +0 -0
  320. package/public/providers/llamagate.webp +0 -0
  321. package/public/providers/local-device.png +0 -0
  322. package/public/providers/local-device.webp +0 -0
  323. package/public/providers/mimo-free.png +0 -0
  324. package/public/providers/mimo-free.webp +0 -0
  325. package/public/providers/minimax-cn.png +0 -0
  326. package/public/providers/minimax-cn.webp +0 -0
  327. package/public/providers/minimax.png +0 -0
  328. package/public/providers/minimax.webp +0 -0
  329. package/public/providers/mistral.png +0 -0
  330. package/public/providers/mistral.webp +0 -0
  331. package/public/providers/nanobanana.png +0 -0
  332. package/public/providers/nanobanana.webp +0 -0
  333. package/public/providers/nanogpt.png +0 -0
  334. package/public/providers/nanogpt.webp +0 -0
  335. package/public/providers/nebius.png +0 -0
  336. package/public/providers/nebius.webp +0 -0
  337. package/public/providers/nscale.png +0 -0
  338. package/public/providers/nscale.webp +0 -0
  339. package/public/providers/nvidia.png +0 -0
  340. package/public/providers/nvidia.webp +0 -0
  341. package/public/providers/oai-cc.png +0 -0
  342. package/public/providers/oai-cc.webp +0 -0
  343. package/public/providers/oai-r.png +0 -0
  344. package/public/providers/oai-r.webp +0 -0
  345. package/public/providers/ollama-local.png +0 -0
  346. package/public/providers/ollama-local.webp +0 -0
  347. package/public/providers/ollama.png +0 -0
  348. package/public/providers/ollama.webp +0 -0
  349. package/public/providers/openai.png +0 -0
  350. package/public/providers/openai.webp +0 -0
  351. package/public/providers/openclaw.png +0 -0
  352. package/public/providers/openclaw.webp +0 -0
  353. package/public/providers/opencode-go.png +0 -0
  354. package/public/providers/opencode-go.webp +0 -0
  355. package/public/providers/opencode.png +0 -0
  356. package/public/providers/opencode.webp +0 -0
  357. package/public/providers/openrouter.png +0 -0
  358. package/public/providers/openrouter.webp +0 -0
  359. package/public/providers/ovhcloud.png +0 -0
  360. package/public/providers/ovhcloud.webp +0 -0
  361. package/public/providers/perplexity-web.png +0 -0
  362. package/public/providers/perplexity-web.webp +0 -0
  363. package/public/providers/perplexity.png +0 -0
  364. package/public/providers/perplexity.webp +0 -0
  365. package/public/providers/playht.png +0 -0
  366. package/public/providers/playht.webp +0 -0
  367. package/public/providers/predibase.png +0 -0
  368. package/public/providers/predibase.webp +0 -0
  369. package/public/providers/qoder.png +0 -0
  370. package/public/providers/qoder.webp +0 -0
  371. package/public/providers/qwen.png +0 -0
  372. package/public/providers/qwen.webp +0 -0
  373. package/public/providers/recraft.png +0 -0
  374. package/public/providers/recraft.webp +0 -0
  375. package/public/providers/roo.png +0 -0
  376. package/public/providers/roo.webp +0 -0
  377. package/public/providers/runwayml.png +0 -0
  378. package/public/providers/runwayml.webp +0 -0
  379. package/public/providers/sdwebui.png +0 -0
  380. package/public/providers/sdwebui.webp +0 -0
  381. package/public/providers/searchapi.png +0 -0
  382. package/public/providers/searchapi.webp +0 -0
  383. package/public/providers/searxng.png +0 -0
  384. package/public/providers/searxng.webp +0 -0
  385. package/public/providers/serper.png +0 -0
  386. package/public/providers/serper.webp +0 -0
  387. package/public/providers/siliconflow.png +0 -0
  388. package/public/providers/siliconflow.webp +0 -0
  389. package/public/providers/stability-ai.png +0 -0
  390. package/public/providers/stability-ai.webp +0 -0
  391. package/public/providers/tavily.png +0 -0
  392. package/public/providers/tavily.webp +0 -0
  393. package/public/providers/together.png +0 -0
  394. package/public/providers/together.webp +0 -0
  395. package/public/providers/topaz.png +0 -0
  396. package/public/providers/topaz.webp +0 -0
  397. package/public/providers/tortoise.png +0 -0
  398. package/public/providers/tortoise.webp +0 -0
  399. package/public/providers/vertex-partner.png +0 -0
  400. package/public/providers/vertex-partner.webp +0 -0
  401. package/public/providers/vertex.png +0 -0
  402. package/public/providers/vertex.webp +0 -0
  403. package/public/providers/volcengine-ark.png +0 -0
  404. package/public/providers/volcengine-ark.webp +0 -0
  405. package/public/providers/voyage-ai.png +0 -0
  406. package/public/providers/voyage-ai.webp +0 -0
  407. package/public/providers/weavy.jpeg +0 -0
  408. package/public/providers/weavy.png +0 -0
  409. package/public/providers/xai.png +0 -0
  410. package/public/providers/xai.webp +0 -0
  411. package/public/providers/xiaomi-mimo.png +0 -0
  412. package/public/providers/xiaomi-mimo.webp +0 -0
  413. package/public/providers/xiaomi-tokenplan.png +0 -0
  414. package/public/providers/xiaomi-tokenplan.webp +0 -0
  415. package/public/providers/youcom.png +0 -0
  416. package/public/providers/youcom.webp +0 -0
  417. package/public/providers/zcode.png +0 -0
  418. package/public/providers/zcode.webp +0 -0
  419. package/public/weavy.jpeg +0 -0
@@ -0,0 +1,23 @@
1
+ const e={antigravity:{id:"antigravity",name:"Antigravity",image:"/providers/antigravity.png",color:"#4285F4",description:"Google Antigravity IDE with MITM",configType:"mitm",mitmDomain:"daily-cloudcode-pa.googleapis.com",modelAliases:["gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-3.1-pro-low","gemini-pro-agent","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash"],defaultModels:[{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium) / Default",alias:"gemini-3.5-flash-low",mandatory:!0},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)",alias:"gemini-3-flash-agent"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)",alias:"gemini-3.5-flash-extra-low"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)",alias:"gemini-3.1-pro-low"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)",alias:"gemini-pro-agent"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)",alias:"claude-sonnet-4-6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)",alias:"claude-opus-4-6-thinking"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)",alias:"gpt-oss-120b-medium"},{id:"gemini-3-flash",name:"Gemini 3 Flash (Command)",alias:"gemini-3-flash"}]},copilot:{id:"copilot",name:"GitHub Copilot",image:"/providers/copilot.png",color:"#1F6FEB",description:"GitHub Copilot IDE with MITM",configType:"mitm",mitmDomain:"api.individual.githubcopilot.com",modelAliases:["gpt-4o-mini","claude-haiku-4.5","gpt-4o","gpt-5-mini"],defaultModels:[{id:"gpt-4o",name:"GPT-4o",alias:"gpt-4o"},{id:"gpt-4.1",name:"GPT-4.1",alias:"gpt-4.1"},{id:"gpt-5-mini",name:"GPT-5 Mini",alias:"gpt-5-mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",alias:"claude-haiku-4.5"}]},kiro:{id:"kiro",name:"Kiro",image:"/providers/kiro.png",color:"#FF6B00",description:"Kiro IDE with MITM",configType:"mitm",mitmDomain:"q.us-east-1.amazonaws.com",defaultModels:[{id:"auto",name:"Auto (Kiro Agent)",alias:"auto"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",alias:"claude-sonnet-4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4",alias:"claude-sonnet-4"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",alias:"claude-haiku-4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",alias:"deepseek-3.2"},{id:"minimax-m2.5",name:"MiniMax M2.5",alias:"minimax-m2.5"},{id:"minimax-m2.1",name:"MiniMax M2.1",alias:"minimax-m2.1"},{id:"glm-5",name:"GLM 5",alias:"glm-5"},{id:"simple-task",name:"Qwen3 Coder Next",alias:"simple-task"}]}},i={claude:{id:"claude",name:"Claude Code",image:"/providers/claude.png",color:"#D97757",description:"Anthropic Claude Code CLI",configType:"env",envVars:{baseUrl:"ANTHROPIC_BASE_URL",model:"ANTHROPIC_MODEL",opusModel:"ANTHROPIC_DEFAULT_OPUS_MODEL",sonnetModel:"ANTHROPIC_DEFAULT_SONNET_MODEL",haikuModel:"ANTHROPIC_DEFAULT_HAIKU_MODEL"},modelAliases:["default","sonnet","opus","haiku","opusplan"],settingsFile:"~/.claude/settings.json",defaultModels:[{id:"opus",name:"Claude Opus",alias:"opus",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",defaultValue:"cc/claude-opus-4-6"},{id:"sonnet",name:"Claude Sonnet",alias:"sonnet",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",defaultValue:"cc/claude-sonnet-4-6"},{id:"haiku",name:"Claude Haiku",alias:"haiku",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",defaultValue:"cc/claude-haiku-4-5-20251001"}]},openclaw:{id:"openclaw",name:"Open Claw",image:"/providers/openclaw.png",color:"#FF6B35",description:"Open Claw AI Assistant",configType:"custom"},codex:{id:"codex",name:"OpenAI Codex CLI / App",image:"/providers/codex.png",color:"#10A37F",description:"OpenAI Codex CLI",configType:"custom"},opencode:{id:"opencode",name:"OpenCode",image:"/providers/opencode.png",color:"#E87040",description:"OpenCode AI Terminal Assistant",configType:"custom"},hermes:{id:"hermes",name:"Hermes Agent",image:"/providers/hermes.png",color:"#8B5CF6",description:"Nous Research self-improving AI agent",configType:"custom"},droid:{id:"droid",name:"Factory Droid",image:"/providers/droid.png",color:"#00D4FF",description:"Factory Droid AI Assistant",configType:"custom"},cursor:{id:"cursor",name:"Cursor",image:"/providers/cursor.png",color:"#000000",description:"Cursor AI Code Editor",configType:"guide",requiresExternalUrl:!0,notes:[{type:"warning",text:"Requires Cursor Pro account to use this feature."},{type:"cloudCheck",text:"Cursor routes requests through its own server, so local endpoint is not supported. Please enable Tunnel or Cloud Endpoint in Settings."}],guideSteps:[{step:1,title:"Open Settings",desc:"Go to Settings → Models"},{step:2,title:"Enable OpenAI API",desc:'Enable "OpenAI API key" option'},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Add Custom Model",desc:'Click "View All Model" → "Add Custom Model"'},{step:6,title:"Select Model",type:"modelSelector"}]},cline:{id:"cline",name:"Cline",image:"/providers/cline.png",color:"#00D1B2",description:"Cline AI Coding Assistant",configType:"custom"},kilo:{id:"kilo",name:"Kilo Code",image:"/providers/kilocode.png",color:"#FF6B6B",description:"Kilo Code AI Assistant",configType:"custom"},roo:{id:"roo",name:"Roo",image:"/providers/roo.png",color:"#FF6B6B",description:"Roo AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Settings",desc:"Go to Roo Settings panel"},{step:2,title:"Select Provider",desc:"Choose API Provider → Ollama"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"API Key",type:"apiKeySelector"},{step:5,title:"Select Model",type:"modelSelector"}]},continue:{id:"continue",name:"Continue",image:"/providers/continue.png",color:"#7C3AED",description:"Continue AI Assistant",configType:"guide",guideSteps:[{step:1,title:"Open Config",desc:"Open Continue configuration file"},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Select Model",type:"modelSelector"},{step:4,title:"Add Model Config",desc:"Add the following configuration to your models array:"}],codeBlock:{language:"json",code:`{
2
+ "apiBase": "{{baseUrl}}",
3
+ "title": "{{model}}",
4
+ "model": "{{model}}",
5
+ "provider": "openai",
6
+ "apiKey": "{{apiKey}}"
7
+ }`}},amp:{id:"amp",name:"Amp CLI",image:"/providers/amp.png",color:"#F97316",description:"Sourcegraph Amp coding assistant CLI",docsUrl:"/docs?section=cli-tools&tool=amp",configType:"guide",defaultCommand:"amp",modelAliases:["g25p","g25f","cs45","g54"],notes:[{type:"info",text:"Use FSRouter model aliases to keep Amp shorthand mappings stable across provider updates."},{type:"warning",text:"Suggested shorthand examples: g25p → gemini/gemini-2.5-pro, g25f → gemini/gemini-2.5-flash, cs45 → cc/claude-sonnet-4-5-20250929."}],guideSteps:[{step:1,title:"Install Amp",desc:"Install the Amp CLI using the package manager supported by your environment."},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"Select Model",type:"modelSelector"},{step:5,title:"Add Shorthands",desc:"Map Amp shorthand names such as g25p or cs45 to FSRouter aliases in your local config."}],codeBlock:{language:"bash",code:`export OPENAI_API_KEY="{{apiKey}}"
8
+ export OPENAI_BASE_URL="{{baseUrl}}"
9
+ amp --model "{{model}}"
10
+ # Example shorthand aliases you can map locally:
11
+ # g25p -> gemini/gemini-2.5-pro
12
+ # cs45 -> cc/claude-sonnet-4-5-20250929`}},qwen:{id:"qwen",name:"Qwen Code",image:"/providers/qwen.png",color:"#10B981",description:"Alibaba Qwen Code CLI — supports OpenAI, Anthropic & Gemini providers via FSRouter",docsUrl:"https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",configType:"guide",defaultCommand:"qwen",notes:[{type:"info",text:"Qwen Code supports multiple provider types (openai, anthropic, gemini) via modelProviders in settings.json. FSRouter works as an OpenAI-compatible endpoint."},{type:"info",text:"Any model available in FSRouter can be used — not just Qwen models. Select from Qwen, Claude, Gemini, GPT, and more."},{type:"warning",text:"Config path: Linux/macOS ~/.qwen/settings.json • Windows %USERPROFILE%\\.qwen\\settings.json"},{type:"error",text:"Qwen OAuth free tier was discontinued on 2026-04-15. Use FSRouter with alicode/openrouter/anthropic/gemini providers instead."}],modelAliases:["coder-model","qwen3-coder-plus","qwen3-coder-flash","vision-model","claude-sonnet-4-6","claude-opus-4-6-thinking","gemini-3-flash","gemini-3.1-pro-high"],defaultModels:[{id:"coder-model",name:"Coder Model (Qwen 3.6 Plus)",alias:"coder-model",envKey:"OPENAI_MODEL",defaultValue:"coder-model",isTopLevel:!0},{id:"qwen3-coder-plus",name:"Qwen 3 Coder Plus",alias:"qwen3-coder-plus",envKey:"OPENAI_MODEL",defaultValue:"qwen3-coder-plus"},{id:"qwen3-coder-flash",name:"Qwen 3 Coder Flash",alias:"qwen3-coder-flash",envKey:"OPENAI_MODEL",defaultValue:"qwen3-coder-flash"},{id:"vision-model",name:"Vision Model (Multimodal)",alias:"vision-model",envKey:"OPENAI_MODEL",defaultValue:"vision-model"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",alias:"claude-sonnet-4-6",envKey:"OPENAI_MODEL",defaultValue:"claude-sonnet-4-6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking",alias:"claude-opus-4-6-thinking",envKey:"OPENAI_MODEL",defaultValue:"claude-opus-4-6-thinking"},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",alias:"gemini-3.1-pro-high",envKey:"OPENAI_MODEL",defaultValue:"gemini-3.1-pro-high"},{id:"gemini-3-flash",name:"Gemini 3 Flash",alias:"gemini-3-flash",envKey:"OPENAI_MODEL",defaultValue:"gemini-3-flash"}],guideSteps:[{step:1,title:"Install Qwen Code",desc:"npm install -g @qwen-code/qwen-code"},{step:2,title:"API Key",type:"apiKeySelector"},{step:3,title:"Base URL",value:"{{baseUrl}}",copyable:!0},{step:4,title:"Select Model",type:"modelSelector"},{step:5,title:"Save Config",desc:"Copy the JSON below to your ~/.qwen/settings.json file."}],codeBlock:{language:"json",code:`{
13
+ "security": {
14
+ "auth": {
15
+ "selectedType": "openai",
16
+ "apiKey": "{{apiKey}}",
17
+ "baseUrl": "{{baseUrl}}"
18
+ }
19
+ },
20
+ "model": {
21
+ "name": "{{model}}"
22
+ }
23
+ }`}},"deepseek-tui":{id:"deepseek-tui",name:"DeepSeek TUI",image:"/providers/deepseek-tui.png",color:"#4D6BFE",description:"DeepSeek Terminal Coding Agent (Rust TUI)",docsUrl:"https://github.com/DeepSeek-TUI/DeepSeek-TUI",configType:"custom",defaultCommand:"deepseek",modelAliases:["deepseek-v4-pro","deepseek-v4-flash","deepseek-chat","deepseek-reasoner"],defaultModels:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",alias:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",alias:"deepseek-v4-flash"},{id:"deepseek-chat",name:"DeepSeek V3 Chat",alias:"deepseek-chat"}],notes:[{type:"info",text:"DeepSeek TUI uses ~/.deepseek/config.toml for configuration. FSRouter will update the provider to 'openai' mode with your base_url, api_key, and model."},{type:"warning",text:"Config path: Linux/macOS ~/.deepseek/config.toml • Windows %USERPROFILE%\\.deepseek\\config.toml"}]},jcode:{id:"jcode",name:"jcode",image:"/providers/jcode.png",color:"#FF6B35",description:"High-performance Rust-based coding agent harness",configType:"custom",docsUrl:"https://github.com/1jehuang/jcode",notes:[{type:"info",text:"jcode is a Rust-based coding agent with semantic memory, multi-agent swarms, and extreme performance (27.8 MB RAM, 14ms boot)."},{type:"info",text:"Configure fsrouter as an OpenAI-compatible provider to route all jcode requests through fsrouter's optimization layer."},{type:"warning",text:"Requires jcode installed. Install via: curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash"}],defaultModels:[{id:"claude-opus-4-7",name:"Claude Opus 4.7",alias:"opus",defaultValue:"cc/claude-opus-4-7"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",alias:"sonnet",defaultValue:"cc/claude-sonnet-4-6"},{id:"gpt-5.5",name:"GPT 5.5",alias:"gpt5",defaultValue:"cx/gpt-5.5"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",alias:"gemini",defaultValue:"gemini/gemini-3.1-pro"}]}};export{i as C,e as M};
@@ -0,0 +1,11 @@
1
+ import{b as u,W as T}from"./router.Cjj1--8t.js";function ie(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function be(e){if(Array.isArray(e))return e}function ye(e,t,r){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function we(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,s,p=[],g=!0,v=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(g=(n=i.call(r)).done)&&(p.push(n.value),p.length!==t);g=!0);}catch(P){v=!0,o=P}finally{try{if(!g&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(v)throw o}}return p}}function Oe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ue(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ae(Object(r),!0).forEach(function(n){ye(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function je(e,t){if(e==null)return{};var r,n,o=Me(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Me(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function Pe(e,t){return be(e)||we(e,t)||Ie(e,t)||Oe()}function Se(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ee(e){var t=Se(e,"string");return typeof t=="symbol"?t:t+""}function Ie(e,t){if(e){if(typeof e=="string")return ie(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ie(e,t):void 0}}function Re(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ce(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function le(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ce(Object(r),!0).forEach(function(n){Re(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ce(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Ce(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(n){return t.reduceRight(function(o,i){return i(o)},n)}}function q(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g<s;g++)p[g]=arguments[g];return t.apply(r,[].concat(o,p))}}}function K(e){return{}.toString.call(e).includes("Object")}function Le(e){return!Object.keys(e).length}function U(e){return typeof e=="function"}function Ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Te(e,t){return K(t)||E("changeType"),Object.keys(t).some(function(r){return!Ae(e,r)})&&E("changeField"),t}function $e(e){U(e)||E("selectorType")}function De(e){U(e)||K(e)||E("handlerType"),K(e)&&Object.values(e).some(function(t){return!U(t)})&&E("handlersType")}function Ve(e){e||E("initialIsRequired"),K(e)||E("initialType"),Le(e)&&E("initialContent")}function xe(e,t){throw new Error(e[t]||e.default)}var Ne={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},E=q(xe)(Ne),_={changes:Te,selector:$e,handler:De,initial:Ve};function qe(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};_.initial(e),_.handler(t);var r={current:e},n=q(Fe)(r,t),o=q(Ue)(r),i=q(_.changes)(e),s=q(ze)(r);function p(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(P){return P};return _.selector(v),v(r.current)}function g(v){Ce(n,o,i,s)(v)}return[p,g]}function ze(e,t){return U(t)?t(e.current):t}function Ue(e,t){return e.current=le(le({},e.current),t),t}function Fe(e,t,r){return U(t)?t(e.current):Object.keys(r).forEach(function(n){var o;return(o=t[n])===null||o===void 0?void 0:o.call(t,e.current[n])}),r}var We={create:qe},He={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function _e(e){return function t(){for(var r=this,n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];return o.length>=e.length?e.apply(this,o):function(){for(var s=arguments.length,p=new Array(s),g=0;g<s;g++)p[g]=arguments[g];return t.apply(r,[].concat(o,p))}}}function Be(e){return{}.toString.call(e).includes("Object")}function Ke(e){return e||se("configIsRequired"),Be(e)||se("configType"),e.urls?(Ge(),{paths:{vs:e.urls.monacoBase}}):e}function Ge(){console.warn(fe.deprecation)}function Ye(e,t){throw new Error(e[t]||e.default)}var fe={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
3
+ You are using deprecated way of configuration.
4
+
5
+ Instead of using
6
+ monaco.config({ urls: { monacoBase: '...' } })
7
+ use
8
+ monaco.config({ paths: { vs: '...' } })
9
+
10
+ For more please check the link https://github.com/suren-atoyan/monaco-loader#config
11
+ `},se=_e(Ye)(fe),Je={config:Ke},Qe=function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(o){return r.reduceRight(function(i,s){return s(i)},o)}};function de(e,t){return Object.keys(t).forEach(function(r){t[r]instanceof Object&&e[r]&&Object.assign(t[r],de(e[r],t[r]))}),ue(ue({},e),t)}var Xe={type:"cancelation",msg:"operation is manually canceled"};function te(e){var t=!1,r=new Promise(function(n,o){e.then(function(i){return t?o(Xe):n(i)}),e.catch(o)});return r.cancel=function(){return t=!0},r}var Ze=["monaco"],ke=We.create({config:He,isInitialized:!1,resolve:null,reject:null,monaco:null}),pe=Pe(ke,2),F=pe[0],Y=pe[1];function et(e){var t=Je.config(e),r=t.monaco,n=je(t,Ze);Y(function(o){return{config:de(o.config,n),monaco:r}})}function tt(){var e=F(function(t){var r=t.monaco,n=t.isInitialized,o=t.resolve;return{monaco:r,isInitialized:n,resolve:o}});if(!e.isInitialized){if(Y({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),te(re);if(window.monaco&&window.monaco.editor)return ge(window.monaco),e.resolve(window.monaco),te(re);Qe(rt,ot)(it)}return te(re)}function rt(e){return document.body.appendChild(e)}function nt(e){var t=document.createElement("script");return e&&(t.src=e),t}function ot(e){var t=F(function(n){var o=n.config,i=n.reject;return{config:o,reject:i}}),r=nt("".concat(t.config.paths.vs,"/loader.js"));return r.onload=function(){return e()},r.onerror=t.reject,r}function it(){var e=F(function(r){var n=r.config,o=r.resolve,i=r.reject;return{config:n,resolve:o,reject:i}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(r){var n=r.m||r;ge(n),e.resolve(n)},function(r){e.reject(r)})}function ge(e){F().monaco||Y({monaco:e})}function at(){return F(function(e){var t=e.monaco;return t})}var re=new Promise(function(e,t){return Y({resolve:e,reject:t})}),G={config:et,init:tt,__getMonacoInstance:at},ut={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},ne=ut,ct={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},lt=ct;function st({children:e}){return T.createElement("div",{style:lt.container},e)}var ft=st,dt=ft;function pt({width:e,height:t,isEditorReady:r,loading:n,_ref:o,className:i,wrapperProps:s}){return T.createElement("section",{style:{...ne.wrapper,width:e,height:t},...s},!r&&T.createElement(dt,null,n),T.createElement("div",{ref:o,style:{...ne.fullWidth,...!r&&ne.hide},className:i}))}var gt=pt,he=u.memo(gt);function ht(e){u.useEffect(e,[])}var oe=ht;function vt(e,t,r=!0){let n=u.useRef(!0);u.useEffect(n.current||!r?()=>{n.current=!1}:e,t)}var j=vt;function z(){}function A(e,t,r,n){return mt(e,n)||bt(e,t,r,n)}function mt(e,t){return e.editor.getModel(ve(e,t))}function bt(e,t,r,n){return e.editor.createModel(t,r,n?ve(e,n):void 0)}function ve(e,t){return e.Uri.parse(t)}function yt({original:e,modified:t,language:r,originalLanguage:n,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:s,keepCurrentOriginalModel:p=!1,keepCurrentModifiedModel:g=!1,theme:v="light",loading:P="Loading...",options:M={},height:J="100%",width:Q="100%",className:X,wrapperProps:Z={},beforeMount:k=z,onMount:ee=z}){let[w,$]=u.useState(!1),[I,m]=u.useState(!0),b=u.useRef(null),h=u.useRef(null),D=u.useRef(null),y=u.useRef(ee),l=u.useRef(k),R=u.useRef(!1);oe(()=>{let a=G.init();return a.then(f=>(h.current=f)&&m(!1)).catch(f=>(f==null?void 0:f.type)!=="cancelation"&&console.error("Monaco initialization: error:",f)),()=>b.current?V():a.cancel()}),j(()=>{if(b.current&&h.current){let a=b.current.getOriginalEditor(),f=A(h.current,e||"",n||r||"text",i||"");f!==a.getModel()&&a.setModel(f)}},[i],w),j(()=>{if(b.current&&h.current){let a=b.current.getModifiedEditor(),f=A(h.current,t||"",o||r||"text",s||"");f!==a.getModel()&&a.setModel(f)}},[s],w),j(()=>{let a=b.current.getModifiedEditor();a.getOption(h.current.editor.EditorOption.readOnly)?a.setValue(t||""):t!==a.getValue()&&(a.executeEdits("",[{range:a.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),a.pushUndoStop())},[t],w),j(()=>{var a,f;(f=(a=b.current)==null?void 0:a.getModel())==null||f.original.setValue(e||"")},[e],w),j(()=>{let{original:a,modified:f}=b.current.getModel();h.current.editor.setModelLanguage(a,n||r||"text"),h.current.editor.setModelLanguage(f,o||r||"text")},[r,n,o],w),j(()=>{var a;(a=h.current)==null||a.editor.setTheme(v)},[v],w),j(()=>{var a;(a=b.current)==null||a.updateOptions(M)},[M],w);let W=u.useCallback(()=>{var S;if(!h.current)return;l.current(h.current);let a=A(h.current,e||"",n||r||"text",i||""),f=A(h.current,t||"",o||r||"text",s||"");(S=b.current)==null||S.setModel({original:a,modified:f})},[r,t,o,e,n,i,s]),H=u.useCallback(()=>{var a;!R.current&&D.current&&(b.current=h.current.editor.createDiffEditor(D.current,{automaticLayout:!0,...M}),W(),(a=h.current)==null||a.editor.setTheme(v),$(!0),R.current=!0)},[M,v,W]);u.useEffect(()=>{w&&y.current(b.current,h.current)},[w]),u.useEffect(()=>{!I&&!w&&H()},[I,w,H]);function V(){var f,S,C,x;let a=(f=b.current)==null?void 0:f.getModel();p||((S=a==null?void 0:a.original)==null||S.dispose()),g||((C=a==null?void 0:a.modified)==null||C.dispose()),(x=b.current)==null||x.dispose()}return T.createElement(he,{width:Q,height:J,isEditorReady:w,loading:P,_ref:D,className:X,wrapperProps:Z})}var wt=yt,Rt=u.memo(wt);function Ot(){let[e,t]=u.useState(G.__getMonacoInstance());return oe(()=>{let r;return e||(r=G.init(),r.then(n=>{t(n)})),()=>r==null?void 0:r.cancel()}),e}var Ct=Ot;function jt(e){let t=u.useRef();return u.useEffect(()=>{t.current=e},[e]),t.current}var Mt=jt,B=new Map;function Pt({defaultValue:e,defaultLanguage:t,defaultPath:r,value:n,language:o,path:i,theme:s="light",line:p,loading:g="Loading...",options:v={},overrideServices:P={},saveViewState:M=!0,keepCurrentModel:J=!1,width:Q="100%",height:X="100%",className:Z,wrapperProps:k={},beforeMount:ee=z,onMount:w=z,onChange:$,onValidate:I=z}){let[m,b]=u.useState(!1),[h,D]=u.useState(!0),y=u.useRef(null),l=u.useRef(null),R=u.useRef(null),W=u.useRef(w),H=u.useRef(ee),V=u.useRef(),a=u.useRef(n),f=Mt(i),S=u.useRef(!1),C=u.useRef(!1);oe(()=>{let c=G.init();return c.then(d=>(y.current=d)&&D(!1)).catch(d=>(d==null?void 0:d.type)!=="cancelation"&&console.error("Monaco initialization: error:",d)),()=>l.current?me():c.cancel()}),j(()=>{var d,O,N,L;let c=A(y.current,e||n||"",t||o||"",i||r||"");c!==((d=l.current)==null?void 0:d.getModel())&&(M&&B.set(f,(O=l.current)==null?void 0:O.saveViewState()),(N=l.current)==null||N.setModel(c),M&&((L=l.current)==null||L.restoreViewState(B.get(i))))},[i],m),j(()=>{var c;(c=l.current)==null||c.updateOptions(v)},[v],m),j(()=>{!l.current||n===void 0||(l.current.getOption(y.current.editor.EditorOption.readOnly)?l.current.setValue(n):n!==l.current.getValue()&&(C.current=!0,l.current.executeEdits("",[{range:l.current.getModel().getFullModelRange(),text:n,forceMoveMarkers:!0}]),l.current.pushUndoStop(),C.current=!1))},[n],m),j(()=>{var d,O;let c=(d=l.current)==null?void 0:d.getModel();c&&o&&((O=y.current)==null||O.editor.setModelLanguage(c,o))},[o],m),j(()=>{var c;p!==void 0&&((c=l.current)==null||c.revealLine(p))},[p],m),j(()=>{var c;(c=y.current)==null||c.editor.setTheme(s)},[s],m);let x=u.useCallback(()=>{var c;if(!(!R.current||!y.current)&&!S.current){H.current(y.current);let d=i||r,O=A(y.current,n||e||"",t||o||"",d||"");l.current=(c=y.current)==null?void 0:c.editor.create(R.current,{model:O,automaticLayout:!0,...v},P),M&&l.current.restoreViewState(B.get(d)),y.current.editor.setTheme(s),p!==void 0&&l.current.revealLine(p),b(!0),S.current=!0}},[e,t,r,n,o,i,v,P,M,s,p]);u.useEffect(()=>{m&&W.current(l.current,y.current)},[m]),u.useEffect(()=>{!h&&!m&&x()},[h,m,x]),a.current=n,u.useEffect(()=>{var c,d;m&&$&&((c=V.current)==null||c.dispose(),V.current=(d=l.current)==null?void 0:d.onDidChangeModelContent(O=>{C.current||$(l.current.getValue(),O)}))},[m,$]),u.useEffect(()=>{if(m){let c=y.current.editor.onDidChangeMarkers(d=>{var N;let O=(N=l.current.getModel())==null?void 0:N.uri;if(O&&d.find(L=>L.path===O.path)){let L=y.current.editor.getModelMarkers({resource:O});I==null||I(L)}});return()=>{c==null||c.dispose()}}return()=>{}},[m,I]);function me(){var c,d;(c=V.current)==null||c.dispose(),J?M&&B.set(i,l.current.saveViewState()):(d=l.current.getModel())==null||d.dispose(),l.current.dispose()}return T.createElement(he,{width:Q,height:X,isEditorReady:m,loading:g,_ref:R,className:Z,wrapperProps:k})}var St=Pt,Et=u.memo(St),Lt=Et;export{Rt as DiffEditor,Et as Editor,Lt as default,G as loader,Ct as useMonaco};