@deepseekcode/cli 1.0.27 → 1.0.28

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 (399) hide show
  1. package/dist/cli.js +1364 -1271
  2. package/package.json +1 -1
  3. package/web/dist/assets/AutomationView-CpFBgFvV.js +1 -0
  4. package/web/dist/assets/ChannelConfigView-DGK82bWj.js +8 -0
  5. package/web/dist/assets/{ConnectorsView-Dadj20jv.js → ConnectorsView-5kzDUnd8.js} +1 -1
  6. package/web/dist/assets/{FileTreeView-DLRQZmLP.js → FileTreeView-BQfRRAXr.js} +1 -1
  7. package/web/dist/assets/{HookConfigView-DE0NCrV9.js → HookConfigView-CdQVgzog.js} +1 -1
  8. package/web/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  9. package/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  10. package/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  11. package/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  12. package/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  13. package/web/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  14. package/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  15. package/web/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  16. package/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  17. package/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  18. package/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  19. package/web/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  20. package/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  21. package/web/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  22. package/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  23. package/web/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  24. package/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  25. package/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  26. package/web/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  27. package/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  28. package/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  29. package/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  30. package/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  31. package/web/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  32. package/web/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  33. package/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  34. package/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  35. package/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  36. package/web/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  37. package/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  38. package/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  39. package/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  40. package/web/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  41. package/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  42. package/web/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  43. package/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  44. package/web/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  45. package/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  46. package/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  47. package/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  48. package/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  49. package/web/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  50. package/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  51. package/web/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  52. package/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  53. package/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  54. package/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  55. package/web/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  56. package/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  57. package/web/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  58. package/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  59. package/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  60. package/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  61. package/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  62. package/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  63. package/web/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  64. package/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  65. package/web/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  66. package/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  67. package/web/dist/assets/ModelsView-Dpwx3f-Q.js +1 -0
  68. package/web/dist/assets/{PluginsView-DBF_BvKL.js → PluginsView-bQipmAy8.js} +1 -1
  69. package/web/dist/assets/SessionGrid-DFVjPnhc.js +39 -0
  70. package/web/dist/assets/SettingsPanel-CpmNWZmn.js +4 -0
  71. package/web/dist/assets/{SkillsView-BAorWQAI.js → SkillsView-DLGgMIsT.js} +1 -1
  72. package/web/dist/assets/{TemplatesTab-DEblm2pS.js → TemplatesTab-4085BhAx.js} +1 -1
  73. package/web/dist/assets/{TerminalView-Cnnipr8e.js → TerminalView-BVZAuLTB.js} +1 -1
  74. package/web/dist/assets/{ThreeScene-5Zi32o_j.js → ThreeScene-CukEnQe-.js} +1 -1
  75. package/web/dist/assets/{ToolsView-lOHdaw4V.js → ToolsView-DeCt1EIB.js} +1 -1
  76. package/web/dist/assets/abap-BdImnpbu.js +1 -0
  77. package/web/dist/assets/actionscript-3-B3316cI-.js +1 -0
  78. package/web/dist/assets/ada-bCR0ucgS.js +1 -0
  79. package/web/dist/assets/ahk-CsyLZFj1.js +1 -0
  80. package/web/dist/assets/ahk2-8Zs4aa1G.js +1 -0
  81. package/web/dist/assets/andromeeda-C4gqWexZ.js +1 -0
  82. package/web/dist/assets/angular-html-DA-rfuFy.js +1 -0
  83. package/web/dist/assets/angular-ts-BrjP3tb8.js +1 -0
  84. package/web/dist/assets/apache-Pmp26Uib.js +1 -0
  85. package/web/dist/assets/apex-DhZFqWV2.js +1 -0
  86. package/web/dist/assets/apl-CORt7UWP.js +1 -0
  87. package/web/dist/assets/applescript-Co6uUVPk.js +1 -0
  88. package/web/dist/assets/ara-BRHolxvo.js +1 -0
  89. package/web/dist/assets/asciidoc-CSVQ5wI8.js +1 -0
  90. package/web/dist/assets/asm-D_Q5rh1f.js +1 -0
  91. package/web/dist/assets/astro-HNnZUWAn.js +1 -0
  92. package/web/dist/assets/aurora-x-D-2ljcwZ.js +1 -0
  93. package/web/dist/assets/awk-DMzUqQB5.js +1 -0
  94. package/web/dist/assets/ayu-dark-DYE7WIF3.js +1 -0
  95. package/web/dist/assets/ayu-light-BA47KaF1.js +1 -0
  96. package/web/dist/assets/ayu-mirage-32ctXXKs.js +1 -0
  97. package/web/dist/assets/ballerina-BFfxhgS-.js +1 -0
  98. package/web/dist/assets/bat-CickPsom.js +1 -0
  99. package/web/dist/assets/beancount-k_qm7-4y.js +1 -0
  100. package/web/dist/assets/berry-uYugtg8r.js +1 -0
  101. package/web/dist/assets/bibtex-CHM0blh-.js +1 -0
  102. package/web/dist/assets/bicep-Bmn6On1c.js +1 -0
  103. package/web/dist/assets/bird2-Bx8U0n9b.js +1 -0
  104. package/web/dist/assets/blade-2xfisSek.js +1 -0
  105. package/web/dist/assets/bsl-DlhNcFeZ.js +1 -0
  106. package/web/dist/assets/c-BIGW1oBm.js +1 -0
  107. package/web/dist/assets/c3-Dp5svz6Z.js +1 -0
  108. package/web/dist/assets/cadence-Bv_4Rxtq.js +1 -0
  109. package/web/dist/assets/cairo-KRGpt6FW.js +1 -0
  110. package/web/dist/assets/catppuccin-frappe-CZL1YF0i.js +1 -0
  111. package/web/dist/assets/catppuccin-latte-DH-8KZSZ.js +1 -0
  112. package/web/dist/assets/catppuccin-macchiato-B7yYVSCf.js +1 -0
  113. package/web/dist/assets/catppuccin-mocha-Ct7hS0mc.js +1 -0
  114. package/web/dist/assets/chapel-DTp_pixX.js +1 -0
  115. package/web/dist/assets/clarity-Dn5IMItf.js +1 -0
  116. package/web/dist/assets/clojure-P80f7IUj.js +1 -0
  117. package/web/dist/assets/cmake-D1j8_8rp.js +1 -0
  118. package/web/dist/assets/cobol-nBiQ_Alo.js +1 -0
  119. package/web/dist/assets/codeowners-Bp6g37R7.js +1 -0
  120. package/web/dist/assets/codeql-DsOJ9woJ.js +1 -0
  121. package/web/dist/assets/coffee-Ch7k5sss.js +1 -0
  122. package/web/dist/assets/common-lisp-Cg-RD9OK.js +1 -0
  123. package/web/dist/assets/coq-C7JzOVbR.js +1 -0
  124. package/web/dist/assets/cpp-BMRokrvK.js +1 -0
  125. package/web/dist/assets/crystal-DGywbUpC.js +1 -0
  126. package/web/dist/assets/csharp-DSvCPggb.js +1 -0
  127. package/web/dist/assets/css-CLj8gQPS.js +1 -0
  128. package/web/dist/assets/csv-fuZLfV_i.js +1 -0
  129. package/web/dist/assets/cue-D82EKSYY.js +1 -0
  130. package/web/dist/assets/cypher-COkxafJQ.js +1 -0
  131. package/web/dist/assets/d-85-TOEBH.js +1 -0
  132. package/web/dist/assets/dark-plus-C3mMm8J8.js +1 -0
  133. package/web/dist/assets/dart-bE4Kk8sk.js +1 -0
  134. package/web/dist/assets/dax-CEL-wOlO.js +1 -0
  135. package/web/dist/assets/desktop-BmXAJ9_W.js +1 -0
  136. package/web/dist/assets/diff-D97Zzqfu.js +1 -0
  137. package/web/dist/assets/docker-BcOcwvcX.js +1 -0
  138. package/web/dist/assets/dotenv-Da5cRb03.js +1 -0
  139. package/web/dist/assets/dracula-BzJJZx-M.js +1 -0
  140. package/web/dist/assets/dracula-soft-BXkSAIEj.js +1 -0
  141. package/web/dist/assets/dream-maker-BtqSS_iP.js +1 -0
  142. package/web/dist/assets/edge-FbVlp4U3.js +1 -0
  143. package/web/dist/assets/elixir-CkH2-t6x.js +1 -0
  144. package/web/dist/assets/elm-DbKCFpqz.js +1 -0
  145. package/web/dist/assets/emacs-lisp-C_m_b--Z.js +1 -0
  146. package/web/dist/assets/erb-DXfck5VN.js +1 -0
  147. package/web/dist/assets/erlang-DsQrWhSR.js +1 -0
  148. package/web/dist/assets/everforest-dark-BgDCqdQA.js +1 -0
  149. package/web/dist/assets/everforest-light-C8M2exoo.js +1 -0
  150. package/web/dist/assets/fennel-BYunw83y.js +1 -0
  151. package/web/dist/assets/fish-BvzEVeQv.js +1 -0
  152. package/web/dist/assets/fluent-C4IJs8-o.js +1 -0
  153. package/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  154. package/web/dist/assets/fortran-free-form-BxgE0vQu.js +1 -0
  155. package/web/dist/assets/fsharp-CXgrBDvD.js +1 -0
  156. package/web/dist/assets/gdresource-TyuKm33G.js +1 -0
  157. package/web/dist/assets/gdscript-DqcFQ5yU.js +1 -0
  158. package/web/dist/assets/gdshader-DkwncUOv.js +1 -0
  159. package/web/dist/assets/genie-D0YGMca9.js +1 -0
  160. package/web/dist/assets/gherkin-DyxjwDmM.js +1 -0
  161. package/web/dist/assets/git-commit-F4YmCXRG.js +1 -0
  162. package/web/dist/assets/git-rebase-r7XF79zn.js +1 -0
  163. package/web/dist/assets/github-dark-DHJKELXO.js +1 -0
  164. package/web/dist/assets/github-dark-default-Cuk6v7N8.js +1 -0
  165. package/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  166. package/web/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  167. package/web/dist/assets/github-light-DAi9KRSo.js +1 -0
  168. package/web/dist/assets/github-light-default-D7oLnXFd.js +1 -0
  169. package/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  170. package/web/dist/assets/gleam-BspZqrRM.js +1 -0
  171. package/web/dist/assets/glimmer-js-ByusRIyA.js +1 -0
  172. package/web/dist/assets/glimmer-ts-BfAWNZQY.js +1 -0
  173. package/web/dist/assets/glsl-DplSGwfg.js +1 -0
  174. package/web/dist/assets/gn-n2N0HUVH.js +1 -0
  175. package/web/dist/assets/gnuplot-DdkO51Og.js +1 -0
  176. package/web/dist/assets/go-C27-OAKa.js +1 -0
  177. package/web/dist/assets/graphql-ChdNCCLP.js +1 -0
  178. package/web/dist/assets/groovy-gcz8RCvz.js +1 -0
  179. package/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  180. package/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  181. package/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  182. package/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  183. package/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  184. package/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  185. package/web/dist/assets/hack-BWmVpMyf.js +1 -0
  186. package/web/dist/assets/haml-D5jkg6IW.js +1 -0
  187. package/web/dist/assets/handlebars-BpdQsYii.js +1 -0
  188. package/web/dist/assets/haskell-Df6bDoY_.js +1 -0
  189. package/web/dist/assets/haxe-CfZj7gIn.js +1 -0
  190. package/web/dist/assets/hcl-BWvSN4gD.js +1 -0
  191. package/web/dist/assets/hjson-D5-asLiD.js +1 -0
  192. package/web/dist/assets/hlsl-D3lLCCz7.js +1 -0
  193. package/web/dist/assets/horizon-BUw7H-hv.js +1 -0
  194. package/web/dist/assets/horizon-bright-CUuTKBJd.js +1 -0
  195. package/web/dist/assets/houston-DnULxvSX.js +1 -0
  196. package/web/dist/assets/html-derivative-DlHx6ybY.js +1 -0
  197. package/web/dist/assets/html-pp8916En.js +1 -0
  198. package/web/dist/assets/http-jrhK8wxY.js +1 -0
  199. package/web/dist/assets/hurl-irOxFIW8.js +1 -0
  200. package/web/dist/assets/hxml-2-FPmUDs.js +1 -0
  201. package/web/dist/assets/hy-DFXneXwc.js +1 -0
  202. package/web/dist/assets/{icons-DLsYqrD5.js → icons-Cu8fYt4q.js} +1 -1
  203. package/web/dist/assets/imba-DGztddWO.js +1 -0
  204. package/web/dist/assets/index-Bg6EQpr3.js +484 -0
  205. package/web/dist/assets/index-CYAcRfnc.css +1 -0
  206. package/web/dist/assets/ini-BEwlwnbL.js +1 -0
  207. package/web/dist/assets/java-CylS5w8V.js +1 -0
  208. package/web/dist/assets/javascript-wDzz0qaB.js +1 -0
  209. package/web/dist/assets/jinja-f2NsQr07.js +1 -0
  210. package/web/dist/assets/jison-wvAkD_A8.js +1 -0
  211. package/web/dist/assets/json-Cp-IABpG.js +1 -0
  212. package/web/dist/assets/json5-C9tS-k6U.js +1 -0
  213. package/web/dist/assets/jsonc-Des-eS-w.js +1 -0
  214. package/web/dist/assets/jsonl-DcaNXYhu.js +1 -0
  215. package/web/dist/assets/jsonnet-DFQXde-d.js +1 -0
  216. package/web/dist/assets/jssm-C2t-YnRu.js +1 -0
  217. package/web/dist/assets/jsx-g9-lgVsj.js +1 -0
  218. package/web/dist/assets/julia-5Bft2YPA.js +1 -0
  219. package/web/dist/assets/just-Cwhn7H3k.js +1 -0
  220. package/web/dist/assets/kanagawa-dragon-BuwD2xS4.js +1 -0
  221. package/web/dist/assets/kanagawa-lotus-C3DzagqV.js +1 -0
  222. package/web/dist/assets/kanagawa-wave-DFGoQZhC.js +1 -0
  223. package/web/dist/assets/kdl-DV7GczEv.js +1 -0
  224. package/web/dist/assets/kotlin-BdnUsdx6.js +1 -0
  225. package/web/dist/assets/kusto-wEQ09or8.js +1 -0
  226. package/web/dist/assets/laserwave-DUszq2jm.js +1 -0
  227. package/web/dist/assets/latex-D5pSuvFb.js +1 -0
  228. package/web/dist/assets/lean-BZvkOJ9d.js +1 -0
  229. package/web/dist/assets/less-B1dDrJ26.js +1 -0
  230. package/web/dist/assets/light-plus-B7mTdjB0.js +1 -0
  231. package/web/dist/assets/liquid-C0sCDyMI.js +1 -0
  232. package/web/dist/assets/llvm-BZoOZj88.js +1 -0
  233. package/web/dist/assets/log-2UxHyX5q.js +1 -0
  234. package/web/dist/assets/logo-BtOb2qkB.js +1 -0
  235. package/web/dist/assets/lua-BaeVxFsk.js +1 -0
  236. package/web/dist/assets/luau-BnpPk5vE.js +1 -0
  237. package/web/dist/assets/make-CHLpvVh8.js +1 -0
  238. package/web/dist/assets/{markdown-tZ6sw2sR.js → markdown-Bym7wmT0.js} +8 -8
  239. package/web/dist/assets/markdown-Cvjx9yec.js +1 -0
  240. package/web/dist/assets/marko-DjSrsDqO.js +1 -0
  241. package/web/dist/assets/material-theme-D5KoaKCx.js +1 -0
  242. package/web/dist/assets/material-theme-darker-BfHTSMKl.js +1 -0
  243. package/web/dist/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  244. package/web/dist/assets/material-theme-ocean-CyktbL80.js +1 -0
  245. package/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  246. package/web/dist/assets/matlab-D7o27uSR.js +1 -0
  247. package/web/dist/assets/mdc-D1_yUvq7.js +1 -0
  248. package/web/dist/assets/mdx-Cmh6b_Ma.js +1 -0
  249. package/web/dist/assets/mermaid-CQcHuHx7.js +1 -0
  250. package/web/dist/assets/min-dark-CafNBF8u.js +1 -0
  251. package/web/dist/assets/min-light-CTRr51gU.js +1 -0
  252. package/web/dist/assets/mipsasm-CKIfxQSi.js +1 -0
  253. package/web/dist/assets/mojo-DJz3ZmWd.js +1 -0
  254. package/web/dist/assets/monokai-BRVnQi9A.js +1 -0
  255. package/web/dist/assets/moonbit-CHtswR0a.js +1 -0
  256. package/web/dist/assets/move-el3G9tDJ.js +1 -0
  257. package/web/dist/assets/narrat-DRg8JJMk.js +1 -0
  258. package/web/dist/assets/nextflow-C-mBbutL.js +1 -0
  259. package/web/dist/assets/nextflow-groovy-vE_lwT2v.js +1 -0
  260. package/web/dist/assets/nginx-BpAMiNFr.js +1 -0
  261. package/web/dist/assets/night-owl-C39BiMTA.js +1 -0
  262. package/web/dist/assets/night-owl-light-CMTm3GFP.js +1 -0
  263. package/web/dist/assets/nim-BIad80T-.js +1 -0
  264. package/web/dist/assets/nix-CwoSXNpI.js +1 -0
  265. package/web/dist/assets/nord-Ddv68eIx.js +1 -0
  266. package/web/dist/assets/nsis-BlV79W_Q.js +1 -0
  267. package/web/dist/assets/nushell-D3jzshHO.js +1 -0
  268. package/web/dist/assets/objective-c-DXmwc3jG.js +1 -0
  269. package/web/dist/assets/objective-cpp-CLxacb5B.js +1 -0
  270. package/web/dist/assets/ocaml-C0hk2d4L.js +1 -0
  271. package/web/dist/assets/odin-BBf5iR-q.js +1 -0
  272. package/web/dist/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  273. package/web/dist/assets/one-light-C3Wv6jpd.js +1 -0
  274. package/web/dist/assets/openscad-C4EeE6gA.js +1 -0
  275. package/web/dist/assets/org-DM6o9KBp.js +1 -0
  276. package/web/dist/assets/{panels-wDJMsvra.js → panels-BEKHl5l-.js} +1 -1
  277. package/web/dist/assets/pascal-D93ZcfNL.js +1 -0
  278. package/web/dist/assets/perl-B9cMNwum.js +1 -0
  279. package/web/dist/assets/php-Csjmro_R.js +1 -0
  280. package/web/dist/assets/pkl-u5AG7uiY.js +1 -0
  281. package/web/dist/assets/plastic-3e1v2bzS.js +1 -0
  282. package/web/dist/assets/plsql-ChMvpjG-.js +1 -0
  283. package/web/dist/assets/po-BTJTHyun.js +1 -0
  284. package/web/dist/assets/poimandres-CS3Unz2-.js +1 -0
  285. package/web/dist/assets/polar-C0HS_06l.js +1 -0
  286. package/web/dist/assets/postcss-CXtECtnM.js +1 -0
  287. package/web/dist/assets/powerquery-CEu0bR-o.js +1 -0
  288. package/web/dist/assets/powershell-BmBUJMz7.js +1 -0
  289. package/web/dist/assets/prisma-Vru482bI.js +1 -0
  290. package/web/dist/assets/prolog-CbFg5uaA.js +1 -0
  291. package/web/dist/assets/proto-C7zT0LnQ.js +1 -0
  292. package/web/dist/assets/pug-DKIMFp6K.js +1 -0
  293. package/web/dist/assets/puppet-BMWR74SV.js +1 -0
  294. package/web/dist/assets/purescript-CklMAg4u.js +1 -0
  295. package/web/dist/assets/python-B6aJPvgy.js +1 -0
  296. package/web/dist/assets/qml-3beO22l8.js +1 -0
  297. package/web/dist/assets/qmldir-C8lEn-DE.js +1 -0
  298. package/web/dist/assets/qss-IeuSbFQv.js +1 -0
  299. package/web/dist/assets/r-Cf5RLm7j.js +1 -0
  300. package/web/dist/assets/racket-BqYA7rlc.js +1 -0
  301. package/web/dist/assets/raku-DXvB9xmW.js +1 -0
  302. package/web/dist/assets/razor-BjBPvh-w.js +1 -0
  303. package/web/dist/assets/rbs-CpoqiR4B.js +1 -0
  304. package/web/dist/assets/{react-vendor-BRkWBfPR.js → react-vendor-D76F8wnc.js} +1 -1
  305. package/web/dist/assets/red-hvxz__6c.js +1 -0
  306. package/web/dist/assets/reg-C-SQnVFl.js +1 -0
  307. package/web/dist/assets/regexp-CDVJQ6XC.js +1 -0
  308. package/web/dist/assets/rel-C3B-1QV4.js +1 -0
  309. package/web/dist/assets/riscv-BM1_JUlF.js +1 -0
  310. package/web/dist/assets/ron-D8l8udqQ.js +1 -0
  311. package/web/dist/assets/rose-pine-5qJOZa0Y.js +1 -0
  312. package/web/dist/assets/rose-pine-dawn-zx0QlTCp.js +1 -0
  313. package/web/dist/assets/rose-pine-moon-C9pEdX9L.js +1 -0
  314. package/web/dist/assets/rosmsg-BJDFO7_C.js +1 -0
  315. package/web/dist/assets/rst-bs7f0vWN.js +1 -0
  316. package/web/dist/assets/ruby-C0TQ7zu5.js +1 -0
  317. package/web/dist/assets/rust-B1yitclQ.js +1 -0
  318. package/web/dist/assets/sas-DEy46yEz.js +1 -0
  319. package/web/dist/assets/sass-Cj5Yp3dK.js +1 -0
  320. package/web/dist/assets/scala-CqE71os6.js +1 -0
  321. package/web/dist/assets/scheme-C98Dy4si.js +1 -0
  322. package/web/dist/assets/scss-D5BDwBP9.js +1 -0
  323. package/web/dist/assets/sdbl-DVxCFoDh.js +1 -0
  324. package/web/dist/assets/shaderlab-Dg9Lc6iA.js +1 -0
  325. package/web/dist/assets/shellscript-Yzrsuije.js +1 -0
  326. package/web/dist/assets/shellsession-BADoaaVG.js +1 -0
  327. package/web/dist/assets/slack-dark-BthQWCQV.js +1 -0
  328. package/web/dist/assets/slack-ochin-DqwNpetd.js +1 -0
  329. package/web/dist/assets/smalltalk-BOQMe2GC.js +1 -0
  330. package/web/dist/assets/smithy-cds9vsN8.js +1 -0
  331. package/web/dist/assets/snazzy-light-Bw305WKR.js +1 -0
  332. package/web/dist/assets/solarized-dark-CpvCGNkr.js +1 -0
  333. package/web/dist/assets/solarized-light-Dlz6yCKv.js +1 -0
  334. package/web/dist/assets/solidity-DijEV5ha.js +1 -0
  335. package/web/dist/assets/soy-8wufbnw4.js +1 -0
  336. package/web/dist/assets/sparql-rVzFXLq3.js +1 -0
  337. package/web/dist/assets/splunk-BtCnVYZw.js +1 -0
  338. package/web/dist/assets/sql-CRqJ_cUM.js +1 -0
  339. package/web/dist/assets/ssh-config-_ykCGR6B.js +1 -0
  340. package/web/dist/assets/stata-DI20mbqo.js +1 -0
  341. package/web/dist/assets/{state-B80cA8v4.js → state-CZakZ3-m.js} +1 -1
  342. package/web/dist/assets/sttLanguages-BNRptAQA.js +1 -0
  343. package/web/dist/assets/stylus-BEDo0Tqx.js +1 -0
  344. package/web/dist/assets/surrealql-Cjom0U5J.js +1 -0
  345. package/web/dist/assets/svelte-Cy7k_4gC.js +1 -0
  346. package/web/dist/assets/swift-C2oV4EkX.js +1 -0
  347. package/web/dist/assets/synthwave-84-CbfX1IO0.js +1 -0
  348. package/web/dist/assets/system-verilog-0hqHdDBg.js +1 -0
  349. package/web/dist/assets/systemd-4A_iFExJ.js +1 -0
  350. package/web/dist/assets/talonscript-CkByrt1z.js +1 -0
  351. package/web/dist/assets/tasl-QIJgUcNo.js +1 -0
  352. package/web/dist/assets/tcl-dwOrl1Do.js +1 -0
  353. package/web/dist/assets/templ-DhtptRzy.js +1 -0
  354. package/web/dist/assets/terraform-BETggiCN.js +1 -0
  355. package/web/dist/assets/tex-D96PA37w.js +1 -0
  356. package/web/dist/assets/tokyo-night-hegEt444.js +1 -0
  357. package/web/dist/assets/toml-vGWfd6FD.js +1 -0
  358. package/web/dist/assets/ts-tags-D351s5mN.js +1 -0
  359. package/web/dist/assets/tsv-B_m7g4N7.js +1 -0
  360. package/web/dist/assets/tsx-COt5Ahok.js +1 -0
  361. package/web/dist/assets/turtle-BsS91CYL.js +1 -0
  362. package/web/dist/assets/twig-27uCiNez.js +1 -0
  363. package/web/dist/assets/typescript-BPQ3VLAy.js +1 -0
  364. package/web/dist/assets/typespec-CAFt9gP4.js +1 -0
  365. package/web/dist/assets/typst-BUadGCkm.js +1 -0
  366. package/web/dist/assets/v-BGw2Nkan.js +1 -0
  367. package/web/dist/assets/vala-CsfeWuGM.js +1 -0
  368. package/web/dist/assets/vb-Cu-pLBUe.js +1 -0
  369. package/web/dist/assets/verilog-nZwndyjY.js +1 -0
  370. package/web/dist/assets/vesper-DRje8inN.js +1 -0
  371. package/web/dist/assets/vhdl-CeAyd5Ju.js +1 -0
  372. package/web/dist/assets/viml-CJc9bBzg.js +1 -0
  373. package/web/dist/assets/vitesse-black-Bkuqu6BP.js +1 -0
  374. package/web/dist/assets/vitesse-dark-D0r3Knsf.js +1 -0
  375. package/web/dist/assets/vitesse-light-CVO1_9PV.js +1 -0
  376. package/web/dist/assets/vue-BqiEGhQt.js +1 -0
  377. package/web/dist/assets/vue-html-AaS7Mt5G.js +1 -0
  378. package/web/dist/assets/vue-vine-BoDAl6tE.js +1 -0
  379. package/web/dist/assets/vyper-CDx5xZoG.js +1 -0
  380. package/web/dist/assets/wasm-CG6Dc4jp.js +1 -0
  381. package/web/dist/assets/wasm-MzD3tlZU.js +1 -0
  382. package/web/dist/assets/wenyan-BV7otONQ.js +1 -0
  383. package/web/dist/assets/wgsl-Dx-B1_4e.js +1 -0
  384. package/web/dist/assets/wikitext-BhOHFoWU.js +1 -0
  385. package/web/dist/assets/wit-5i3qLPDT.js +1 -0
  386. package/web/dist/assets/wolfram-lXgVvXCa.js +1 -0
  387. package/web/dist/assets/xml-sdJ4AIDG.js +1 -0
  388. package/web/dist/assets/xsl-CtQFsRM5.js +1 -0
  389. package/web/dist/assets/yaml-Buea-lGh.js +1 -0
  390. package/web/dist/assets/zenscript-DVFEvuxE.js +1 -0
  391. package/web/dist/assets/zig-VOosw3JB.js +1 -0
  392. package/web/dist/index.html +7 -7
  393. package/web/dist/assets/AutomationView-ClGqJM46.js +0 -1
  394. package/web/dist/assets/ChannelConfigView-BcGUdK94.js +0 -8
  395. package/web/dist/assets/ModelsView-DVTuTql9.js +0 -1
  396. package/web/dist/assets/SessionGrid-ByIAFTc2.js +0 -38
  397. package/web/dist/assets/SettingsPanel-CHRy0Xqj.js +0 -4
  398. package/web/dist/assets/index-Bht_ARrv.css +0 -1
  399. package/web/dist/assets/index-DEninW1j.js +0 -70
@@ -0,0 +1 @@
1
+ import e from"./java-CylS5w8V.js";const n=Object.freeze(JSON.parse(`{"displayName":"XML","name":"xml","patterns":[{"begin":"(<\\\\?)\\\\s*([-0-9A-Z_a-z]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"}},"end":"(\\\\?>)","name":"meta.tag.preprocessor.xml","patterns":[{"match":" ([-A-Za-z]+)","name":"entity.other.attribute-name.xml"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"begin":"(<!)(DOCTYPE)\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.doctype.xml"},"3":{"name":"variable.language.documentroot.xml"}},"end":"\\\\s*(>)","name":"meta.tag.sgml.doctype.xml","patterns":[{"include":"#internalSubset"}]},{"include":"#comments"},{"begin":"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\s[^>]*)?></\\\\2>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"entity.name.tag.namespace.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}},"name":"meta.tag.no-content.xml","patterns":[{"include":"#tagStuff"}]},{"begin":"(</?)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(/?>)","name":"meta.tag.xml","patterns":[{"include":"#tagStuff"}]},{"include":"#entity"},{"include":"#bare-ampersand"},{"begin":"<%@","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java-props.embedded.xml","patterns":[{"match":"page|include|taglib","name":"keyword.other.page-props.xml"}]},{"begin":"<%[!=]?(?!--)","beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.xml"}},"end":"(?!--)%>","endCaptures":{"0":{"name":"punctuation.section.embedded.end.xml"}},"name":"source.java.embedded.xml","patterns":[{"include":"source.java"}]},{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.unquoted.cdata.xml"}],"repository":{"EntityDecl":{"begin":"(<!)(ENTITY)\\\\s+(%\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\s+(?:SYSTEM|PUBLIC)\\\\s+)?","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"keyword.other.entity.xml"},"3":{"name":"punctuation.definition.entity.xml"},"4":{"name":"variable.language.entity.xml"},"5":{"name":"keyword.other.entitytype.xml"}},"end":"(>)","patterns":[{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},"bare-ampersand":{"match":"&","name":"invalid.illegal.bad-ampersand.xml"},"comments":{"patterns":[{"begin":"<%--","captures":{"0":{"name":"punctuation.definition.comment.xml"},"end":"--%>","name":"comment.block.xml"}},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.xml"}},"end":"-->","name":"comment.block.xml","patterns":[{"begin":"--(?!>)","captures":{"0":{"name":"invalid.illegal.bad-comments-or-CDATA.xml"}}}]}]},"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"entity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\h+)(;)","name":"constant.character.entity.xml"},"internalSubset":{"begin":"(\\\\[)","captures":{"1":{"name":"punctuation.definition.constant.xml"}},"end":"(])","name":"meta.internalsubset.xml","patterns":[{"include":"#EntityDecl"},{"include":"#parameterEntity"},{"include":"#comments"}]},"parameterEntity":{"captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}},"match":"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)","name":"constant.character.parameter-entity.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml","patterns":[{"include":"#entity"},{"include":"#bare-ampersand"}]},"tagStuff":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":"(?:^|\\\\s+)(?:([-.\\\\w]+)((:)))?([-.:\\\\w]+)\\\\s*="},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]}},"scopeName":"text.xml","embeddedLangs":["java"]}`)),a=[...e,n];export{a as default};
@@ -0,0 +1 @@
1
+ import e from"./xml-sdJ4AIDG.js";import"./java-CylS5w8V.js";const n=Object.freeze(JSON.parse(`{"displayName":"XSL","name":"xsl","patterns":[{"begin":"(<)(xsl)((:))(template)","captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}},"end":"(>)","name":"meta.tag.xml.template","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}},"match":" (?:([-0-9A-Z_a-z]+)((:)))?([-A-Za-z]+)"},{"include":"#doublequotedString"},{"include":"#singlequotedString"}]},{"include":"text.xml"}],"repository":{"doublequotedString":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.double.xml"},"singlequotedString":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}},"name":"string.quoted.single.xml"}},"scopeName":"text.xml.xsl","embeddedLangs":["xml"]}`)),m=[...e,n];export{m as default};
@@ -0,0 +1 @@
1
+ const e=Object.freeze(JSON.parse(`{"displayName":"YAML","fileTypes":["yaml","yml","rviz","reek","clang-format","yaml-tmlanguage","syntax","sublime-syntax"],"firstLineMatch":"^%YAML( ?1.\\\\d+)?","name":"yaml","patterns":[{"include":"#comment"},{"include":"#property"},{"include":"#directive"},{"match":"^---","name":"entity.other.document.begin.yaml"},{"match":"^\\\\.{3}","name":"entity.other.document.end.yaml"},{"include":"#node"}],"repository":{"block-collection":{"patterns":[{"include":"#block-sequence"},{"include":"#block-mapping"}]},"block-mapping":{"patterns":[{"include":"#block-pair"}]},"block-node":{"patterns":[{"include":"#prototype"},{"include":"#block-scalar"},{"include":"#block-collection"},{"include":"#flow-scalar-plain-out"},{"include":"#flow-node"}]},"block-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"1":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=\\\\?)|^ *(:)|(:)","endCaptures":{"1":{"name":"punctuation.separator.key-value.mapping.yaml"},"2":{"name":"invalid.illegal.expected-newline.yaml"}},"name":"meta.block-mapping.yaml","patterns":[{"include":"#block-node"}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S)([^:\\\\s]|:\\\\S|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},{"match":":(?=\\\\s|$)","name":"punctuation.separator.key-value.mapping.yaml"}]},"block-scalar":{"begin":"(?:(\\\\|)|(>))([1-9])?([-+])?(.*\\\\n?)","beginCaptures":{"1":{"name":"keyword.control.flow.block-scalar.literal.yaml"},"2":{"name":"keyword.control.flow.block-scalar.folded.yaml"},"3":{"name":"constant.numeric.indentation-indicator.yaml"},"4":{"name":"storage.modifier.chomping-indicator.yaml"},"5":{"patterns":[{"include":"#comment"},{"match":".+","name":"invalid.illegal.expected-comment-or-newline.yaml"}]}},"end":"^(?=\\\\S)|(?!\\\\G)","patterns":[{"begin":"^( +)(?! )","end":"^(?!\\\\1|\\\\s*$)","name":"string.unquoted.block.yaml"}]},"block-sequence":{"match":"(-)(?!\\\\S)","name":"punctuation.definition.block.sequence.item.yaml"},"comment":{"begin":"(?:^([\\\\t ]*)|[\\\\t ]+)(?=#\\\\p{print}*$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.yaml"}},"end":"(?!\\\\G)","patterns":[{"begin":"#","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}},"end":"\\\\n","name":"comment.line.number-sign.yaml"}]},"directive":{"begin":"^%","beginCaptures":{"0":{"name":"punctuation.definition.directive.begin.yaml"}},"end":"(?=$|[\\\\t ]+($|#))","name":"meta.directive.yaml","patterns":[{"captures":{"1":{"name":"keyword.other.directive.yaml.yaml"},"2":{"name":"constant.numeric.yaml-version.yaml"}},"match":"\\\\G(YAML)[\\\\t ]+(\\\\d+\\\\.\\\\d+)"},{"captures":{"1":{"name":"keyword.other.directive.tag.yaml"},"2":{"name":"storage.type.tag-handle.yaml"},"3":{"name":"support.type.tag-prefix.yaml"}},"match":"\\\\G(TAG)(?:[\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\t ]+(!(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])*|(?![]!,\\\\[{}])(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+))?)?"},{"captures":{"1":{"name":"support.other.directive.reserved.yaml"},"2":{"name":"string.unquoted.directive-name.yaml"},"3":{"name":"string.unquoted.directive-parameter.yaml"}},"match":"\\\\G(\\\\w+)(?:[\\\\t ]+(\\\\w+)(?:[\\\\t ]+(\\\\w+))?)?"},{"match":"\\\\S+","name":"invalid.illegal.unrecognized.yaml"}]},"flow-alias":{"captures":{"1":{"name":"keyword.control.flow.alias.yaml"},"2":{"name":"punctuation.definition.alias.yaml"},"3":{"name":"variable.other.alias.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"((\\\\*))([^],/\\\\[{}\\\\s]+)([^],}\\\\s]\\\\S*)?"},"flow-collection":{"patterns":[{"include":"#flow-sequence"},{"include":"#flow-mapping"}]},"flow-mapping":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.mapping.begin.yaml"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.mapping.end.yaml"}},"name":"meta.flow-mapping.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.mapping.yaml"},{"include":"#flow-pair"}]},"flow-node":{"patterns":[{"include":"#prototype"},{"include":"#flow-alias"},{"include":"#flow-collection"},{"include":"#flow-scalar"}]},"flow-pair":{"patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"punctuation.definition.key-value.begin.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.explicit.yaml","patterns":[{"include":"#prototype"},{"include":"#flow-pair"},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","beginCaptures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","patterns":[{"include":"#flow-value"}]}]},{"begin":"(?=(?:[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s])([^],:\\\\[{}\\\\s]|:[^],\\\\[{}\\\\s]|\\\\s+(?![#\\\\s]))*\\\\s*:(\\\\s|$))","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"meta.flow-pair.key.yaml","patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","beginCaptures":{"0":{"name":"entity.name.tag.yaml"}},"contentName":"entity.name.tag.yaml","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},{"include":"#flow-node"},{"begin":":(?=\\\\s|$|[],\\\\[{}])","captures":{"0":{"name":"punctuation.separator.key-value.mapping.yaml"}},"end":"(?=[],}])","name":"meta.flow-pair.yaml","patterns":[{"include":"#flow-value"}]}]},"flow-scalar":{"patterns":[{"include":"#flow-scalar-double-quoted"},{"include":"#flow-scalar-single-quoted"},{"include":"#flow-scalar-plain-in"}]},"flow-scalar-double-quoted":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.double.yaml","patterns":[{"match":"\\\\\\\\([ \\"/0LN\\\\\\\\_abefnprtv]|x\\\\d\\\\d|u\\\\d{4}|U\\\\d{8})","name":"constant.character.escape.yaml"},{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.double-quoted.newline.yaml"}]},"flow-scalar-plain-in":{"patterns":[{"include":"#flow-scalar-plain-in-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?][^],\\\\[{}\\\\s]","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])","name":"string.unquoted.plain.in.yaml"}]},"flow-scalar-plain-in-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$)|\\\\s*:[],\\\\[{}]|\\\\s*[],\\\\[{}])"}]},"flow-scalar-plain-out":{"patterns":[{"include":"#flow-scalar-plain-out-implicit-type"},{"begin":"[^-\\\\]!\\"#%\\\\&'*,:>?@\\\\[\`{|}\\\\s]|[-:?]\\\\S","end":"(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))","name":"string.unquoted.plain.out.yaml"}]},"flow-scalar-plain-out-implicit-type":{"patterns":[{"captures":{"1":{"name":"constant.language.null.yaml"},"2":{"name":"constant.language.boolean.yaml"},"3":{"name":"constant.numeric.integer.yaml"},"4":{"name":"constant.numeric.float.yaml"},"5":{"name":"constant.other.timestamp.yaml"},"6":{"name":"constant.language.value.yaml"},"7":{"name":"constant.language.merge.yaml"}},"match":"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*|[-+]?\\\\.(?:inf|Inf|INF)|\\\\.(?:nan|NaN|NAN))|(\\\\d{4}-\\\\d{2}-\\\\d{2}|\\\\d{4}-\\\\d{1,2}-\\\\d{1,2}(?:[Tt]|[\\\\t ]+)\\\\d{1,2}:\\\\d{2}:\\\\d{2}(?:\\\\.\\\\d*)?(?:[\\\\t ]*Z|[-+]\\\\d{1,2}(?::\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\s*$|\\\\s+#|\\\\s*:(\\\\s|$))"}]},"flow-scalar-single-quoted":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.yaml"}},"end":"'(?!')","endCaptures":{"0":{"name":"punctuation.definition.string.end.yaml"}},"name":"string.quoted.single.yaml","patterns":[{"match":"''","name":"constant.character.escape.single-quoted.yaml"}]},"flow-sequence":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.sequence.begin.yaml"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.sequence.end.yaml"}},"name":"meta.flow-sequence.yaml","patterns":[{"include":"#prototype"},{"match":",","name":"punctuation.separator.sequence.yaml"},{"include":"#flow-pair"},{"include":"#flow-node"}]},"flow-value":{"patterns":[{"begin":"\\\\G(?![],}])","end":"(?=[],}])","name":"meta.flow-pair.value.yaml","patterns":[{"include":"#flow-node"}]}]},"node":{"patterns":[{"include":"#block-node"}]},"property":{"begin":"(?=[!\\\\&])","end":"(?!\\\\G)","name":"meta.property.yaml","patterns":[{"captures":{"1":{"name":"keyword.control.property.anchor.yaml"},"2":{"name":"punctuation.definition.anchor.yaml"},"3":{"name":"entity.name.type.anchor.yaml"},"4":{"name":"invalid.illegal.character.anchor.yaml"}},"match":"\\\\G((&))([^],/\\\\[{}\\\\s]+)(\\\\S+)?"},{"match":"\\\\G!(?:<(?:%\\\\h{2}|[]!#$\\\\&-;=?-\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\h{2}|[#$\\\\&-+\\\\--;=?-Z_a-z~])+|)(?=[\\\\t ]|$)","name":"storage.type.tag-handle.yaml"},{"match":"\\\\S+","name":"invalid.illegal.tag-handle.yaml"}]},"prototype":{"patterns":[{"include":"#comment"},{"include":"#property"}]}},"scopeName":"source.yaml","aliases":["yml"]}`)),n=[e];export{n as default};
@@ -0,0 +1 @@
1
+ const e=Object.freeze(JSON.parse(`{"displayName":"ZenScript","fileTypes":["zs"],"name":"zenscript","patterns":[{"match":"\\\\b((0([Xx])\\\\h*)|(([0-9]+\\\\.?[0-9]*)|(\\\\.[0-9]+))(([Ee])([-+])?[0-9]+)?)([DFLUdflu]|UL|ul)?\\\\b","name":"constant.numeric.zenscript"},{"match":"\\\\b-?(0[BOXbox])(0|[1-9A-Fa-f][_\\\\h]*)[A-Z_a-z]*\\\\b","name":"constant.numeric.zenscript"},{"include":"#code"},{"match":"\\\\b((?:[a-z]\\\\w*\\\\.)*[A-Z]+\\\\w*)(?=\\\\[)","name":"storage.type.object.array.zenscript"}],"repository":{"brackets":{"patterns":[{"captures":{"1":{"name":"keyword.control.zenscript"},"2":{"name":"keyword.other.zenscript"},"3":{"name":"keyword.control.zenscript"},"4":{"name":"variable.other.zenscript"},"5":{"name":"keyword.control.zenscript"},"6":{"name":"constant.numeric.zenscript"},"7":{"name":"keyword.control.zenscript"}},"match":"(<)\\\\b(.*?)(:(.*?(:(\\\\*|\\\\d+)?)?)?)(>)","name":"keyword.other.zenscript"}]},"class":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"entity.name.type.class.zenscript"}},"match":"(zenClass)\\\\s+(\\\\w+)","name":"meta.class.zenscript"},"code":{"patterns":[{"include":"#class"},{"include":"#functions"},{"include":"#dots"},{"include":"#quotes"},{"include":"#brackets"},{"include":"#comments"},{"include":"#var"},{"include":"#keywords"},{"include":"#constants"},{"include":"#operators"}]},"comments":{"patterns":[{"match":"//[^\\\\n]*","name":"comment.line.double=slash"},{"begin":"/\\\\*","beginCaptures":{"0":{"name":"comment.block"}},"end":"\\\\*/","endCaptures":{"0":{"name":"comment.block"}},"name":"comment.block"}]},"dots":{"captures":{"1":{"name":"storage.type.zenscript"},"2":{"name":"keyword.control.zenscript"},"5":{"name":"keyword.control.zenscript"}},"match":"\\\\b(\\\\w+)(\\\\.)(\\\\w+)((\\\\.)(\\\\w+))*","name":"plain.text.zenscript"},"functions":{"captures":{"0":{"name":"storage.type.function.zenscript"},"1":{"name":"entity.name.function.zenscript"}},"match":"function\\\\s+([$A-Z_a-z][$\\\\w]*)\\\\s*(?=\\\\()","name":"meta.function.zenscript"},"keywords":{"patterns":[{"match":"\\\\b(instanceof|get|implements|set|import|function|override|const|if|else|do|while|for|throw|panic|lock|try|catch|finally|return|break|continue|switch|case|default|in|is|as|match|throws|super|new)\\\\b","name":"keyword.control.zenscript"},{"match":"\\\\b(zenClass|zenConstructor|alias|class|interface|enum|struct|expand|variant|set|void|bool|byte|sbyte|short|ushort|int|uint|long|ulong|usize|float|double|char|string)\\\\b","name":"storage.type.zenscript"},{"match":"\\\\b(variant|abstract|final|private|public|export|internal|static|protected|implicit|virtual|extern|immutable)\\\\b","name":"storage.modifier.zenscript"},{"match":"\\\\b(Native|Precondition)\\\\b","name":"entity.other.attribute-name"},{"match":"\\\\b(null|true|false)\\\\b","name":"constant.language"}]},"operators":{"patterns":[{"match":"\\\\b(\\\\.\\\\.??|\\\\.\\\\.\\\\.|[+,]|\\\\+=|\\\\+\\\\+|-=??|--|~=??|\\\\*=??|/=??|%=??|\\\\|=??|\\\\|\\\\||&=??|&&|\\\\^=??|\\\\?\\\\.??|\\\\?\\\\?|<=??|<<=??|>=??|>>=??|>>>=??|=>?|===??|!=??|!==|[$\`])\\\\b","name":"keyword.control"},{"match":"\\\\b([:;])\\\\b","name":"keyword.control"}]},"quotes":{"patterns":[{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.double.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.zenscript"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.zenscript"}},"name":"string.quoted.single.zenscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.zenscript"}]}]},"var":{"match":"\\\\b(va[lr])\\\\b","name":"storage.type"}},"scopeName":"source.zenscript"}`)),t=[e];export{t as default};
@@ -0,0 +1 @@
1
+ const e=Object.freeze(JSON.parse(`{"displayName":"Zig","fileTypes":["zig","zon"],"name":"zig","patterns":[{"include":"#comments"},{"include":"#strings"},{"include":"#keywords"},{"include":"#operators"},{"include":"#punctuation"},{"include":"#numbers"},{"include":"#support"},{"include":"#variables"}],"repository":{"commentContents":{"patterns":[{"match":"\\\\b(TODO|FIXME|XXX|NOTE)\\\\b:?","name":"keyword.todo.zig"}]},"comments":{"patterns":[{"begin":"//[!/](?=[^/])","end":"$","name":"comment.line.documentation.zig","patterns":[{"include":"#commentContents"}]},{"begin":"//","end":"$","name":"comment.line.double-slash.zig","patterns":[{"include":"#commentContents"}]}]},"keywords":{"patterns":[{"match":"\\\\binline\\\\b(?!\\\\s*\\\\bfn\\\\b)","name":"keyword.control.repeat.zig"},{"match":"\\\\b(while|for)\\\\b","name":"keyword.control.repeat.zig"},{"match":"\\\\b(extern|packed|export|pub|noalias|inline|comptime|volatile|align|linksection|threadlocal|allowzero|noinline|callconv)\\\\b","name":"keyword.storage.zig"},{"match":"\\\\b(struct|enum|union|opaque)\\\\b","name":"keyword.structure.zig"},{"match":"\\\\b(asm|unreachable)\\\\b","name":"keyword.statement.zig"},{"match":"\\\\b(break|return|continue|defer|errdefer)\\\\b","name":"keyword.control.flow.zig"},{"match":"\\\\b(resume|suspend|nosuspend)\\\\b","name":"keyword.control.async.zig"},{"match":"\\\\b(try|catch)\\\\b","name":"keyword.control.trycatch.zig"},{"match":"\\\\b(if|else|switch|orelse)\\\\b","name":"keyword.control.conditional.zig"},{"match":"\\\\b(null|undefined)\\\\b","name":"keyword.constant.default.zig"},{"match":"\\\\b(true|false)\\\\b","name":"keyword.constant.bool.zig"},{"match":"\\\\b(test|and|or)\\\\b","name":"keyword.default.zig"},{"match":"\\\\b(bool|void|noreturn|type|error|anyerror|anyframe|anytype|anyopaque)\\\\b","name":"keyword.type.zig"},{"match":"\\\\b(f16|f32|f64|f80|f128|u\\\\d+|i\\\\d+|isize|usize|comptime_int|comptime_float)\\\\b","name":"keyword.type.integer.zig"},{"match":"\\\\b(c_(?:char|short|ushort|int|uint|long|ulong|longlong|ulonglong|longdouble))\\\\b","name":"keyword.type.c.zig"}]},"numbers":{"patterns":[{"match":"\\\\b0x\\\\h[_\\\\h]*(\\\\.\\\\h[_\\\\h]*)?([Pp][-+]?[_\\\\h]+)?\\\\b","name":"constant.numeric.hexfloat.zig"},{"match":"\\\\b[0-9][0-9_]*(\\\\.[0-9][0-9_]*)?([Ee][-+]?[0-9_]+)?\\\\b","name":"constant.numeric.float.zig"},{"match":"\\\\b[0-9][0-9_]*\\\\b","name":"constant.numeric.decimal.zig"},{"match":"\\\\b0x[_\\\\h]+\\\\b","name":"constant.numeric.hexadecimal.zig"},{"match":"\\\\b0o[0-7_]+\\\\b","name":"constant.numeric.octal.zig"},{"match":"\\\\b0b[01_]+\\\\b","name":"constant.numeric.binary.zig"},{"match":"\\\\b[0-9](([EPep][-+])|[0-9A-Z_a-z])*(\\\\.(([EPep][-+])|[0-9A-Z_a-z])*)?([EPep][-+])?[0-9A-Z_a-z]*\\\\b","name":"constant.numeric.invalid.zig"}]},"operators":{"patterns":[{"match":"(?<=\\\\[)\\\\*c(?=])","name":"keyword.operator.c-pointer.zig"},{"match":"\\\\b((and|or))\\\\b|(==|!=|<=|>=|[<>])","name":"keyword.operator.comparison.zig"},{"match":"(-%?|\\\\+%?|\\\\*%?|[%/])=?","name":"keyword.operator.arithmetic.zig"},{"match":"(<<%?|>>|[!\\\\&^|~])=?","name":"keyword.operator.bitwise.zig"},{"match":"(==|\\\\+\\\\+|\\\\*\\\\*|->)","name":"keyword.operator.special.zig"},{"match":"=","name":"keyword.operator.assignment.zig"},{"match":"\\\\?","name":"keyword.operator.question.zig"}]},"punctuation":{"patterns":[{"match":"\\\\.","name":"punctuation.accessor.zig"},{"match":",","name":"punctuation.comma.zig"},{"match":":","name":"punctuation.separator.key-value.zig"},{"match":";","name":"punctuation.terminator.statement.zig"}]},"stringcontent":{"patterns":[{"match":"\\\\\\\\([\\"'\\\\\\\\nrt]|(x\\\\h{2})|(u\\\\{\\\\h+}))","name":"constant.character.escape.zig"},{"match":"\\\\\\\\.","name":"invalid.illegal.unrecognized-string-escape.zig"}]},"strings":{"patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.double.zig","patterns":[{"include":"#stringcontent"}]},{"begin":"\\\\\\\\\\\\\\\\","end":"$","name":"string.multiline.zig"},{"match":"'([^'\\\\\\\\]|\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'","name":"string.quoted.single.zig"}]},"support":{"patterns":[{"match":"@[A-Z_a-z][0-9A-Z_a-z]*","name":"support.function.builtin.zig"}]},"variables":{"patterns":[{"name":"meta.function.declaration.zig","patterns":[{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.type.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z][0-9A-Za-z]*)\\\\b"},{"captures":{"1":{"name":"storage.type.function.zig"},"2":{"name":"entity.name.function.zig"}},"match":"\\\\b(fn)\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\b"},{"begin":"\\\\b(fn)\\\\s+@\\"","beginCaptures":{"1":{"name":"storage.type.function.zig"}},"end":"\\"","name":"entity.name.function.string.zig","patterns":[{"include":"#stringcontent"}]},{"match":"\\\\b(const|var|fn)\\\\b","name":"keyword.default.zig"}]},{"name":"meta.function.call.zig","patterns":[{"match":"([A-Z][0-9A-Za-z]*)(?=\\\\s*\\\\()","name":"entity.name.type.zig"},{"match":"([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\s*\\\\()","name":"entity.name.function.zig"}]},{"name":"meta.variable.zig","patterns":[{"match":"\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\b","name":"variable.zig"},{"begin":"@\\"","end":"\\"","name":"variable.string.zig","patterns":[{"include":"#stringcontent"}]}]}]}},"scopeName":"source.zig"}`)),n=[e];export{n as default};
@@ -12,13 +12,13 @@
12
12
  <meta name="theme-color" content="#0d1117" />
13
13
  <meta name="color-scheme" content="dark light" />
14
14
  <title>DeepSeekCode Web</title>
15
- <script type="module" crossorigin src="/assets/index-DEninW1j.js"></script>
16
- <link rel="modulepreload" crossorigin href="/assets/icons-DLsYqrD5.js">
17
- <link rel="modulepreload" crossorigin href="/assets/markdown-tZ6sw2sR.js">
18
- <link rel="modulepreload" crossorigin href="/assets/react-vendor-BRkWBfPR.js">
19
- <link rel="modulepreload" crossorigin href="/assets/state-B80cA8v4.js">
20
- <link rel="modulepreload" crossorigin href="/assets/panels-wDJMsvra.js">
21
- <link rel="stylesheet" crossorigin href="/assets/index-Bht_ARrv.css">
15
+ <script type="module" crossorigin src="/assets/index-Bg6EQpr3.js"></script>
16
+ <link rel="modulepreload" crossorigin href="/assets/icons-Cu8fYt4q.js">
17
+ <link rel="modulepreload" crossorigin href="/assets/markdown-Bym7wmT0.js">
18
+ <link rel="modulepreload" crossorigin href="/assets/react-vendor-D76F8wnc.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/state-CZakZ3-m.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/panels-BEKHl5l-.js">
21
+ <link rel="stylesheet" crossorigin href="/assets/index-CYAcRfnc.css">
22
22
  </head>
23
23
  <body>
24
24
  <div id="root"></div>
@@ -1 +0,0 @@
1
- import{j as e}from"./markdown-tZ6sw2sR.js";import{a as n,ak as v,h as $,z as D,$ as O,bf as I,f as L,aq as J,aO as U,X as q}from"./icons-DLsYqrD5.js";import{u as B,Y as M}from"./index-DEninW1j.js";import"./react-vendor-BRkWBfPR.js";import"./state-B80cA8v4.js";import"./panels-wDJMsvra.js";function K(){const{t:a}=B(),{automations:r,runsByAutomation:d,fetchAutomations:o,createAutomation:N,deleteAutomation:y,toggleAutomation:w,runAutomation:C,fetchRuns:A,error:l}=M(),[S,x]=n.useState(!1),[m,z]=n.useState(null),[u,p]=n.useState(""),[h,b]=n.useState(""),[i,g]=n.useState("0 9 * * *"),[f,j]=n.useState("");n.useEffect(()=>{o()},[o]);const P=async t=>{const s=f.trim();if(!s)return;const[c,...T]=s.split(/\s+/),k=T.join(" ");c&&k&&(await fetch(`/api/automations/${encodeURIComponent(t)}/permissions`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({tool:c,target:k})})).ok&&(j(""),await o())},E=async(t,s)=>{(await fetch(`/api/automations/${encodeURIComponent(t)}/permissions`,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({entry:s})})).ok&&await o()},R=async t=>{const s=m===t?null:t;z(s),s&&await A(t)};return e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[e.jsx(v,{size:20,className:"text-accent-blue"}),a("automation.title"),e.jsxs("span",{className:"text-xs text-dark-muted font-normal",children:["(",r.length,")"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>void o(),className:"p-2 rounded-lg hover:bg-dark-hover text-dark-muted",title:a("automation.refresh"),children:e.jsx($,{size:16})}),e.jsxs("button",{onClick:()=>x(t=>!t),className:"flex items-center gap-1 px-3 py-1.5 rounded-lg bg-accent-blue/20 text-accent-blue hover:bg-accent-blue/30 text-sm font-medium",children:[e.jsx(D,{size:16})," ",a("automation.new")]})]})]}),l&&e.jsxs("div",{className:"mb-3 p-3 rounded-lg bg-accent-red/10 text-accent-red text-sm flex items-center gap-2",children:[e.jsx(O,{size:16})," ",l]}),S&&e.jsxs("div",{className:"mb-4 rounded-lg border border-dark-border bg-dark-surface p-4 space-y-3",children:[e.jsx("input",{value:u,onChange:t=>p(t.target.value),placeholder:a("automation.namePlaceholder"),className:"w-full px-3 py-2 rounded-lg bg-dark-bg border border-dark-border text-sm focus:outline-none focus:border-accent-blue"}),e.jsx("textarea",{value:h,onChange:t=>b(t.target.value),placeholder:a("automation.instructionsPlaceholder"),rows:3,className:"w-full px-3 py-2 rounded-lg bg-dark-bg border border-dark-border text-sm focus:outline-none focus:border-accent-blue resize-none"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:i,onChange:t=>g(t.target.value),placeholder:a("automation.cronPlaceholder"),className:"flex-1 px-3 py-2 rounded-lg bg-dark-bg border border-dark-border text-sm focus:outline-none focus:border-accent-blue"}),e.jsx("button",{onClick:async()=>{await N({name:u,instructions:h,schedule:{kind:"cron",cron:i}})&&(p(""),b(""),x(!1))},className:"px-4 py-2 rounded-lg bg-accent-blue text-white text-sm font-medium hover:bg-accent-blue/80",children:a("automation.create")})]}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:[["0 9 * * *",a("automation.cronDaily9")],["0 9 * * 1-5",a("automation.cronWeekday9")],["*/30 * * * *",a("automation.cronEvery30Min")]].map(([t,s])=>e.jsxs("button",{onClick:()=>g(t),className:`px-2 py-1 rounded text-xs ${i===t?"bg-accent-blue/20 text-accent-blue":"bg-dark-hover text-dark-muted hover:text-dark-text"}`,children:[s," (",t,")"]},t))})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto space-y-2",children:[r.length===0&&e.jsx("p",{className:"text-dark-muted text-center py-8",children:a("automation.empty")}),r.map(t=>e.jsxs("div",{className:"rounded-lg border border-dark-border bg-dark-surface",children:[e.jsxs("div",{className:"flex items-center justify-between p-3",children:[e.jsxs("button",{onClick:()=>void R(t.id),className:"flex items-center gap-2 min-w-0 text-left",children:[e.jsx(v,{size:16,className:"text-accent-blue shrink-0"}),e.jsx("span",{className:"font-medium text-sm truncate",children:t.name}),e.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded shrink-0 ${t.status==="enabled"?"bg-accent-green/20 text-accent-green":"bg-dark-hover text-dark-muted"}`,children:t.status})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsxs("span",{className:"text-xs text-dark-muted hidden lg:inline mr-1",children:[t.schedule.kind==="cron"?t.schedule.cron:t.schedule.fireAt,t.nextRunAt?` · ${new Date(t.nextRunAt).toLocaleString()}`:""]}),e.jsx("button",{onClick:()=>void w(t.id,t.status!=="enabled"),className:"p-1.5 rounded-lg hover:bg-dark-hover text-dark-muted",title:t.status==="enabled"?a("automation.disable"):a("automation.enable"),children:e.jsx(I,{size:15})}),e.jsx("button",{onClick:()=>void C(t.id),className:"p-1.5 rounded-lg hover:bg-dark-hover text-accent-green",title:a("automation.runNow"),children:e.jsx(L,{size:15})}),e.jsx("button",{onClick:()=>void y(t.id),className:"p-1.5 rounded-lg hover:bg-dark-hover text-accent-red",title:a("automation.delete"),children:e.jsx(J,{size:15})})]})]}),m===t.id&&e.jsxs("div",{className:"px-3 pb-3 space-y-3 border-t border-dark-border pt-3",children:[e.jsx("p",{className:"text-xs text-dark-muted whitespace-pre-wrap",children:t.instructions}),e.jsxs("div",{children:[e.jsxs("h4",{className:"text-xs font-semibold text-dark-muted mb-1 flex items-center gap-1",children:[e.jsx(U,{size:12})," ",a("automation.historyTitle")]}),(d[t.id]||[]).length===0&&e.jsx("p",{className:"text-xs text-dark-muted",children:a("automation.noRuns")}),(d[t.id]||[]).slice(0,10).map(s=>e.jsxs("div",{className:"flex items-center gap-2 text-xs py-1",children:[e.jsx("span",{className:`px-1.5 py-0.5 rounded ${s.status==="ok"?"bg-accent-green/20 text-accent-green":s.status==="error"?"bg-accent-red/20 text-accent-red":"bg-accent-yellow/20 text-accent-yellow"}`,children:s.status}),e.jsx("span",{className:"text-dark-muted",children:new Date(s.startedAt).toLocaleString()}),e.jsxs("span",{className:"text-dark-muted truncate flex-1",children:["#",s.id.slice(0,8)," · ",s.trigger]})]},s.id))]}),e.jsxs("div",{children:[e.jsx("h4",{className:"text-xs font-semibold text-dark-muted mb-1",children:a("automation.permissionsTitle")}),t.permissions.length===0&&e.jsx("p",{className:"text-xs text-dark-muted",children:a("automation.permissionsEmpty")}),e.jsx("div",{className:"flex flex-wrap gap-1 mb-1",children:t.permissions.map(s=>e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded bg-accent-blue/10 text-accent-blue text-xs",children:[s,e.jsx("button",{onClick:()=>void E(t.id,s),className:"hover:text-accent-red",children:e.jsx(q,{size:12})})]},s))}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:f,onChange:s=>j(s.target.value),placeholder:a("automation.permissionPlaceholder"),className:"flex-1 px-2 py-1.5 rounded-lg bg-dark-bg border border-dark-border text-xs focus:outline-none focus:border-accent-blue"}),e.jsx("button",{onClick:()=>void P(t.id),className:"px-3 py-1.5 rounded-lg bg-dark-hover text-dark-muted hover:text-dark-text text-xs",children:a("automation.add")})]})]})]})]},t.id))]})]})}export{K as AutomationView};
@@ -1,8 +0,0 @@
1
- import{j as a}from"./markdown-tZ6sw2sR.js";import{a as A,bg as ft,$ as gt,aw as mt,av as xt,aj as vt,z as re,bh as Be,aq as pt,a8 as Et,g as St,h as Tt}from"./icons-DLsYqrD5.js";import{u as D,X as Re,M as Bt,a as Le,t as se}from"./index-DEninW1j.js";import"./react-vendor-BRkWBfPR.js";import"./state-B80cA8v4.js";import"./panels-wDJMsvra.js";const Rt={wechat:"微信",feishu:"飞书",dingtalk:"钉钉",telegram:"Telegram",discord:"Discord",slack:"Slack",signal:"Signal",whatsapp:"WhatsApp",line:"LINE",qqbot:"QQ Bot",matrix:"Matrix",mattermost:"Mattermost",msteams:"Teams",googlechat:"Google Chat",irc:"IRC",imessage:"iMessage",sms:"SMS","nextcloud-talk":"Nextcloud Talk",nostr:"Nostr","synology-chat":"Synology Chat",tlon:"Tlon",twitch:"Twitch",zalo:"Zalo",zalouser:"ZaloUser",clickclack:"ClickClack",raft:"Raft","qa-channel":"QA"},Mt={wechat:"💬",feishu:"📘",dingtalk:"🔔",telegram:"✈️",discord:"🎮",slack:"💼",signal:"🔒",whatsapp:"📱",line:"🟢",qqbot:"🐧",matrix:"🧩",mattermost:"🏢",msteams:"📋",googlechat:"📧",irc:"💻",imessage:"✉️",sms:"📨"},At=new Set(["mattermost","msteams","googlechat","irc","imessage","sms","nextcloud-talk","nostr","synology-chat","tlon","twitch","zalo","zalouser","clickclack","raft","qa-channel"]);function H(n){return Rt[n]??n}function Y(n){return Mt[n]??"📡"}function $(n){return At.has(n)}const W=[{labelKey:"im",types:["wechat","feishu","dingtalk"]},{labelKey:"international",types:["telegram","discord","slack","signal","whatsapp"]},{labelKey:"eastAsia",types:["line","qqbot"]},{labelKey:"collaboration",types:["matrix","mattermost","msteams","googlechat"]},{labelKey:"classic",types:["irc","imessage","sms"]},{labelKey:"other",types:["nextcloud-talk","nostr","synology-chat","tlon","twitch","zalo","zalouser"]},{labelKey:"builtin",types:["clickclack","raft","qa-channel"]}];function It(){const{t:n}=D(),{channels:i,availableTypes:s,selectedType:t,selectType:e,loadTypes:r}=Re();A.useEffect(()=>{r()},[r]);const l=A.useMemo(()=>{if(s.length>0){const d=new Set(s);return W.map(m=>({...m,types:m.types.filter(f=>d.has(f))})).filter(m=>m.types.length>0).concat(s.filter(m=>!W.flatMap(f=>f.types).includes(m)).length>0?[{labelKey:"plugins",types:s.filter(m=>!W.flatMap(f=>f.types).includes(m))}]:[])}return W},[s]),o=A.useMemo(()=>{const d=new Map;for(const m of i){const f=d.get(m.type)??{count:0,connected:0};d.set(m.type,{count:f.count+1,connected:f.connected+(m.connected?1:0)})}return d},[i]),c=s.length>0,u=A.useMemo(()=>c?[...o.keys()].filter(d=>!s.includes(d)):[],[c,o,s]);return a.jsxs("div",{className:"flex flex-col h-full min-h-0 border-r border-dark-border bg-dark-surface",children:[a.jsxs("div",{className:"shrink-0 px-4 py-3 border-b border-dark-border",children:[a.jsx("h3",{className:"text-xs font-semibold uppercase tracking-wide text-dark-muted",children:n("channels.sidebar.title")}),a.jsx("p",{className:"text-[11px] text-dark-muted mt-0.5",children:i.length>0?n("channels.sidebar.configuredCount",{n:i.length}):n("channels.sidebar.clickToConfigure")})]}),a.jsxs("div",{className:"flex-1 overflow-y-auto custom-scrollbar",children:[l.map(d=>{const m=d.types.filter(f=>o.has(f));return m.length===0?null:a.jsxs("div",{children:[a.jsx("div",{className:"sticky top-0 bg-dark-surface/95 backdrop-blur px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-dark-muted/60",children:n(`channels.categories.${d.labelKey}`)}),m.map(f=>{const h=o.get(f);return a.jsx(ie,{label:H(f),icon:Y(f),isSelected:t===f,experimental:$(f),info:h,pluginMissing:c&&!s.includes(f),onClick:()=>e(f)},f)})]},d.labelKey)}),u.length>0&&a.jsxs("div",{children:[a.jsx("div",{className:"sticky top-0 bg-dark-surface/95 backdrop-blur px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-amber-500/80",children:n("channels.sidebar.configuredMissing")}),u.map(d=>{const m=o.get(d);return a.jsx(ie,{label:H(d),icon:Y(d),isSelected:t===d,experimental:$(d),info:m,pluginMissing:!0,onClick:()=>e(d)},d)})]}),(()=>{const d=l.flatMap(m=>m.types).filter(m=>!o.has(m));return d.length===0?null:a.jsxs("div",{children:[a.jsx("div",{className:"sticky top-0 bg-dark-surface/95 backdrop-blur px-4 py-1.5 text-[10px] font-semibold uppercase tracking-wider text-dark-muted/60",children:n("channels.sidebar.unconfigured")}),d.map(m=>a.jsx(ie,{label:H(m),icon:Y(m),isSelected:t===m,experimental:$(m),onClick:()=>e(m)},m))]})})()]})]})}function ie({label:n,icon:i,isSelected:s,experimental:t,info:e,pluginMissing:r,onClick:l}){const{t:o}=D();return a.jsxs("button",{onClick:l,className:`w-full flex items-center gap-2.5 px-4 py-2.5 text-left transition-colors hover:bg-dark-hover ${s?"bg-accent-blue/10 border-l-2 border-accent-blue":"border-l-2 border-transparent"}`,children:[a.jsx("span",{className:"text-lg shrink-0 w-7 h-7 flex items-center justify-center rounded-md bg-dark-bg",children:i}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsx("span",{className:"text-sm font-medium text-dark-text truncate",children:n}),t&&a.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[9px] text-yellow-500 bg-yellow-500/10 px-1 py-0.5 rounded shrink-0",title:o("channels.experimentalTip"),children:[a.jsx(ft,{className:"w-2.5 h-2.5"})," ",o("channels.experimentalShort")]}),r&&a.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[9px] text-amber-500 bg-amber-500/10 border border-amber-500/30 px-1 py-0.5 rounded shrink-0",title:o("channels.pluginMissingTip"),children:[a.jsx(gt,{className:"w-2.5 h-2.5"})," ",o("channels.pluginMissingLabel")]}),e&&a.jsx("span",{className:"text-[10px] text-dark-muted bg-dark-hover px-1.5 py-0.5 rounded shrink-0",children:e.count})]}),a.jsx("div",{className:"flex items-center gap-1 mt-0.5",children:e?e.connected>0?a.jsxs("span",{className:"flex items-center gap-1 text-[11px] text-green-400",children:[a.jsx(mt,{className:"w-3 h-3"}),e.connected===e.count?o("channels.status.connected"):o("channels.sidebar.partialConnected",{connected:e.connected,count:e.count})]}):a.jsxs("span",{className:"flex items-center gap-1 text-[11px] text-dark-muted",children:[a.jsx(xt,{className:"w-3 h-3"}),o(r?"channels.sidebar.waitingPlugin":"channels.status.disconnected")]}):a.jsx("span",{className:"text-[11px] text-dark-muted",children:o("channels.sidebar.unconfigured")})})]})]})}const z={name:"",type:"wechat",appId:"",appSecret:"",token:"",encodingAESKey:"",enabled:!0};function Pt(){const{t:n}=D(),{channels:i,selectedType:s,availableTypes:t,create:e,update:r,remove:l,toggle:o,error:c,clearError:u,openQr:d,load:m}=Re(),f=A.useMemo(()=>t.length>0&&!!s&&!t.includes(s),[t,s]),h=A.useMemo(()=>s?i.filter(g=>g.type===s):[],[i,s]),[w,S]=A.useState(""),[M,y]=A.useState(z),[R,E]=A.useState(!1),C=w==="__new__",k=A.useMemo(()=>C?null:h.find(g=>g.id===w)??null,[h,w,C]);A.useEffect(()=>{S(""),y(z),E(!1),u()},[s]),A.useEffect(()=>{s==="wechat"&&h.length===0&&!f&&d(null)},[s,h.length,f,d]),A.useEffect(()=>{k?y({name:k.name,type:k.type,appId:k.appId||"",appSecret:"",token:"",encodingAESKey:k.encodingAESKey||"",enabled:k.enabled}):C&&y(g=>({...g,type:s}))},[w]);const x=(g,T)=>{u(),y(I=>({...I,[g]:T}))},p=g=>{S(g),u()},N=()=>{S("__new__"),y({...z,type:s}),u()},b=()=>{S(""),y(z),u()},B=async()=>{if(!M.name.trim())return;E(!0);const g=k?await r(k.id,M):await e(M);E(!1),g&&(S(""),y(z))},j=async g=>{if(!confirm(n("channels.actions.deleteConfirmShort")))return;await l(g)&&w===g&&(S(""),y(z))},v=(g,T)=>{o(g,T)};return s?a.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[a.jsx("div",{className:"shrink-0 px-6 py-4 border-b border-dark-border",children:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("span",{className:"text-2xl",children:Y(s)}),a.jsxs("div",{children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("h2",{className:"font-semibold text-base text-dark-text",children:H(s)}),$(s)&&a.jsxs("span",{className:"inline-flex items-center gap-0.5 text-[10px] text-yellow-500 bg-yellow-500/10 px-1.5 py-0.5 rounded",title:n("channels.experimentalTip"),children:[a.jsx(ft,{className:"w-3 h-3"})," ",n("channels.experimentalLabel")]})]}),a.jsx("p",{className:"text-xs text-dark-muted mt-0.5",children:h.length>0?n("channels.instancesCount",{n:h.length}):n("channels.notConfiguredYet")}),$(s)&&a.jsx("p",{className:"text-[10px] text-yellow-600/70 mt-1",children:n("channels.experimentalDesc")})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:()=>m(),className:"text-xs px-3 py-1.5 rounded-lg border border-dark-border text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:n("channels.actions.refresh")}),a.jsxs("button",{onClick:N,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg bg-accent-blue hover:bg-accent-blue/90 text-white transition-colors",children:[a.jsx(re,{className:"w-3.5 h-3.5"})," ",n("channels.createInstance")]})]})]})}),c&&a.jsxs("div",{className:"shrink-0 mx-6 mt-3 bg-red-500/10 border border-red-500/40 text-red-400 px-3 py-2 rounded-lg text-sm flex justify-between items-center",children:[a.jsx("span",{children:c}),a.jsx("button",{onClick:u,className:"text-red-400 hover:text-red-300",children:a.jsx("span",{className:"w-4 h-4 inline-flex items-center justify-center",children:"×"})})]}),f&&a.jsxs("div",{className:"shrink-0 mx-6 mt-3 flex items-start gap-2 bg-amber-500/10 border border-amber-500/40 text-amber-400 px-3 py-2 rounded-lg text-xs",children:[a.jsx(gt,{className:"w-3.5 h-3.5 mt-0.5 shrink-0"}),a.jsx("span",{children:n("channels.pluginMissingWarning",{name:s==="wechat"?" WeChat Channel":` ${H(s)}`})})]}),a.jsxs("div",{className:"flex-1 overflow-y-auto custom-scrollbar p-6",children:[h.length>1&&!C&&a.jsxs("div",{className:"mb-4",children:[a.jsx("label",{className:"block text-xs text-dark-muted mb-1.5",children:n("channels.selectInstance")}),a.jsxs("div",{className:"flex flex-wrap gap-2",children:[h.map(g=>a.jsxs("button",{onClick:()=>p(g.id),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs border transition-colors ${w===g.id?"bg-accent-blue/10 border-accent-blue/40 text-accent-blue":"border-dark-border text-dark-muted hover:text-dark-text hover:bg-dark-hover"}`,children:[a.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${g.connected?"bg-green-500":"bg-gray-500"}`}),g.name]},g.id)),a.jsxs("button",{onClick:N,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs border border-dashed border-dark-border text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:[a.jsx(re,{className:"w-3 h-3"})," ",n("channels.createShort")]})]})]}),h.length===0&&w===""&&a.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[a.jsx("div",{className:"text-4xl mb-3",children:Y(s)}),a.jsx("p",{className:"text-dark-text font-medium",children:n("channels.emptyWithType",{type:H(s)})}),a.jsx("p",{className:"text-sm text-dark-muted mt-1 mb-4",children:n(s==="wechat"?"channels.wechatBindHint":"channels.startWithCreate")}),s==="wechat"&&a.jsxs("button",{onClick:()=>d(null),className:"flex items-center gap-1.5 text-sm px-4 py-2 rounded-lg bg-green-600/15 hover:bg-green-600/25 text-green-400 border border-green-600/40 transition-colors mb-3",children:[a.jsx(Be,{className:"w-4 h-4"})," ",n("channels.scanToBind")]}),a.jsxs("button",{onClick:N,className:"flex items-center gap-1.5 text-sm px-4 py-2 rounded-lg bg-accent-blue hover:bg-accent-blue/90 text-white transition-colors",children:[a.jsx(re,{className:"w-4 h-4"})," ",n("channels.createInstance")]})]}),h.length===1&&w===""&&h[0]&&a.jsx(qe,{channel:h[0],onEdit:()=>p(h[0].id),onDelete:()=>j(h[0].id),onToggle:g=>v(h[0].id,g),onQr:()=>d(h[0])}),h.length>1&&w===""&&a.jsx("div",{className:"space-y-3",children:h.map(g=>a.jsx(qe,{channel:g,onEdit:()=>p(g.id),onDelete:()=>j(g.id),onToggle:T=>v(g.id,T),onQr:()=>d(g)},g.id))}),w!==""&&(C||k)&&a.jsx(Lt,{form:M,upd:x,saving:R,editing:!!k,channel:k??void 0,onSave:B,onCancel:b,onDelete:k?()=>j(k.id):void 0,onQr:k?()=>d(k):void 0})]})]}):a.jsx("div",{className:"flex-1 flex items-center justify-center",children:a.jsxs("div",{className:"text-center",children:[a.jsx(vt,{className:"w-12 h-12 mx-auto mb-3 text-dark-muted/40"}),a.jsx("p",{className:"text-dark-muted text-sm",children:n("channels.selectTypeHint")})]})})}function qe({channel:n,onEdit:i,onDelete:s,onToggle:t,onQr:e}){const{t:r}=D();return a.jsxs("div",{className:"border border-dark-border rounded-lg bg-dark-surface overflow-hidden",children:[a.jsx("div",{className:"p-5",children:a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{children:[a.jsx("h3",{className:"font-medium text-dark-text",children:n.name}),a.jsxs("div",{className:"flex items-center gap-3 mt-2",children:[a.jsx("span",{className:`flex items-center gap-1 text-xs ${n.connected?"text-green-400":"text-dark-muted"}`,children:n.connected?a.jsxs(a.Fragment,{children:[a.jsx(mt,{className:"w-3 h-3"})," ",r("channels.status.connected")]}):a.jsxs(a.Fragment,{children:[a.jsx(xt,{className:"w-3 h-3"})," ",r("channels.status.disconnected")]})}),a.jsxs("span",{className:"text-xs text-dark-muted",children:["AppID: ",n.appId||"—"]})]})]}),a.jsx("button",{onClick:()=>t(!n.enabled),className:`w-9 h-5 rounded-full relative transition-colors shrink-0 ${n.enabled?"bg-green-600":"bg-gray-600"}`,children:a.jsx("span",{className:`absolute top-0.5 w-4 h-4 bg-white rounded-full transition-all ${n.enabled?"left-[18px]":"left-0.5"}`})})]})}),a.jsxs("div",{className:"flex items-center gap-1 px-5 py-2.5 bg-dark-bg/50 border-t border-dark-border",children:[n.type==="wechat"&&a.jsxs("button",{onClick:e,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-md text-green-400 hover:bg-green-500/10 transition-colors",children:[a.jsx(Be,{className:"w-3.5 h-3.5"})," ",r("channels.actions.qrLogin")]}),a.jsxs("button",{onClick:i,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-md text-accent-blue hover:bg-accent-blue/10 transition-colors",children:[a.jsx("span",{className:"w-3.5 h-3.5 inline-flex items-center justify-center",children:"✎"})," ",r("channels.actions.edit")]}),a.jsxs("button",{onClick:s,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-md text-red-400 hover:bg-red-500/10 transition-colors ml-auto",children:[a.jsx(pt,{className:"w-3.5 h-3.5"})," ",r("channels.actions.delete")]})]})]})}function Lt({form:n,upd:i,saving:s,editing:t,channel:e,onSave:r,onCancel:l,onDelete:o,onQr:c}){const{t:u}=D();return a.jsxs("div",{className:"border border-dark-border rounded-lg bg-dark-surface overflow-hidden",children:[a.jsx("div",{className:"px-5 py-4 border-b border-dark-border",children:a.jsx("h3",{className:"font-medium text-dark-text",children:u(t?"channels.editConfig":"channels.createConfig")})}),a.jsxs("div",{className:"p-5 space-y-4",children:[a.jsx(_e,{label:u("channels.form.name"),required:!0,children:a.jsx("input",{value:n.name,onChange:d=>i("name",d.target.value),placeholder:u("channels.form.namePlaceholderDev"),className:Q})}),a.jsxs(_e,{label:u("channels.form.credentials"),children:[a.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[a.jsxs("div",{children:[a.jsx("label",{className:"block text-[10px] text-dark-muted mb-1",children:u("channels.form.appId")}),a.jsx("input",{value:n.appId,onChange:d=>i("appId",d.target.value),placeholder:"AppID",className:Q})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-[10px] text-dark-muted mb-1",children:"AppSecret"}),a.jsx("input",{type:"password",value:n.appSecret,onChange:d=>i("appSecret",d.target.value),placeholder:u(t?"channels.form.leaveBlankUnchanged":"channels.form.appSecretValue"),className:Q})]}),a.jsxs("div",{children:[a.jsx("label",{className:"block text-[10px] text-dark-muted mb-1",children:"Token"}),a.jsx("input",{value:n.token,onChange:d=>i("token",d.target.value),placeholder:u(t?"channels.form.leaveBlankUnchanged":"channels.form.tokenCallback"),className:Q})]}),n.type==="wechat"&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-[10px] text-dark-muted mb-1",children:"EncodingAESKey"}),a.jsx("input",{value:n.encodingAESKey,onChange:d=>i("encodingAESKey",d.target.value),placeholder:u("channels.form.optionalShort"),className:Q})]})]}),n.type==="wechat"&&a.jsx("p",{className:"text-xs text-dark-muted mt-2",children:u("channels.form.wechatIlinkHint")})]}),a.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-dark-border px-3 py-2.5",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm text-dark-text",children:u("channels.form.enabled")}),a.jsx("p",{className:"text-xs text-dark-muted",children:u("channels.form.enabledOffHint")})]}),a.jsx("button",{onClick:()=>i("enabled",!n.enabled),className:`w-9 h-5 rounded-full relative transition-colors shrink-0 ${n.enabled?"bg-green-600":"bg-gray-600"}`,children:a.jsx("span",{className:`absolute top-0.5 w-4 h-4 bg-white rounded-full transition-all ${n.enabled?"left-[18px]":"left-0.5"}`})})]}),t&&(e==null?void 0:e.type)==="wechat"&&c&&a.jsxs("button",{onClick:c,className:"w-full flex items-center justify-center gap-2 text-sm bg-green-600/15 hover:bg-green-600/25 text-green-400 border border-green-600/40 px-3 py-2.5 rounded-lg transition-colors",children:[a.jsx(Be,{className:"w-4 h-4"})," ",u("channels.qrLoginReauth")]})]}),a.jsxs("div",{className:"flex items-center justify-between px-5 py-3 bg-dark-bg/50 border-t border-dark-border",children:[a.jsx("div",{children:t&&o&&a.jsxs("button",{onClick:o,className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-md text-red-400 hover:bg-red-500/10 transition-colors",children:[a.jsx(pt,{className:"w-3.5 h-3.5"})," ",u("channels.actions.delete")]})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("button",{onClick:l,className:"px-4 py-2 text-sm text-dark-muted hover:text-dark-text transition-colors",children:u("channels.actions.cancel")}),a.jsxs("button",{onClick:r,disabled:s||!n.name.trim(),className:"flex items-center gap-1.5 px-4 py-2 text-sm bg-accent-blue hover:bg-accent-blue/90 text-white rounded-lg disabled:opacity-50 transition-colors",children:[a.jsx(Et,{className:"w-3.5 h-3.5"}),u(s?"channels.saving":"channels.save")]})]})]})]})}function _e({label:n,required:i,children:s}){return a.jsxs("div",{children:[a.jsxs("label",{className:"block text-xs text-dark-muted mb-1.5",children:[n,i&&a.jsx("span",{className:"text-red-400 ml-0.5",children:"*"})]}),s]})}const Q="w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-2 text-sm text-dark-text placeholder-dark-muted/60 focus:outline-none focus:border-accent-blue transition-colors";var V={},ae,De;function qt(){return De||(De=1,ae=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),ae}var oe={},_={},Ue;function U(){if(Ue)return _;Ue=1;let n;const i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return _.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17},_.getSymbolTotalCodewords=function(t){return i[t]},_.getBCHDigit=function(s){let t=0;for(;s!==0;)t++,s>>>=1;return t},_.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');n=t},_.isKanjiModeEnabled=function(){return typeof n<"u"},_.toSJIS=function(t){return n(t)},_}var le={},Fe;function Me(){return Fe||(Fe=1,(function(n){n.L={bit:1},n.M={bit:0},n.Q={bit:3},n.H={bit:2};function i(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.toLowerCase()){case"l":case"low":return n.L;case"m":case"medium":return n.M;case"q":case"quartile":return n.Q;case"h":case"high":return n.H;default:throw new Error("Unknown EC Level: "+s)}}n.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4},n.from=function(t,e){if(n.isValid(t))return t;try{return i(t)}catch{return e}}})(le)),le}var ce,Ke;function _t(){if(Ke)return ce;Ke=1;function n(){this.buffer=[],this.length=0}return n.prototype={get:function(i){const s=Math.floor(i/8);return(this.buffer[s]>>>7-i%8&1)===1},put:function(i,s){for(let t=0;t<s;t++)this.putBit((i>>>s-t-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(i){const s=Math.floor(this.length/8);this.buffer.length<=s&&this.buffer.push(0),i&&(this.buffer[s]|=128>>>this.length%8),this.length++}},ce=n,ce}var de,ze;function Dt(){if(ze)return de;ze=1;function n(i){if(!i||i<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=i,this.data=new Uint8Array(i*i),this.reservedBit=new Uint8Array(i*i)}return n.prototype.set=function(i,s,t,e){const r=i*this.size+s;this.data[r]=t,e&&(this.reservedBit[r]=!0)},n.prototype.get=function(i,s){return this.data[i*this.size+s]},n.prototype.xor=function(i,s,t){this.data[i*this.size+s]^=t},n.prototype.isReserved=function(i,s){return this.reservedBit[i*this.size+s]},de=n,de}var ue={},Ve;function Ut(){return Ve||(Ve=1,(function(n){const i=U().getSymbolSize;n.getRowColCoords=function(t){if(t===1)return[];const e=Math.floor(t/7)+2,r=i(t),l=r===145?26:Math.ceil((r-13)/(2*e-2))*2,o=[r-7];for(let c=1;c<e-1;c++)o[c]=o[c-1]-l;return o.push(6),o.reverse()},n.getPositions=function(t){const e=[],r=n.getRowColCoords(t),l=r.length;for(let o=0;o<l;o++)for(let c=0;c<l;c++)o===0&&c===0||o===0&&c===l-1||o===l-1&&c===0||e.push([r[o],r[c]]);return e}})(ue)),ue}var he={},He;function Ft(){if(He)return he;He=1;const n=U().getSymbolSize,i=7;return he.getPositions=function(t){const e=n(t);return[[0,0],[e-i,0],[0,e-i]]},he}var fe={},Oe;function Kt(){return Oe||(Oe=1,(function(n){n.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const i={N1:3,N2:3,N3:40,N4:10};n.isValid=function(e){return e!=null&&e!==""&&!isNaN(e)&&e>=0&&e<=7},n.from=function(e){return n.isValid(e)?parseInt(e,10):void 0},n.getPenaltyN1=function(e){const r=e.size;let l=0,o=0,c=0,u=null,d=null;for(let m=0;m<r;m++){o=c=0,u=d=null;for(let f=0;f<r;f++){let h=e.get(m,f);h===u?o++:(o>=5&&(l+=i.N1+(o-5)),u=h,o=1),h=e.get(f,m),h===d?c++:(c>=5&&(l+=i.N1+(c-5)),d=h,c=1)}o>=5&&(l+=i.N1+(o-5)),c>=5&&(l+=i.N1+(c-5))}return l},n.getPenaltyN2=function(e){const r=e.size;let l=0;for(let o=0;o<r-1;o++)for(let c=0;c<r-1;c++){const u=e.get(o,c)+e.get(o,c+1)+e.get(o+1,c)+e.get(o+1,c+1);(u===4||u===0)&&l++}return l*i.N2},n.getPenaltyN3=function(e){const r=e.size;let l=0,o=0,c=0;for(let u=0;u<r;u++){o=c=0;for(let d=0;d<r;d++)o=o<<1&2047|e.get(u,d),d>=10&&(o===1488||o===93)&&l++,c=c<<1&2047|e.get(d,u),d>=10&&(c===1488||c===93)&&l++}return l*i.N3},n.getPenaltyN4=function(e){let r=0;const l=e.data.length;for(let c=0;c<l;c++)r+=e.data[c];return Math.abs(Math.ceil(r*100/l/5)-10)*i.N4};function s(t,e,r){switch(t){case n.Patterns.PATTERN000:return(e+r)%2===0;case n.Patterns.PATTERN001:return e%2===0;case n.Patterns.PATTERN010:return r%3===0;case n.Patterns.PATTERN011:return(e+r)%3===0;case n.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(r/3))%2===0;case n.Patterns.PATTERN101:return e*r%2+e*r%3===0;case n.Patterns.PATTERN110:return(e*r%2+e*r%3)%2===0;case n.Patterns.PATTERN111:return(e*r%3+(e+r)%2)%2===0;default:throw new Error("bad maskPattern:"+t)}}n.applyMask=function(e,r){const l=r.size;for(let o=0;o<l;o++)for(let c=0;c<l;c++)r.isReserved(c,o)||r.xor(c,o,s(e,c,o))},n.getBestMask=function(e,r){const l=Object.keys(n.Patterns).length;let o=0,c=1/0;for(let u=0;u<l;u++){r(u),n.applyMask(u,e);const d=n.getPenaltyN1(e)+n.getPenaltyN2(e)+n.getPenaltyN3(e)+n.getPenaltyN4(e);n.applyMask(u,e),d<c&&(c=d,o=u)}return o}})(fe)),fe}var X={},Qe;function bt(){if(Qe)return X;Qe=1;const n=Me(),i=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],s=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return X.getBlocksCount=function(e,r){switch(r){case n.L:return i[(e-1)*4+0];case n.M:return i[(e-1)*4+1];case n.Q:return i[(e-1)*4+2];case n.H:return i[(e-1)*4+3];default:return}},X.getTotalCodewordsCount=function(e,r){switch(r){case n.L:return s[(e-1)*4+0];case n.M:return s[(e-1)*4+1];case n.Q:return s[(e-1)*4+2];case n.H:return s[(e-1)*4+3];default:return}},X}var ge={},J={},Je;function zt(){if(Je)return J;Je=1;const n=new Uint8Array(512),i=new Uint8Array(256);return(function(){let t=1;for(let e=0;e<255;e++)n[e]=t,i[t]=e,t<<=1,t&256&&(t^=285);for(let e=255;e<512;e++)n[e]=n[e-255]})(),J.log=function(t){if(t<1)throw new Error("log("+t+")");return i[t]},J.exp=function(t){return n[t]},J.mul=function(t,e){return t===0||e===0?0:n[i[t]+i[e]]},J}var Ye;function Vt(){return Ye||(Ye=1,(function(n){const i=zt();n.mul=function(t,e){const r=new Uint8Array(t.length+e.length-1);for(let l=0;l<t.length;l++)for(let o=0;o<e.length;o++)r[l+o]^=i.mul(t[l],e[o]);return r},n.mod=function(t,e){let r=new Uint8Array(t);for(;r.length-e.length>=0;){const l=r[0];for(let c=0;c<e.length;c++)r[c]^=i.mul(e[c],l);let o=0;for(;o<r.length&&r[o]===0;)o++;r=r.slice(o)}return r},n.generateECPolynomial=function(t){let e=new Uint8Array([1]);for(let r=0;r<t;r++)e=n.mul(e,new Uint8Array([1,i.exp(r)]));return e}})(ge)),ge}var me,$e;function Ht(){if($e)return me;$e=1;const n=Vt();function i(s){this.genPoly=void 0,this.degree=s,this.degree&&this.initialize(this.degree)}return i.prototype.initialize=function(t){this.degree=t,this.genPoly=n.generateECPolynomial(this.degree)},i.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const e=new Uint8Array(t.length+this.degree);e.set(t);const r=n.mod(e,this.genPoly),l=this.degree-r.length;if(l>0){const o=new Uint8Array(this.degree);return o.set(r,l),o}return r},me=i,me}var xe={},pe={},be={},Ge;function wt(){return Ge||(Ge=1,be.isValid=function(i){return!isNaN(i)&&i>=1&&i<=40}),be}var P={},We;function yt(){if(We)return P;We=1;const n="[0-9]+",i="[A-Z $%*+\\-./:]+";let s="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";s=s.replace(/u/g,"\\u");const t="(?:(?![A-Z0-9 $%*+\\-./:]|"+s+`)(?:.|[\r
2
- ]))+`;P.KANJI=new RegExp(s,"g"),P.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),P.BYTE=new RegExp(t,"g"),P.NUMERIC=new RegExp(n,"g"),P.ALPHANUMERIC=new RegExp(i,"g");const e=new RegExp("^"+s+"$"),r=new RegExp("^"+n+"$"),l=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return P.testKanji=function(c){return e.test(c)},P.testNumeric=function(c){return r.test(c)},P.testAlphanumeric=function(c){return l.test(c)},P}var Xe;function F(){return Xe||(Xe=1,(function(n){const i=wt(),s=yt();n.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},n.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},n.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},n.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},n.MIXED={bit:-1},n.getCharCountIndicator=function(r,l){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!i.isValid(l))throw new Error("Invalid version: "+l);return l>=1&&l<10?r.ccBits[0]:l<27?r.ccBits[1]:r.ccBits[2]},n.getBestModeForData=function(r){return s.testNumeric(r)?n.NUMERIC:s.testAlphanumeric(r)?n.ALPHANUMERIC:s.testKanji(r)?n.KANJI:n.BYTE},n.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},n.isValid=function(r){return r&&r.bit&&r.ccBits};function t(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return n.NUMERIC;case"alphanumeric":return n.ALPHANUMERIC;case"kanji":return n.KANJI;case"byte":return n.BYTE;default:throw new Error("Unknown mode: "+e)}}n.from=function(r,l){if(n.isValid(r))return r;try{return t(r)}catch{return l}}})(pe)),pe}var Ze;function Ot(){return Ze||(Ze=1,(function(n){const i=U(),s=bt(),t=Me(),e=F(),r=wt(),l=7973,o=i.getBCHDigit(l);function c(f,h,w){for(let S=1;S<=40;S++)if(h<=n.getCapacity(S,w,f))return S}function u(f,h){return e.getCharCountIndicator(f,h)+4}function d(f,h){let w=0;return f.forEach(function(S){const M=u(S.mode,h);w+=M+S.getBitsLength()}),w}function m(f,h){for(let w=1;w<=40;w++)if(d(f,w)<=n.getCapacity(w,h,e.MIXED))return w}n.from=function(h,w){return r.isValid(h)?parseInt(h,10):w},n.getCapacity=function(h,w,S){if(!r.isValid(h))throw new Error("Invalid QR Code version");typeof S>"u"&&(S=e.BYTE);const M=i.getSymbolTotalCodewords(h),y=s.getTotalCodewordsCount(h,w),R=(M-y)*8;if(S===e.MIXED)return R;const E=R-u(S,h);switch(S){case e.NUMERIC:return Math.floor(E/10*3);case e.ALPHANUMERIC:return Math.floor(E/11*2);case e.KANJI:return Math.floor(E/13);case e.BYTE:default:return Math.floor(E/8)}},n.getBestVersionForData=function(h,w){let S;const M=t.from(w,t.M);if(Array.isArray(h)){if(h.length>1)return m(h,M);if(h.length===0)return 1;S=h[0]}else S=h;return c(S.mode,S.getLength(),M)},n.getEncodedBits=function(h){if(!r.isValid(h)||h<7)throw new Error("Invalid QR Code version");let w=h<<12;for(;i.getBCHDigit(w)-o>=0;)w^=l<<i.getBCHDigit(w)-o;return h<<12|w}})(xe)),xe}var we={},et;function Qt(){if(et)return we;et=1;const n=U(),i=1335,s=21522,t=n.getBCHDigit(i);return we.getEncodedBits=function(r,l){const o=r.bit<<3|l;let c=o<<10;for(;n.getBCHDigit(c)-t>=0;)c^=i<<n.getBCHDigit(c)-t;return(o<<10|c)^s},we}var ye={},Ne,tt;function Jt(){if(tt)return Ne;tt=1;const n=F();function i(s){this.mode=n.NUMERIC,this.data=s.toString()}return i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){let e,r,l;for(e=0;e+3<=this.data.length;e+=3)r=this.data.substr(e,3),l=parseInt(r,10),t.put(l,10);const o=this.data.length-e;o>0&&(r=this.data.substr(e),l=parseInt(r,10),t.put(l,o*3+1))},Ne=i,Ne}var Ce,nt;function Yt(){if(nt)return Ce;nt=1;const n=F(),i=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function s(t){this.mode=n.ALPHANUMERIC,this.data=t}return s.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(e){let r;for(r=0;r+2<=this.data.length;r+=2){let l=i.indexOf(this.data[r])*45;l+=i.indexOf(this.data[r+1]),e.put(l,11)}this.data.length%2&&e.put(i.indexOf(this.data[r]),6)},Ce=s,Ce}var ke,rt;function $t(){if(rt)return ke;rt=1;const n=F();function i(s){this.mode=n.BYTE,typeof s=="string"?this.data=new TextEncoder().encode(s):this.data=new Uint8Array(s)}return i.getBitsLength=function(t){return t*8},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(s){for(let t=0,e=this.data.length;t<e;t++)s.put(this.data[t],8)},ke=i,ke}var je,st;function Gt(){if(st)return je;st=1;const n=F(),i=U();function s(t){this.mode=n.KANJI,this.data=t}return s.getBitsLength=function(e){return e*13},s.prototype.getLength=function(){return this.data.length},s.prototype.getBitsLength=function(){return s.getBitsLength(this.data.length)},s.prototype.write=function(t){let e;for(e=0;e<this.data.length;e++){let r=i.toSJIS(this.data[e]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
3
- Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),t.put(r,13)}},je=s,je}var ve={exports:{}},it;function Wt(){return it||(it=1,(function(n){var i={single_source_shortest_paths:function(s,t,e){var r={},l={};l[t]=0;var o=i.PriorityQueue.make();o.push(t,0);for(var c,u,d,m,f,h,w,S,M;!o.empty();){c=o.pop(),u=c.value,m=c.cost,f=s[u]||{};for(d in f)f.hasOwnProperty(d)&&(h=f[d],w=m+h,S=l[d],M=typeof l[d]>"u",(M||S>w)&&(l[d]=w,o.push(d,w),r[d]=u))}if(typeof e<"u"&&typeof l[e]>"u"){var y=["Could not find a path from ",t," to ",e,"."].join("");throw new Error(y)}return r},extract_shortest_path_from_predecessor_list:function(s,t){for(var e=[],r=t;r;)e.push(r),s[r],r=s[r];return e.reverse(),e},find_path:function(s,t,e){var r=i.single_source_shortest_paths(s,t,e);return i.extract_shortest_path_from_predecessor_list(r,e)},PriorityQueue:{make:function(s){var t=i.PriorityQueue,e={},r;s=s||{};for(r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e.queue=[],e.sorter=s.sorter||t.default_sorter,e},default_sorter:function(s,t){return s.cost-t.cost},push:function(s,t){var e={value:s,cost:t};this.queue.push(e),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};n.exports=i})(ve)),ve.exports}var at;function Xt(){return at||(at=1,(function(n){const i=F(),s=Jt(),t=Yt(),e=$t(),r=Gt(),l=yt(),o=U(),c=Wt();function u(y){return unescape(encodeURIComponent(y)).length}function d(y,R,E){const C=[];let k;for(;(k=y.exec(E))!==null;)C.push({data:k[0],index:k.index,mode:R,length:k[0].length});return C}function m(y){const R=d(l.NUMERIC,i.NUMERIC,y),E=d(l.ALPHANUMERIC,i.ALPHANUMERIC,y);let C,k;return o.isKanjiModeEnabled()?(C=d(l.BYTE,i.BYTE,y),k=d(l.KANJI,i.KANJI,y)):(C=d(l.BYTE_KANJI,i.BYTE,y),k=[]),R.concat(E,C,k).sort(function(p,N){return p.index-N.index}).map(function(p){return{data:p.data,mode:p.mode,length:p.length}})}function f(y,R){switch(R){case i.NUMERIC:return s.getBitsLength(y);case i.ALPHANUMERIC:return t.getBitsLength(y);case i.KANJI:return r.getBitsLength(y);case i.BYTE:return e.getBitsLength(y)}}function h(y){return y.reduce(function(R,E){const C=R.length-1>=0?R[R.length-1]:null;return C&&C.mode===E.mode?(R[R.length-1].data+=E.data,R):(R.push(E),R)},[])}function w(y){const R=[];for(let E=0;E<y.length;E++){const C=y[E];switch(C.mode){case i.NUMERIC:R.push([C,{data:C.data,mode:i.ALPHANUMERIC,length:C.length},{data:C.data,mode:i.BYTE,length:C.length}]);break;case i.ALPHANUMERIC:R.push([C,{data:C.data,mode:i.BYTE,length:C.length}]);break;case i.KANJI:R.push([C,{data:C.data,mode:i.BYTE,length:u(C.data)}]);break;case i.BYTE:R.push([{data:C.data,mode:i.BYTE,length:u(C.data)}])}}return R}function S(y,R){const E={},C={start:{}};let k=["start"];for(let x=0;x<y.length;x++){const p=y[x],N=[];for(let b=0;b<p.length;b++){const B=p[b],j=""+x+b;N.push(j),E[j]={node:B,lastCount:0},C[j]={};for(let v=0;v<k.length;v++){const g=k[v];E[g]&&E[g].node.mode===B.mode?(C[g][j]=f(E[g].lastCount+B.length,B.mode)-f(E[g].lastCount,B.mode),E[g].lastCount+=B.length):(E[g]&&(E[g].lastCount=B.length),C[g][j]=f(B.length,B.mode)+4+i.getCharCountIndicator(B.mode,R))}}k=N}for(let x=0;x<k.length;x++)C[k[x]].end=0;return{map:C,table:E}}function M(y,R){let E;const C=i.getBestModeForData(y);if(E=i.from(R,C),E!==i.BYTE&&E.bit<C.bit)throw new Error('"'+y+'" cannot be encoded with mode '+i.toString(E)+`.
4
- Suggested mode is: `+i.toString(C));switch(E===i.KANJI&&!o.isKanjiModeEnabled()&&(E=i.BYTE),E){case i.NUMERIC:return new s(y);case i.ALPHANUMERIC:return new t(y);case i.KANJI:return new r(y);case i.BYTE:return new e(y)}}n.fromArray=function(R){return R.reduce(function(E,C){return typeof C=="string"?E.push(M(C,null)):C.data&&E.push(M(C.data,C.mode)),E},[])},n.fromString=function(R,E){const C=m(R,o.isKanjiModeEnabled()),k=w(C),x=S(k,E),p=c.find_path(x.map,"start","end"),N=[];for(let b=1;b<p.length-1;b++)N.push(x.table[p[b]].node);return n.fromArray(h(N))},n.rawSplit=function(R){return n.fromArray(m(R,o.isKanjiModeEnabled()))}})(ye)),ye}var ot;function Zt(){if(ot)return oe;ot=1;const n=U(),i=Me(),s=_t(),t=Dt(),e=Ut(),r=Ft(),l=Kt(),o=bt(),c=Ht(),u=Ot(),d=Qt(),m=F(),f=Xt();function h(x,p){const N=x.size,b=r.getPositions(p);for(let B=0;B<b.length;B++){const j=b[B][0],v=b[B][1];for(let g=-1;g<=7;g++)if(!(j+g<=-1||N<=j+g))for(let T=-1;T<=7;T++)v+T<=-1||N<=v+T||(g>=0&&g<=6&&(T===0||T===6)||T>=0&&T<=6&&(g===0||g===6)||g>=2&&g<=4&&T>=2&&T<=4?x.set(j+g,v+T,!0,!0):x.set(j+g,v+T,!1,!0))}}function w(x){const p=x.size;for(let N=8;N<p-8;N++){const b=N%2===0;x.set(N,6,b,!0),x.set(6,N,b,!0)}}function S(x,p){const N=e.getPositions(p);for(let b=0;b<N.length;b++){const B=N[b][0],j=N[b][1];for(let v=-2;v<=2;v++)for(let g=-2;g<=2;g++)v===-2||v===2||g===-2||g===2||v===0&&g===0?x.set(B+v,j+g,!0,!0):x.set(B+v,j+g,!1,!0)}}function M(x,p){const N=x.size,b=u.getEncodedBits(p);let B,j,v;for(let g=0;g<18;g++)B=Math.floor(g/3),j=g%3+N-8-3,v=(b>>g&1)===1,x.set(B,j,v,!0),x.set(j,B,v,!0)}function y(x,p,N){const b=x.size,B=d.getEncodedBits(p,N);let j,v;for(j=0;j<15;j++)v=(B>>j&1)===1,j<6?x.set(j,8,v,!0):j<8?x.set(j+1,8,v,!0):x.set(b-15+j,8,v,!0),j<8?x.set(8,b-j-1,v,!0):j<9?x.set(8,15-j-1+1,v,!0):x.set(8,15-j-1,v,!0);x.set(b-8,8,1,!0)}function R(x,p){const N=x.size;let b=-1,B=N-1,j=7,v=0;for(let g=N-1;g>0;g-=2)for(g===6&&g--;;){for(let T=0;T<2;T++)if(!x.isReserved(B,g-T)){let I=!1;v<p.length&&(I=(p[v]>>>j&1)===1),x.set(B,g-T,I),j--,j===-1&&(v++,j=7)}if(B+=b,B<0||N<=B){B-=b,b=-b;break}}}function E(x,p,N){const b=new s;N.forEach(function(T){b.put(T.mode.bit,4),b.put(T.getLength(),m.getCharCountIndicator(T.mode,x)),T.write(b)});const B=n.getSymbolTotalCodewords(x),j=o.getTotalCodewordsCount(x,p),v=(B-j)*8;for(b.getLengthInBits()+4<=v&&b.put(0,4);b.getLengthInBits()%8!==0;)b.putBit(0);const g=(v-b.getLengthInBits())/8;for(let T=0;T<g;T++)b.put(T%2?17:236,8);return C(b,x,p)}function C(x,p,N){const b=n.getSymbolTotalCodewords(p),B=o.getTotalCodewordsCount(p,N),j=b-B,v=o.getBlocksCount(p,N),g=b%v,T=v-g,I=Math.floor(b/v),O=Math.floor(j/v),Ct=O+1,Ae=I-O,kt=new c(Ae);let Z=0;const G=new Array(v),Ie=new Array(v);let ee=0;const jt=new Uint8Array(x.buffer);for(let K=0;K<v;K++){const ne=K<T?O:Ct;G[K]=jt.slice(Z,Z+ne),Ie[K]=kt.encode(G[K]),Z+=ne,ee=Math.max(ee,ne)}const te=new Uint8Array(b);let Pe=0,L,q;for(L=0;L<ee;L++)for(q=0;q<v;q++)L<G[q].length&&(te[Pe++]=G[q][L]);for(L=0;L<Ae;L++)for(q=0;q<v;q++)te[Pe++]=Ie[q][L];return te}function k(x,p,N,b){let B;if(Array.isArray(x))B=f.fromArray(x);else if(typeof x=="string"){let I=p;if(!I){const O=f.rawSplit(x);I=u.getBestVersionForData(O,N)}B=f.fromString(x,I||40)}else throw new Error("Invalid data");const j=u.getBestVersionForData(B,N);if(!j)throw new Error("The amount of data is too big to be stored in a QR Code");if(!p)p=j;else if(p<j)throw new Error(`
5
- The chosen QR Code version cannot contain this amount of data.
6
- Minimum version required to store current data is: `+j+`.
7
- `);const v=E(p,N,B),g=n.getSymbolSize(p),T=new t(g);return h(T,p),w(T),S(T,p),y(T,N,0),p>=7&&M(T,p),R(T,v),isNaN(b)&&(b=l.getBestMask(T,y.bind(null,T,N))),l.applyMask(b,T),y(T,N,b),{modules:T,version:p,errorCorrectionLevel:N,maskPattern:b,segments:B}}return oe.create=function(p,N){if(typeof p>"u"||p==="")throw new Error("No input text");let b=i.M,B,j;return typeof N<"u"&&(b=i.from(N.errorCorrectionLevel,i.M),B=u.from(N.version),j=l.from(N.maskPattern),N.toSJISFunc&&n.setToSJISFunction(N.toSJISFunc)),k(p,B,b,j)},oe}var Ee={},Se={},lt;function Nt(){return lt||(lt=1,(function(n){function i(s){if(typeof s=="number"&&(s=s.toString()),typeof s!="string")throw new Error("Color should be defined as hex string");let t=s.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+s);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(r){return[r,r]}))),t.length===6&&t.push("F","F");const e=parseInt(t.join(""),16);return{r:e>>24&255,g:e>>16&255,b:e>>8&255,a:e&255,hex:"#"+t.slice(0,6).join("")}}n.getOptions=function(t){t||(t={}),t.color||(t.color={});const e=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,r=t.width&&t.width>=21?t.width:void 0,l=t.scale||4;return{width:r,scale:r?4:l,margin:e,color:{dark:i(t.color.dark||"#000000ff"),light:i(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},n.getScale=function(t,e){return e.width&&e.width>=t+e.margin*2?e.width/(t+e.margin*2):e.scale},n.getImageWidth=function(t,e){const r=n.getScale(t,e);return Math.floor((t+e.margin*2)*r)},n.qrToImageData=function(t,e,r){const l=e.modules.size,o=e.modules.data,c=n.getScale(l,r),u=Math.floor((l+r.margin*2)*c),d=r.margin*c,m=[r.color.light,r.color.dark];for(let f=0;f<u;f++)for(let h=0;h<u;h++){let w=(f*u+h)*4,S=r.color.light;if(f>=d&&h>=d&&f<u-d&&h<u-d){const M=Math.floor((f-d)/c),y=Math.floor((h-d)/c);S=m[o[M*l+y]?1:0]}t[w++]=S.r,t[w++]=S.g,t[w++]=S.b,t[w]=S.a}}})(Se)),Se}var ct;function en(){return ct||(ct=1,(function(n){const i=Nt();function s(e,r,l){e.clearRect(0,0,r.width,r.height),r.style||(r.style={}),r.height=l,r.width=l,r.style.height=l+"px",r.style.width=l+"px"}function t(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}n.render=function(r,l,o){let c=o,u=l;typeof c>"u"&&(!l||!l.getContext)&&(c=l,l=void 0),l||(u=t()),c=i.getOptions(c);const d=i.getImageWidth(r.modules.size,c),m=u.getContext("2d"),f=m.createImageData(d,d);return i.qrToImageData(f.data,r,c),s(m,u,d),m.putImageData(f,0,0),u},n.renderToDataURL=function(r,l,o){let c=o;typeof c>"u"&&(!l||!l.getContext)&&(c=l,l=void 0),c||(c={});const u=n.render(r,l,c),d=c.type||"image/png",m=c.rendererOpts||{};return u.toDataURL(d,m.quality)}})(Ee)),Ee}var Te={},dt;function tn(){if(dt)return Te;dt=1;const n=Nt();function i(e,r){const l=e.a/255,o=r+'="'+e.hex+'"';return l<1?o+" "+r+'-opacity="'+l.toFixed(2).slice(1)+'"':o}function s(e,r,l){let o=e+r;return typeof l<"u"&&(o+=" "+l),o}function t(e,r,l){let o="",c=0,u=!1,d=0;for(let m=0;m<e.length;m++){const f=Math.floor(m%r),h=Math.floor(m/r);!f&&!u&&(u=!0),e[m]?(d++,m>0&&f>0&&e[m-1]||(o+=u?s("M",f+l,.5+h+l):s("m",c,0),c=0,u=!1),f+1<r&&e[m+1]||(o+=s("h",d),d=0)):c++}return o}return Te.render=function(r,l,o){const c=n.getOptions(l),u=r.modules.size,d=r.modules.data,m=u+c.margin*2,f=c.color.light.a?"<path "+i(c.color.light,"fill")+' d="M0 0h'+m+"v"+m+'H0z"/>':"",h="<path "+i(c.color.dark,"stroke")+' d="'+t(d,u,c.margin)+'"/>',w='viewBox="0 0 '+m+" "+m+'"',M='<svg xmlns="http://www.w3.org/2000/svg" '+(c.width?'width="'+c.width+'" height="'+c.width+'" ':"")+w+' shape-rendering="crispEdges">'+f+h+`</svg>
8
- `;return typeof o=="function"&&o(null,M),M},Te}var ut;function nn(){if(ut)return V;ut=1;const n=qt(),i=Zt(),s=en(),t=tn();function e(r,l,o,c,u){const d=[].slice.call(arguments,1),m=d.length,f=typeof d[m-1]=="function";if(!f&&!n())throw new Error("Callback required as last argument");if(f){if(m<2)throw new Error("Too few arguments provided");m===2?(u=o,o=l,l=c=void 0):m===3&&(l.getContext&&typeof u>"u"?(u=c,c=void 0):(u=c,c=o,o=l,l=void 0))}else{if(m<1)throw new Error("Too few arguments provided");return m===1?(o=l,l=c=void 0):m===2&&!l.getContext&&(c=o,o=l,l=void 0),new Promise(function(h,w){try{const S=i.create(o,c);h(r(S,l,c))}catch(S){w(S)}})}try{const h=i.create(o,c);u(null,r(h,l,c))}catch(h){u(h)}}return V.create=i.create,V.toCanvas=e.bind(null,s.render),V.toDataURL=e.bind(null,s.renderToDataURL),V.toString=e.bind(null,function(r,l,o){return t.render(r,o)}),V}var rn=nn();const sn=St(rn),an=2e3,ht=5;function on({channel:n,onClose:i}){const{t:s}=D(),[t,e]=A.useState("loading"),[r,l]=A.useState(null),[o,c]=A.useState(null),[u,d]=A.useState(""),m=A.useRef(null),f=A.useRef(0),h=A.useRef(null),w=A.useRef(!1),S=()=>{h.current&&(clearTimeout(h.current),h.current=null),w.current=!0},M=async k=>{if(m.current)try{await sn.toCanvas(m.current,k,{width:240,margin:2,color:{dark:"#000000ff",light:"#ffffffff"}})}catch(x){console.warn("[WechatQr] Canvas QR generation failed, falling back to URL:",x)}},y=async()=>{if(!(w.current||!o))try{const k=await Le.channels.weixin.bindStatus(o),x=(k==null?void 0:k.data)??k,p=(x==null?void 0:x.status)??"";if(f.current=0,p==="confirmed"){e("confirmed"),se.success(n?s("channels.toastReauthSuccess",{name:n.name}):s("channels.toastBindSuccess")),setTimeout(i,2400);return}if(p==="scaned")e("scanned");else if(p==="expired"){e("expired");return}w.current||(h.current=setTimeout(y,an))}catch(k){if(f.current++,console.warn("[WechatQr] poll error ("+f.current+"/"+ht+")",k),f.current>=ht)e("error"),d(s("channels.pollFailedRefresh")),se.error(s("channels.pollFailedToast"));else if(!w.current){const x=Math.min(1e3*Math.pow(2,f.current),1e4);h.current=setTimeout(y,x)}}},R=()=>{S(),w.current=!1,f.current=0,h.current=setTimeout(y,1e3)},E=async()=>{e("loading"),l(null),c(null),d(""),f.current=0;try{const k=await Le.channels.weixin.bind(),x=(k==null?void 0:k.data)??k,p=(x==null?void 0:x.qrcode_img_content)??"",N=(x==null?void 0:x.qrcode)??"";if(!p||!N){e("error"),d(s("channels.qrDataMissing",{data:JSON.stringify(x)}));return}l(p),c(N),await M(p),e("waiting")}catch(k){e("error");const x=String((k==null?void 0:k.message)??k);d(x),se.error(s("channels.fetchWechatQrFailed",{error:x}))}},C=()=>{E()};return A.useEffect(()=>(E(),S),[]),A.useEffect(()=>(o&&R(),S),[o]),a.jsx(Bt,{isOpen:!0,onClose:i,title:s("channels.bindTitle",{name:(n==null?void 0:n.name)??s("channels.typeLabels.wechat")}),size:"sm",children:a.jsxs("div",{className:"flex flex-col items-center gap-4 py-2",children:[a.jsxs("div",{className:"relative w-60 h-60 rounded-lg bg-white flex items-center justify-center overflow-hidden",children:[t==="loading"&&a.jsx("span",{className:"text-gray-400 text-sm",children:s("channels.qr.generating")}),t!=="error"&&t!=="expired"&&a.jsx("canvas",{ref:m,width:240,height:240,className:`w-full h-full object-contain ${t==="waiting"?"":"opacity-30"}`}),t==="scanned"&&a.jsxs("div",{className:"absolute inset-0 bg-black/70 flex flex-col items-center justify-center text-white gap-1",children:[a.jsx("span",{className:"text-2xl",children:"✓"}),a.jsx("span",{className:"text-sm",children:s("channels.qr.scanned")})]}),t==="confirmed"&&a.jsxs("div",{className:"absolute inset-0 bg-green-600/90 flex flex-col items-center justify-center text-white gap-2 px-4 text-center",children:[a.jsx("span",{className:"text-2xl",children:"🎉"}),a.jsx("span",{className:"text-sm font-medium",children:s("channels.bindSuccess")}),a.jsx("span",{className:"text-xs opacity-90",children:n?s("channels.connectedReady",{name:n.name}):s("channels.createdConnectedReady")}),a.jsx("button",{onClick:i,className:"mt-1 text-xs bg-white/20 hover:bg-white/30 px-3 py-1.5 rounded-md transition-colors",children:s("channels.startUsing")})]}),t==="expired"&&a.jsxs("div",{className:"absolute inset-0 bg-black/80 flex flex-col items-center justify-center text-white gap-2",children:[a.jsx("span",{className:"text-sm",children:s("channels.qr.expired")}),a.jsx("button",{onClick:C,className:"text-xs bg-green-600 hover:bg-green-500 px-3 py-1 rounded",children:s("channels.clickToRefresh")})]}),t==="error"&&a.jsxs("div",{className:"absolute inset-0 bg-black/80 flex flex-col items-center justify-center text-red-300 gap-2 px-4 text-center",children:[a.jsx("span",{className:"text-xs",children:u||s("channels.unknownError")}),a.jsx("button",{onClick:C,className:"text-xs bg-blue-600 hover:bg-blue-500 px-3 py-1 rounded text-white",children:s("channels.retry")})]})]}),a.jsxs("p",{className:"text-sm text-dark-muted text-center",children:[t==="waiting"&&s("channels.waitingAuthorize"),t==="scanned"&&s("channels.scannedConfirming"),t==="confirmed"&&s("channels.confirmedClosing"),t==="loading"&&s("channels.connectingIlink"),(t==="expired"||t==="error")&&(t==="expired"?s("channels.qr.expired"):"")]}),r&&t==="waiting"&&a.jsxs("button",{onClick:()=>window.open(r,"_blank","width=480,height=600,noopener"),className:"w-full flex items-center justify-center gap-2 text-sm bg-green-600/15 hover:bg-green-600/25 text-green-400 border border-green-600/40 px-3 py-2.5 rounded-lg transition-colors",children:[a.jsx("span",{children:"🔔"})," ",s("channels.openInNewTabFallback")]})]})})}function gn(){const{t:n}=D(),{load:i,loading:s,qrOpen:t,qrChannel:e,closeQr:r}=Re();return A.useEffect(()=>{i()},[]),a.jsxs("div",{className:"flex h-full min-h-0 flex-col bg-dark-bg text-dark-text",children:[a.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-dark-border shrink-0",children:[a.jsxs("div",{children:[a.jsx("h2",{className:"font-semibold text-base",children:n("channels.title")}),a.jsx("p",{className:"text-xs text-dark-muted mt-0.5",children:n("channels.viewSubtitle")})]}),a.jsx("div",{className:"flex items-center gap-2",children:a.jsx("button",{onClick:()=>i(),title:n("channels.actions.refresh"),className:"p-2 rounded-lg text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors",children:a.jsx(Tt,{className:`w-4 h-4 ${s?"animate-spin":""}`})})})]}),a.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[a.jsx("div",{className:"w-[260px] shrink-0",children:a.jsx(It,{})}),a.jsx("div",{className:"flex-1 min-w-0",children:a.jsx(Pt,{})})]}),t&&a.jsx(on,{channel:e,onClose:r})]})}export{gn as ChannelConfigView};
@@ -1 +0,0 @@
1
- import{j as e}from"./markdown-tZ6sw2sR.js";import{a as o,h as te,a2 as Hs,z as Me,O as ae,X as cs,ap as qs,C as he,aq as Ie,ar as is,as as _s,ae as Vs,ag as Ys,at as Qs,au as Ws,D as Js,aj as Xs,av as us,$ as Zs,aw as et}from"./icons-DLsYqrD5.js";import{a as b,u as st,t as T,M as ms,P as tt}from"./index-DEninW1j.js";import"./react-vendor-BRkWBfPR.js";import"./state-B80cA8v4.js";import"./panels-wDJMsvra.js";function at(){const[v,y]=o.useState([]),[C,t]=o.useState("1.0"),[P,je]=o.useState(!0),[h,le]=o.useState(!0),[ke,Y]=o.useState(null),Q=o.useCallback(async()=>{le(!0),Y(null);try{const f=await b.providers.presets();f.success&&f.data?(y(Array.isArray(f.data.providers)?f.data.providers:[]),t(f.data.version||"1.0"),je(f.data.customSupported!==!1)):Y(f.error||"获取 Provider 列表失败")}catch(f){Y(f instanceof Error?f.message:"未知错误")}finally{le(!1)}},[]);return o.useEffect(()=>{Q()},[Q]),{presets:v,loading:h,error:ke,version:C,customSupported:P,reload:Q}}const lt={providerKey:"",apiKeys:"",modelIds:"",baseUrl:"",apiType:"",fullPath:!1,setDefault:!1,modelOverrides:{}},ps=tt,fe={"openai-chat-completions":"OpenAI Chat","openai-completions":"OpenAI Compatible","openai-responses":"OpenAI Responses","anthropic-messages":"Anthropic Messages"};function J(v){return v.trim().split("|")[0].trim()}function rt(v){const y=v.toLowerCase();return y.includes("/anthropic")||y.includes("/coding")||y.includes("/claude")||y.includes("/messages")?"anthropic-messages":y.includes("/responses")?"openai-responses":"openai-completions"}function Ue(v){if(!v)return{};const y={};for(const C of v.models){const t={};C.apiType&&C.apiType!==v.apiType&&(t.apiType=C.apiType),C.baseUrl&&(t.baseUrl=C.baseUrl),Object.keys(t).length>0&&(y[C.id]=t)}return y}const ge={"opencode-free":5,deepseek:10,moonshotai:20,"moonshotai-cn":21,"kimi-for-coding":22,zhipuai:30,zai:31,"alibaba-cn":40,alibaba:41,minimax:50,"minimax-cn":51,moark:60,siliconflow:70,"siliconflow-cn":71,"stepfun-ai":80,stepfun:81,modelscope:90,openai:100,anthropic:110,google:120,"google-vertex":121,meta:130,mistral:140,groq:150,xai:160,cohere:170,openrouter:180,huggingface:190};function mt(){var ss,ts,as,ls,rs,os;const{presets:v,loading:y,reload:C}=at(),{t}=st(),[P,je]=o.useState([]),[h,le]=o.useState(null),[ke,Y]=o.useState(!0),[Q,f]=o.useState(null),[Ae,Ke]=o.useState(null),[n,bs]=o.useState(null),[M,hs]=o.useState([]),[fs,G]=o.useState(!1),[Ee,H]=o.useState("select"),[D,R]=o.useState(null),[m,j]=o.useState(lt),[gs,E]=o.useState(""),[$e,Fe]=o.useState(!1),[ze,$]=o.useState(null),[vs,X]=o.useState(!1),[re,Le]=o.useState(!1),[Z,oe]=o.useState(""),[Re,Oe]=o.useState({}),[Ne,Be]=o.useState(!1),[F,q]=o.useState([]),[ne,I]=o.useState(new Set),[Ge,O]=o.useState(null),[de,ee]=o.useState(""),[we,He]=o.useState(!1),[ce,B]=o.useState(null),_=o.useCallback(async()=>{try{const s=await b.config.provider.get();s.success&&s.data&&(bs(s.data),hs(Array.isArray(s.data.entries)?s.data.entries:[]))}catch{}},[]),k=o.useCallback(async()=>{Y(!0),f(null);try{const[s,a]=await Promise.all([b.models.list(),b.system.status()]);if(await _(),s.success&&s.data&&Array.isArray(s.data.models)&&je(s.data.models),a.success&&a.data){const l=a.data.models||{total:0,online:0,offline:0};le({overallStatus:l.offline===0?"healthy":l.online>0?"degraded":"unhealthy",healthRate:l.total>0?l.online/l.total:0,healthyInstances:l.online,totalInstances:l.total,totalRequests:0})}}catch{f(t("models.loadFailed"))}finally{Y(!1)}},[_,t]);o.useEffect(()=>{k()},[k]),o.useEffect(()=>{const s=()=>{k(),_()};return window.addEventListener("models-updated",s),()=>window.removeEventListener("models-updated",s)},[k,_]);const U=o.useCallback(s=>`${s.provider}:${s.id}`,[]),ys=o.useCallback(s=>Re[U(s)]||{inputTokens:0,outputTokens:0},[U,Re]),qe=o.useCallback((s,a,l)=>{const c=U(s);Oe(r=>{var d,i;return{...r,[c]:{inputTokens:a==="inputTokens"?l:((d=r[c])==null?void 0:d.inputTokens)||0,outputTokens:a==="outputTokens"?l:((i=r[c])==null?void 0:i.outputTokens)||0}}})},[U]),js=o.useCallback(s=>{Oe(a=>({...a,[U(s)]:{inputTokens:0,outputTokens:0}}))},[U]),z=o.useMemo(()=>{const s=[...v];return s.find(a=>a.key==="custom")||s.push({key:"custom",name:"Custom",baseUrl:"",apiType:"openai-completions",defaultModel:"",isCustom:!0}),s},[v]),ie=o.useMemo(()=>[...z].sort((s,a)=>{if(s.isCustom)return-1;if(a.isCustom)return 1;const l=ge[s.key],c=ge[a.key];return l!==void 0&&c!==void 0?l-c:l!==void 0?-1:c!==void 0?1:s.name.localeCompare(a.name)}),[z]),_e=o.useMemo(()=>{const s=Z.trim().toLowerCase();return s?ie.filter(a=>a.name.toLowerCase().includes(s)||a.key.toLowerCase().includes(s)||(a.defaultModel||"").toLowerCase().includes(s)||(a.baseUrl||"").toLowerCase().includes(s)||(a.models||[]).some(l=>String(l).toLowerCase().includes(s))):ie},[ie,Z]),L=o.useMemo(()=>{var c,r,d,i;const s=(n==null?void 0:n.providers)||{},a=new Set(z.map(u=>u.key)),l=Object.entries(s).filter(([u])=>!a.has(u));if(l.length!==0)return{keys:l.map(([u])=>u),modelCount:l.reduce((u,[,g])=>u+(g.modelCount||0),0),hasApiKey:l.some(([,u])=>u.hasApiKey),baseUrl:((r=(c=l.find(([,u])=>u.baseUrl))==null?void 0:c[1])==null?void 0:r.baseUrl)||"",apiType:((i=(d=l.find(([,u])=>u.apiType))==null?void 0:d[1])==null?void 0:i.apiType)||"openai-completions"}},[n,z]),V=D==="custom"?m.providerKey.trim():D||"",Ce=o.useMemo(()=>V?P.filter(s=>s.provider===V):[],[P,V]),ks=o.useMemo(()=>{const s=new Map;for(const l of P)s.has(l.provider)||s.set(l.provider,[]),s.get(l.provider).push(l);for(const l of M)s.has(l.key)||s.set(l.key,[]);const a=[...s.keys()];return a.sort((l,c)=>{const r=ge[l],d=ge[c];return r!==void 0&&d!==void 0?r-d:r!==void 0?-1:d!==void 0?1:l.localeCompare(c)}),a.map(l=>({provider:l,models:s.get(l)||[]}))},[P,M]),Ve=o.useCallback(s=>{var i,u;const a=(i=n==null?void 0:n.providers)==null?void 0:i[s.key],l=M.find(g=>g.key===s.key),c=P.filter(g=>g.provider===s.key).map(g=>g.id),r=((u=s.models)==null?void 0:u.slice(0,3).join(", "))||s.defaultModel,d=c.length>0?c.join(", "):r;R(s.key),E(""),j({providerKey:s.key,apiKeys:"",modelIds:d,baseUrl:(a==null?void 0:a.baseUrl)||s.baseUrl,apiType:(a==null?void 0:a.apiType)||s.apiType,fullPath:(a==null?void 0:a.fullPath)===!0,setDefault:(n==null?void 0:n.defaultProvider)!==s.key,modelOverrides:Ue(l)}),H("form"),G(!0),$(null),X(!1),q([]),I(new Set),O(null),ee("")},[P,n,M]),Ns=o.useCallback(s=>{var r;const a=(r=n==null?void 0:n.providers)==null?void 0:r[s],l=M.find(d=>d.key===s),c=P.filter(d=>d.provider===s).map(d=>d.id).join(", ");R("custom"),E(s),j({providerKey:s,apiKeys:"",modelIds:c,baseUrl:(a==null?void 0:a.baseUrl)||"",apiType:(a==null?void 0:a.apiType)||"",fullPath:(a==null?void 0:a.fullPath)===!0,setDefault:(n==null?void 0:n.defaultProvider)!==s,modelOverrides:Ue(l)}),$(null),X(!1),q([]),I(new Set),O(null),ee("")},[n,P,M]),Pe=o.useCallback(()=>{R("custom"),E(""),j({providerKey:"",apiKeys:"",modelIds:"",baseUrl:"",apiType:"",fullPath:!1,setDefault:!(n!=null&&n.configured),modelOverrides:{}}),H("form"),G(!0),$(null),X(!1),q([]),I(new Set),O(null),ee("")},[n]),ws=o.useCallback(async()=>{var a;const s=m.baseUrl;if(!s){O(t("models.baseUrlRequired"));return}Be(!0),O(null),q([]),I(new Set);try{const l=(m.apiKeys||"").split(/\r?\n|,/).map(d=>d.trim()).filter(Boolean)[0]||"",c=l.replace(/[^\x00-\xFF]/g,"");c!==l&&T.warning(t("models.apiKeySanitized"));const r=await b.models.fetch(s,c,m.fullPath===!0);if(r.success&&((a=r.data)!=null&&a.models)){const d=r.data.models;q(d);const i=new Set(d.map(w=>w.id)),u=m.modelIds.split(",").map(w=>w.trim()).filter(Boolean),g=u.filter(w=>i.has(w.split("|")[0].trim())),p=u.filter(w=>!i.has(w.split("|")[0].trim()));if(I(new Set(g.map(w=>w.split("|")[0].trim()))),p.length>0){const w=p.map(S=>S.split("|")[0].trim());j(S=>({...S,modelIds:g.join(", ")})),T.warning(t("models.autoRemovedMissingModels",{models:w.join(", ")}))}T.success(t("models.fetchedCount",{n:d.length}))}else O(r.error||t("models.fetchFailed"))}catch(l){O(l instanceof Error?l.message:t("models.requestFailed"))}finally{Be(!1)}},[m.baseUrl,m.apiKeys,m.modelIds,t]),Cs=o.useCallback(async()=>{var a,l;const s=m.baseUrl;if(!s){B({ok:!1,message:t("models.baseUrlRequired")});return}He(!0),B(null);try{const c=(m.apiKeys||"").split(/\r?\n|,/).map(i=>i.trim()).filter(Boolean)[0]||"",r=c.replace(/[^\x00-\xFF]/g,"");r!==c&&T.warning(t("models.apiKeySanitized"));const d=await b.providers.testConnection(s,r);if(d.success&&((a=d.data)!=null&&a.reachable)){const i=d.data,u={};i.resolvedBaseUrl&&i.resolvedBaseUrl!==m.baseUrl&&(u.baseUrl=i.resolvedBaseUrl),i.detectedApiType&&m.apiType===""&&(u.apiType=i.detectedApiType),Object.keys(u).length>0&&j(w=>({...w,...u}));const g=[];u.baseUrl&&g.push(t("models.baseUrlAutoCompleted",{url:u.baseUrl})),u.apiType&&g.push(t("models.apiTypeAutoSelected",{type:fe[u.apiType]}));const p=i.message||t("models.connectionSuccess");B({ok:!0,message:g.length>0?t("models.connectionSuccessWithHints",{message:p,hints:g.join(t("models.hintJoiner"))}):p})}else B({ok:!1,message:((l=d.data)==null?void 0:l.message)||d.error||t("models.connectionFailed")})}catch(c){B({ok:!1,message:c instanceof Error?c.message:t("models.requestFailed")})}finally{He(!1)}},[m.baseUrl,m.apiKeys,m.apiType,t]),Ps=o.useCallback(s=>{const a=new Set(ne);a.has(s)?a.delete(s):a.add(s),I(a),j(l=>({...l,modelIds:Array.from(a).join(", ")}))},[ne]),Ts=o.useCallback(s=>{const a=m.modelIds.split(",").map(d=>d.trim()).filter(Boolean),c=a.some(d=>J(d)===s.id)?a.filter(d=>J(d)!==s.id):[...a,s.name&&s.name!==s.id?`${s.id}|${s.name}`:s.id];j(d=>({...d,modelIds:c.join(", ")}));const r=new Set(F.map(d=>d.id));I(new Set(c.map(J).filter(d=>r.has(d))))},[m.modelIds,F]),[Ds,Ye]=o.useState(!1),[Te,Qe]=o.useState(""),[We,ue]=o.useState([]),[Ss,Je]=o.useState(!1),[Xe,me]=o.useState(null),[pe,Ms]=o.useState(!1),[xe,Is]=o.useState(!0),Us=o.useCallback(()=>{Qe(""),ue([]),me(null),Ye(!0),se("",{reason:!1,tool:!0})},[]),se=o.useCallback(async(s,a)=>{Je(!0),me(null);try{const l=await b.models.catalogSearch({q:s,reasoning:(a==null?void 0:a.reason)??!1,toolCall:(a==null?void 0:a.tool)??!0,limit:30});l.success&&l.data?ue(l.data.hits||[]):(me(l.error||t("models.catalogSearchFailed")),ue([]))}catch(l){me(l instanceof Error?l.message:t("models.requestFailed")),ue([])}finally{Je(!1)}},[t]),As=o.useCallback(s=>{j(a=>{const l=a.modelIds.split(",").map(c=>c.trim()).filter(Boolean);return l.includes(s.model.id)?a:{...a,modelIds:[...l,s.model.id].join(", ")}}),T.success(t("models.addedModel",{id:s.model.id}))},[t]),[De,Ks]=o.useState(null),Es=o.useCallback(s=>{Qe(s),De&&clearTimeout(De),Ks(setTimeout(()=>{se(s,{reason:pe,tool:xe})},300))},[De,pe,xe,se]),$s=async s=>{const a=s.provider,l=s.id,c=s.enabled!==!1,r=s.name||l,d=i=>c&&/default model/i.test(i);try{const i=await b.models.toggle(a,l);if(i.success){await k();return}const u=i.error||"";d(u)?T.error(t("models.defaultModelDisableBlocked",{name:r})):T.error(u||t("models.operationFailed"))}catch(i){const u=i instanceof Error?i.message:"";d(u)?T.error(t("models.defaultModelDisableBlocked",{name:r})):T.error(u||t("models.operationFailed"))}},Fs=async s=>{const a=U(s);Ke(a);try{await b.models.test(s.id),await k()}finally{Ke(null)}},zs=async(s,a)=>{if(confirm(t("models.deleteModelConfirm",{id:a})))try{(await b.models.delete(s,a)).success&&await k()}catch{}},Ze=o.useCallback(s=>{var d;const a=M.find(i=>i.key===s),l=z.find(i=>i.key===s),c=!l||l.isCustom,r=(d=n==null?void 0:n.providers)==null?void 0:d[s];R(c?"custom":s),E(c?s:""),j({providerKey:s,apiKeys:"",modelIds:(a==null?void 0:a.models.map(i=>i.name&&i.name!==i.id?`${i.id}|${i.name}`:i.id).join(", "))||"",baseUrl:(a==null?void 0:a.baseUrl)||(r==null?void 0:r.baseUrl)||(l==null?void 0:l.baseUrl)||"",apiType:(a==null?void 0:a.apiType)||(r==null?void 0:r.apiType)||(l==null?void 0:l.apiType)||"",fullPath:(a==null?void 0:a.fullPath)===!0||(r==null?void 0:r.fullPath)===!0,setDefault:(n==null?void 0:n.defaultProvider)!==s,modelOverrides:Ue(a)}),H("form"),G(!0),$(null),X(!1),q([]),I(new Set),O(null),ee("")},[M,z,n]),Ls=s=>{Ze(s.provider)},Rs=async()=>{var ns,ds;const s=z.find(x=>x.key===D)||null,a=D==="custom"?m.providerKey.trim():(s==null?void 0:s.key)||"";if(!a){$(t("models.providerNameRequired"));return}const l=(m.apiKeys||"").split(/\r?\n|,/).map(x=>x.trim()).filter(Boolean),c=!!((ds=(ns=n==null?void 0:n.providers)==null?void 0:ns[a])!=null&&ds.hasApiKey);if(l.length===0&&!c){$(t("models.apiKeyRequired"));return}const r=s||{baseUrl:"",apiType:"openai-completions",defaultModel:""},d=l.map(x=>x.replace(/[^\x00-\xFF]/g,"")).filter(Boolean),i=F.length>0?new Set(F.map(x=>x.id)):null,u=(m.modelIds||r.defaultModel||"").split(",").map(x=>x.trim()).filter(Boolean),g=i?u.filter(x=>i.has(x.split("|")[0].trim())):u,p=i?u.filter(x=>!i.has(x.split("|")[0].trim())):[];p.length>0&&T.warning(t("models.autoSkippedMissingModels",{models:p.map(x=>x.split("|")[0].trim()).join(", ")}));const w=g.map(J).filter(Boolean),S=new Set;for(const x of P)x.provider!==a||w.includes(x.id)||(x.isGlobalDefault&&S.add("global"),x.isActDefault&&S.add("act"),x.isPlanDefault&&S.add("plan"),x.isGoalDefault&&S.add("goal"));const Se={provider:a,name:a,baseUrl:m.baseUrl||r.baseUrl,fullPath:m.fullPath===!0,apiType:m.apiType||rt(m.baseUrl||r.baseUrl)||r.apiType,models:g.map((x,be)=>{const A=x.trim().split("|").map(Gs=>Gs.trim()).filter(Boolean),K=A[0]||"",N=m.modelOverrides[K];return{id:K,name:A[1]||K,aliases:A.length>2?A.slice(2):void 0,enabled:!0,priority:10+be,...N!=null&&N.apiType?{apiType:N.apiType}:{},...N!=null&&N.baseUrl?{baseUrl:N.baseUrl}:{}}}).filter(x=>x.id.length>0)};d.length>0&&(Se.apiKeys=d),(!(n!=null&&n.configured)||m.setDefault)&&(Se.setDefault=!0),Fe(!0),$(null);try{const x=await b.config.provider.save(Se);if(x.success){if(S.size>0){const be=w[0]||"",A={};if(be){const K=`${a}:${be}`;for(const N of S)A[N]=K}else{const K=P.find(N=>N.provider!==a);for(const N of S)N==="plan"||N==="goal"?A[N]=null:K&&(A[N]=`${K.provider}:${K.id}`)}Object.keys(A).length>0&&(await b.models.setDefaults(A)).success&&T.success(t("models.defaultsAutoUpdated"))}G(!1),H("select"),R(null),E(""),await _(),await k()}else $(x.error||t("models.saveFailed"))}catch(x){$(x instanceof Error?x.message:t("models.unknownError"))}finally{Fe(!1)}},es=async s=>{if(confirm(t("models.removeConfirm",{providerKey:s})))try{await b.config.provider.delete(s),await _(),await k()}catch{}},Os=s=>{switch(s){case"online":return"text-accent-green";case"offline":return"text-dark-muted";case"error":return"text-accent-red";default:return"text-dark-muted"}},Bs=s=>{switch(s){case"online":return e.jsx(et,{size:14});case"offline":return e.jsx(us,{size:14});case"error":return e.jsx(Zs,{size:14});default:return e.jsx(us,{size:14})}},W=o.useMemo(()=>z.find(s=>s.key===D)||null,[D,z]);return ke?e.jsx("div",{className:"flex h-64 items-center justify-center text-dark-muted",children:t("models.loading")}):Q?e.jsx("div",{className:"flex h-64 items-center justify-center text-accent-red",children:Q}):e.jsx("div",{className:"ui-page flex-1 min-h-0",children:e.jsxs("div",{className:"ui-page-inner space-y-6",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsx("h2",{className:"text-base font-semibold",children:t("models.providerConfig")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:async()=>{try{await b.providers.refresh(),T.success(t("models.providerListRefreshed")),Le(!0),await C(),setTimeout(()=>{C()},3e3)}catch{T.error(t("models.refreshFailed"))}},className:"btn btn-secondary px-3 py-2 text-xs",title:t("models.refreshListTitle"),children:[e.jsx(te,{size:12}),t("models.refreshList")]}),e.jsxs("button",{onClick:()=>{re&&oe(""),Le(s=>!s)},className:"btn btn-accent px-3 py-2 text-xs",children:[re?e.jsx(Hs,{size:12}):e.jsx(Me,{size:12}),t(re?"models.collapse":"models.addProvider")]})]})]}),re&&e.jsxs("div",{children:[e.jsxs("div",{className:"relative mb-3 max-w-md",children:[e.jsx(ae,{size:13,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-dark-muted"}),e.jsx("input",{value:Z,onChange:s=>oe(s.target.value),className:"w-full pl-8 pr-8 py-1.5 text-xs bg-dark-bg border border-dark-border rounded focus:outline-none focus:border-accent-blue",placeholder:t("models.providerSearchPlaceholder")}),Z&&e.jsx("button",{onClick:()=>oe(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dark-muted hover:text-white",title:t("models.clear"),"aria-label":t("models.clearSearch"),children:e.jsx(cs,{size:13})})]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-3 max-h-[420px] overflow-y-auto custom-scrollbar pr-1",children:y?e.jsxs("div",{className:"col-span-full flex items-center justify-center py-4 text-dark-muted text-sm",children:[e.jsx(qs,{size:14,className:"mr-2 animate-spin"}),t("models.loadingProviders")]}):_e.length===0?e.jsxs("div",{className:"col-span-full border border-accent-red/30 bg-accent-red/10 rounded-lg p-4 text-center",children:[e.jsx("div",{className:"text-sm text-accent-red font-medium mb-1",children:t("models.noMatchingProviders")}),e.jsx("div",{className:"text-xs text-dark-muted mb-3",children:t("models.noMatchingProvidersHint",{query:Z})}),e.jsxs("div",{className:"flex items-center justify-center gap-2",children:[e.jsxs("button",{onClick:()=>oe(""),className:"inline-flex items-center gap-1 px-2.5 py-1 text-xs border border-dark-border rounded hover:bg-dark-hover",children:[e.jsx(cs,{size:12}),t("models.clearSearch")]}),e.jsxs("button",{onClick:Pe,className:"inline-flex items-center gap-1 px-2.5 py-1 text-xs bg-accent-blue text-white rounded hover:opacity-90",children:[e.jsx(Me,{size:12}),t("models.addCustomProvider")]})]})]}):_e.map(s=>{var d,i;const a=s.key==="custom",l=a?L:(d=n==null?void 0:n.providers)==null?void 0:d[s.key],c=l==null?void 0:l.hasApiKey,r=a?!!(n!=null&&n.defaultProvider)&&((L==null?void 0:L.keys)||[]).includes(n.defaultProvider):(n==null?void 0:n.defaultProvider)===s.key;return e.jsxs("div",{className:`ui-card-interactive text-left p-4 relative ${c?"border-accent-green/30 bg-dark-surface hover:border-accent-green/50":"border-dark-border bg-dark-surface hover:border-dark-hover"}`,children:[e.jsxs("div",{onClick:()=>s.key==="custom"?Pe():Ve(s),className:"cursor-pointer",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-sm font-medium",children:s.name}),c&&e.jsx(he,{size:14,className:"text-accent-green"})]}),e.jsxs("div",{className:"text-[10px] text-dark-muted space-y-0.5",children:[e.jsx("div",{className:"truncate",children:a?(l==null?void 0:l.baseUrl)||t("models.customBaseUrl"):s.baseUrl||t("models.customBaseUrl")}),e.jsx("div",{className:"truncate",children:a&&L?`${L.keys.join(", ")}`:s.defaultModel||t("models.noDefaultModel")}),e.jsxs("div",{children:[l?t("models.configuredCount",{n:l.modelCount}):t("models.availableCount",{n:((i=s.models)==null?void 0:i.length)||0}),s.models&&s.models.length>0&&!l&&e.jsx("span",{className:"text-accent-blue",children:" ✓"})]})]}),r&&e.jsx("div",{className:"mt-1 text-[10px] text-accent-blue",children:t("models.defaultProviderBadge")})]}),c&&s.key!=="custom"&&e.jsx("button",{onClick:u=>{u.stopPropagation(),es(s.key)},className:"absolute top-1.5 right-1.5 p-1 rounded text-dark-muted hover:bg-accent-red/10 hover:text-accent-red transition-colors",title:t("models.deleteProvider"),"aria-label":t("models.deleteProviderNamed",{name:s.name}),children:e.jsx(Ie,{size:13})})]},s.key)})})]})]}),h&&e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsx(ve,{title:t("models.overallStatus"),value:h.totalInstances===0?t("models.notConfigured"):h.overallStatus==="healthy"?t("models.healthy"):h.overallStatus==="degraded"?t("models.degraded"):t("models.abnormal"),color:h.totalInstances===0?"blue":h.overallStatus==="healthy"?"green":h.overallStatus==="degraded"?"yellow":"red"}),e.jsx(ve,{title:t("models.healthRate"),value:h.totalInstances===0?"N/A":`${(h.healthRate*100).toFixed(0)}%`,color:h.totalInstances===0?"blue":h.healthRate>.8?"green":h.healthRate>.5?"yellow":"red"}),e.jsx(ve,{title:t("models.onlineInstances"),value:h.totalInstances===0?t("models.none"):`${h.healthyInstances}/${h.totalInstances}`,color:h.healthyInstances>0?"green":"red"}),e.jsx(ve,{title:t("models.totalRequests"),value:h.totalRequests>0?h.totalRequests.toLocaleString():"0",color:"blue"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"flex items-center justify-between mb-3",children:e.jsx("h3",{className:"text-sm font-medium",children:t("models.configuredModels")})}),e.jsxs("div",{className:"space-y-4 max-h-[640px] overflow-y-auto custom-scrollbar pr-1",children:[ks.map(s=>{var c;const a=M.find(r=>r.key===s.provider),l=(c=n==null?void 0:n.providers)==null?void 0:c[s.provider];return e.jsxs("div",{className:"rounded-lg border border-dark-border overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-2 bg-dark-bg border-b border-dark-border",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-wrap",children:[e.jsx("span",{className:"text-xs font-semibold whitespace-nowrap",children:s.provider}),(n==null?void 0:n.defaultProvider)===s.provider&&e.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-accent-blue/20 text-accent-blue whitespace-nowrap",children:t("models.defaultShort")}),e.jsx("span",{className:"text-[10px] text-dark-muted truncate",children:(l==null?void 0:l.baseUrl)||(a==null?void 0:a.baseUrl)||""}),e.jsx("span",{className:"text-[10px] text-dark-muted whitespace-nowrap",children:(a==null?void 0:a.apiType)||(l==null?void 0:l.apiType)||""}),l!=null&&l.hasApiKey||a!=null&&a.hasApiKey?e.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-accent-green/20 text-accent-green whitespace-nowrap",children:t("models.hasKey")}):e.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-accent-red/20 text-accent-red whitespace-nowrap",children:t("models.noKey")})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx("button",{onClick:()=>Ze(s.provider),className:"p-1.5 rounded hover:bg-accent-blue/10 text-dark-muted hover:text-accent-blue",title:t("models.editProviderNamed",{name:s.provider}),children:e.jsx(is,{size:13})}),e.jsx("button",{onClick:()=>es(s.provider),className:"p-1.5 rounded hover:bg-accent-red/10 text-dark-muted hover:text-accent-red",title:t("models.deleteProviderNamed",{name:s.provider}),children:e.jsx(Ie,{size:13})})]})]}),e.jsxs("div",{className:"space-y-2 p-2 bg-dark-surface/40",children:[s.models.map(r=>{const d=ys(r),i=d.inputTokens+d.outputTokens,u=a==null?void 0:a.models.find(p=>p.id===r.id),g=!!(u!=null&&u.apiType&&u.apiType!==(a==null?void 0:a.apiType));return e.jsx("div",{className:`bg-dark-surface border rounded-lg p-3 ${r.status==="online"?"border-accent-green":"border-dark-border"} ${r.enabled===!1?"opacity-60":""}`,children:e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[e.jsx("span",{className:Os(r.status),children:Bs(r.status)}),e.jsx("span",{className:"font-medium text-sm",children:r.name}),e.jsx("span",{className:"text-[10px] text-dark-muted px-1.5 py-0.5 bg-dark-bg rounded",children:r.provider}),r.apiType&&e.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${r.apiType==="anthropic-messages"||r.apiType==="openai-responses"?"bg-accent-purple/20 text-accent-purple":"bg-accent-blue/20 text-accent-blue"}`,children:fe[r.apiType]||r.apiType}),g&&e.jsx("span",{className:"text-[9px] px-1 py-0.5 rounded bg-accent-yellow/20 text-accent-yellow font-medium",title:t("models.overrideTitle"),children:t("models.overrideBadge")}),r.isGlobalDefault&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-green/20 text-accent-green font-medium",children:t("models.globalDefault")}),r.isPlanDefault&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-blue/20 text-accent-blue font-medium",children:t("models.planDefault")}),r.isActDefault&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-yellow/20 text-accent-yellow font-medium",children:t("models.actDefault")}),r.isGoalDefault&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-accent-purple/20 text-accent-purple font-medium",children:t("models.goalDefault")})]}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-3 text-xs",children:[e.jsx(ye,{label:t("models.loadLabel"),value:`${r.load}/${r.maxLoad}`}),e.jsx(ye,{label:"Token",value:`${r.tokens}/${r.maxTokens}`}),e.jsx(ye,{label:t("models.inputPrice"),value:`$${r.price.input}/1K`}),e.jsx(ye,{label:t("models.outputPrice"),value:`$${r.price.output}/1K`})]}),e.jsxs("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-4 gap-3 items-end",children:[e.jsx(xs,{label:t("models.inputTokensLabel"),value:d.inputTokens,onChange:p=>qe(r,"inputTokens",p)}),e.jsx(xs,{label:t("models.outputTokensLabel"),value:d.outputTokens,onChange:p=>qe(r,"outputTokens",p)}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] text-dark-muted mb-1",children:t("models.totalTokensLabel")}),e.jsx("div",{className:"px-3 py-2 rounded border border-dark-border bg-dark-bg text-sm font-mono",children:i.toLocaleString()})]}),e.jsxs("button",{onClick:()=>js(r),className:"inline-flex items-center justify-center gap-1.5 px-3 py-2 rounded border border-dark-border text-sm text-dark-muted hover:bg-dark-hover",children:[e.jsx(_s,{size:13}),t("models.reset")]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[!r.isGlobalDefault&&r.enabled!==!1&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({global:`${r.provider}:${r.id}`}),await k()}catch(p){f(p instanceof Error?p.message:t("models.setGlobalDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-accent-green/30 text-accent-green hover:bg-accent-green/10",title:t("models.setGlobalDefaultTitle"),children:t("models.globalDefault")}),!r.isPlanDefault&&r.enabled!==!1&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({plan:`${r.provider}:${r.id}`}),await k()}catch(p){f(p instanceof Error?p.message:t("models.setPlanDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-accent-blue/30 text-accent-blue hover:bg-accent-blue/10",title:t("models.setPlanDefaultTitle"),children:t("models.planDefault")}),r.isPlanDefault&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({plan:null}),await k()}catch(p){f(p instanceof Error?p.message:t("models.unsetPlanDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-dark-border text-dark-muted hover:bg-dark-hover",title:t("models.unsetPlanDefaultTitle"),children:t("models.unsetPlanDefault")}),!r.isActDefault&&r.enabled!==!1&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({act:`${r.provider}:${r.id}`}),await k()}catch(p){f(p instanceof Error?p.message:t("models.setActDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-accent-yellow/30 text-accent-yellow hover:bg-accent-yellow/10",title:t("models.setActDefaultTitle"),children:t("models.actDefault")}),r.isActDefault&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({act:null}),await k()}catch(p){f(p instanceof Error?p.message:t("models.unsetActDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-dark-border text-dark-muted hover:bg-dark-hover",title:t("models.unsetActDefaultTitle"),children:t("models.unsetActDefault")}),!r.isGoalDefault&&r.enabled!==!1&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({goal:`${r.provider}:${r.id}`}),await k()}catch(p){f(p instanceof Error?p.message:t("models.setGoalDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-accent-purple/30 text-accent-purple hover:bg-accent-purple/10",title:t("models.setGoalDefaultTitle"),children:t("models.goalDefault")}),r.isGoalDefault&&e.jsx("button",{onClick:async()=>{try{await b.models.setDefaults({goal:null}),await k()}catch(p){f(p instanceof Error?p.message:t("models.unsetGoalDefaultFailed"))}},className:"px-2 py-1 rounded text-[10px] border border-dark-border text-dark-muted hover:bg-dark-hover",title:t("models.unsetGoalDefaultTitle"),children:t("models.unsetGoalDefault")}),e.jsx("button",{onClick:()=>Ls(r),className:"p-1.5 rounded hover:bg-accent-blue/10 text-dark-muted hover:text-accent-blue",title:t("models.editModel"),children:e.jsx(is,{size:13})}),e.jsx("button",{onClick:()=>zs(r.provider,r.id),className:"p-1.5 rounded hover:bg-accent-red/10 text-dark-muted hover:text-accent-red",title:t("models.deleteModel"),children:e.jsx(Ie,{size:13})}),e.jsx("button",{onClick:()=>Fs(r),disabled:Ae===U(r),className:"p-1.5 rounded hover:bg-dark-hover disabled:opacity-50",title:t("models.refresh"),children:e.jsx(te,{size:13,className:Ae===U(r)?"animate-spin":""})}),e.jsx("button",{onClick:()=>$s(r),className:`px-2 py-0.5 rounded text-xs transition-colors ${r.enabled===!1?"bg-accent-green/20 text-accent-green hover:bg-accent-green/30":"bg-accent-red/20 text-accent-red hover:bg-accent-red/30"}`,children:r.enabled===!1?t("models.enable"):t("models.disable")})]})]})},U(r))}),s.models.length===0&&e.jsx("div",{className:"text-center text-[11px] text-dark-muted py-3",children:t("models.noModelsInProvider")})]})]},s.provider)}),P.length===0&&M.length===0&&e.jsxs("div",{className:"text-center text-dark-muted py-6",children:[e.jsx(Vs,{size:36,className:"mx-auto mb-2 opacity-40"}),e.jsx("p",{className:"text-sm",children:t("models.emptyHint")})]})]})]}),e.jsx(ms,{isOpen:fs,onClose:()=>{G(!1),H("select"),R(null),E("")},title:Ee==="select"?t("models.selectProvider"):(W==null?void 0:W.name)||t("models.providerConfig"),size:"xl",children:Ee==="select"?e.jsx("div",{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[ie.filter(s=>s.key!=="custom").map(s=>e.jsxs("button",{onClick:()=>Ve(s),className:"text-left p-3 rounded-lg border border-dark-border bg-dark-bg hover:border-accent-blue transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(he,{size:14,className:"text-accent-blue"}),e.jsx("span",{className:"text-sm font-medium",children:s.name})]}),e.jsx("div",{className:"text-xs text-dark-muted",children:s.defaultModel})]},s.key)),e.jsxs("button",{onClick:Pe,className:"text-left p-3 rounded-lg border border-dashed border-dark-border bg-dark-bg hover:border-accent-blue transition-colors",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(Ys,{size:14,className:"text-accent-blue"}),e.jsx("span",{className:"text-sm font-medium",children:t("models.customProvider")})]}),e.jsx("div",{className:"text-xs text-dark-muted",children:t("models.customProviderDesc")})]})]})}):e.jsxs("div",{className:"space-y-3",children:[D==="custom"&&e.jsxs("div",{className:"space-y-3",children:[L&&L.keys.length>0&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm text-dark-muted mb-1",children:t("models.editExistingConfig")}),e.jsxs("select",{value:gs,onChange:s=>{const a=s.target.value;a?Ns(a):(E(""),j(l=>({...l,providerKey:"",modelIds:"",baseUrl:"",apiType:"",apiKeys:""})))},className:"w-full px-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue",children:[e.jsx("option",{value:"",children:t("models.newCustomProviderOption")}),L.keys.map(s=>e.jsx("option",{value:s,children:s},s))]}),e.jsx("div",{className:"text-[11px] text-dark-muted/60 mt-1",children:t("models.editExistingConfigHint")})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm text-dark-muted mb-1",children:t("models.providerNameLabel")}),e.jsx("input",{value:m.providerKey,onChange:s=>j(a=>({...a,providerKey:s.target.value})),className:"w-full px-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue",placeholder:t("models.providerNamePlaceholder")})]})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm text-dark-muted mb-1",children:["API Keys",(ts=(ss=n==null?void 0:n.providers)==null?void 0:ss[D==="custom"?m.providerKey.trim():D||""])!=null&&ts.hasApiKey?"":" *",e.jsx("span",{className:"text-dark-muted/60 text-xs",children:(ls=(as=n==null?void 0:n.providers)==null?void 0:as[D==="custom"?m.providerKey.trim():D||""])!=null&&ls.hasApiKey?t("models.apiKeysHintConfigured"):t("models.apiKeysHintNew")})]}),e.jsxs("div",{className:"relative",children:[e.jsx("textarea",{rows:3,value:m.apiKeys,onChange:s=>j(a=>({...a,apiKeys:s.target.value})),className:"w-full px-3 py-2 pr-10 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue resize-y custom-scrollbar",placeholder:t("models.apiKeyMultiPlaceholder")}),e.jsx("button",{onClick:()=>X(s=>!s),className:"absolute right-2 top-2 text-dark-muted hover:text-white",children:vs?e.jsx(Qs,{size:14}):e.jsx(Ws,{size:14})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm text-dark-muted mb-1",children:t("models.modelIdLabel")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{value:m.modelIds,onChange:s=>{const a=s.target.value;j(l=>({...l,modelIds:a})),I(()=>{const l=new Set;for(const c of a.split(",")){const r=c.trim().split("|")[0].trim();r&&F.some(d=>d.id===r)&&l.add(r)}return l})},className:"flex-1 px-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue",placeholder:(W==null?void 0:W.defaultModel)||t("models.modelIdPlaceholder")}),e.jsxs("button",{onClick:ws,disabled:Ne||!m.baseUrl,className:"inline-flex items-center gap-1 px-3 py-2 rounded text-sm border border-accent-blue/30 text-accent-blue hover:bg-accent-blue/10 disabled:opacity-50 whitespace-nowrap",title:t("models.fetchModelsTitle"),children:[Ne?e.jsx(te,{size:13,className:"animate-spin"}):e.jsx(Js,{size:13}),t(Ne?"models.fetchingModels":"models.fetchModels")]}),e.jsxs("button",{onClick:Cs,disabled:we||!m.baseUrl,className:"inline-flex items-center gap-1 px-3 py-2 rounded text-sm border border-accent-yellow/30 text-accent-yellow hover:bg-accent-yellow/10 disabled:opacity-50 whitespace-nowrap",title:t("models.testConnectionTitle"),children:[we?e.jsx(te,{size:13,className:"animate-spin"}):e.jsx(Xs,{size:13}),t(we?"models.testingConnection":"models.testConnection")]}),e.jsxs("button",{onClick:Us,className:"inline-flex items-center gap-1 px-3 py-2 rounded text-sm border border-accent-green/30 text-accent-green hover:bg-accent-green/10 whitespace-nowrap",title:t("models.catalogSearchTitle"),children:[e.jsx(ae,{size:13}),t("models.catalogSearch")]})]}),ce&&e.jsxs("div",{className:`mt-1 text-xs ${ce.ok?"text-accent-green":"text-accent-red"}`,children:[ce.ok?"✓ ":"✗ ",ce.message]}),Ge&&e.jsx("div",{className:"mt-1 text-xs text-accent-red",children:Ge}),F.length===0&&Ce.length>0&&e.jsxs("div",{className:"mt-2 border border-dark-border rounded-lg bg-dark-bg p-2",children:[e.jsx("div",{className:"flex items-center justify-between mb-2",children:e.jsxs("span",{className:"text-xs text-dark-muted",children:[t("models.configuredPanelPrefix"),e.jsx("strong",{className:"text-dark-text",children:Ce.length}),t("models.configuredPanelSuffix"),e.jsx("span",{className:"text-accent-green/70",children:t("models.configuredPanelHint")})]})}),e.jsx("div",{className:"max-h-48 overflow-y-auto custom-scrollbar grid grid-cols-2 sm:grid-cols-3 gap-1",children:Ce.map(s=>{const a=m.modelIds.split(",").map(J).filter(Boolean).includes(s.id);return e.jsxs("div",{role:"checkbox","aria-checked":a,tabIndex:-1,onMouseDown:l=>l.preventDefault(),onClick:()=>Ts(s),className:`flex items-center gap-1.5 px-2 py-1 rounded cursor-pointer text-xs transition-colors select-none ${a?"bg-accent-green/20 text-accent-green border border-accent-green/30":"hover:bg-dark-hover border border-transparent"}`,children:[a?e.jsx(he,{size:10}):e.jsx("div",{className:"w-2.5 h-2.5 rounded border border-dark-border"}),e.jsx("span",{className:"truncate",children:s.name||s.id}),s.isGlobalDefault&&e.jsx("span",{className:"text-[9px] px-1 rounded bg-accent-green/20 shrink-0",children:t("models.globalShort")}),s.isPlanDefault&&e.jsx("span",{className:"text-[9px] px-1 rounded bg-accent-blue/20 shrink-0",children:"Plan"}),s.isActDefault&&e.jsx("span",{className:"text-[9px] px-1 rounded bg-accent-yellow/20 shrink-0",children:"Act"}),s.isGoalDefault&&e.jsx("span",{className:"text-[9px] px-1 rounded bg-accent-purple/20 shrink-0",children:"Goal"})]},s.id)})})]}),F.length>0&&e.jsxs("div",{className:"mt-2 border border-dark-border rounded-lg bg-dark-bg p-2",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("span",{className:"text-xs text-dark-muted",children:[t("models.fetchedPanelPrefix"),e.jsx("strong",{className:"text-dark-text",children:F.length}),t("models.fetchedPanelMiddle"),e.jsx("strong",{className:"text-accent-blue",children:ne.size}),t("models.fetchedPanelSuffix"),e.jsx("span",{className:"text-accent-blue/70",children:t("models.fetchedPanelHint")})]}),e.jsx("button",{onClick:()=>{q([]),I(new Set)},className:"px-2 py-0.5 text-[10px] border border-dark-border rounded hover:bg-dark-hover",children:t("models.close")})]}),e.jsxs("div",{className:"relative mb-2",children:[e.jsx(ae,{size:12,className:"absolute left-2 top-1/2 -translate-y-1/2 text-dark-muted"}),e.jsx("input",{value:de,onChange:s=>ee(s.target.value),className:"w-full pl-7 pr-2 py-1 text-xs bg-dark-bg border border-dark-border rounded focus:outline-none focus:border-accent-blue",placeholder:t("models.modelSearchPlaceholder")})]}),e.jsx("div",{className:"max-h-48 overflow-y-auto custom-scrollbar grid grid-cols-2 sm:grid-cols-3 gap-1",children:F.filter(s=>!de||s.id.toLowerCase().includes(de.toLowerCase())||s.name.toLowerCase().includes(de.toLowerCase())).map(s=>{const a=ne.has(s.id);return e.jsxs("div",{role:"checkbox","aria-checked":a,tabIndex:-1,onMouseDown:l=>l.preventDefault(),onClick:()=>Ps(s.id),className:`flex items-center gap-1.5 px-2 py-1 rounded cursor-pointer text-xs transition-colors select-none ${a?"bg-accent-blue/20 text-accent-blue border border-accent-blue/30":"hover:bg-dark-hover border border-transparent"}`,children:[a?e.jsx(he,{size:10}):e.jsx("div",{className:"w-2.5 h-2.5 rounded border border-dark-border"}),e.jsx("span",{className:"truncate",children:s.id})]},s.id)})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm text-dark-muted mb-1",children:"Base URL"}),e.jsx("input",{value:m.baseUrl,onChange:s=>{j(a=>({...a,baseUrl:s.target.value})),B(null)},className:"w-full px-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue",placeholder:"https://api.example.com/v1"}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none mt-2",children:[e.jsx("button",{type:"button",role:"switch","aria-checked":m.fullPath,onClick:()=>{j(s=>({...s,fullPath:!s.fullPath})),B(null)},className:`relative w-9 h-5 rounded-full transition-colors shrink-0 ${m.fullPath?"bg-accent-green":"bg-dark-border"}`,children:e.jsx("span",{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${m.fullPath?"translate-x-[18px]":"translate-x-0.5"}`})}),e.jsx("span",{className:"text-sm text-dark-muted",children:t("models.fullPathLabel")})]}),e.jsx("div",{className:"text-[11px] text-dark-muted/60 mt-1",children:t("models.fullPathHint")})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm text-dark-muted mb-1",children:t("models.apiTypeLabel")}),e.jsxs("select",{value:m.apiType,onChange:s=>{j(a=>({...a,apiType:s.target.value})),B(null)},className:"w-full px-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-blue",children:[e.jsx("option",{value:"",children:t("models.apiTypeAutoDetect")}),ps.map(s=>e.jsx("option",{value:s,children:fe[s]},s))]}),e.jsx("div",{className:"text-[11px] text-dark-muted/60 mt-1",children:t("models.apiTypeHint")})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm text-dark-muted mb-1",children:[t("models.modelApiTypeLabel"),e.jsx("span",{className:"text-dark-muted/60 text-xs",children:t("models.modelApiTypeHint")})]}),e.jsx("div",{className:"border border-dark-border rounded-lg divide-y divide-dark-border max-h-40 overflow-y-auto custom-scrollbar",children:(()=>{const s=m.modelIds.split(",").map(J).filter(Boolean);return s.length===0?e.jsx("div",{className:"px-3 py-2 text-xs text-dark-muted",children:t("models.modelApiTypeEmpty")}):s.map(a=>{var l;return e.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[e.jsx("span",{className:"text-xs truncate min-w-0",children:a}),e.jsxs("select",{value:((l=m.modelOverrides[a])==null?void 0:l.apiType)||"",onChange:c=>j(r=>({...r,modelOverrides:{...r.modelOverrides,[a]:{...r.modelOverrides[a]||{},apiType:c.target.value}}})),className:"w-52 px-2 py-1 text-xs bg-dark-bg border border-dark-border rounded focus:outline-none focus:border-accent-blue",children:[e.jsx("option",{value:"",children:"继承 Provider(默认)"}),ps.map(c=>e.jsx("option",{value:c,children:fe[c]},c))]})]},a)})})()})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:m.setDefault,onChange:s=>j(a=>({...a,setDefault:s.target.checked})),className:"accent-accent-blue"}),e.jsx("span",{className:"text-sm text-dark-muted",children:t("models.setDefaultProvider")})]}),ze&&e.jsx("div",{className:"text-sm text-accent-red",children:ze}),e.jsxs("div",{className:"flex justify-between gap-2 pt-2",children:[e.jsx("div",{children:V&&((os=(rs=n==null?void 0:n.providers)==null?void 0:rs[V])==null?void 0:os.hasApiKey)&&e.jsx("button",{onClick:async()=>{if(confirm(t("models.deleteProviderConfirm",{key:V})))try{await b.config.provider.delete(V),G(!1),H("select"),R(null),E(""),await _(),await k()}catch{}},className:"px-4 py-2 rounded border border-accent-red/30 text-accent-red hover:bg-accent-red/10 transition-colors text-sm",children:t("models.deleteProvider")})}),e.jsx("button",{onClick:()=>{H("select"),R(null),E(""),G(!1)},className:"px-4 py-2 rounded border border-dark-border hover:bg-dark-hover transition-colors text-sm",children:t("common.cancel")}),e.jsx("button",{onClick:Rs,disabled:$e,className:"px-4 py-2 bg-accent-blue text-white rounded hover:bg-accent-blue/80 transition-colors text-sm disabled:opacity-50",children:t($e?"common.saving":"common.save")})]})]})}),e.jsx(ms,{isOpen:Ds,onClose:()=>Ye(!1),title:e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(ae,{size:15,className:"text-accent-green"}),t("models.catalogTitle")]}),size:"2xl",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ae,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-dark-muted"}),e.jsx("input",{value:Te,onChange:s=>Es(s.target.value),className:"w-full pl-9 pr-3 py-2 bg-dark-bg border border-dark-border rounded text-sm focus:outline-none focus:border-accent-green",placeholder:t("models.catalogSearchPlaceholder"),autoFocus:!0})]}),e.jsxs("label",{className:"inline-flex items-center gap-1.5 text-xs text-dark-muted whitespace-nowrap cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:xe,onChange:s=>{const a=s.target.checked;Is(a),se(Te,{reason:pe,tool:a})},className:"accent-accent-green"}),t("models.catalogOnlyToolCall")]}),e.jsxs("label",{className:"inline-flex items-center gap-1.5 text-xs text-dark-muted whitespace-nowrap cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:pe,onChange:s=>{const a=s.target.checked;Ms(a),se(Te,{reason:a,tool:xe})},className:"accent-accent-green"}),t("models.catalogOnlyReasoning")]})]}),Xe&&e.jsx("div",{className:"text-xs text-accent-red bg-accent-red/10 p-2 rounded",children:Xe}),Ss?e.jsxs("div",{className:"flex items-center justify-center py-10 text-dark-muted",children:[e.jsx(te,{size:18,className:"animate-spin mr-2"})," ",t("models.searching")]}):e.jsx("div",{className:"max-h-96 overflow-y-auto custom-scrollbar border border-dark-border rounded-lg divide-y divide-dark-border",children:We.length===0?e.jsx("div",{className:"py-10 text-center text-dark-muted text-sm",children:t("models.catalogNoResults")}):We.map(s=>{var a,l,c;return e.jsxs("div",{className:"flex items-center gap-3 px-3 py-2 hover:bg-dark-hover",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-dark-text truncate",children:s.model.name||s.model.id}),e.jsx("code",{className:"text-[10px] px-1.5 py-0.5 bg-dark-bg border border-dark-border rounded text-dark-muted truncate",children:s.model.id}),s.model.reasoning&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-accent-yellow/10 text-accent-yellow rounded",children:t("models.badgeReasoning")}),s.model.tool_call&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-accent-blue/10 text-accent-blue rounded",children:t("models.badgeToolCall")}),s.model.attachment&&e.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-accent-green/10 text-accent-green rounded",children:t("models.badgeMultimodal")})]}),e.jsxs("div",{className:"text-[11px] text-dark-muted mt-0.5",children:[s.providerName,(a=s.model.limit)!=null&&a.context?` · ${t("models.ctxLimit",{k:(s.model.limit.context/1e3).toFixed(0)})}`:"",(l=s.model.limit)!=null&&l.output?` · ${t("models.outLimit",{k:(s.model.limit.output/1e3).toFixed(0)})}`:"",((c=s.model.cost)==null?void 0:c.input)!==void 0?` · $${s.model.cost.input}/M in / $${s.model.cost.output}/M out`:""]})]}),e.jsxs("button",{onClick:()=>As(s),className:"shrink-0 inline-flex items-center gap-1 px-2.5 py-1 text-xs border border-accent-green/30 text-accent-green rounded hover:bg-accent-green/10 whitespace-nowrap",title:t("models.catalogAddTitle"),children:[e.jsx(Me,{size:12})," ",t("models.add")]})]},`${s.providerId}:${s.model.id}`)})}),e.jsx("div",{className:"text-[11px] text-dark-muted/60",children:t("models.catalogSourceHint")})]})})]})})}function ve({title:v,value:y,color:C}){const t={green:"bg-accent-green/10 text-accent-green",yellow:"bg-accent-yellow/10 text-accent-yellow",red:"bg-accent-red/10 text-accent-red",blue:"bg-accent-blue/10 text-accent-blue"};return e.jsxs("div",{className:`${t[C]} rounded-lg p-3`,children:[e.jsx("div",{className:"text-xs opacity-70",children:v}),e.jsx("div",{className:"text-xl font-semibold",children:y})]})}function ye({label:v,value:y}){return e.jsxs("div",{children:[e.jsx("div",{className:"text-dark-muted",children:v}),e.jsx("div",{children:y})]})}function xs({label:v,value:y,onChange:C}){return e.jsxs("div",{children:[e.jsx("label",{className:"block text-[11px] text-dark-muted mb-1",children:v}),e.jsx("input",{type:"number",min:"0",value:y,onChange:t=>C(parseInt(t.target.value,10)||0),className:"w-full px-3 py-2 rounded border border-dark-border bg-dark-bg text-sm focus:outline-none focus:border-accent-blue"})]})}export{mt as ModelsView,mt as default};