agentstudio 0.4.2 → 0.4.3

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 (280) hide show
  1. package/config/engineConfig.d.ts +15 -0
  2. package/config/engineConfig.d.ts.map +1 -1
  3. package/config/engineConfig.js +30 -0
  4. package/config/engineConfig.js.map +1 -1
  5. package/config/index.d.ts.map +1 -1
  6. package/config/index.js +14 -0
  7. package/config/index.js.map +1 -1
  8. package/config/paths.d.ts +5 -0
  9. package/config/paths.d.ts.map +1 -1
  10. package/config/paths.js +6 -1
  11. package/config/paths.js.map +1 -1
  12. package/engines/claude/__tests__/supportedModels.test.d.ts +6 -4
  13. package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -1
  14. package/engines/claude/__tests__/supportedModels.test.js +55 -13
  15. package/engines/claude/__tests__/supportedModels.test.js.map +1 -1
  16. package/engines/claude/aguiAdapter.d.ts.map +1 -1
  17. package/engines/claude/aguiAdapter.js +8 -0
  18. package/engines/claude/aguiAdapter.js.map +1 -1
  19. package/engines/claude/claudeEngine.d.ts +36 -3
  20. package/engines/claude/claudeEngine.d.ts.map +1 -1
  21. package/engines/claude/claudeEngine.js +132 -13
  22. package/engines/claude/claudeEngine.js.map +1 -1
  23. package/index.d.ts.map +1 -1
  24. package/index.js +29 -2
  25. package/index.js.map +1 -1
  26. package/middleware/callChain.d.ts +10 -0
  27. package/middleware/callChain.d.ts.map +1 -0
  28. package/middleware/callChain.js +24 -0
  29. package/middleware/callChain.js.map +1 -0
  30. package/middleware/requestId.d.ts +8 -0
  31. package/middleware/requestId.d.ts.map +1 -0
  32. package/middleware/requestId.js +18 -0
  33. package/middleware/requestId.js.map +1 -0
  34. package/package.json +1 -1
  35. package/prompts/gameDevSystemPrompt.d.ts +15 -0
  36. package/prompts/gameDevSystemPrompt.d.ts.map +1 -0
  37. package/prompts/gameDevSystemPrompt.js +37 -0
  38. package/prompts/gameDevSystemPrompt.js.map +1 -0
  39. package/prompts/vibeGamingPrompt.d.ts +13 -0
  40. package/prompts/vibeGamingPrompt.d.ts.map +1 -0
  41. package/prompts/vibeGamingPrompt.js +125 -0
  42. package/prompts/vibeGamingPrompt.js.map +1 -0
  43. package/public/assets/{AgentsPage-BsZdkqzM.js → AgentsPage-CHee5mUh.js} +1 -1
  44. package/public/assets/{Button-CMTSYiKV.js → Button-D5qiS7CR.js} +1 -1
  45. package/public/assets/ChatPage-B7-rn9mH.js +478 -0
  46. package/public/assets/{CommandForm-DwGvE9A_.js → CommandForm-CMfgHNm5.js} +1 -1
  47. package/public/assets/{CommandsPage-qDWzq8xp.js → CommandsPage-B4rjtVWk.js} +1 -1
  48. package/public/assets/{CursorConfigPage-DpUdJzRi.js → CursorConfigPage-DQ-3b3ti.js} +1 -1
  49. package/public/assets/{DashboardPage-BhqKOzob.js → DashboardPage-BowdW2Xj.js} +1 -1
  50. package/public/assets/{EngineGate-BjHJu955.js → EngineGate-DYNvEEbW.js} +1 -1
  51. package/public/assets/{FileBrowser-DboOOM_v.js → FileBrowser-DHyCacM6.js} +1 -1
  52. package/public/assets/{FileExplorer-x5R0Tcmk.js → FileExplorer-BprfeAH_.js} +1 -1
  53. package/public/assets/GeneralSettingsPage-C6hJ_zTw.js +1 -0
  54. package/public/assets/{HooksPage-DDGc0GGV.js → HooksPage-BwE2Zm3X.js} +1 -1
  55. package/public/assets/{LandingPage-CvY4n9Rh.js → LandingPage-DKvwbGX1.js} +1 -1
  56. package/public/assets/{LoginPage-C-PZfjYC.js → LoginPage-BpZhqRAN.js} +1 -1
  57. package/public/assets/{McpAdminSettingsPage-CIILVzB8.js → McpAdminSettingsPage-DuvsM5TX.js} +1 -1
  58. package/public/assets/{McpPage-B4nQUJag.js → McpPage-Hu8vyMhX.js} +1 -1
  59. package/public/assets/{MemorySettingsPage-eu6tsuUh.js → MemorySettingsPage-gIWSsrES.js} +1 -1
  60. package/public/assets/{ModelsPage-Bb5vSsuc.js → ModelsPage-Cosb3hHI.js} +1 -1
  61. package/public/assets/PluginsPage-CuNui9NV.js +12 -0
  62. package/public/assets/{ProjectSelector-CybrDbBY.js → ProjectSelector-CyBlHb2H.js} +1 -1
  63. package/public/assets/{ProjectsPage-DRl-0B4G.js → ProjectsPage-DYhCvH07.js} +1 -1
  64. package/public/assets/{RulesPage-DUt33RkX.js → RulesPage-C32P_Aqz.js} +1 -1
  65. package/public/assets/{ScheduledTasksPage-CTDYYRIN.js → ScheduledTasksPage-ixn5qoiD.js} +1 -1
  66. package/public/assets/SettingsLayout-C_7jR0Te.js +1 -0
  67. package/public/assets/{SkillsPage-Lzw8I9vR.js → SkillsPage-C-WS4N1Y.js} +1 -1
  68. package/public/assets/{SubagentForm-BzzeWg0W.js → SubagentForm-BbxljQUp.js} +1 -1
  69. package/public/assets/{SubagentsPage-bX2XWdJ0.js → SubagentsPage-D66TBaeN.js} +1 -1
  70. package/public/assets/{SystemInfoPage-nEIQbtwG.js → SystemInfoPage-DXVUncTe.js} +1 -1
  71. package/public/assets/{TelemetrySettingsPage-q167I4G9.js → TelemetrySettingsPage-Cp3vOu7X.js} +1 -1
  72. package/public/assets/{ToastTestPage-j224d3QR.js → ToastTestPage-03up9yZR.js} +1 -1
  73. package/public/assets/{ToolsList-CTsQr53G.js → ToolsList-BZFBEuvQ.js} +1 -1
  74. package/public/assets/UnifiedToolSelector-DJN7ASu1.js +1 -0
  75. package/public/assets/{VersionSettingsPage-BwpwiLyl.js → VersionSettingsPage-DppWaX--.js} +1 -1
  76. package/public/assets/{VoiceSettingsPage-d3l9AWBn.js → VoiceSettingsPage-BWJLeedX.js} +1 -1
  77. package/public/assets/{WebSocketTunnelPage-BqEUE7mr.js → WebSocketTunnelPage-BPeSTgEZ.js} +1 -1
  78. package/public/assets/{_basePickBy-DHabY031.js → _basePickBy-0UeYrifO.js} +1 -1
  79. package/public/assets/{_baseUniq-B1lmu3qr.js → _baseUniq-Q0NUbuSr.js} +1 -1
  80. package/public/assets/{agents-KlPdWQ8K.js → agents-DR9EZMs5.js} +1 -1
  81. package/public/assets/{arc-6sRLTBcr.js → arc-BV8erW1-.js} +1 -1
  82. package/public/assets/{architectureDiagram-VXUJARFQ-kwdTmjuB.js → architectureDiagram-VXUJARFQ-BIodTu6s.js} +1 -1
  83. package/public/assets/{blockDiagram-VD42YOAC-CYO9EYkJ.js → blockDiagram-VD42YOAC-4H3KjsGf.js} +1 -1
  84. package/public/assets/{c4Diagram-YG6GDRKO-gAp3--Ee.js → c4Diagram-YG6GDRKO-J2ovCYEr.js} +1 -1
  85. package/public/assets/channel-gveiJv4S.js +1 -0
  86. package/public/assets/{chunk-4BX2VUAB-DQVsL-J6.js → chunk-4BX2VUAB-D7Mc44O6.js} +1 -1
  87. package/public/assets/{chunk-55IACEB6-DVsfnY5X.js → chunk-55IACEB6-CMASo37Z.js} +1 -1
  88. package/public/assets/{chunk-B4BG7PRW-BNmOvuIn.js → chunk-B4BG7PRW-2T3W2IB6.js} +1 -1
  89. package/public/assets/{chunk-DI55MBZ5-BkucWe8Y.js → chunk-DI55MBZ5-FR9qswmO.js} +1 -1
  90. package/public/assets/{chunk-FMBD7UC4-BsvfEdnB.js → chunk-FMBD7UC4-Bz2LO9q3.js} +1 -1
  91. package/public/assets/{chunk-QN33PNHL-DSecsNtM.js → chunk-QN33PNHL-D7mfK9Pm.js} +1 -1
  92. package/public/assets/{chunk-QZHKN3VN-DhvrZSqy.js → chunk-QZHKN3VN-AkuNbqQU.js} +1 -1
  93. package/public/assets/{chunk-TZMSLE5B-BqQ674GC.js → chunk-TZMSLE5B-DtY3rhWy.js} +1 -1
  94. package/public/assets/classDiagram-2ON5EDUG-f-lJUj27.js +1 -0
  95. package/public/assets/classDiagram-v2-WZHVMYZB-f-lJUj27.js +1 -0
  96. package/public/assets/clone-D5-Tsf9e.js +1 -0
  97. package/public/assets/{cose-bilkent-S5V4N54A-D9ZC6LmB.js → cose-bilkent-S5V4N54A-BuEw-qDX.js} +1 -1
  98. package/public/assets/{dagre-6UL2VRFP-s7YD2ZcY.js → dagre-6UL2VRFP-D-NrLBGh.js} +1 -1
  99. package/public/assets/{diagram-PSM6KHXK-C7jhP5tx.js → diagram-PSM6KHXK-BFjWOHNz.js} +1 -1
  100. package/public/assets/{diagram-QEK2KX5R-B348GmS1.js → diagram-QEK2KX5R-C0YlDb8t.js} +1 -1
  101. package/public/assets/{diagram-S2PKOQOG-Cu-zjwc9.js → diagram-S2PKOQOG-BLKbR12g.js} +1 -1
  102. package/public/assets/{erDiagram-Q2GNP2WA-tM4HKBpy.js → erDiagram-Q2GNP2WA-Cov6xnUk.js} +1 -1
  103. package/public/assets/{flowDiagram-NV44I4VS-DjCIshpi.js → flowDiagram-NV44I4VS-DTMKSJI1.js} +1 -1
  104. package/public/assets/{ganttDiagram-LVOFAZNH-Q6plkI5G.js → ganttDiagram-LVOFAZNH-DR0bcfHY.js} +1 -1
  105. package/public/assets/{gitGraphDiagram-NY62KEGX-B3Uw90Yt.js → gitGraphDiagram-NY62KEGX-CvxYSabY.js} +1 -1
  106. package/public/assets/{graph-Bp0jlxBT.js → graph-BYXvelIL.js} +1 -1
  107. package/public/assets/{index-f67nhEoX.js → index-BIGPvi1D.js} +44 -44
  108. package/public/assets/infoDiagram-F6ZHWCRC-CL9g-UgS.js +2 -0
  109. package/public/assets/{journeyDiagram-XKPGCS4Q-CgQogtHU.js → journeyDiagram-XKPGCS4Q-Df8G0pW8.js} +1 -1
  110. package/public/assets/{kanban-definition-3W4ZIXB7-Cv7kVxyy.js → kanban-definition-3W4ZIXB7-DhoP7TG_.js} +1 -1
  111. package/public/assets/{layout-6bkH32V1.js → layout-CgO4Vp_y.js} +1 -1
  112. package/public/assets/{linear-DWoZ6Tbm.js → linear-CaY74pOB.js} +1 -1
  113. package/public/assets/{mindmap-definition-VGOIOE7T-D5wd9HsH.js → mindmap-definition-VGOIOE7T-CVK2y0WQ.js} +1 -1
  114. package/public/assets/{pieDiagram-ADFJNKIX-8vPxErLm.js → pieDiagram-ADFJNKIX-BQt_waQk.js} +1 -1
  115. package/public/assets/{quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js → quadrantDiagram-AYHSOK5B-DvLFoDeH.js} +1 -1
  116. package/public/assets/{requirementDiagram-UZGBJVZJ-C7u8MiN1.js → requirementDiagram-UZGBJVZJ-C4lqjEUP.js} +1 -1
  117. package/public/assets/{sankeyDiagram-TZEHDZUN-C660O4mw.js → sankeyDiagram-TZEHDZUN-BKIDyl6M.js} +1 -1
  118. package/public/assets/{sequenceDiagram-WL72ISMW-pXBA2_3B.js → sequenceDiagram-WL72ISMW-BeyhJ61U.js} +1 -1
  119. package/public/assets/{stateDiagram-FKZM4ZOC-CxZMM1Lf.js → stateDiagram-FKZM4ZOC-CKyn6eKl.js} +1 -1
  120. package/public/assets/stateDiagram-v2-4FDKWEC3-DogBVcJE.js +1 -0
  121. package/public/assets/{table-Clz57edU.js → table-BgVewkB5.js} +1 -1
  122. package/public/assets/{timeline-definition-IT6M3QCI-Crg44TaP.js → timeline-definition-IT6M3QCI-Cm5SIAmT.js} +1 -1
  123. package/public/assets/tools-crrPnehB.js +1 -0
  124. package/public/assets/{treemap-KMMF4GRG-bFxwBWXw.js → treemap-KMMF4GRG-CUMeoVWM.js} +1 -1
  125. package/public/assets/{ui-components-DjgDPiqV.js → ui-components-D1pZO0y-.js} +1 -1
  126. package/public/assets/{useAgents-8KXN6U61.js → useAgents-M4lcWvy0.js} +1 -1
  127. package/public/assets/{useClaudeVersions-DicHLV6A.js → useClaudeVersions-CKT_fq1t.js} +1 -1
  128. package/public/assets/{useCommands-DbSH48ba.js → useCommands-vaoVPEDI.js} +1 -1
  129. package/public/assets/{useProjects-Bbh6hJMM.js → useProjects-D1ElB-WS.js} +1 -1
  130. package/public/assets/{useSessions-DOa4-xiB.js → useSessions-Dp1kUl43.js} +1 -1
  131. package/public/assets/{xychartDiagram-PRI3JC2R-DG3KmjD-.js → xychartDiagram-PRI3JC2R-Cy-SHDyX.js} +1 -1
  132. package/public/index.html +4 -4
  133. package/routes/a2a.d.ts.map +1 -1
  134. package/routes/a2a.js +27 -7
  135. package/routes/a2a.js.map +1 -1
  136. package/routes/agents.d.ts.map +1 -1
  137. package/routes/agents.js +234 -38
  138. package/routes/agents.js.map +1 -1
  139. package/routes/agui.d.ts.map +1 -1
  140. package/routes/agui.js +44 -1
  141. package/routes/agui.js.map +1 -1
  142. package/routes/gitVersions.d.ts.map +1 -1
  143. package/routes/gitVersions.js +80 -1
  144. package/routes/gitVersions.js.map +1 -1
  145. package/routes/marketplaceSkills.d.ts +18 -0
  146. package/routes/marketplaceSkills.d.ts.map +1 -0
  147. package/routes/marketplaceSkills.js +190 -0
  148. package/routes/marketplaceSkills.js.map +1 -0
  149. package/routes/plugins.d.ts.map +1 -1
  150. package/routes/plugins.js +48 -7
  151. package/routes/plugins.js.map +1 -1
  152. package/routes/projects.d.ts.map +1 -1
  153. package/routes/projects.js +34 -0
  154. package/routes/projects.js.map +1 -1
  155. package/schemas/a2a.d.ts +35 -4
  156. package/schemas/a2a.d.ts.map +1 -1
  157. package/schemas/a2a.js +9 -1
  158. package/schemas/a2a.js.map +1 -1
  159. package/services/__tests__/agentImporter.test.js +197 -0
  160. package/services/__tests__/agentImporter.test.js.map +1 -1
  161. package/services/__tests__/pluginInstaller.test.js +2 -1
  162. package/services/__tests__/pluginInstaller.test.js.map +1 -1
  163. package/services/agentImporter.d.ts +7 -0
  164. package/services/agentImporter.d.ts.map +1 -1
  165. package/services/agentImporter.js +57 -4
  166. package/services/agentImporter.js.map +1 -1
  167. package/services/builtinMarketplaceService.d.ts +56 -0
  168. package/services/builtinMarketplaceService.d.ts.map +1 -0
  169. package/services/builtinMarketplaceService.js +328 -0
  170. package/services/builtinMarketplaceService.js.map +1 -0
  171. package/services/claudeSession.d.ts.map +1 -1
  172. package/services/claudeSession.js +15 -4
  173. package/services/claudeSession.js.map +1 -1
  174. package/services/claudeVersionStorage.js +6 -6
  175. package/services/claudeVersionStorage.js.map +1 -1
  176. package/services/gitVersionService.d.ts +22 -0
  177. package/services/gitVersionService.d.ts.map +1 -1
  178. package/services/gitVersionService.js +117 -19
  179. package/services/gitVersionService.js.map +1 -1
  180. package/services/marketplaceSkillService.d.ts +129 -0
  181. package/services/marketplaceSkillService.d.ts.map +1 -0
  182. package/services/marketplaceSkillService.js +358 -0
  183. package/services/marketplaceSkillService.js.map +1 -0
  184. package/services/marketplaceUpdateService.d.ts.map +1 -1
  185. package/services/marketplaceUpdateService.js +29 -2
  186. package/services/marketplaceUpdateService.js.map +1 -1
  187. package/services/pluginCopyInstall.d.ts +60 -0
  188. package/services/pluginCopyInstall.d.ts.map +1 -0
  189. package/services/pluginCopyInstall.js +290 -0
  190. package/services/pluginCopyInstall.js.map +1 -0
  191. package/services/pluginInstallStrategy.d.ts +39 -0
  192. package/services/pluginInstallStrategy.d.ts.map +1 -0
  193. package/services/pluginInstallStrategy.js +50 -0
  194. package/services/pluginInstallStrategy.js.map +1 -0
  195. package/services/pluginInstaller.d.ts +10 -0
  196. package/services/pluginInstaller.d.ts.map +1 -1
  197. package/services/pluginInstaller.js +70 -20
  198. package/services/pluginInstaller.js.map +1 -1
  199. package/services/pluginParser.d.ts +17 -1
  200. package/services/pluginParser.d.ts.map +1 -1
  201. package/services/pluginParser.js +161 -84
  202. package/services/pluginParser.js.map +1 -1
  203. package/services/pluginPaths.d.ts +3 -3
  204. package/services/pluginPaths.d.ts.map +1 -1
  205. package/services/pluginPaths.js +33 -14
  206. package/services/pluginPaths.js.map +1 -1
  207. package/services/pluginScanner.js +2 -2
  208. package/services/pluginScanner.js.map +1 -1
  209. package/services/pluginSymlink.d.ts +10 -0
  210. package/services/pluginSymlink.d.ts.map +1 -1
  211. package/services/pluginSymlink.js +117 -1
  212. package/services/pluginSymlink.js.map +1 -1
  213. package/services/preSendGuard/__tests__/preSendGuard.test.d.ts +2 -0
  214. package/services/preSendGuard/__tests__/preSendGuard.test.d.ts.map +1 -0
  215. package/services/preSendGuard/__tests__/preSendGuard.test.js +102 -0
  216. package/services/preSendGuard/__tests__/preSendGuard.test.js.map +1 -0
  217. package/services/preSendGuard/configResolver.d.ts +8 -0
  218. package/services/preSendGuard/configResolver.d.ts.map +1 -0
  219. package/services/preSendGuard/configResolver.js +181 -0
  220. package/services/preSendGuard/configResolver.js.map +1 -0
  221. package/services/preSendGuard/index.d.ts +9 -0
  222. package/services/preSendGuard/index.d.ts.map +1 -0
  223. package/services/preSendGuard/index.js +165 -0
  224. package/services/preSendGuard/index.js.map +1 -0
  225. package/services/preSendGuard/providers/httpAuditProvider.d.ts +3 -0
  226. package/services/preSendGuard/providers/httpAuditProvider.d.ts.map +1 -0
  227. package/services/preSendGuard/providers/httpAuditProvider.js +98 -0
  228. package/services/preSendGuard/providers/httpAuditProvider.js.map +1 -0
  229. package/services/preSendGuard/providers/noopProvider.d.ts +3 -0
  230. package/services/preSendGuard/providers/noopProvider.d.ts.map +1 -0
  231. package/services/preSendGuard/providers/noopProvider.js +13 -0
  232. package/services/preSendGuard/providers/noopProvider.js.map +1 -0
  233. package/services/runFinishedHooks.d.ts +29 -0
  234. package/services/runFinishedHooks.d.ts.map +1 -0
  235. package/services/runFinishedHooks.js +57 -0
  236. package/services/runFinishedHooks.js.map +1 -0
  237. package/testing/index.d.ts +18 -0
  238. package/testing/index.d.ts.map +1 -0
  239. package/testing/index.js +25 -0
  240. package/testing/index.js.map +1 -0
  241. package/testing/mockSdkQuery.d.ts +49 -0
  242. package/testing/mockSdkQuery.d.ts.map +1 -0
  243. package/testing/mockSdkQuery.js +209 -0
  244. package/testing/mockSdkQuery.js.map +1 -0
  245. package/testing/scenarioLoader.d.ts +71 -0
  246. package/testing/scenarioLoader.d.ts.map +1 -0
  247. package/testing/scenarioLoader.js +224 -0
  248. package/testing/scenarioLoader.js.map +1 -0
  249. package/types/a2a.d.ts +5 -0
  250. package/types/a2a.d.ts.map +1 -1
  251. package/types/agents.d.ts +32 -0
  252. package/types/agents.d.ts.map +1 -1
  253. package/types/agents.js +1 -0
  254. package/types/agents.js.map +1 -1
  255. package/types/engine.d.ts +6 -0
  256. package/types/engine.d.ts.map +1 -1
  257. package/types/plugins.d.ts +12 -2
  258. package/types/plugins.d.ts.map +1 -1
  259. package/types/preSendGuard.d.ts +51 -0
  260. package/types/preSendGuard.d.ts.map +1 -0
  261. package/types/preSendGuard.js +3 -0
  262. package/types/preSendGuard.js.map +1 -0
  263. package/utils/__tests__/claudeUtils.test.js +89 -1
  264. package/utils/__tests__/claudeUtils.test.js.map +1 -1
  265. package/utils/claudeUtils.d.ts +1 -1
  266. package/utils/claudeUtils.d.ts.map +1 -1
  267. package/utils/claudeUtils.js +92 -37
  268. package/utils/claudeUtils.js.map +1 -1
  269. package/public/assets/ChatPage-D8buVhfb.js +0 -478
  270. package/public/assets/GeneralSettingsPage-DYdwai51.js +0 -1
  271. package/public/assets/PluginsPage-DD92Xk6X.js +0 -12
  272. package/public/assets/SettingsLayout-LGC-0pQl.js +0 -1
  273. package/public/assets/UnifiedToolSelector-BP6fuyzG.js +0 -1
  274. package/public/assets/channel-D9wyZF1L.js +0 -1
  275. package/public/assets/classDiagram-2ON5EDUG-DwEqkkEb.js +0 -1
  276. package/public/assets/classDiagram-v2-WZHVMYZB-DwEqkkEb.js +0 -1
  277. package/public/assets/clone-3wFPaI2j.js +0 -1
  278. package/public/assets/infoDiagram-F6ZHWCRC-HUfwv_JT.js +0 -2
  279. package/public/assets/stateDiagram-v2-4FDKWEC3-CmurzrWf.js +0 -1
  280. package/public/assets/tools-BZTR2NP1.js +0 -1
@@ -1,4 +1,4 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{r as b}from"./monaco-editor-BWfQfpij.js";import{b as A,u as w,c as k,a as m,A as g,i as H}from"./agents-KlPdWQ8K.js";import{U as V}from"./UnifiedToolSelector-BP6fuyzG.js";import{u as X}from"./tools-BZTR2NP1.js";import{c as Y,o as Z,a4 as I,U as ee,a7 as te,j as F}from"./ui-components-DjgDPiqV.js";const se=async(t={})=>{try{const o=new URLSearchParams;t.search&&o.append("search",t.search);const n=await m(`${g}/subagents?${o}`);if(!n.ok)throw new Error("Failed to fetch subagents");return n.json()}catch(o){if(H(o))return[];throw o}},re=async t=>{const o=await m(`${g}/subagents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!o.ok){const n=await o.json();throw new Error(n.error||"Failed to create subagent")}return o.json()},oe=async({id:t,...o})=>{const n=await m(`${g}/subagents/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){const h=await n.json();throw new Error(h.error||"Failed to update subagent")}return n.json()},ae=async t=>{const o=await m(`${g}/subagents/${t}`,{method:"DELETE"});if(!o.ok){const n=await o.json();throw new Error(n.error||"Failed to delete subagent")}},we=(t={})=>A({queryKey:["subagents",t],queryFn:()=>se(t),retry:!1}),ne=()=>{const t=w();return k({mutationFn:re,onSuccess:()=>{t.invalidateQueries({queryKey:["subagents"]})}})},ce=()=>{const t=w();return k({mutationFn:oe,onSuccess:o=>{t.invalidateQueries({queryKey:["subagents"]}),t.invalidateQueries({queryKey:["subagent",o.id]})}})},ke=()=>{const t=w();return k({mutationFn:ae,onSuccess:()=>{t.invalidateQueries({queryKey:["subagents"]})}})},ie=async(t,o={})=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path),o.search&&c.append("search",o.search);const l=await m(`${g}/subagents?${c}`);if(!l.ok)throw new Error("Failed to fetch project subagents");return l.json()},ve=t=>A({queryKey:["subagents","project",t.projectId,t.search],queryFn:()=>ie(t.projectId,{search:t.search}),staleTime:1e3*60*5}),le=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path);const l=await m(`${g}/subagents?${c}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!l.ok){const i=await l.json();throw new Error(i.error||"Failed to create subagent")}return l.json()},de=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(u=>u.id===t);if(!r)throw new Error("Project not found");const{id:c,...l}=o,i=new URLSearchParams;i.append("projectPath",r.path);const f=await m(`${g}/subagents/${c}?${i}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!f.ok){const u=await f.json();throw new Error(u.error||"Failed to update subagent")}return f.json()},ue=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path);const l=await m(`${g}/subagents/${o}?${c}`,{method:"DELETE"});if(!l.ok){const i=await l.json();throw new Error(i.error||"Failed to delete subagent")}},me=t=>{const o=w();return k({mutationFn:n=>le(t,n),onSuccess:()=>{o.invalidateQueries({queryKey:["subagents","project",t]})}})},ge=t=>{const o=w();return k({mutationFn:n=>de(t,n),onSuccess:n=>{o.invalidateQueries({queryKey:["subagents","project",t]}),o.invalidateQueries({queryKey:["subagent",n.id]})}})},Se=t=>{const o=w();return k({mutationFn:n=>ue(t,n),onSuccess:()=>{o.invalidateQueries({queryKey:["subagents","project",t]})}})},pe=[{value:"user",label:"个人Subagent",description:"存储在用户配置中,仅个人使用"},{value:"project",label:"项目Subagent",description:"存储在项目中,项目成员共享"}],Fe=({subagent:t,projectId:o,onClose:n,onSuccess:h})=>{const{t:r}=X("components"),[c,l]=b.useState({name:"",description:"",content:"",scope:o?"project":"user",tools:[]}),[i,f]=b.useState({}),[u,J]=b.useState(!1),[N,C]=b.useState(""),[M,R]=b.useState(!1),[y,E]=b.useState([]),[j,v]=b.useState([]),[D,T]=b.useState(!1),U=o?me(o):ne(),Q=o?ge(o):ce(),S=!!t,K=s=>{const a=[];return a.push(`name: ${s.name}`),s.description&&a.push(`description: ${s.description}`),s.tools&&s.tools.length>0&&a.push(`tools: ${s.tools.join(", ")}`),a.length>0?`---
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{r as b}from"./monaco-editor-BWfQfpij.js";import{b as A,u as w,c as k,a as m,A as g,i as H}from"./agents-DR9EZMs5.js";import{U as V}from"./UnifiedToolSelector-DJN7ASu1.js";import{u as X}from"./tools-crrPnehB.js";import{c as Y,o as Z,a4 as I,U as ee,a7 as te,j as F}from"./ui-components-D1pZO0y-.js";const se=async(t={})=>{try{const o=new URLSearchParams;t.search&&o.append("search",t.search);const n=await m(`${g}/subagents?${o}`);if(!n.ok)throw new Error("Failed to fetch subagents");return n.json()}catch(o){if(H(o))return[];throw o}},re=async t=>{const o=await m(`${g}/subagents`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!o.ok){const n=await o.json();throw new Error(n.error||"Failed to create subagent")}return o.json()},oe=async({id:t,...o})=>{const n=await m(`${g}/subagents/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!n.ok){const h=await n.json();throw new Error(h.error||"Failed to update subagent")}return n.json()},ae=async t=>{const o=await m(`${g}/subagents/${t}`,{method:"DELETE"});if(!o.ok){const n=await o.json();throw new Error(n.error||"Failed to delete subagent")}},we=(t={})=>A({queryKey:["subagents",t],queryFn:()=>se(t),retry:!1}),ne=()=>{const t=w();return k({mutationFn:re,onSuccess:()=>{t.invalidateQueries({queryKey:["subagents"]})}})},ce=()=>{const t=w();return k({mutationFn:oe,onSuccess:o=>{t.invalidateQueries({queryKey:["subagents"]}),t.invalidateQueries({queryKey:["subagent",o.id]})}})},ke=()=>{const t=w();return k({mutationFn:ae,onSuccess:()=>{t.invalidateQueries({queryKey:["subagents"]})}})},ie=async(t,o={})=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path),o.search&&c.append("search",o.search);const l=await m(`${g}/subagents?${c}`);if(!l.ok)throw new Error("Failed to fetch project subagents");return l.json()},ve=t=>A({queryKey:["subagents","project",t.projectId,t.search],queryFn:()=>ie(t.projectId,{search:t.search}),staleTime:1e3*60*5}),le=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path);const l=await m(`${g}/subagents?${c}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!l.ok){const i=await l.json();throw new Error(i.error||"Failed to create subagent")}return l.json()},de=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(u=>u.id===t);if(!r)throw new Error("Project not found");const{id:c,...l}=o,i=new URLSearchParams;i.append("projectPath",r.path);const f=await m(`${g}/subagents/${c}?${i}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!f.ok){const u=await f.json();throw new Error(u.error||"Failed to update subagent")}return f.json()},ue=async(t,o)=>{const n=await m(`${g}/projects`);if(!n.ok)throw new Error("Failed to fetch project info");const r=(await n.json()).projects.find(i=>i.id===t);if(!r)throw new Error("Project not found");const c=new URLSearchParams;c.append("projectPath",r.path);const l=await m(`${g}/subagents/${o}?${c}`,{method:"DELETE"});if(!l.ok){const i=await l.json();throw new Error(i.error||"Failed to delete subagent")}},me=t=>{const o=w();return k({mutationFn:n=>le(t,n),onSuccess:()=>{o.invalidateQueries({queryKey:["subagents","project",t]})}})},ge=t=>{const o=w();return k({mutationFn:n=>de(t,n),onSuccess:n=>{o.invalidateQueries({queryKey:["subagents","project",t]}),o.invalidateQueries({queryKey:["subagent",n.id]})}})},Se=t=>{const o=w();return k({mutationFn:n=>ue(t,n),onSuccess:()=>{o.invalidateQueries({queryKey:["subagents","project",t]})}})},pe=[{value:"user",label:"个人Subagent",description:"存储在用户配置中,仅个人使用"},{value:"project",label:"项目Subagent",description:"存储在项目中,项目成员共享"}],Fe=({subagent:t,projectId:o,onClose:n,onSuccess:h})=>{const{t:r}=X("components"),[c,l]=b.useState({name:"",description:"",content:"",scope:o?"project":"user",tools:[]}),[i,f]=b.useState({}),[u,J]=b.useState(!1),[N,C]=b.useState(""),[M,R]=b.useState(!1),[y,E]=b.useState([]),[j,v]=b.useState([]),[D,T]=b.useState(!1),U=o?me(o):ne(),Q=o?ge(o):ce(),S=!!t,K=s=>{const a=[];return a.push(`name: ${s.name}`),s.description&&a.push(`description: ${s.description}`),s.tools&&s.tools.length>0&&a.push(`tools: ${s.tools.join(", ")}`),a.length>0?`---
2
2
  ${a.join(`
3
3
  `)}
4
4
  ---
@@ -1 +1 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{r as i}from"./monaco-editor-BWfQfpij.js";import{T as D,a as B,b as f,c as o,d as R,e as m}from"./table-Clz57edU.js";import{u as H,a as L,S as q}from"./SubagentForm-BzzeWg0W.js";import{f as N}from"./dateFormat-CXa8VnEC.js";import{b as z}from"./index-f67nhEoX.js";import{T as k}from"./ToolsList-CTsQr53G.js";import{u as J}from"./tools-BZTR2NP1.js";import{j as G,S as I,v as K,a6 as v,E as w,J as $,y as h}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-KlPdWQ8K.js";import"./UnifiedToolSelector-BP6fuyzG.js";const re=()=>{const{t:s}=J("pages"),{isMobile:t}=z(),[a,S]=i.useState(""),[C,n]=i.useState(!1),[T,d]=i.useState(null),[g,c]=i.useState(null),[p,y]=i.useState({}),{data:b=[],isLoading:F,error:E,refetch:j}=H({search:a.trim()||void 0}),u=L(),M=async r=>{try{await u.mutateAsync(r.id),c(null)}catch(l){console.error("Failed to delete subagent:",l)}},x=r=>{d(r),n(!0)},A=()=>{n(!1),d(null)},P=()=>{j()};return F?e.jsx("div",{className:"flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:`animate-spin rounded-full ${t?"h-8 w-8":"h-12 w-12"} border-b-2 border-blue-600 mx-auto ${t?"mb-3":"mb-4"}`}),e.jsx("div",{className:`text-gray-600 dark:text-gray-400 ${t?"text-sm":""}`,children:s("settings.subagents.loading")})]})}):E?e.jsx("div",{className:"flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx(G,{className:`${t?"h-8 w-8":"h-12 w-12"} text-red-500 mx-auto ${t?"mb-3":"mb-4"}`}),e.jsx("h3",{className:`${t?"text-base":"text-lg"} font-medium text-gray-900 dark:text-white mb-2`,children:s("settings.subagents.loadFailed")}),e.jsx("p",{className:`text-gray-600 dark:text-gray-400 ${t?"mb-4 text-sm":"mb-4"}`,children:s("settings.subagents.loadFailedMessage")}),e.jsx("button",{onClick:()=>j(),className:`${t?"px-4 py-2.5 text-sm":"px-4 py-2"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:s("settings.subagents.retry")})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:t?"mb-4":"flex items-center justify-between mb-6",children:e.jsxs("div",{children:[e.jsx("h1",{className:`${t?"text-2xl":"text-3xl"} font-bold text-gray-900 dark:text-white`,children:s("settings.subagents.title")}),e.jsx("p",{className:`text-gray-600 dark:text-gray-400 ${t?"mt-1":"mt-2"}`,children:s("settings.subagents.subtitle")})]})}),e.jsxs("div",{className:t?"space-y-3":"flex items-center space-x-4",children:[e.jsxs("div",{className:`${t?"":"flex-1"} relative`,children:[e.jsx(I,{className:`absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 ${t?"w-4 h-4":"w-5 h-5"}`}),e.jsx("input",{type:"text",placeholder:s("settings.subagents.searchPlaceholder"),value:a,onChange:r=>S(r.target.value),className:`pl-10 pr-4 ${t?"py-2":"py-3"} w-full border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent ${t?"text-sm":""}`})]}),e.jsxs("button",{onClick:()=>{d(null),n(!0)},className:`${t?"w-full py-2.5 px-4 flex items-center justify-center space-x-2":"flex items-center space-x-2 px-6 py-3"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors ${t?"text-sm":"whitespace-nowrap"}`,children:[e.jsx(K,{className:t?"w-4 h-4":"w-5 h-5"}),e.jsx("span",{children:s("settings.subagents.createButton")})]})]})]}),b.length===0?e.jsxs("div",{className:"text-center py-16 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsx("div",{className:`${t?"text-4xl":"text-6xl"} mb-4`,children:"🤖"}),e.jsx("h3",{className:`${t?"text-lg":"text-xl"} font-medium text-gray-900 dark:text-white mb-2`,children:s(a?"settings.subagents.noSubagentsSearch":"settings.subagents.noSubagents")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:s(a?"settings.subagents.adjustSearch":"settings.subagents.createFirst")}),!a&&e.jsx("button",{onClick:()=>{d(null),n(!0)},className:`${t?"w-full py-3 px-4":"px-6 py-3"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:s("settings.subagents.createButton")})]}):e.jsx(e.Fragment,{children:t?e.jsx("div",{className:"space-y-4",children:b.map((r,l)=>e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4",children:[e.jsx("div",{className:"flex items-start justify-between mb-3",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:`${t?"text-lg":"text-xl"} mr-3`,children:"🤖"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("div",{className:`${t?"text-sm":"text-base"} font-medium text-gray-900 dark:text-white`,children:r.name}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${r.source==="plugin"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"}`,children:r.source==="plugin"?s("settings.subagents.source.plugin"):s("settings.subagents.source.local")})]}),r.description&&e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:r.description})]})]})}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsx("div",{className:"mb-3",children:e.jsxs("div",{className:"flex items-start text-sm",children:[e.jsxs("span",{className:"text-gray-500 dark:text-gray-400 mr-2 mt-1",children:[s("settings.subagents.table.tools"),":"]}),e.jsx("div",{className:"flex-1",children:e.jsx(k,{tools:r.tools||[],id:r.id,expandedTools:p,setExpandedTools:y,isMobile:!0,emptyMessage:s("settings.subagents.table.inheritSettings")})})]})}),e.jsxs("div",{className:"flex items-center text-sm",children:[e.jsxs("span",{className:"text-gray-500 dark:text-gray-400 mr-2",children:[s("settings.subagents.table.createdAt"),":"]}),e.jsxs("div",{className:"flex items-center text-gray-500 dark:text-gray-400",children:[e.jsx(v,{className:"w-4 h-4 mr-1"}),e.jsx("span",{children:N(r.createdAt)})]})]})]}),e.jsx("div",{className:"flex items-center justify-end space-x-2 pt-3 border-t border-gray-200 dark:border-gray-700",children:r.source==="plugin"?e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-2 text-sm font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",children:[e.jsx(w,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.view")]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-2 text-sm font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",children:[e.jsx($,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.edit")]}),e.jsx("button",{onClick:()=>c(r),className:"p-2 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded-lg transition-colors",title:s("settings.subagents.actions.deleteTitle"),children:e.jsx(h,{className:"w-4 h-4"})})]})})]},r.id+"-"+l))}):e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden",children:e.jsxs(D,{children:[e.jsx(B,{children:e.jsxs(f,{children:[e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.subagent")}),e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.tools")}),e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.createdAt")}),e.jsx(o,{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.actions")})]})}),e.jsx(R,{children:b.map((r,l)=>e.jsxs(f,{className:"hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors",children:[e.jsx(m,{className:"px-6 py-4 whitespace-nowrap",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"text-xl mr-3",children:"🤖"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-white",children:r.name}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${r.source==="plugin"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"}`,children:r.source==="plugin"?s("settings.subagents.source.plugin"):s("settings.subagents.source.local")})]}),r.description&&e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 truncate max-w-xs",children:r.description})]})]})}),e.jsx(m,{className:"px-6 py-4",children:e.jsx(k,{tools:r.tools||[],id:r.id,expandedTools:p,setExpandedTools:y,isMobile:!1,emptyMessage:s("settings.subagents.table.inheritSettings")})}),e.jsx(m,{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400",children:e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(v,{className:"w-4 h-4"}),e.jsx("span",{children:N(r.createdAt)})]})}),e.jsx(m,{className:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium",children:e.jsx("div",{className:"flex items-center justify-end space-x-2",children:r.source==="plugin"?e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-1.5 text-xs font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",title:s("settings.subagents.actions.viewTitle"),children:[e.jsx(w,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.view")]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-1.5 text-xs font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",title:s("settings.subagents.actions.editTitle"),children:[e.jsx($,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.edit")]}),e.jsx("button",{onClick:()=>c(r),className:"p-2 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded-lg transition-colors",title:s("settings.subagents.actions.deleteTitle"),children:e.jsx(h,{className:"w-4 h-4"})})]})})})]},r.id+"-"+l))})]})})}),C&&e.jsx(q,{subagent:T,onClose:A,onSuccess:P}),g&&e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:e.jsxs("div",{className:`bg-white dark:bg-gray-800 rounded-lg shadow-xl ${t?"w-full max-w-sm":"max-w-md w-full"}`,children:[e.jsx("div",{className:`${t?"px-4 py-3":"px-6 py-4"} border-b border-gray-200 dark:border-gray-700`,children:e.jsx("h3",{className:`${t?"text-base":"text-lg"} font-semibold text-gray-900 dark:text-white`,children:s("settings.subagents.deleteConfirm.title")})}),e.jsxs("div",{className:`${t?"px-4 py-3":"px-6 py-4"}`,children:[e.jsx("p",{className:`${t?"text-sm":""} text-gray-600 dark:text-gray-400`,children:s("settings.subagents.deleteConfirm.message",{name:g.name})}),e.jsx("p",{className:`text-gray-500 dark:text-gray-400 ${t?"mt-1 text-xs":"mt-2"}`,children:s("settings.subagents.deleteConfirm.warning")})]}),e.jsxs("div",{className:`${t?"grid grid-cols-2 gap-2 px-4 py-3":"flex items-center justify-end space-x-3 px-6 py-4"} border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700/50`,children:[e.jsx("button",{onClick:()=>c(null),className:`${t?"px-3 py-2.5 text-sm":"px-4 py-2"} text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors`,children:s("settings.subagents.deleteConfirm.cancel")}),e.jsxs("button",{onClick:()=>M(g),disabled:u.isPending,className:`${t?"flex items-center justify-center space-x-1 px-3 py-2.5 text-sm":"flex items-center space-x-2 px-4 py-2"} bg-red-600 hover:bg-red-700 disabled:bg-red-400 text-white rounded-lg transition-colors`,children:[u.isPending?e.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-white border-t-transparent"}):e.jsx(h,{className:`${t?"h-3 w-3":"h-4 w-4"}`}),e.jsx("span",{children:s("settings.subagents.deleteConfirm.delete")})]})]})]})})]})};export{re as SubagentsPage};
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{r as i}from"./monaco-editor-BWfQfpij.js";import{T as D,a as B,b as f,c as o,d as R,e as m}from"./table-BgVewkB5.js";import{u as H,a as L,S as q}from"./SubagentForm-BbxljQUp.js";import{f as N}from"./dateFormat-CXa8VnEC.js";import{b as z}from"./index-BIGPvi1D.js";import{T as k}from"./ToolsList-BZFBEuvQ.js";import{u as J}from"./tools-crrPnehB.js";import{j as G,S as I,v as K,a6 as v,E as w,J as $,y as h}from"./ui-components-D1pZO0y-.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-DR9EZMs5.js";import"./UnifiedToolSelector-DJN7ASu1.js";const re=()=>{const{t:s}=J("pages"),{isMobile:t}=z(),[a,S]=i.useState(""),[C,n]=i.useState(!1),[T,d]=i.useState(null),[g,c]=i.useState(null),[p,y]=i.useState({}),{data:b=[],isLoading:F,error:E,refetch:j}=H({search:a.trim()||void 0}),u=L(),M=async r=>{try{await u.mutateAsync(r.id),c(null)}catch(l){console.error("Failed to delete subagent:",l)}},x=r=>{d(r),n(!0)},A=()=>{n(!1),d(null)},P=()=>{j()};return F?e.jsx("div",{className:"flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:`animate-spin rounded-full ${t?"h-8 w-8":"h-12 w-12"} border-b-2 border-blue-600 mx-auto ${t?"mb-3":"mb-4"}`}),e.jsx("div",{className:`text-gray-600 dark:text-gray-400 ${t?"text-sm":""}`,children:s("settings.subagents.loading")})]})}):E?e.jsx("div",{className:"flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx(G,{className:`${t?"h-8 w-8":"h-12 w-12"} text-red-500 mx-auto ${t?"mb-3":"mb-4"}`}),e.jsx("h3",{className:`${t?"text-base":"text-lg"} font-medium text-gray-900 dark:text-white mb-2`,children:s("settings.subagents.loadFailed")}),e.jsx("p",{className:`text-gray-600 dark:text-gray-400 ${t?"mb-4 text-sm":"mb-4"}`,children:s("settings.subagents.loadFailedMessage")}),e.jsx("button",{onClick:()=>j(),className:`${t?"px-4 py-2.5 text-sm":"px-4 py-2"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:s("settings.subagents.retry")})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:t?"mb-4":"flex items-center justify-between mb-6",children:e.jsxs("div",{children:[e.jsx("h1",{className:`${t?"text-2xl":"text-3xl"} font-bold text-gray-900 dark:text-white`,children:s("settings.subagents.title")}),e.jsx("p",{className:`text-gray-600 dark:text-gray-400 ${t?"mt-1":"mt-2"}`,children:s("settings.subagents.subtitle")})]})}),e.jsxs("div",{className:t?"space-y-3":"flex items-center space-x-4",children:[e.jsxs("div",{className:`${t?"":"flex-1"} relative`,children:[e.jsx(I,{className:`absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 ${t?"w-4 h-4":"w-5 h-5"}`}),e.jsx("input",{type:"text",placeholder:s("settings.subagents.searchPlaceholder"),value:a,onChange:r=>S(r.target.value),className:`pl-10 pr-4 ${t?"py-2":"py-3"} w-full border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent ${t?"text-sm":""}`})]}),e.jsxs("button",{onClick:()=>{d(null),n(!0)},className:`${t?"w-full py-2.5 px-4 flex items-center justify-center space-x-2":"flex items-center space-x-2 px-6 py-3"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors ${t?"text-sm":"whitespace-nowrap"}`,children:[e.jsx(K,{className:t?"w-4 h-4":"w-5 h-5"}),e.jsx("span",{children:s("settings.subagents.createButton")})]})]})]}),b.length===0?e.jsxs("div",{className:"text-center py-16 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",children:[e.jsx("div",{className:`${t?"text-4xl":"text-6xl"} mb-4`,children:"🤖"}),e.jsx("h3",{className:`${t?"text-lg":"text-xl"} font-medium text-gray-900 dark:text-white mb-2`,children:s(a?"settings.subagents.noSubagentsSearch":"settings.subagents.noSubagents")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:s(a?"settings.subagents.adjustSearch":"settings.subagents.createFirst")}),!a&&e.jsx("button",{onClick:()=>{d(null),n(!0)},className:`${t?"w-full py-3 px-4":"px-6 py-3"} bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:s("settings.subagents.createButton")})]}):e.jsx(e.Fragment,{children:t?e.jsx("div",{className:"space-y-4",children:b.map((r,l)=>e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4",children:[e.jsx("div",{className:"flex items-start justify-between mb-3",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:`${t?"text-lg":"text-xl"} mr-3`,children:"🤖"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("div",{className:`${t?"text-sm":"text-base"} font-medium text-gray-900 dark:text-white`,children:r.name}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${r.source==="plugin"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"}`,children:r.source==="plugin"?s("settings.subagents.source.plugin"):s("settings.subagents.source.local")})]}),r.description&&e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:r.description})]})]})}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsx("div",{className:"mb-3",children:e.jsxs("div",{className:"flex items-start text-sm",children:[e.jsxs("span",{className:"text-gray-500 dark:text-gray-400 mr-2 mt-1",children:[s("settings.subagents.table.tools"),":"]}),e.jsx("div",{className:"flex-1",children:e.jsx(k,{tools:r.tools||[],id:r.id,expandedTools:p,setExpandedTools:y,isMobile:!0,emptyMessage:s("settings.subagents.table.inheritSettings")})})]})}),e.jsxs("div",{className:"flex items-center text-sm",children:[e.jsxs("span",{className:"text-gray-500 dark:text-gray-400 mr-2",children:[s("settings.subagents.table.createdAt"),":"]}),e.jsxs("div",{className:"flex items-center text-gray-500 dark:text-gray-400",children:[e.jsx(v,{className:"w-4 h-4 mr-1"}),e.jsx("span",{children:N(r.createdAt)})]})]})]}),e.jsx("div",{className:"flex items-center justify-end space-x-2 pt-3 border-t border-gray-200 dark:border-gray-700",children:r.source==="plugin"?e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-2 text-sm font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",children:[e.jsx(w,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.view")]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-2 text-sm font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",children:[e.jsx($,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.edit")]}),e.jsx("button",{onClick:()=>c(r),className:"p-2 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded-lg transition-colors",title:s("settings.subagents.actions.deleteTitle"),children:e.jsx(h,{className:"w-4 h-4"})})]})})]},r.id+"-"+l))}):e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden",children:e.jsxs(D,{children:[e.jsx(B,{children:e.jsxs(f,{children:[e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.subagent")}),e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.tools")}),e.jsx(o,{className:"px-6 py-3 text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.createdAt")}),e.jsx(o,{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider",children:s("settings.subagents.table.actions")})]})}),e.jsx(R,{children:b.map((r,l)=>e.jsxs(f,{className:"hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors",children:[e.jsx(m,{className:"px-6 py-4 whitespace-nowrap",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"text-xl mr-3",children:"🤖"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-white",children:r.name}),e.jsx("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${r.source==="plugin"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"}`,children:r.source==="plugin"?s("settings.subagents.source.plugin"):s("settings.subagents.source.local")})]}),r.description&&e.jsx("div",{className:"text-sm text-gray-500 dark:text-gray-400 truncate max-w-xs",children:r.description})]})]})}),e.jsx(m,{className:"px-6 py-4",children:e.jsx(k,{tools:r.tools||[],id:r.id,expandedTools:p,setExpandedTools:y,isMobile:!1,emptyMessage:s("settings.subagents.table.inheritSettings")})}),e.jsx(m,{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400",children:e.jsxs("div",{className:"flex items-center space-x-1",children:[e.jsx(v,{className:"w-4 h-4"}),e.jsx("span",{children:N(r.createdAt)})]})}),e.jsx(m,{className:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium",children:e.jsx("div",{className:"flex items-center justify-end space-x-2",children:r.source==="plugin"?e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-1.5 text-xs font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",title:s("settings.subagents.actions.viewTitle"),children:[e.jsx(w,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.view")]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>x(r),className:"inline-flex items-center px-3 py-1.5 text-xs font-medium text-blue-600 bg-blue-50 dark:bg-blue-900/50 rounded-md hover:bg-blue-100 dark:hover:bg-blue-900/70 transition-colors",title:s("settings.subagents.actions.editTitle"),children:[e.jsx($,{className:"w-3 h-3 mr-1"}),s("settings.subagents.actions.edit")]}),e.jsx("button",{onClick:()=>c(r),className:"p-2 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded-lg transition-colors",title:s("settings.subagents.actions.deleteTitle"),children:e.jsx(h,{className:"w-4 h-4"})})]})})})]},r.id+"-"+l))})]})})}),C&&e.jsx(q,{subagent:T,onClose:A,onSuccess:P}),g&&e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4",children:e.jsxs("div",{className:`bg-white dark:bg-gray-800 rounded-lg shadow-xl ${t?"w-full max-w-sm":"max-w-md w-full"}`,children:[e.jsx("div",{className:`${t?"px-4 py-3":"px-6 py-4"} border-b border-gray-200 dark:border-gray-700`,children:e.jsx("h3",{className:`${t?"text-base":"text-lg"} font-semibold text-gray-900 dark:text-white`,children:s("settings.subagents.deleteConfirm.title")})}),e.jsxs("div",{className:`${t?"px-4 py-3":"px-6 py-4"}`,children:[e.jsx("p",{className:`${t?"text-sm":""} text-gray-600 dark:text-gray-400`,children:s("settings.subagents.deleteConfirm.message",{name:g.name})}),e.jsx("p",{className:`text-gray-500 dark:text-gray-400 ${t?"mt-1 text-xs":"mt-2"}`,children:s("settings.subagents.deleteConfirm.warning")})]}),e.jsxs("div",{className:`${t?"grid grid-cols-2 gap-2 px-4 py-3":"flex items-center justify-end space-x-3 px-6 py-4"} border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700/50`,children:[e.jsx("button",{onClick:()=>c(null),className:`${t?"px-3 py-2.5 text-sm":"px-4 py-2"} text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors`,children:s("settings.subagents.deleteConfirm.cancel")}),e.jsxs("button",{onClick:()=>M(g),disabled:u.isPending,className:`${t?"flex items-center justify-center space-x-1 px-3 py-2.5 text-sm":"flex items-center space-x-2 px-4 py-2"} bg-red-600 hover:bg-red-700 disabled:bg-red-400 text-white rounded-lg transition-colors`,children:[u.isPending?e.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-2 border-white border-t-transparent"}):e.jsx(h,{className:`${t?"h-3 w-3":"h-4 w-4"}`}),e.jsx("span",{children:s("settings.subagents.deleteConfirm.delete")})]})]})]})})]})};export{re as SubagentsPage};
@@ -1 +1 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{f as h,g as y}from"./index-f67nhEoX.js";import{u as b}from"./tools-BZTR2NP1.js";import{U as p,V as j,K as u,M as r,Y as l,_ as f,$ as k,a0 as N,d as v}from"./ui-components-DjgDPiqV.js";import"./monaco-editor-BWfQfpij.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-KlPdWQ8K.js";const R=()=>{const{t:s}=b("pages"),{currentVersion:d,latestVersion:a,hasUpdate:n,forceCheck:o,isChecking:i,dismissUpdate:m,showUpdateNotification:x}=h(),{systemInfo:t,refetch:c}=y(),g=()=>{o(),c()};return e.jsxs("div",{className:"max-w-4xl mx-auto p-6 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold text-gray-900 dark:text-white flex items-center",children:[e.jsx(p,{className:"w-6 h-6 mr-2"}),s("settings.systemInfo.title")]}),e.jsx("p",{className:"mt-1 text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.subtitle")})]}),e.jsxs("button",{onClick:g,disabled:i,className:"inline-flex items-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[e.jsx(j,{className:`w-4 h-4 mr-2 ${i?"animate-spin":""}`}),s("settings.systemInfo.checkUpdate")]})]}),x&&a&&e.jsx("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/30 dark:to-indigo-900/30 border border-blue-200 dark:border-blue-800 rounded-xl p-6",children:e.jsx("div",{className:"flex items-start justify-between",children:e.jsxs("div",{className:"flex items-start space-x-4",children:[e.jsx("div",{className:"p-3 bg-blue-100 dark:bg-blue-800 rounded-full",children:e.jsx(u,{className:"w-8 h-8 text-blue-600 dark:text-blue-400"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-blue-900 dark:text-blue-100",children:s("settings.systemInfo.updateAvailable")}),e.jsx("p",{className:"mt-1 text-blue-700 dark:text-blue-300",children:s("version.newVersionAvailable",{version:a})}),e.jsxs("div",{className:"mt-4 flex space-x-3",children:[e.jsxs("a",{href:"https://github.com/okguitar/agentstudio/releases",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[e.jsx(r,{className:"w-4 h-4 mr-2"}),s("settings.systemInfo.viewReleases")]}),e.jsx("button",{onClick:m,className:"inline-flex items-center px-4 py-2 text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-800 hover:bg-blue-200 dark:hover:bg-blue-700 rounded-lg transition-colors",children:s("version.dismiss")})]})]})]})})}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(l,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.versionInfo")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.appName")}),e.jsx("p",{className:"mt-1 text-lg font-semibold text-gray-900 dark:text-white",children:t?.app.name||"AgentStudio"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.currentVersion")}),e.jsxs("div",{className:"mt-1 flex items-center",children:[e.jsxs("span",{className:"text-lg font-mono text-gray-900 dark:text-white",children:["v",d||t?.app.version||"-"]}),!n&&e.jsxs("span",{className:"ml-2 inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",children:[e.jsx(f,{className:"w-3 h-3 mr-1"}),s("settings.systemInfo.upToDate")]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.latestVersion")}),e.jsx("p",{className:"mt-1 text-lg font-mono text-gray-900 dark:text-white",children:a?`v${a}`:"-"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:["Node.js ",s("settings.systemInfo.version")]}),e.jsx("p",{className:"mt-1 font-mono text-gray-900 dark:text-white",children:t?.runtime.nodeVersion||"-"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.platform")}),e.jsxs("p",{className:"mt-1 text-gray-900 dark:text-white capitalize",children:[t?.runtime.platform||"-"," (",t?.runtime.arch||"-",")"]})]})]})]})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(k,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.runtimeInfo")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Node.js"}),e.jsx("p",{className:"mt-1 font-mono text-gray-900 dark:text-white",children:t?.runtime.nodeVersion||"-"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.platform")}),e.jsx("p",{className:"mt-1 text-gray-900 dark:text-white capitalize",children:t?.runtime.platform||"-"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.architecture")}),e.jsx("p",{className:"mt-1 text-gray-900 dark:text-white",children:t?.runtime.arch||"-"})]})]})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(r,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.links")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("a",{href:t?.links.github||"https://github.com/okguitar/agentstudio",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(N,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"GitHub"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewSource")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.releases||"https://github.com/okguitar/agentstudio/releases",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(l,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"Releases"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewReleases")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.changelog||"https://github.com/okguitar/agentstudio/blob/main/CHANGELOG.md",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(v,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"Changelog"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewChangelog")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.npm||"https://www.npmjs.com/package/agentstudio",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(l,{className:"w-6 h-6 text-red-600 dark:text-red-400 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"npm"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewNpm")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]})]})})]})]})};export{R as SystemInfoPage};
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{f as h,g as y}from"./index-BIGPvi1D.js";import{u as b}from"./tools-crrPnehB.js";import{U as p,V as j,K as u,N as r,Y as l,_ as f,$ as k,a0 as N,d as v}from"./ui-components-D1pZO0y-.js";import"./monaco-editor-BWfQfpij.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-DR9EZMs5.js";const R=()=>{const{t:s}=b("pages"),{currentVersion:d,latestVersion:a,hasUpdate:n,forceCheck:o,isChecking:i,dismissUpdate:m,showUpdateNotification:x}=h(),{systemInfo:t,refetch:c}=y(),g=()=>{o(),c()};return e.jsxs("div",{className:"max-w-4xl mx-auto p-6 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold text-gray-900 dark:text-white flex items-center",children:[e.jsx(p,{className:"w-6 h-6 mr-2"}),s("settings.systemInfo.title")]}),e.jsx("p",{className:"mt-1 text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.subtitle")})]}),e.jsxs("button",{onClick:g,disabled:i,className:"inline-flex items-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[e.jsx(j,{className:`w-4 h-4 mr-2 ${i?"animate-spin":""}`}),s("settings.systemInfo.checkUpdate")]})]}),x&&a&&e.jsx("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/30 dark:to-indigo-900/30 border border-blue-200 dark:border-blue-800 rounded-xl p-6",children:e.jsx("div",{className:"flex items-start justify-between",children:e.jsxs("div",{className:"flex items-start space-x-4",children:[e.jsx("div",{className:"p-3 bg-blue-100 dark:bg-blue-800 rounded-full",children:e.jsx(u,{className:"w-8 h-8 text-blue-600 dark:text-blue-400"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-blue-900 dark:text-blue-100",children:s("settings.systemInfo.updateAvailable")}),e.jsx("p",{className:"mt-1 text-blue-700 dark:text-blue-300",children:s("version.newVersionAvailable",{version:a})}),e.jsxs("div",{className:"mt-4 flex space-x-3",children:[e.jsxs("a",{href:"https://github.com/okguitar/agentstudio/releases",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[e.jsx(r,{className:"w-4 h-4 mr-2"}),s("settings.systemInfo.viewReleases")]}),e.jsx("button",{onClick:m,className:"inline-flex items-center px-4 py-2 text-blue-700 dark:text-blue-300 bg-blue-100 dark:bg-blue-800 hover:bg-blue-200 dark:hover:bg-blue-700 rounded-lg transition-colors",children:s("version.dismiss")})]})]})]})})}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(l,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.versionInfo")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.appName")}),e.jsx("p",{className:"mt-1 text-lg font-semibold text-gray-900 dark:text-white",children:t?.app.name||"AgentStudio"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.currentVersion")}),e.jsxs("div",{className:"mt-1 flex items-center",children:[e.jsxs("span",{className:"text-lg font-mono text-gray-900 dark:text-white",children:["v",d||t?.app.version||"-"]}),!n&&e.jsxs("span",{className:"ml-2 inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400",children:[e.jsx(f,{className:"w-3 h-3 mr-1"}),s("settings.systemInfo.upToDate")]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.latestVersion")}),e.jsx("p",{className:"mt-1 text-lg font-mono text-gray-900 dark:text-white",children:a?`v${a}`:"-"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:["Node.js ",s("settings.systemInfo.version")]}),e.jsx("p",{className:"mt-1 font-mono text-gray-900 dark:text-white",children:t?.runtime.nodeVersion||"-"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.platform")}),e.jsxs("p",{className:"mt-1 text-gray-900 dark:text-white capitalize",children:[t?.runtime.platform||"-"," (",t?.runtime.arch||"-",")"]})]})]})]})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(k,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.runtimeInfo")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Node.js"}),e.jsx("p",{className:"mt-1 font-mono text-gray-900 dark:text-white",children:t?.runtime.nodeVersion||"-"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.platform")}),e.jsx("p",{className:"mt-1 text-gray-900 dark:text-white capitalize",children:t?.runtime.platform||"-"})]}),e.jsxs("div",{className:"bg-gray-50 dark:bg-gray-700/50 rounded-lg p-4",children:[e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.architecture")}),e.jsx("p",{className:"mt-1 text-gray-900 dark:text-white",children:t?.runtime.arch||"-"})]})]})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"px-6 py-4 border-b border-gray-200 dark:border-gray-700",children:e.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white flex items-center",children:[e.jsx(r,{className:"w-5 h-5 mr-2"}),s("settings.systemInfo.links")]})}),e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("a",{href:t?.links.github||"https://github.com/okguitar/agentstudio",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(N,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"GitHub"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewSource")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.releases||"https://github.com/okguitar/agentstudio/releases",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(l,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"Releases"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewReleases")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.changelog||"https://github.com/okguitar/agentstudio/blob/main/CHANGELOG.md",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(v,{className:"w-6 h-6 text-gray-700 dark:text-gray-300 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"Changelog"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewChangelog")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]}),e.jsxs("a",{href:t?.links.npm||"https://www.npmjs.com/package/agentstudio",target:"_blank",rel:"noopener noreferrer",className:"flex items-center p-4 bg-gray-50 dark:bg-gray-700/50 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",children:[e.jsx(l,{className:"w-6 h-6 text-red-600 dark:text-red-400 mr-3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-gray-900 dark:text-white",children:"npm"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:s("settings.systemInfo.viewNpm")})]}),e.jsx(r,{className:"w-4 h-4 text-gray-400 ml-auto"})]})]})})]})]})};export{R as SystemInfoPage};
@@ -1 +1 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{W as i}from"./monaco-editor-BWfQfpij.js";import{i as d,h as c}from"./index-f67nhEoX.js";import{u as m}from"./tools-BZTR2NP1.js";import{a1 as o,a2 as a,a3 as x,j as g}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-KlPdWQ8K.js";const f=()=>{const{t:s}=m("pages"),[t,l]=i.useState(d()),n=()=>{const r=!t;c(r),l(r)};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:s("settings.telemetry.title","Telemetry & Analytics")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:s("settings.telemetry.description","Manage anonymous usage data collection")})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:`p-3 rounded-xl ${t?"bg-blue-100 dark:bg-blue-900/30":"bg-gray-100 dark:bg-gray-700"}`,children:e.jsx(o,{className:`w-6 h-6 ${t?"text-blue-600 dark:text-blue-400":"text-gray-500"}`})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-gray-900 dark:text-white",children:s("settings.telemetry.enableTelemetry","Enable Anonymous Telemetry")}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:s("settings.telemetry.enableDescription","Help improve AgentStudio by sharing anonymous usage data")})]})]}),e.jsx("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${t?"bg-blue-600":"bg-gray-300 dark:bg-gray-600"}`,children:e.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${t?"translate-x-6":"translate-x-1"}`})})]})}),e.jsx("div",{className:`px-6 py-3 border-t ${t?"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800":"bg-gray-50 dark:bg-gray-700/50 border-gray-200 dark:border-gray-700"}`,children:e.jsx("div",{className:"flex items-center gap-2 text-sm",children:t?e.jsxs(e.Fragment,{children:[e.jsx(a,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-green-700 dark:text-green-400",children:s("settings.telemetry.statusEnabled","Telemetry is enabled. Thank you for helping improve AgentStudio!")})]}):e.jsxs(e.Fragment,{children:[e.jsx(x,{className:"w-4 h-4 text-gray-500"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:s("settings.telemetry.statusDisabled","Telemetry is disabled. No data is being collected.")})]})})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("h3",{className:"font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(a,{className:"w-5 h-5 text-green-500"}),s("settings.telemetry.whatWeCollect","What We Collect")]}),e.jsxs("ul",{className:"space-y-3 text-sm text-gray-600 dark:text-gray-300",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.installId","Anonymous Installation ID")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.installIdDesc","A random UUID to distinguish installations, not linked to your identity")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.version","App Version & OS")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.versionDesc","Helps us understand which versions and platforms are most used")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.features","Feature Usage")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.featuresDesc","Which features are used (without content or personal data)")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.errors","Error Reports")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.errorsDesc","Sanitized error messages and stack traces (file paths removed)")})]})]})]})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("h3",{className:"font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(g,{className:"w-5 h-5 text-red-500"}),s("settings.telemetry.whatWeNeverCollect","What We Never Collect")]}),e.jsxs("ul",{className:"space-y-3 text-sm text-gray-600 dark:text-gray-300",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.files","File contents, code, or project data")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.keys","API keys, passwords, or credentials")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.pii","Personal identifying information (name, email, IP)")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.conversations","Chat conversations or AI responses")})]})]})]}),e.jsx("div",{className:"bg-blue-50 dark:bg-blue-900/20 rounded-xl border border-blue-200 dark:border-blue-800 p-4",children:e.jsxs("p",{className:"text-sm text-blue-700 dark:text-blue-300",children:[e.jsxs("strong",{children:[s("settings.telemetry.privacyNote","Privacy First"),":"]})," ",s("settings.telemetry.privacyNoteDesc","All telemetry data is anonymized and aggregated. We cannot identify individual users. You can disable telemetry at any time.")]})})]})};export{f as TelemetrySettingsPage,f as default};
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{W as i}from"./monaco-editor-BWfQfpij.js";import{i as d,h as c}from"./index-BIGPvi1D.js";import{u as m}from"./tools-crrPnehB.js";import{a1 as o,a2 as a,a3 as x,j as g}from"./ui-components-D1pZO0y-.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-DR9EZMs5.js";const f=()=>{const{t:s}=m("pages"),[t,l]=i.useState(d()),n=()=>{const r=!t;c(r),l(r)};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:s("settings.telemetry.title","Telemetry & Analytics")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:s("settings.telemetry.description","Manage anonymous usage data collection")})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 overflow-hidden",children:[e.jsx("div",{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:`p-3 rounded-xl ${t?"bg-blue-100 dark:bg-blue-900/30":"bg-gray-100 dark:bg-gray-700"}`,children:e.jsx(o,{className:`w-6 h-6 ${t?"text-blue-600 dark:text-blue-400":"text-gray-500"}`})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-gray-900 dark:text-white",children:s("settings.telemetry.enableTelemetry","Enable Anonymous Telemetry")}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:s("settings.telemetry.enableDescription","Help improve AgentStudio by sharing anonymous usage data")})]})]}),e.jsx("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${t?"bg-blue-600":"bg-gray-300 dark:bg-gray-600"}`,children:e.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${t?"translate-x-6":"translate-x-1"}`})})]})}),e.jsx("div",{className:`px-6 py-3 border-t ${t?"bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800":"bg-gray-50 dark:bg-gray-700/50 border-gray-200 dark:border-gray-700"}`,children:e.jsx("div",{className:"flex items-center gap-2 text-sm",children:t?e.jsxs(e.Fragment,{children:[e.jsx(a,{className:"w-4 h-4 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-green-700 dark:text-green-400",children:s("settings.telemetry.statusEnabled","Telemetry is enabled. Thank you for helping improve AgentStudio!")})]}):e.jsxs(e.Fragment,{children:[e.jsx(x,{className:"w-4 h-4 text-gray-500"}),e.jsx("span",{className:"text-gray-600 dark:text-gray-400",children:s("settings.telemetry.statusDisabled","Telemetry is disabled. No data is being collected.")})]})})})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("h3",{className:"font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(a,{className:"w-5 h-5 text-green-500"}),s("settings.telemetry.whatWeCollect","What We Collect")]}),e.jsxs("ul",{className:"space-y-3 text-sm text-gray-600 dark:text-gray-300",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.installId","Anonymous Installation ID")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.installIdDesc","A random UUID to distinguish installations, not linked to your identity")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.version","App Version & OS")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.versionDesc","Helps us understand which versions and platforms are most used")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.features","Feature Usage")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.featuresDesc","Which features are used (without content or personal data)")})]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-green-500 mt-0.5",children:"✓"}),e.jsxs("div",{children:[e.jsx("strong",{children:s("settings.telemetry.collect.errors","Error Reports")}),e.jsx("p",{className:"text-gray-500 dark:text-gray-400 mt-0.5",children:s("settings.telemetry.collect.errorsDesc","Sanitized error messages and stack traces (file paths removed)")})]})]})]})]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("h3",{className:"font-semibold text-gray-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(g,{className:"w-5 h-5 text-red-500"}),s("settings.telemetry.whatWeNeverCollect","What We Never Collect")]}),e.jsxs("ul",{className:"space-y-3 text-sm text-gray-600 dark:text-gray-300",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.files","File contents, code, or project data")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.keys","API keys, passwords, or credentials")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.pii","Personal identifying information (name, email, IP)")})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 mt-0.5",children:"✗"}),e.jsx("span",{children:s("settings.telemetry.neverCollect.conversations","Chat conversations or AI responses")})]})]})]}),e.jsx("div",{className:"bg-blue-50 dark:bg-blue-900/20 rounded-xl border border-blue-200 dark:border-blue-800 p-4",children:e.jsxs("p",{className:"text-sm text-blue-700 dark:text-blue-300",children:[e.jsxs("strong",{children:[s("settings.telemetry.privacyNote","Privacy First"),":"]})," ",s("settings.telemetry.privacyNoteDesc","All telemetry data is anonymized and aggregated. We cannot identify individual users. You can disable telemetry at any time.")]})})]})};export{f as TelemetrySettingsPage,f as default};
@@ -1 +1 @@
1
- import{j as s}from"./data-structures-ChC1tqVg.js";import{s as e,a as o,d as r}from"./index-f67nhEoX.js";import"./monaco-editor-BWfQfpij.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-KlPdWQ8K.js";import"./tools-BZTR2NP1.js";import"./ui-components-DjgDPiqV.js";const l=()=>s.jsxs("div",{className:"p-8 space-y-4",children:[s.jsx("h1",{className:"text-2xl font-bold mb-6",children:"Toast Test Page"}),s.jsxs("div",{className:"space-y-4",children:[s.jsx("button",{onClick:()=>e("Success!","This is a success message"),className:"px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700",children:"Show Success Toast"}),s.jsx("button",{onClick:()=>o("Error!","This is an error message"),className:"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 ml-4",children:"Show Error Toast"}),s.jsx("button",{onClick:()=>r("Info","This is an info message"),className:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 ml-4",children:"Show Info Toast"})]})]});export{l as ToastTestPage};
1
+ import{j as s}from"./data-structures-ChC1tqVg.js";import{s as e,a as o,d as r}from"./index-BIGPvi1D.js";import"./monaco-editor-BWfQfpij.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-DR9EZMs5.js";import"./tools-crrPnehB.js";import"./ui-components-D1pZO0y-.js";const l=()=>s.jsxs("div",{className:"p-8 space-y-4",children:[s.jsx("h1",{className:"text-2xl font-bold mb-6",children:"Toast Test Page"}),s.jsxs("div",{className:"space-y-4",children:[s.jsx("button",{onClick:()=>e("Success!","This is a success message"),className:"px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700",children:"Show Success Toast"}),s.jsx("button",{onClick:()=>o("Error!","This is an error message"),className:"px-4 py-2 bg-red-600 text-white rounded hover:bg-red-700 ml-4",children:"Show Error Toast"}),s.jsx("button",{onClick:()=>r("Info","This is an info message"),className:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 ml-4",children:"Show Info Toast"})]})]});export{l as ToastTestPage};
@@ -1 +1 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{g as a}from"./UnifiedToolSelector-BP6fuyzG.js";import{D as d,H as m,k as p}from"./ui-components-DjgDPiqV.js";const u=({tools:t,id:s,expandedTools:o,setExpandedTools:i,isMobile:g=!1,emptyMessage:c="继承全局设置"})=>{const n=g?3:5,x=o[s]||!1;return!t||t.length===0?e.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:c}):e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>i(r=>({...r,[s]:!r[s]})),className:"flex items-center space-x-2 text-sm text-gray-700 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors mb-2 group",children:[e.jsx(d,{className:"w-4 h-4"}),e.jsxs("span",{className:"font-medium",children:[t.length," 个工具"]}),x?e.jsx(m,{className:"w-4 h-4 text-gray-400 group-hover:text-blue-600"}):e.jsx(p,{className:"w-4 h-4 text-gray-400 group-hover:text-blue-600"})]}),x&&e.jsx("div",{className:`flex flex-wrap gap-1.5 ${g?"max-h-40":"max-h-48"} overflow-y-auto pr-2`,children:t.map((r,l)=>e.jsx("code",{className:"inline-block bg-green-50 dark:bg-green-900/30 text-green-700 dark:text-green-400 px-2 py-1 rounded text-xs font-mono border border-green-200 dark:border-green-800 hover:bg-green-100 dark:hover:bg-green-900/50 transition-colors",title:a(r),children:a(r)},l))}),!x&&e.jsxs("div",{className:"flex flex-wrap gap-1",children:[t.slice(0,n).map((r,l)=>e.jsx("code",{className:"inline-block bg-green-50 dark:bg-green-900/30 text-green-700 dark:text-green-400 px-2 py-0.5 rounded text-xs font-mono",title:a(r),children:a(r)},l)),t.length>n&&e.jsxs("span",{className:"inline-flex items-center px-2 py-0.5 text-xs text-gray-500 dark:text-gray-400",children:["+",t.length-n]})]})]})};export{u as T};
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{g as a}from"./UnifiedToolSelector-DJN7ASu1.js";import{D as d,H as m,k as p}from"./ui-components-D1pZO0y-.js";const u=({tools:t,id:s,expandedTools:o,setExpandedTools:i,isMobile:g=!1,emptyMessage:c="继承全局设置"})=>{const n=g?3:5,x=o[s]||!1;return!t||t.length===0?e.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:c}):e.jsxs("div",{children:[e.jsxs("button",{onClick:()=>i(r=>({...r,[s]:!r[s]})),className:"flex items-center space-x-2 text-sm text-gray-700 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors mb-2 group",children:[e.jsx(d,{className:"w-4 h-4"}),e.jsxs("span",{className:"font-medium",children:[t.length," 个工具"]}),x?e.jsx(m,{className:"w-4 h-4 text-gray-400 group-hover:text-blue-600"}):e.jsx(p,{className:"w-4 h-4 text-gray-400 group-hover:text-blue-600"})]}),x&&e.jsx("div",{className:`flex flex-wrap gap-1.5 ${g?"max-h-40":"max-h-48"} overflow-y-auto pr-2`,children:t.map((r,l)=>e.jsx("code",{className:"inline-block bg-green-50 dark:bg-green-900/30 text-green-700 dark:text-green-400 px-2 py-1 rounded text-xs font-mono border border-green-200 dark:border-green-800 hover:bg-green-100 dark:hover:bg-green-900/50 transition-colors",title:a(r),children:a(r)},l))}),!x&&e.jsxs("div",{className:"flex flex-wrap gap-1",children:[t.slice(0,n).map((r,l)=>e.jsx("code",{className:"inline-block bg-green-50 dark:bg-green-900/30 text-green-700 dark:text-green-400 px-2 py-0.5 rounded text-xs font-mono",title:a(r),children:a(r)},l)),t.length>n&&e.jsxs("span",{className:"inline-flex items-center px-2 py-0.5 text-xs text-gray-500 dark:text-gray-400",children:["+",t.length-n]})]})]})};export{u as T};
@@ -0,0 +1 @@
1
+ import{j as t}from"./data-structures-ChC1tqVg.js";import{r as g}from"./monaco-editor-BWfQfpij.js";import{a as Q,A as Z}from"./agents-DR9EZMs5.js";import{u as M}from"./tools-crrPnehB.js";import{X as R,ac as ee,at as te,_ as N,au as B,av as A,V as re,j as D,k as se,l as ae}from"./ui-components-D1pZO0y-.js";const I={Bash:"终端命令",BashOutput:"终端命令输出",KillBash:"杀死终端命令",Edit:"文件编辑",Read:"读取文件",Write:"写入文件",Glob:"文件搜索",Grep:"文本搜索",NotebookEdit:"笔记本编辑",WebFetch:"网页获取",WebSearch:"网络搜索",TodoWrite:"任务管理",Task:"任务执行",ExitPlanMode:"退出计划模式",Skill:"技能调用",AgentOutput:"后台Agent输出"},ne={Bash:"执行命令行操作",BashOutput:"获取终端命令输出",KillBash:"杀死终端命令",Edit:"编辑文件内容",Read:"读取文件内容",Write:"创建或覆盖文件",Glob:"使用通配符搜索文件",Grep:"在文件中搜索文本",NotebookEdit:"编辑Jupyter笔记本",WebFetch:"获取网页内容",WebSearch:"搜索网络信息",TodoWrite:"创建和管理待办事项",Task:"执行复杂任务",ExitPlanMode:"退出计划模式",Skill:"调用预定义的技能",AgentOutput:"获取后台Agent的执行结果"};function F(d){return I[d]||d}function ie(d){return ne[d]||""}function le(){const d=new Set([...Object.keys(I)]);return Array.from(d).map(m=>({name:m,label:F(m),description:ie(m)}))}const b=le(),ge=({isOpen:d,onClose:m,selectedRegularTools:i,onRegularToolsChange:f,selectedMcpTools:l,onMcpToolsChange:h,mcpToolsEnabled:G,onMcpEnabledChange:U,presetTools:y=[],readonly:E=!1})=>{const{t:c}=M("components"),[u,K]=g.useState([]),[v,P]=g.useState(!1),[p,T]=g.useState(null),[C,V]=g.useState(new Set),[S,O]=g.useState("regular");g.useEffect(()=>{d&&q()},[d]);const q=async()=>{P(!0),T(null);try{const e=await Q(`${Z}/mcp`);if(!e.ok)throw new Error("Failed to fetch MCP configurations");const r=await e.json();K(r.servers||[])}catch(e){console.error("Failed to fetch MCP servers:",e),T(e instanceof Error?e.message:"Unknown error")}finally{P(!1)}},W=e=>y.some(r=>r.name===e&&r.enabled),j=e=>{if(y.some(s=>s.name===e&&s.enabled))return!0;const r=e.split("__");if(r.length===3&&r[0]==="mcp"){const s=`${r[1]}.${r[2]}`;if(y.some(x=>x.name===s&&x.enabled))return!0;const a=`mcp__${r[1]}__${r[2]}`;if(y.some(x=>x.name===a&&x.enabled))return!0}return!1},z=e=>{W(e)&&i.includes(e)||(i.includes(e)?f(i.filter(r=>r!==e)):f([...i,e]))},H=e=>{j(e)&&l.includes(e)||(l.includes(e)?h(l.filter(r=>r!==e)):h([...l,e]))},J=e=>{const r=new Set(C);r.has(e)?r.delete(e):r.add(e),V(r)},L=e=>{const r=u.find(s=>s.name===e);return!r||!r.tools?!1:r.tools.some(s=>{const a=`mcp__${e}__${s}`;return j(a)})},X=(e,r)=>{const s=u.find(n=>n.name===e);if(!s||!s.tools)return;const a=s.tools.map(n=>`mcp__${e}__${n}`),x=L(e);if(r)if(x){const n=a.filter(o=>!j(o));h(l.filter(o=>!n.includes(o)))}else h(l.filter(n=>!a.includes(n)));else{const n=[...l];a.forEach(o=>{n.includes(o)||n.push(o)}),h(n)}},Y=e=>{const r=u.find(a=>a.name===e);return!r||!r.tools?!1:r.tools.map(a=>`mcp__${e}__${a}`).every(a=>l.includes(a))};return d?t.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[60]",onClick:m,children:t.jsxs("div",{className:"unified-tool-selector-popup w-96 max-h-[500px] bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg flex flex-col",onClick:e=>e.stopPropagation(),children:[t.jsxs("div",{className:"p-4 flex-shrink-0",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-white",children:c("unifiedToolSelector.title")}),t.jsx("button",{type:"button",onClick:m,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",children:t.jsx(R,{className:"w-5 h-5"})})]}),t.jsxs("div",{className:"flex space-x-1 mb-2 bg-gray-100 dark:bg-gray-700 rounded-lg p-1",children:[t.jsxs("button",{type:"button",onClick:()=>O("regular"),className:`flex-1 flex items-center justify-center space-x-2 px-3 py-2 rounded-md text-sm font-medium transition-colors ${S==="regular"?"bg-white dark:bg-gray-800 text-gray-900 dark:text-white shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"}`,children:[t.jsx(ee,{className:"w-4 h-4"}),t.jsx("span",{children:c("unifiedToolSelector.tabs.regular")}),i.length>0&&t.jsx("span",{className:"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 text-xs rounded-full px-2 py-0.5 min-w-[20px] text-center",children:i.length})]}),t.jsxs("button",{type:"button",onClick:()=>O("mcp"),className:`flex-1 flex items-center justify-center space-x-2 px-3 py-2 rounded-md text-sm font-medium transition-colors ${S==="mcp"?"bg-white dark:bg-gray-800 text-gray-900 dark:text-white shadow-sm":"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white"}`,children:[t.jsx(te,{className:"w-4 h-4"}),t.jsx("span",{children:c("unifiedToolSelector.tabs.mcp")}),l.length>0&&t.jsx("span",{className:"bg-green-100 dark:bg-green-900/30 text-green-600 dark:text-green-400 text-xs rounded-full px-2 py-0.5 min-w-[20px] text-center",children:l.filter(e=>e.startsWith("mcp__")&&e.split("__").length===3).length})]})]})]}),t.jsx("div",{className:"px-4 pb-4 overflow-y-auto flex-1",children:S==="regular"?t.jsx("div",{className:"space-y-2",children:t.jsxs("div",{className:"space-y-2",children:[t.jsx("div",{className:"flex items-center justify-end p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded",children:t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("span",{className:"text-sm text-gray-700 dark:text-gray-300 font-medium",children:c("unifiedToolSelector.selectAll")}),t.jsx("button",{type:"button",onClick:()=>{i.length===b.length?f([]):f(b.map(e=>e.name))},className:`w-4 h-4 border-2 rounded flex items-center justify-center transition-colors ${i.length===b.length||i.length>0?"bg-blue-600 border-blue-600 text-white":"border-gray-300 dark:border-gray-600 hover:border-blue-500"}`,children:i.length===b.length?t.jsx(N,{className:"w-3 h-3"}):i.length>0?t.jsx(B,{className:"w-3 h-3"}):null})]})}),b.map(e=>{const r=i.includes(e.name),s=W(e.name),a=E||s&&r;return t.jsx("div",{className:`flex items-center justify-between p-2 rounded ${a?"bg-gray-50 dark:bg-gray-700":"hover:bg-gray-50 dark:hover:bg-gray-700"}`,children:t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("button",{type:"button",onClick:()=>z(e.name),disabled:a,className:`w-4 h-4 border-2 rounded flex items-center justify-center transition-colors ${r?s?"bg-orange-500 border-orange-500 text-white cursor-not-allowed":"bg-blue-600 border-blue-600 text-white":a?"border-gray-200 dark:border-gray-600 cursor-not-allowed":"border-gray-300 dark:border-gray-600 hover:border-blue-500"}`,children:r&&(s?t.jsx(A,{className:"w-3 h-3"}):t.jsx(N,{className:"w-3 h-3"}))}),t.jsxs("span",{className:`text-sm ${a?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300"}`,children:[F(e.name)," (",e.name,")",s&&t.jsxs("span",{className:"ml-1 text-xs text-orange-600 dark:text-orange-400",children:["[",c("unifiedToolSelector.preset"),"]"]})]})]})},e.name)})]})}):t.jsxs("div",{className:"space-y-4",children:[t.jsx("div",{className:"flex items-center justify-end p-2",children:t.jsxs("label",{className:"flex items-center space-x-2",children:[t.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:c("unifiedToolSelector.enableMcpTools")}),t.jsx("input",{type:"checkbox",checked:G,onChange:e=>U(e.target.checked),className:"w-4 h-4 text-green-600 border-gray-300 dark:border-gray-600 rounded focus:ring-green-500"})]})}),v&&t.jsxs("div",{className:"flex items-center justify-center py-4",children:[t.jsx(re,{className:"w-4 h-4 text-gray-400 animate-spin mr-2"}),t.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:c("unifiedToolSelector.loading")})]}),p&&t.jsxs("div",{className:"flex items-center justify-center py-4 text-red-600 dark:text-red-400",children:[t.jsx(D,{className:"w-4 h-4 mr-2"}),t.jsx("span",{className:"text-sm",children:p})]}),!v&&!p&&u.length===0&&t.jsx("div",{className:"text-center py-4 text-gray-500 dark:text-gray-400",children:t.jsx("span",{className:"text-sm",children:c("unifiedToolSelector.noMcpServers")})}),!v&&!p&&u.map(e=>{const r=C.has(e.name),s=e.status==="active",a=Y(e.name),x=e.tools?.some(o=>l.includes(`mcp__${e.name}__${o}`)),n=L(e.name);return t.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg",children:[t.jsxs("div",{className:"flex items-center justify-between p-3",children:[t.jsxs("button",{type:"button",onClick:()=>J(e.name),className:"flex items-center space-x-2 flex-1 text-left hover:bg-gray-50 dark:hover:bg-gray-700 -m-1 p-1 rounded transition-colors",disabled:!s,children:[r?t.jsx(se,{className:"w-4 h-4 text-gray-400"}):t.jsx(ae,{className:"w-4 h-4 text-gray-400"}),t.jsx("div",{className:`w-2 h-2 rounded-full ${s?"bg-green-500":"bg-red-500"}`}),t.jsx("span",{className:`font-medium ${s?"text-gray-900 dark:text-white":"text-gray-500 dark:text-gray-400"}`,children:e.name}),t.jsx("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:c("unifiedToolSelector.toolsCount",{count:e.tools?.length||0})})]}),s&&e.tools&&e.tools.length>0&&t.jsx("button",{type:"button",onClick:()=>X(e.name,a),className:`w-4 h-4 border-2 rounded flex items-center justify-center transition-colors ${a?n?"bg-orange-500 border-orange-500 text-white":"bg-green-600 border-green-600 text-white":x?n?"bg-orange-400 border-orange-400 text-white":"bg-blue-600 border-blue-600 text-white":"border-gray-300 dark:border-gray-600 hover:border-green-500"}`,children:a?n?t.jsx(A,{className:"w-3 h-3"}):t.jsx(N,{className:"w-3 h-3"}):x?t.jsx(B,{className:"w-3 h-3"}):null})]}),r&&s&&e.tools&&t.jsx("div",{className:"border-t border-gray-200 dark:border-gray-700 p-3 space-y-2",children:e.tools.map(o=>{const _=`mcp__${e.name}__${o}`,$=l.includes(_),k=j(_),w=E||k&&$;return t.jsx("div",{className:`flex items-center justify-between p-2 rounded ${w?"bg-gray-50 dark:bg-gray-700":"hover:bg-gray-50 dark:hover:bg-gray-700"}`,children:t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("button",{type:"button",onClick:()=>H(_),disabled:w,className:`w-4 h-4 border-2 rounded flex items-center justify-center transition-colors ${$?k?"bg-orange-500 border-orange-500 text-white cursor-not-allowed":"bg-green-600 border-green-600 text-white":w?"border-gray-200 dark:border-gray-600 cursor-not-allowed":"border-gray-300 dark:border-gray-600 hover:border-green-500"}`,children:$&&(k?t.jsx(A,{className:"w-3 h-3"}):t.jsx(N,{className:"w-3 h-3"}))}),t.jsxs("span",{className:`text-sm ${w?"text-gray-400 dark:text-gray-500":"text-gray-700 dark:text-gray-300"}`,children:[o,k&&t.jsxs("span",{className:"ml-1 text-xs text-orange-600 dark:text-orange-400",children:["[",c("unifiedToolSelector.preset"),"]"]})]})]})},o)})}),!s&&t.jsx("div",{className:"border-t border-gray-200 dark:border-gray-700 p-3",children:t.jsxs("div",{className:"flex items-center text-red-600 dark:text-red-400",children:[t.jsx(D,{className:"w-4 h-4 mr-2"}),t.jsx("span",{className:"text-sm",children:e.error||c("unifiedToolSelector.serverUnavailable")})]})})]},e.name)})]})})]})}):null};export{ge as U,F as g};
@@ -1,4 +1,4 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{W as L,r as v}from"./monaco-editor-BWfQfpij.js";import{c as le,a as w,s as M}from"./index-f67nhEoX.js";import{u as ne,a as oe,b as de,c as ce,d as pe,f as ue}from"./useClaudeVersions-DicHLV6A.js";import{F as xe}from"./FileBrowser-DboOOM_v.js";import{u as C}from"./tools-BZTR2NP1.js";import{v as R,aO as F,E as U,I as me,J as ge,y as he,r as q,X as K,a9 as be,M as ye,f as fe,e as ke,a4 as ve}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-KlPdWQ8K.js";async function Ne(s){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(s),!0;{const t=document.createElement("textarea");t.value=s,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select();const u=document.execCommand("copy");return document.body.removeChild(t),u}}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}const G=[{id:"glm",name:"GLM (智谱AI)",alias:"glm",description:"使用智谱AI的GLM模型服务,兼容Anthropic API",versionDescription:"智谱AI GLM模型 - Anthropic兼容版本",apiTokenUrl:"https://www.bigmodel.cn/claude-code?ic=IHK4TGHUDI",logoUrl:"https://chatglm.cn/img/icons/favicon-32x32.png",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://open.bigmodel.cn/api/anthropic",isRequired:!0,description:"智谱AI的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"YOUR_API_KEY",description:"您的智谱AI API密钥(必填)"}],models:[{id:"glm-4.7",name:"GLM-4.7",isVision:!1,description:"智谱AI GLM-4.7 最新版本"},{id:"glm-4.6",name:"GLM-4.6",isVision:!1,description:"智谱AI GLM-4.6 模型"},{id:"glm-4.5",name:"GLM-4.5",isVision:!1,description:"智谱AI GLM-4.5 模型"},{id:"glm-4.5v",name:"GLM-4.5V",isVision:!0,description:"智谱AI GLM-4.5V 视觉模型"},{id:"glm-4.5-flash",name:"GLM-4.5-Flash",isVision:!1,description:"智谱AI GLM-4.5-Flash 快速模型"},{id:"glm-4.5-air",name:"GLM-4.5-Air",isVision:!1,description:"智谱AI GLM-4.5-Air 轻量级模型"}]},{id:"deepseek",name:"DeepSeek",alias:"deepseek",description:"使用DeepSeek的高性能模型服务",versionDescription:"DeepSeek高性能模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.deepseek.com/api_keys",logoUrl:"https://chat.deepseek.com/favicon.svg",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.deepseek.com/anthropic",isRequired:!0,description:"DeepSeek的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"YOUR_DEEPSEEK_API_KEY",description:"您的DeepSeek API密钥(必填)"},{key:"API_TIMEOUT_MS",value:"600000",isRequired:!1,description:"API请求超时时间(毫秒)"},{key:"ANTHROPIC_MODEL",value:"deepseek-chat",isRequired:!1,description:"使用的DeepSeek模型名称"},{key:"ANTHROPIC_SMALL_FAST_MODEL",value:"deepseek-chat",isRequired:!1,description:"快速轻量级模型名称"},{key:"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC",value:"1",isRequired:!1,description:"禁用非必要流量(1=启用,0=禁用)"}],models:[{id:"deepseek-chat",name:"DeepSeek Chat",isVision:!1,description:"DeepSeek Chat 最新对话模型"},{id:"deepseek-reasoner",name:"DeepSeek Reasoner",isVision:!1,description:"DeepSeek Reasoner 推理模型"}]},{id:"kimi",name:"Kimi K2 (月之暗面)",alias:"kimi-k2",description:"使用Kimi K2模型服务,支持Anthropic API兼容",versionDescription:"Kimi K2模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.moonshot.cn/console/api-keys",logoUrl:"https://statics.moonshot.cn/kimi-web-seo/favicon.ico",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.moonshot.cn/anthropic",isRequired:!0,description:"Kimi的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"sk-YOURKEY",description:"您的Kimi API密钥(必填,以sk-开头)"}],models:[{id:"kimi-k2-0905-preview",name:"Kimi K2 0905 Preview",isVision:!1,description:"Kimi K2 2024年9月5日预览版"},{id:"kimi-k2-0711-preview",name:"Kimi K2 0711 Preview",isVision:!1,description:"Kimi K2 2024年7月11日预览版"},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo Preview",isVision:!1,description:"Kimi K2 Turbo 预览版"},{id:"kimi-latest",name:"Kimi Latest",isVision:!0,description:"Kimi 最新版本视觉模型"}]},{id:"minimax",name:"MiniMax",alias:"minimax",description:"使用MiniMax的高性能模型服务,支持Anthropic API兼容",versionDescription:"MiniMax模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key",logoUrl:"https://agent.minimaxi.com/assets/logo/favicon.png?v=4",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.minimaxi.com/anthropic",isRequired:!0,description:"MiniMax的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"<MINIMAX_API_KEY>",description:"您的MiniMax API密钥(必填)"},{key:"API_TIMEOUT_MS",value:"3000000",isRequired:!1,description:"API请求超时时间(毫秒)"},{key:"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC",value:"1",isRequired:!1,description:"禁用非必要流量(1=启用,0=禁用)"},{key:"ANTHROPIC_MODEL",value:"MiniMax-M2",isRequired:!1,description:"使用的MiniMax模型名称"},{key:"ANTHROPIC_SMALL_FAST_MODEL",value:"MiniMax-M2",isRequired:!1,description:"快速轻量级模型名称"},{key:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Sonnet模型名称"},{key:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Opus模型名称"},{key:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Haiku模型名称"}],models:[{id:"MiniMax-M2",name:"MiniMax M2",isVision:!1,description:"MiniMax M2 最新模型"}]}],je=({onQuickCreateWithTemplate:s,onAddVersion:t})=>{const{t:u}=C("pages");return e.jsxs("div",{className:"flex items-center space-x-3",children:[G.map(a=>e.jsxs("button",{onClick:()=>s(a),className:`flex items-center space-x-2 px-3 py-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{W as L,r as v}from"./monaco-editor-BWfQfpij.js";import{c as le,a as w,s as M}from"./index-BIGPvi1D.js";import{u as ne,a as oe,b as de,c as ce,d as pe,f as ue}from"./useClaudeVersions-CKT_fq1t.js";import{F as xe}from"./FileBrowser-DHyCacM6.js";import{u as C}from"./tools-crrPnehB.js";import{v as R,aO as F,E as U,I as me,J as ge,y as he,r as q,X as K,a9 as be,N as ye,f as fe,e as ke,a4 as ve}from"./ui-components-D1pZO0y-.js";import"./syntax-highlighting-DGbNjS3S.js";import"./agents-DR9EZMs5.js";async function Ne(s){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(s),!0;{const t=document.createElement("textarea");t.value=s,t.style.position="fixed",t.style.left="-999999px",t.style.top="-999999px",document.body.appendChild(t),t.focus(),t.select();const u=document.execCommand("copy");return document.body.removeChild(t),u}}catch(t){return console.error("Failed to copy to clipboard:",t),!1}}const G=[{id:"glm",name:"GLM (智谱AI)",alias:"glm",description:"使用智谱AI的GLM模型服务,兼容Anthropic API",versionDescription:"智谱AI GLM模型 - Anthropic兼容版本",apiTokenUrl:"https://www.bigmodel.cn/claude-code?ic=IHK4TGHUDI",logoUrl:"https://chatglm.cn/img/icons/favicon-32x32.png",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://open.bigmodel.cn/api/anthropic",isRequired:!0,description:"智谱AI的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"YOUR_API_KEY",description:"您的智谱AI API密钥(必填)"}],models:[{id:"glm-4.7",name:"GLM-4.7",isVision:!1,description:"智谱AI GLM-4.7 最新版本"},{id:"glm-4.6",name:"GLM-4.6",isVision:!1,description:"智谱AI GLM-4.6 模型"},{id:"glm-4.5",name:"GLM-4.5",isVision:!1,description:"智谱AI GLM-4.5 模型"},{id:"glm-4.5v",name:"GLM-4.5V",isVision:!0,description:"智谱AI GLM-4.5V 视觉模型"},{id:"glm-4.5-flash",name:"GLM-4.5-Flash",isVision:!1,description:"智谱AI GLM-4.5-Flash 快速模型"},{id:"glm-4.5-air",name:"GLM-4.5-Air",isVision:!1,description:"智谱AI GLM-4.5-Air 轻量级模型"}]},{id:"deepseek",name:"DeepSeek",alias:"deepseek",description:"使用DeepSeek的高性能模型服务",versionDescription:"DeepSeek高性能模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.deepseek.com/api_keys",logoUrl:"https://chat.deepseek.com/favicon.svg",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.deepseek.com/anthropic",isRequired:!0,description:"DeepSeek的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"YOUR_DEEPSEEK_API_KEY",description:"您的DeepSeek API密钥(必填)"},{key:"API_TIMEOUT_MS",value:"600000",isRequired:!1,description:"API请求超时时间(毫秒)"},{key:"ANTHROPIC_MODEL",value:"deepseek-chat",isRequired:!1,description:"使用的DeepSeek模型名称"},{key:"ANTHROPIC_SMALL_FAST_MODEL",value:"deepseek-chat",isRequired:!1,description:"快速轻量级模型名称"},{key:"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC",value:"1",isRequired:!1,description:"禁用非必要流量(1=启用,0=禁用)"}],models:[{id:"deepseek-chat",name:"DeepSeek Chat",isVision:!1,description:"DeepSeek Chat 最新对话模型"},{id:"deepseek-reasoner",name:"DeepSeek Reasoner",isVision:!1,description:"DeepSeek Reasoner 推理模型"}]},{id:"kimi",name:"Kimi K2 (月之暗面)",alias:"kimi-k2",description:"使用Kimi K2模型服务,支持Anthropic API兼容",versionDescription:"Kimi K2模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.moonshot.cn/console/api-keys",logoUrl:"https://statics.moonshot.cn/kimi-web-seo/favicon.ico",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.moonshot.cn/anthropic",isRequired:!0,description:"Kimi的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"sk-YOURKEY",description:"您的Kimi API密钥(必填,以sk-开头)"}],models:[{id:"kimi-k2-0905-preview",name:"Kimi K2 0905 Preview",isVision:!1,description:"Kimi K2 2024年9月5日预览版"},{id:"kimi-k2-0711-preview",name:"Kimi K2 0711 Preview",isVision:!1,description:"Kimi K2 2024年7月11日预览版"},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo Preview",isVision:!1,description:"Kimi K2 Turbo 预览版"},{id:"kimi-latest",name:"Kimi Latest",isVision:!0,description:"Kimi 最新版本视觉模型"}]},{id:"minimax",name:"MiniMax",alias:"minimax",description:"使用MiniMax的高性能模型服务,支持Anthropic API兼容",versionDescription:"MiniMax模型 - Anthropic兼容版本",apiTokenUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key",logoUrl:"https://agent.minimaxi.com/assets/logo/favicon.png?v=4",envVars:[{key:"ANTHROPIC_BASE_URL",value:"https://api.minimaxi.com/anthropic",isRequired:!0,description:"MiniMax的Anthropic兼容端点"},{key:"ANTHROPIC_AUTH_TOKEN",value:"",isRequired:!0,placeholder:"<MINIMAX_API_KEY>",description:"您的MiniMax API密钥(必填)"},{key:"API_TIMEOUT_MS",value:"3000000",isRequired:!1,description:"API请求超时时间(毫秒)"},{key:"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC",value:"1",isRequired:!1,description:"禁用非必要流量(1=启用,0=禁用)"},{key:"ANTHROPIC_MODEL",value:"MiniMax-M2",isRequired:!1,description:"使用的MiniMax模型名称"},{key:"ANTHROPIC_SMALL_FAST_MODEL",value:"MiniMax-M2",isRequired:!1,description:"快速轻量级模型名称"},{key:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Sonnet模型名称"},{key:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Opus模型名称"},{key:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:"MiniMax-M2",isRequired:!1,description:"默认Haiku模型名称"}],models:[{id:"MiniMax-M2",name:"MiniMax M2",isVision:!1,description:"MiniMax M2 最新模型"}]}],je=({onQuickCreateWithTemplate:s,onAddVersion:t})=>{const{t:u}=C("pages");return e.jsxs("div",{className:"flex items-center space-x-3",children:[G.map(a=>e.jsxs("button",{onClick:()=>s(a),className:`flex items-center space-x-2 px-3 py-2 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600
2
2
  text-gray-700 dark:text-gray-300 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700
3
3
  hover:border-purple-400 dark:hover:border-purple-500 transition-all duration-200 group`,title:u(`settings.supplier.templates.providers.${a.id}.description`),children:[a.logoUrl&&e.jsx("img",{src:a.logoUrl,alt:a.name,className:"w-5 h-5 flex-shrink-0",onError:g=>{g.currentTarget.style.display="none"}}),e.jsx("span",{className:"text-sm font-medium group-hover:text-purple-600 dark:group-hover:text-purple-400",children:u(`settings.supplier.templates.providers.${a.id}.name`)})]},a.id)),e.jsxs("button",{onClick:t,className:"flex items-center space-x-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:[e.jsx(R,{className:"w-4 h-4"}),e.jsx("span",{children:u("settings.supplier.addSupplier")})]})]})},Ae=({version:s,isDefault:t,onCopyCommand:u,onSetDefault:a,onEdit:g,onDelete:h})=>{const{t:l}=C("pages");return e.jsx("div",{className:`p-4 border rounded-lg ${t?"border-blue-200 bg-blue-50 dark:border-blue-700 dark:bg-blue-900/20":"border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-700/50"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"flex items-center space-x-3",children:e.jsxs("h4",{className:"font-medium text-gray-900 dark:text-white flex items-center space-x-2",children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-sm font-normal text-gray-500 dark:text-gray-400",children:["(",s.alias,")"]}),s.isSystem&&e.jsx("span",{className:"px-2 py-1 text-xs bg-gray-200 dark:bg-gray-600 text-gray-700 dark:text-gray-300 rounded",children:l("settings.supplier.systemLabel")}),t&&e.jsxs("span",{className:"px-2 py-1 text-xs bg-blue-200 dark:bg-blue-700 text-blue-700 dark:text-blue-200 rounded flex items-center space-x-1",children:[e.jsx(F,{className:"w-3 h-3"}),e.jsx("span",{children:l("settings.supplier.defaultLabel")})]})]})}),s.description&&e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400 mt-1",children:s.description}),e.jsxs("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:[e.jsxs("span",{className:"font-medium",children:[l("settings.supplier.pathLabel"),":"]})," ",s.executablePath]}),s.environmentVariables&&Object.keys(s.environmentVariables).length>0&&e.jsxs("div",{className:"mt-2",children:[e.jsxs("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[l("settings.supplier.envVarsLabel"),":"]}),e.jsx("div",{className:"flex flex-wrap gap-2 mt-1",children:Object.entries(s.environmentVariables).map(([i,n])=>e.jsxs("span",{className:"px-2 py-1 text-xs bg-gray-100 dark:bg-gray-600 text-gray-700 dark:text-gray-300 rounded",children:[i,"=",n]},i))})]}),s.models&&s.models.length>0&&e.jsxs("div",{className:"mt-2",children:[e.jsxs("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:[l("settings.supplier.modelsLabel"),":"]}),e.jsx("div",{className:"flex flex-wrap gap-2 mt-1",children:s.models.map(i=>e.jsxs("span",{className:"px-2 py-1 text-xs bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded flex items-center space-x-1",children:[e.jsx("span",{children:i.name}),i.isVision&&e.jsx(U,{className:"w-3 h-3"})]},i.id))})]})]}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("button",{onClick:()=>u(s),className:"p-2 text-gray-500 dark:text-gray-400 hover:text-green-600 rounded-lg hover:bg-green-50 dark:hover:bg-green-900/20 transition-colors",title:l("settings.supplier.copyCommand"),children:e.jsx(me,{className:"w-4 h-4"})}),!t&&e.jsx("button",{onClick:()=>a(s),className:"p-2 text-gray-500 dark:text-gray-400 hover:text-yellow-600 rounded-lg hover:bg-yellow-50 dark:hover:bg-yellow-900/20 transition-colors",title:l("settings.supplier.setAsDefault"),children:e.jsx(F,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>g(s),className:"p-2 text-gray-500 dark:text-gray-400 hover:text-blue-600 rounded-lg hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-colors",title:l("settings.supplier.edit"),children:e.jsx(ge,{className:"w-4 h-4"})}),!s.isSystem&&e.jsx("button",{onClick:()=>h(s),className:"p-2 text-gray-500 dark:text-gray-400 hover:text-red-600 rounded-lg hover:bg-red-50 dark:hover:bg-red-900/20 transition-colors",title:l("settings.supplier.delete"),children:e.jsx(he,{className:"w-4 h-4"})})]})]})})},we=({versions:s,defaultVersionId:t,isLoading:u,onCopyCommand:a,onSetDefault:g,onEdit:h,onDelete:l})=>{const{t:i}=C("pages");return u?e.jsx("div",{className:"flex items-center justify-center h-32",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600"})}):s.length===0?e.jsxs("div",{className:"text-center py-8 text-gray-500 dark:text-gray-400",children:[e.jsx(q,{className:"w-12 h-12 mx-auto mb-3 text-gray-300 dark:text-gray-600"}),e.jsx("p",{children:i("settings.supplier.noSuppliers")}),e.jsx("p",{className:"text-sm",children:i("settings.supplier.clickToAddFirst")})]}):e.jsx("div",{className:"space-y-3",children:s.map(n=>e.jsx(Ae,{version:n,isDefault:n.id===t,onCopyCommand:a,onSetDefault:g,onEdit:h,onDelete:l},n.id))})},Ce=({models:s,modelInput:t,onAddModel:u,onUpdateModel:a,onRemoveModel:g,onModelInputChange:h})=>{const{t:l}=C("pages");return e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:l("settings.supplier.form.models")}),e.jsxs("div",{className:"space-y-3",children:[s.length>0&&e.jsx("div",{className:"space-y-2",children:s.map((i,n)=>e.jsxs("div",{className:"flex items-center space-x-2 p-2 bg-blue-50 dark:bg-blue-900/20 rounded",children:[e.jsxs("div",{className:"flex-1 grid grid-cols-3 gap-2",children:[e.jsx("input",{type:"text",value:i.id,onChange:o=>{const y=s[n].id;a(y,{id:o.target.value})},className:"px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:l("settings.supplier.form.modelId")}),e.jsx("input",{type:"text",value:i.name,onChange:o=>{const y=s[n].id;a(y,{name:o.target.value})},className:"px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:l("settings.supplier.form.modelName")}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("label",{className:"flex items-center space-x-1 text-sm text-gray-700 dark:text-gray-300",children:[e.jsx("input",{type:"checkbox",checked:i.isVision,onChange:o=>{const y=s[n].id;a(y,{isVision:o.target.checked})},className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{children:l("settings.supplier.form.visionModel")})]}),i.isVision&&e.jsx(U,{className:"w-4 h-4 text-blue-600 dark:text-blue-400"})]})]}),e.jsx("button",{onClick:()=>{const o=s[n].id;g(o)},className:"p-1 text-red-500 hover:text-red-700 rounded flex-shrink-0",children:e.jsx(K,{className:"w-4 h-4"})})]},`model-${n}`))}),e.jsxs("div",{className:"grid grid-cols-3 gap-2",children:[e.jsx("input",{type:"text",value:t.id,onChange:i=>h({...t,id:i.target.value}),className:"px-3 py-2 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:l("settings.supplier.form.modelId")}),e.jsx("input",{type:"text",value:t.name,onChange:i=>h({...t,name:i.target.value}),className:"px-3 py-2 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:l("settings.supplier.form.modelName")}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("label",{className:"flex items-center space-x-1 text-sm text-gray-700 dark:text-gray-300",children:[e.jsx("input",{type:"checkbox",checked:t.isVision,onChange:i=>h({...t,isVision:i.target.checked}),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{children:l("settings.supplier.form.visionModel")})]}),e.jsxs("button",{onClick:u,disabled:!t.id||!t.name,className:"px-3 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:bg-gray-300 disabled:cursor-not-allowed transition-colors flex items-center space-x-1",children:[e.jsx(R,{className:"w-4 h-4"}),e.jsx("span",{children:l("settings.supplier.form.addModel")})]})]})]})]})]})},Te=({environmentVariables:s,envVarInput:t,currentTemplateTokenUrl:u,onAddEnvironmentVariable:a,onUpdateEnvironmentVariable:g,onRemoveEnvironmentVariable:h,onEnvVarInputChange:l,onAuthTokenChange:i})=>{const{t:n}=C("pages"),[o,y]=L.useState(!1),[j,b]=L.useState(""),k=c=>/^[a-zA-Z0-9]{4}\*\*\*[a-zA-Z0-9]{4}$/.test(c)||c==="***";L.useEffect(()=>{const c=s.ANTHROPIC_AUTH_TOKEN||"";k(c)?b(""):b(c)},[s]);const S=c=>{b(c);const f=s.ANTHROPIC_AUTH_TOKEN||"",T=k(f)?c.length>0:c!==f;i&&i(T),g("ANTHROPIC_AUTH_TOKEN",c)},A=()=>{y(!o)};return e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:n("settings.supplier.form.envVars")}),e.jsxs("div",{className:"space-y-3",children:[Object.keys(s).length>0&&e.jsx("div",{className:"space-y-2",children:Object.entries(s).map(([c,f])=>e.jsxs("div",{className:"flex items-center space-x-2 p-2 bg-gray-50 dark:bg-gray-700 rounded",children:[e.jsxs("div",{className:"flex-1 flex items-center space-x-2",children:[e.jsxs("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300 whitespace-nowrap",children:[c," ="]}),c==="ANTHROPIC_AUTH_TOKEN"?e.jsxs("div",{className:"flex-1 relative flex items-center",children:[e.jsx("input",{type:o?"text":"password",value:j,onChange:N=>S(N.target.value),placeholder:k(f)?"点击输入新的API密钥":n("settings.supplier.form.emptyValue"),className:"flex-1 px-2 py-1 pr-20 text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"}),e.jsxs("div",{className:"absolute right-2 flex items-center space-x-1",children:[k(f)&&e.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 bg-gray-200 dark:bg-gray-600 px-2 py-0.5 rounded",children:"已隐藏"}),e.jsx("button",{type:"button",onClick:A,className:"p-1 text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",title:o?"隐藏":"显示",children:o?e.jsx(be,{className:"w-3 h-3"}):e.jsx(U,{className:"w-3 h-3"})})]}),u&&(k(f)||!f)&&e.jsxs("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"ml-2 inline-flex items-center space-x-1 text-xs text-blue-600 dark:text-blue-400 hover:text-blue-700 dark:hover:text-blue-300 whitespace-nowrap",children:[e.jsx(ye,{className:"w-3 h-3"}),e.jsx("span",{children:n("settings.supplier.form.getApiKey")})]})]}):e.jsx("input",{type:"text",value:f,onChange:N=>g(c,N.target.value),placeholder:n("settings.supplier.form.emptyValue"),className:"flex-1 px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 dark:bg-gray-800 dark:text-white rounded focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"})]}),e.jsx("button",{onClick:()=>h(c),className:"p-1 text-red-500 hover:text-red-700 rounded flex-shrink-0",children:e.jsx(K,{className:"w-4 h-4"})})]},c))}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx("input",{type:"text",value:t.key,onChange:c=>l({...t,key:c.target.value}),className:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:n("settings.supplier.form.varName")}),e.jsx("input",{type:"text",value:t.value,onChange:c=>l({...t,value:c.target.value}),className:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:n("settings.supplier.form.varValue")}),e.jsx("button",{onClick:a,disabled:!t.key||!t.value,className:"px-3 py-2 bg-green-600 text-white rounded-lg hover:bg-green-700 disabled:bg-gray-300 disabled:cursor-not-allowed transition-colors",children:e.jsx(R,{className:"w-4 h-4"})})]})]})]})},Se=({editingVersion:s,isCreating:t,isFromTemplate:u,formData:a,envVarInput:g,modelInput:h,currentTemplateTokenUrl:l,isSaving:i,onApplyTemplate:n,onCancel:o,onSave:y,onSelectExecutablePath:j,onFormDataChange:b,onEnvVarInputChange:k,onModelInputChange:S,onAddEnvironmentVariable:A,onUpdateEnvironmentVariable:c,onRemoveEnvironmentVariable:f,onAddModel:N,onUpdateModel:T,onRemoveModel:V,onAuthTokenChange:_})=>{const{t:p}=C("pages");return e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50",children:e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg w-full max-w-2xl max-h-[90vh] mx-4 flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:p(s?"settings.supplier.form.editTitle":"settings.supplier.form.createTitle")}),s?.isSystem&&e.jsx("span",{className:"px-2 py-1 text-xs bg-gray-200 dark:bg-gray-600 text-gray-700 dark:text-gray-300 rounded",children:p("settings.supplier.systemLabel")})]}),e.jsx("button",{onClick:o,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",children:e.jsx(K,{className:"w-5 h-5"})})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:e.jsxs("div",{className:"space-y-4",children:[s?.isSystem&&e.jsxs("div",{className:"p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx(q,{className:"w-5 h-5 text-blue-600 dark:text-blue-400"}),e.jsx("h4",{className:"text-sm font-medium text-blue-800 dark:text-blue-300",children:"系统版本编辑"})]}),e.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-400 mt-2",children:"系统版本是自动检测的 Claude Code 版本,某些字段(如可执行路径)无法修改,但您可以配置支持的模型。"})]}),t&&!u&&e.jsxs("div",{className:"p-4 bg-purple-50 dark:bg-purple-900/20 border border-purple-200 dark:border-purple-800 rounded-lg",children:[e.jsxs("div",{className:"flex items-center space-x-2 mb-3",children:[e.jsx(fe,{className:"w-5 h-5 text-purple-600 dark:text-purple-400"}),e.jsx("h4",{className:"text-sm font-medium text-purple-800 dark:text-purple-300",children:p("settings.supplier.templates.title")})]}),e.jsx("p",{className:"text-xs text-purple-700 dark:text-purple-400 mb-3",children:p("settings.supplier.templates.description")}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:G.map(m=>e.jsx("button",{onClick:()=>n(m),className:`p-3 bg-white dark:bg-gray-800 border border-purple-200 dark:border-purple-700
4
4
  hover:border-purple-400 dark:hover:border-purple-500 rounded-md text-left
@@ -1 +1 @@
1
- import{j as e}from"./data-structures-ChC1tqVg.js";import{r as c}from"./monaco-editor-BWfQfpij.js";import{a as v,A as w}from"./agents-KlPdWQ8K.js";import{u as D}from"./tools-BZTR2NP1.js";import{V as h,j as T,ah as R,a4 as G,C as L,ai as p,a9 as m,E as b}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";const a={openai:{name:"OpenAI Whisper",description:"高质量语音识别,支持多语言",docsUrl:"https://platform.openai.com/docs/guides/speech-to-text"},groq:{name:"Groq Whisper",description:"超快速度,价格便宜,兼容 OpenAI API",docsUrl:"https://console.groq.com"},aliyun:{name:"阿里云语音识别",description:"国内访问快,中文识别准确",docsUrl:"https://help.aliyun.com/document_detail/84435.html"},tencent:{name:"腾讯云语音识别",description:"国内访问快,支持多种语言",docsUrl:"https://cloud.tencent.com/document/product/1093"},google:{name:"Google Cloud Speech-to-Text",description:"高质量语音识别,支持 125+ 语言和变体",docsUrl:"https://cloud.google.com/speech-to-text/docs"}},H=()=>{D(["pages","components"]);const[l,j]=c.useState(null),[U,C]=c.useState(!0),[S,K]=c.useState(!1),[I,o]=c.useState(null),[A,x]=c.useState(null),[n,$]=c.useState({}),[i,E]=c.useState(null),k=c.useCallback(async()=>{C(!0),o(null);try{const t=await v(`${w}/speech-to-text/settings`);if(t.ok){const r=await t.json();j(r)}else throw new Error("Failed to load settings")}catch(t){o(t instanceof Error?t.message:"加载设置失败")}finally{C(!1)}},[]),O=c.useCallback(async()=>{if(l){K(!0),o(null),x(null);try{const t=await v(`${w}/speech-to-text/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(t.ok){const r=await t.json();j(r.settings),x("设置已保存"),setTimeout(()=>x(null),3e3)}else{const r=await t.json();throw new Error(r.message||"保存失败")}}catch(t){o(t instanceof Error?t.message:"保存设置失败")}finally{K(!1)}}},[l]),y=c.useCallback(async t=>{E(t),o(null),x(null);try{const r=await v(`${w}/speech-to-text/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t})});if(r.ok)x(`${a[t].name} 配置验证成功`),setTimeout(()=>x(null),3e3);else{const d=await r.json();throw new Error(d.message||"测试失败")}}catch(r){o(r instanceof Error?r.message:"测试失败")}finally{E(null)}},[]);c.useEffect(()=>{k()},[k]);const s=(t,r)=>{if(!l)return;const d={...l},u=t.split(".");let N=d;for(let f=0;f<u.length-1;f++)N=N[u[f]];N[u[u.length-1]]=r,j(d)},g=t=>{$(r=>({...r,[t]:!r[t]}))},P=(t,r)=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:r.enabled,onChange:d=>s(`providers.${t}.enabled`,d.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),r.enabled&&e.jsxs("button",{onClick:()=>y(t),disabled:i===t,className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i===t?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),r.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n[`${t}.apiKey`]?"text":"password",value:r.apiKey,onChange:d=>s(`providers.${t}.apiKey`,d.target.value),placeholder:"sk-...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g(`${t}.apiKey`),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n[`${t}.apiKey`]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Base URL"}),e.jsx("input",{type:"text",value:r.baseUrl,onChange:d=>s(`providers.${t}.baseUrl`,d.target.value),placeholder:t==="openai"?"https://api.openai.com/v1":"https://api.groq.com/openai/v1",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Model"}),e.jsx("input",{type:"text",value:r.model,onChange:d=>s(`providers.${t}.model`,d.target.value),placeholder:t==="openai"?"whisper-1":"whisper-large-v3",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),q=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.aliyun.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("aliyun"),disabled:i==="aliyun",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="aliyun"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AccessKey ID"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["aliyun.accessKeyId"]?"text":"password",value:t.accessKeyId,onChange:r=>s("providers.aliyun.accessKeyId",r.target.value),placeholder:"LTAI...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("aliyun.accessKeyId"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["aliyun.accessKeyId"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AccessKey Secret"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["aliyun.accessKeySecret"]?"text":"password",value:t.accessKeySecret,onChange:r=>s("providers.aliyun.accessKeySecret",r.target.value),placeholder:"...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("aliyun.accessKeySecret"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["aliyun.accessKeySecret"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AppKey"}),e.jsx("input",{type:"text",value:t.appKey,onChange:r=>s("providers.aliyun.appKey",r.target.value),placeholder:"...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),_=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.tencent.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("tencent"),disabled:i==="tencent",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="tencent"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"SecretId"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["tencent.secretId"]?"text":"password",value:t.secretId,onChange:r=>s("providers.tencent.secretId",r.target.value),placeholder:"AKID...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("tencent.secretId"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["tencent.secretId"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"SecretKey"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["tencent.secretKey"]?"text":"password",value:t.secretKey,onChange:r=>s("providers.tencent.secretKey",r.target.value),placeholder:"...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("tencent.secretKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["tencent.secretKey"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AppId (可选)"}),e.jsx("input",{type:"text",value:t.appId,onChange:r=>s("providers.tencent.appId",r.target.value),placeholder:"...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),F=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.google.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("google"),disabled:i==="google",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="google"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsx(e.Fragment,{children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["google.apiKey"]?"text":"password",value:t.apiKey,onChange:r=>s("providers.google.apiKey",r.target.value),placeholder:"AIza...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("google.apiKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["google.apiKey"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"在 Google Cloud Console 创建 API Key,并启用 Speech-to-Text API"})]})})]});return U?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(h,{className:"w-6 h-6 animate-spin text-gray-400"})}):l?e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx(R,{className:"w-6 h-6 text-gray-600 dark:text-gray-400"}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold text-gray-900 dark:text-white",children:"语音输入设置"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"配置语音转文字服务供应商"})]})]}),e.jsxs("button",{onClick:O,disabled:S,className:"flex items-center space-x-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 transition-colors",children:[S?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(G,{className:"w-4 h-4"}),e.jsx("span",{children:"保存设置"})]})]}),I&&e.jsxs("div",{className:"flex items-center space-x-2 p-4 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-lg",children:[e.jsx(T,{className:"w-5 h-5 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-red-800 dark:text-red-300",children:I})]}),A&&e.jsxs("div",{className:"flex items-center space-x-2 p-4 bg-green-50 dark:bg-green-900/30 border border-green-200 dark:border-green-800 rounded-lg",children:[e.jsx(L,{className:"w-5 h-5 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-green-800 dark:text-green-300",children:A})]}),e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white",children:"启用语音输入"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"在聊天输入框显示语音输入按钮"})]}),e.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:l.enabled,onChange:t=>s("enabled",t.target.checked),className:"sr-only peer"}),e.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"})]})]})}),l.enabled&&e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white mb-4",children:"默认供应商"}),e.jsx("select",{value:l.defaultProvider,onChange:t=>s("defaultProvider",t.target.value),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white",children:Object.entries(a).map(([t,r])=>e.jsx("option",{value:t,children:r.name},t))})]}),l.enabled&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white",children:"供应商配置"}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.openai.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.openai.description})]}),e.jsx("a",{href:a.openai.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),P("openai",l.providers.openai)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.groq.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.groq.description})]}),e.jsx("a",{href:a.groq.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),P("groq",l.providers.groq)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.aliyun.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.aliyun.description})]}),e.jsx("a",{href:a.aliyun.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),q(l.providers.aliyun)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.tencent.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.tencent.description})]}),e.jsx("a",{href:a.tencent.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),_(l.providers.tencent)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.google.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.google.description})]}),e.jsx("a",{href:a.google.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),F(l.providers.google)]})]})]}):e.jsxs("div",{className:"text-center py-12 text-red-500",children:[e.jsx(T,{className:"w-8 h-8 mx-auto mb-2"}),e.jsx("p",{children:"加载设置失败"}),e.jsx("button",{onClick:k,className:"mt-4 px-4 py-2 text-blue-600 hover:bg-blue-50 rounded-lg",children:"重试"})]})};export{H as VoiceSettingsPage,H as default};
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{r as c}from"./monaco-editor-BWfQfpij.js";import{a as v,A as w}from"./agents-DR9EZMs5.js";import{u as D}from"./tools-crrPnehB.js";import{V as h,j as T,ah as R,a4 as G,C as L,ai as p,a9 as m,E as b}from"./ui-components-D1pZO0y-.js";import"./syntax-highlighting-DGbNjS3S.js";const a={openai:{name:"OpenAI Whisper",description:"高质量语音识别,支持多语言",docsUrl:"https://platform.openai.com/docs/guides/speech-to-text"},groq:{name:"Groq Whisper",description:"超快速度,价格便宜,兼容 OpenAI API",docsUrl:"https://console.groq.com"},aliyun:{name:"阿里云语音识别",description:"国内访问快,中文识别准确",docsUrl:"https://help.aliyun.com/document_detail/84435.html"},tencent:{name:"腾讯云语音识别",description:"国内访问快,支持多种语言",docsUrl:"https://cloud.tencent.com/document/product/1093"},google:{name:"Google Cloud Speech-to-Text",description:"高质量语音识别,支持 125+ 语言和变体",docsUrl:"https://cloud.google.com/speech-to-text/docs"}},H=()=>{D(["pages","components"]);const[l,j]=c.useState(null),[U,C]=c.useState(!0),[S,K]=c.useState(!1),[I,o]=c.useState(null),[A,x]=c.useState(null),[n,$]=c.useState({}),[i,E]=c.useState(null),k=c.useCallback(async()=>{C(!0),o(null);try{const t=await v(`${w}/speech-to-text/settings`);if(t.ok){const r=await t.json();j(r)}else throw new Error("Failed to load settings")}catch(t){o(t instanceof Error?t.message:"加载设置失败")}finally{C(!1)}},[]),O=c.useCallback(async()=>{if(l){K(!0),o(null),x(null);try{const t=await v(`${w}/speech-to-text/settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(t.ok){const r=await t.json();j(r.settings),x("设置已保存"),setTimeout(()=>x(null),3e3)}else{const r=await t.json();throw new Error(r.message||"保存失败")}}catch(t){o(t instanceof Error?t.message:"保存设置失败")}finally{K(!1)}}},[l]),y=c.useCallback(async t=>{E(t),o(null),x(null);try{const r=await v(`${w}/speech-to-text/test`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t})});if(r.ok)x(`${a[t].name} 配置验证成功`),setTimeout(()=>x(null),3e3);else{const d=await r.json();throw new Error(d.message||"测试失败")}}catch(r){o(r instanceof Error?r.message:"测试失败")}finally{E(null)}},[]);c.useEffect(()=>{k()},[k]);const s=(t,r)=>{if(!l)return;const d={...l},u=t.split(".");let N=d;for(let f=0;f<u.length-1;f++)N=N[u[f]];N[u[u.length-1]]=r,j(d)},g=t=>{$(r=>({...r,[t]:!r[t]}))},P=(t,r)=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:r.enabled,onChange:d=>s(`providers.${t}.enabled`,d.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),r.enabled&&e.jsxs("button",{onClick:()=>y(t),disabled:i===t,className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i===t?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),r.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n[`${t}.apiKey`]?"text":"password",value:r.apiKey,onChange:d=>s(`providers.${t}.apiKey`,d.target.value),placeholder:"sk-...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g(`${t}.apiKey`),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n[`${t}.apiKey`]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Base URL"}),e.jsx("input",{type:"text",value:r.baseUrl,onChange:d=>s(`providers.${t}.baseUrl`,d.target.value),placeholder:t==="openai"?"https://api.openai.com/v1":"https://api.groq.com/openai/v1",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"Model"}),e.jsx("input",{type:"text",value:r.model,onChange:d=>s(`providers.${t}.model`,d.target.value),placeholder:t==="openai"?"whisper-1":"whisper-large-v3",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),q=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.aliyun.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("aliyun"),disabled:i==="aliyun",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="aliyun"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AccessKey ID"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["aliyun.accessKeyId"]?"text":"password",value:t.accessKeyId,onChange:r=>s("providers.aliyun.accessKeyId",r.target.value),placeholder:"LTAI...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("aliyun.accessKeyId"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["aliyun.accessKeyId"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AccessKey Secret"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["aliyun.accessKeySecret"]?"text":"password",value:t.accessKeySecret,onChange:r=>s("providers.aliyun.accessKeySecret",r.target.value),placeholder:"...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("aliyun.accessKeySecret"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["aliyun.accessKeySecret"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AppKey"}),e.jsx("input",{type:"text",value:t.appKey,onChange:r=>s("providers.aliyun.appKey",r.target.value),placeholder:"...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),_=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.tencent.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("tencent"),disabled:i==="tencent",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="tencent"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"SecretId"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["tencent.secretId"]?"text":"password",value:t.secretId,onChange:r=>s("providers.tencent.secretId",r.target.value),placeholder:"AKID...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("tencent.secretId"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["tencent.secretId"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"SecretKey"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["tencent.secretKey"]?"text":"password",value:t.secretKey,onChange:r=>s("providers.tencent.secretKey",r.target.value),placeholder:"...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("tencent.secretKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["tencent.secretKey"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"AppId (可选)"}),e.jsx("input",{type:"text",value:t.appId,onChange:r=>s("providers.tencent.appId",r.target.value),placeholder:"...",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"})]})]})]}),F=t=>e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("label",{className:"flex items-center space-x-2",children:[e.jsx("input",{type:"checkbox",checked:t.enabled,onChange:r=>s("providers.google.enabled",r.target.checked),className:"rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500"}),e.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用"})]}),t.enabled&&e.jsxs("button",{onClick:()=>y("google"),disabled:i==="google",className:"flex items-center space-x-1 px-3 py-1 text-sm text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/30 rounded-lg transition-colors",children:[i==="google"?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(p,{className:"w-4 h-4"}),e.jsx("span",{children:"测试"})]})]}),t.enabled&&e.jsx(e.Fragment,{children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"API Key"}),e.jsxs("div",{className:"relative",children:[e.jsx("input",{type:n["google.apiKey"]?"text":"password",value:t.apiKey,onChange:r=>s("providers.google.apiKey",r.target.value),placeholder:"AIza...",className:"w-full px-3 py-2 pr-10 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white"}),e.jsx("button",{type:"button",onClick:()=>g("google.apiKey"),className:"absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:n["google.apiKey"]?e.jsx(m,{className:"w-4 h-4"}):e.jsx(b,{className:"w-4 h-4"})})]}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"在 Google Cloud Console 创建 API Key,并启用 Speech-to-Text API"})]})})]});return U?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(h,{className:"w-6 h-6 animate-spin text-gray-400"})}):l?e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-3",children:[e.jsx(R,{className:"w-6 h-6 text-gray-600 dark:text-gray-400"}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-semibold text-gray-900 dark:text-white",children:"语音输入设置"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"配置语音转文字服务供应商"})]})]}),e.jsxs("button",{onClick:O,disabled:S,className:"flex items-center space-x-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 disabled:opacity-50 transition-colors",children:[S?e.jsx(h,{className:"w-4 h-4 animate-spin"}):e.jsx(G,{className:"w-4 h-4"}),e.jsx("span",{children:"保存设置"})]})]}),I&&e.jsxs("div",{className:"flex items-center space-x-2 p-4 bg-red-50 dark:bg-red-900/30 border border-red-200 dark:border-red-800 rounded-lg",children:[e.jsx(T,{className:"w-5 h-5 text-red-600 dark:text-red-400"}),e.jsx("span",{className:"text-red-800 dark:text-red-300",children:I})]}),A&&e.jsxs("div",{className:"flex items-center space-x-2 p-4 bg-green-50 dark:bg-green-900/30 border border-green-200 dark:border-green-800 rounded-lg",children:[e.jsx(L,{className:"w-5 h-5 text-green-600 dark:text-green-400"}),e.jsx("span",{className:"text-green-800 dark:text-green-300",children:A})]}),e.jsx("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white",children:"启用语音输入"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"在聊天输入框显示语音输入按钮"})]}),e.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:l.enabled,onChange:t=>s("enabled",t.target.checked),className:"sr-only peer"}),e.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:start-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"})]})]})}),l.enabled&&e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white mb-4",children:"默认供应商"}),e.jsx("select",{value:l.defaultProvider,onChange:t=>s("defaultProvider",t.target.value),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-800 text-gray-900 dark:text-white",children:Object.entries(a).map(([t,r])=>e.jsx("option",{value:t,children:r.name},t))})]}),l.enabled&&e.jsxs("div",{className:"space-y-4",children:[e.jsx("h2",{className:"text-lg font-medium text-gray-900 dark:text-white",children:"供应商配置"}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.openai.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.openai.description})]}),e.jsx("a",{href:a.openai.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),P("openai",l.providers.openai)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.groq.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.groq.description})]}),e.jsx("a",{href:a.groq.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),P("groq",l.providers.groq)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.aliyun.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.aliyun.description})]}),e.jsx("a",{href:a.aliyun.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),q(l.providers.aliyun)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.tencent.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.tencent.description})]}),e.jsx("a",{href:a.tencent.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),_(l.providers.tencent)]}),e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium text-gray-900 dark:text-white",children:a.google.name}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:a.google.description})]}),e.jsx("a",{href:a.google.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 dark:text-blue-400 hover:underline",children:"文档"})]}),F(l.providers.google)]})]})]}):e.jsxs("div",{className:"text-center py-12 text-red-500",children:[e.jsx(T,{className:"w-8 h-8 mx-auto mb-2"}),e.jsx("p",{children:"加载设置失败"}),e.jsx("button",{onClick:k,className:"mt-4 px-4 py-2 text-blue-600 hover:bg-blue-50 rounded-lg",children:"重试"})]})};export{H as VoiceSettingsPage,H as default};