agentstudio 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/bin/agentstudio.js +44 -4
  2. package/bin/agentstudio.js.map +1 -1
  3. package/bin/serviceManager.d.ts.map +1 -1
  4. package/bin/serviceManager.js +312 -28
  5. package/bin/serviceManager.js.map +1 -1
  6. package/config/engineConfig.d.ts +96 -0
  7. package/config/engineConfig.d.ts.map +1 -0
  8. package/config/engineConfig.js +429 -0
  9. package/config/engineConfig.js.map +1 -0
  10. package/engines/claude/__tests__/supportedModels.test.d.ts +10 -0
  11. package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -0
  12. package/engines/claude/__tests__/supportedModels.test.js +89 -0
  13. package/engines/claude/__tests__/supportedModels.test.js.map +1 -0
  14. package/engines/claude/aguiAdapter.d.ts +101 -0
  15. package/engines/claude/aguiAdapter.d.ts.map +1 -0
  16. package/engines/claude/aguiAdapter.js +382 -0
  17. package/engines/claude/aguiAdapter.js.map +1 -0
  18. package/engines/claude/claudeEngine.d.ts +42 -0
  19. package/engines/claude/claudeEngine.d.ts.map +1 -0
  20. package/engines/claude/claudeEngine.js +325 -0
  21. package/engines/claude/claudeEngine.js.map +1 -0
  22. package/engines/claude/index.d.ts +8 -0
  23. package/engines/claude/index.d.ts.map +1 -0
  24. package/engines/claude/index.js +14 -0
  25. package/engines/claude/index.js.map +1 -0
  26. package/engines/cursor/__tests__/a2aAdapter.test.d.ts +6 -0
  27. package/engines/cursor/__tests__/a2aAdapter.test.d.ts.map +1 -0
  28. package/engines/cursor/__tests__/a2aAdapter.test.js +376 -0
  29. package/engines/cursor/__tests__/a2aAdapter.test.js.map +1 -0
  30. package/engines/cursor/a2aAdapter.d.ts +180 -0
  31. package/engines/cursor/a2aAdapter.d.ts.map +1 -0
  32. package/engines/cursor/a2aAdapter.js +405 -0
  33. package/engines/cursor/a2aAdapter.js.map +1 -0
  34. package/engines/cursor/aguiAdapter.d.ts +97 -0
  35. package/engines/cursor/aguiAdapter.d.ts.map +1 -0
  36. package/engines/cursor/aguiAdapter.js +507 -0
  37. package/engines/cursor/aguiAdapter.js.map +1 -0
  38. package/engines/cursor/cursorEngine.d.ts +68 -0
  39. package/engines/cursor/cursorEngine.d.ts.map +1 -0
  40. package/engines/cursor/cursorEngine.js +465 -0
  41. package/engines/cursor/cursorEngine.js.map +1 -0
  42. package/engines/cursor/index.d.ts +11 -0
  43. package/engines/cursor/index.d.ts.map +1 -0
  44. package/engines/cursor/index.js +21 -0
  45. package/engines/cursor/index.js.map +1 -0
  46. package/engines/engineManager.d.ts +80 -0
  47. package/engines/engineManager.d.ts.map +1 -0
  48. package/engines/engineManager.js +137 -0
  49. package/engines/engineManager.js.map +1 -0
  50. package/engines/index.d.ts +26 -0
  51. package/engines/index.d.ts.map +1 -0
  52. package/engines/index.js +81 -0
  53. package/engines/index.js.map +1 -0
  54. package/engines/types.d.ts +319 -0
  55. package/engines/types.d.ts.map +1 -0
  56. package/engines/types.js +69 -0
  57. package/engines/types.js.map +1 -0
  58. package/index.d.ts.map +1 -1
  59. package/index.js +178 -25
  60. package/index.js.map +1 -1
  61. package/middleware/auth.d.ts.map +1 -1
  62. package/middleware/auth.js +4 -0
  63. package/middleware/auth.js.map +1 -1
  64. package/package.json +7 -1
  65. package/public/assets/AgentsPage-D462iGRy.js +10 -0
  66. package/public/assets/{Button-BoiVlafj.js → Button-B_6lGF64.js} +1 -1
  67. package/public/assets/ChatPage-NjuRQPaL.js +478 -0
  68. package/public/assets/{CommandForm-Se4iemMp.js → CommandForm-DwGvE9A_.js} +1 -1
  69. package/public/assets/CommandsPage-DeUS8fhJ.js +1 -0
  70. package/public/assets/CursorConfigPage-Bl1Blrbr.js +1 -0
  71. package/public/assets/{DashboardPage-DbCVzPKz.js → DashboardPage-DH-2iuqf.js} +1 -1
  72. package/public/assets/EngineGate-DxTYx9wb.js +1 -0
  73. package/public/assets/{FileBrowser-DcoBWzKK.js → FileBrowser-CeGsJnUL.js} +5 -5
  74. package/public/assets/{FileExplorer-B41BB0LM.js → FileExplorer-x5R0Tcmk.js} +1 -1
  75. package/public/assets/GeneralSettingsPage-lhNEJQD_.js +1 -0
  76. package/public/assets/HooksPage-9fingjdz.js +1 -0
  77. package/public/assets/LandingPage-BAzi8PDo.js +1 -0
  78. package/public/assets/LoginPage-kQ_NWy8p.js +16 -0
  79. package/public/assets/McpAdminSettingsPage-DQHpWHRC.js +7 -0
  80. package/public/assets/McpPage-DLHfmhSJ.js +20 -0
  81. package/public/assets/{MemorySettingsPage-DYSuz-hU.js → MemorySettingsPage-CRIPja9X.js} +1 -1
  82. package/public/assets/ModelsPage-Bb5vSsuc.js +1 -0
  83. package/public/assets/PluginsPage-BhKM7gV7.js +12 -0
  84. package/public/assets/ProjectSelector-Cbct6pnn.js +1 -0
  85. package/public/assets/ProjectsPage-lQo7-7dt.js +21 -0
  86. package/public/assets/RulesPage-BRnB7__3.js +1 -0
  87. package/public/assets/ScheduledTasksPage-CZiABTSb.js +1 -0
  88. package/public/assets/SettingsLayout-BfG7ftoT.js +1 -0
  89. package/public/assets/SkillsPage-CL6MKxQ9.js +18 -0
  90. package/public/assets/{SubagentForm-C0R084ja.js → SubagentForm-BzzeWg0W.js} +2 -2
  91. package/public/assets/{SubagentsPage-BKFNmqxg.js → SubagentsPage-DhFP2kDE.js} +1 -1
  92. package/public/assets/SystemInfoPage-CFHUN3j8.js +1 -0
  93. package/public/assets/{TelemetrySettingsPage-Ck2btMol.js → TelemetrySettingsPage-BcZFVBXN.js} +1 -1
  94. package/public/assets/{ToastTestPage-B79DFhqI.js → ToastTestPage-BtGnZdyk.js} +1 -1
  95. package/public/assets/{ToolsList-Kfxwp80g.js → ToolsList-CTsQr53G.js} +1 -1
  96. package/public/assets/{UnifiedToolSelector-CkafUbz3.js → UnifiedToolSelector-BP6fuyzG.js} +1 -1
  97. package/public/assets/VersionSettingsPage-DjOjyL3X.js +5 -0
  98. package/public/assets/VoiceSettingsPage-d3l9AWBn.js +1 -0
  99. package/public/assets/WebSocketTunnelPage-CfHtJR9r.js +1 -0
  100. package/public/assets/_basePickBy-Bac3af5O.js +1 -0
  101. package/public/assets/{_baseUniq-COj5YnAO.js → _baseUniq-Dvh9sZ-T.js} +1 -1
  102. package/public/assets/{agents-3mB536QF.js → agents-KlPdWQ8K.js} +1 -1
  103. package/public/assets/arc-CRR5EPpK.js +1 -0
  104. package/public/assets/{architectureDiagram-VXUJARFQ-DD1BwT1T.js → architectureDiagram-VXUJARFQ-Ct1p8kmV.js} +1 -1
  105. package/public/assets/{blockDiagram-VD42YOAC-DFKUIZc6.js → blockDiagram-VD42YOAC-CX_8YiYn.js} +1 -1
  106. package/public/assets/{c4Diagram-YG6GDRKO-B0VVIIvh.js → c4Diagram-YG6GDRKO-BIBVWIY4.js} +1 -1
  107. package/public/assets/channel-CPs-2Y_m.js +1 -0
  108. package/public/assets/{chunk-4BX2VUAB-DM8J7YO9.js → chunk-4BX2VUAB-CQNNXsb5.js} +1 -1
  109. package/public/assets/{chunk-55IACEB6-BjhdmGlM.js → chunk-55IACEB6-N_ZrGhOu.js} +1 -1
  110. package/public/assets/{chunk-B4BG7PRW-1RJ6n2xv.js → chunk-B4BG7PRW-CI6DkhbM.js} +1 -1
  111. package/public/assets/{chunk-DI55MBZ5-1-EHSO67.js → chunk-DI55MBZ5-Dgj-Eo9U.js} +1 -1
  112. package/public/assets/{chunk-FMBD7UC4-DV3SMJK_.js → chunk-FMBD7UC4-o4B0HzSK.js} +1 -1
  113. package/public/assets/{chunk-QN33PNHL-IlsCTdDq.js → chunk-QN33PNHL-DXlfdPIk.js} +1 -1
  114. package/public/assets/{chunk-QZHKN3VN-DJXs-Fqo.js → chunk-QZHKN3VN-ZCBUGD7e.js} +1 -1
  115. package/public/assets/{chunk-TZMSLE5B-BxHO9wa1.js → chunk-TZMSLE5B-N3lZ106d.js} +1 -1
  116. package/public/assets/classDiagram-2ON5EDUG-DCwNRxvC.js +1 -0
  117. package/public/assets/classDiagram-v2-WZHVMYZB-DCwNRxvC.js +1 -0
  118. package/public/assets/clone-C3DcKvhB.js +1 -0
  119. package/public/assets/{cose-bilkent-S5V4N54A-BVJXoW_K.js → cose-bilkent-S5V4N54A-Crc39J9q.js} +1 -1
  120. package/public/assets/{dagre-6UL2VRFP-DHDnVshA.js → dagre-6UL2VRFP-nC3WLCf7.js} +1 -1
  121. package/public/assets/{diagram-PSM6KHXK-40qGxDeg.js → diagram-PSM6KHXK-B5DQIDQ3.js} +1 -1
  122. package/public/assets/diagram-QEK2KX5R-BccDOQuz.js +43 -0
  123. package/public/assets/{diagram-S2PKOQOG-D7AX72a5.js → diagram-S2PKOQOG-D-Cv16WE.js} +1 -1
  124. package/public/assets/{erDiagram-Q2GNP2WA-BHsgeBpL.js → erDiagram-Q2GNP2WA-Dr0ZgvnS.js} +1 -1
  125. package/public/assets/{flowDiagram-NV44I4VS-BYqChOSE.js → flowDiagram-NV44I4VS-DGbbfVi5.js} +1 -1
  126. package/public/assets/{ganttDiagram-LVOFAZNH-CZFFSLKX.js → ganttDiagram-LVOFAZNH-C-3Wnf96.js} +1 -1
  127. package/public/assets/{gitGraphDiagram-NY62KEGX-C5Bgrf0J.js → gitGraphDiagram-NY62KEGX--Q8whT5z.js} +1 -1
  128. package/public/assets/{graph-BP5lFRBg.js → graph-CO1DMS2E.js} +1 -1
  129. package/public/assets/{index-BEPv9Bqe.js → index-B5hSSnK3.js} +58 -58
  130. package/public/assets/index-gbHlIp96.css +1 -0
  131. package/public/assets/infoDiagram-F6ZHWCRC-DSR9cM2B.js +2 -0
  132. package/public/assets/{journeyDiagram-XKPGCS4Q--abC1RHz.js → journeyDiagram-XKPGCS4Q-Cc00zHNt.js} +1 -1
  133. package/public/assets/{kanban-definition-3W4ZIXB7-BJeChfWu.js → kanban-definition-3W4ZIXB7-BF_gHshF.js} +6 -6
  134. package/public/assets/{layout-DjAix4WK.js → layout-BxoLV88o.js} +1 -1
  135. package/public/assets/{linear-Cw0z8VNY.js → linear-Y8e2e012.js} +1 -1
  136. package/public/assets/{mindmap-definition-VGOIOE7T-U_T9xIUk.js → mindmap-definition-VGOIOE7T-CzpuQA4p.js} +1 -1
  137. package/public/assets/{pieDiagram-ADFJNKIX-B0mT9OgH.js → pieDiagram-ADFJNKIX-B22MhIcy.js} +2 -2
  138. package/public/assets/{quadrantDiagram-AYHSOK5B-BWdlgO0u.js → quadrantDiagram-AYHSOK5B-CTT9bIA8.js} +1 -1
  139. package/public/assets/{requirementDiagram-UZGBJVZJ-B-8LxsGB.js → requirementDiagram-UZGBJVZJ-B_vjXDH9.js} +1 -1
  140. package/public/assets/{sankeyDiagram-TZEHDZUN-OXuxkgGA.js → sankeyDiagram-TZEHDZUN-CKfZ4633.js} +1 -1
  141. package/public/assets/{sequenceDiagram-WL72ISMW-Bt5twlzi.js → sequenceDiagram-WL72ISMW-BmTPN6j6.js} +1 -1
  142. package/public/assets/{stateDiagram-FKZM4ZOC-Dmph7TeW.js → stateDiagram-FKZM4ZOC-y2fQE1C7.js} +1 -1
  143. package/public/assets/stateDiagram-v2-4FDKWEC3-C4CM6z52.js +1 -0
  144. package/public/assets/{table-DjMdAdjH.js → table-BJUz-ck5.js} +1 -1
  145. package/public/assets/{timeline-definition-IT6M3QCI-CcV8nyIH.js → timeline-definition-IT6M3QCI-DsXlR68n.js} +1 -1
  146. package/public/assets/{tools-BAI9XHGS.js → tools-BZTR2NP1.js} +1 -1
  147. package/public/assets/{treemap-KMMF4GRG-DBuwkj4f.js → treemap-KMMF4GRG-Cecs9uxX.js} +1 -1
  148. package/public/assets/{ui-components-DaGtjl0g.js → ui-components-DjgDPiqV.js} +153 -128
  149. package/public/assets/useAgents-8KXN6U61.js +2 -0
  150. package/public/assets/{useClaudeVersions-Cy71v4HE.js → useClaudeVersions-DicHLV6A.js} +1 -1
  151. package/public/assets/useCommands-DbSH48ba.js +1 -0
  152. package/public/assets/{useProjects-XgfgISgV.js → useProjects-Bbh6hJMM.js} +1 -1
  153. package/public/assets/{useSessions-CQgq4d84.js → useSessions-DOa4-xiB.js} +1 -1
  154. package/public/assets/{xychartDiagram-PRI3JC2R-Bo9K-U2S.js → xychartDiagram-PRI3JC2R-C2IWhyM7.js} +1 -1
  155. package/public/index.html +5 -5
  156. package/routes/a2a.d.ts +7 -0
  157. package/routes/a2a.d.ts.map +1 -1
  158. package/routes/a2a.js +193 -21
  159. package/routes/a2a.js.map +1 -1
  160. package/routes/agents.d.ts.map +1 -1
  161. package/routes/agents.js +45 -2
  162. package/routes/agents.js.map +1 -1
  163. package/routes/agui.d.ts +16 -0
  164. package/routes/agui.d.ts.map +1 -0
  165. package/routes/agui.js +520 -0
  166. package/routes/agui.js.map +1 -0
  167. package/routes/commands.d.ts.map +1 -1
  168. package/routes/commands.js +35 -3
  169. package/routes/commands.js.map +1 -1
  170. package/routes/cursorA2a.d.ts +18 -0
  171. package/routes/cursorA2a.d.ts.map +1 -0
  172. package/routes/cursorA2a.js +393 -0
  173. package/routes/cursorA2a.js.map +1 -0
  174. package/routes/engine.d.ts +12 -0
  175. package/routes/engine.d.ts.map +1 -0
  176. package/routes/engine.js +178 -0
  177. package/routes/engine.js.map +1 -0
  178. package/routes/gitVersions.d.ts +10 -0
  179. package/routes/gitVersions.d.ts.map +1 -0
  180. package/routes/gitVersions.js +147 -0
  181. package/routes/gitVersions.js.map +1 -0
  182. package/routes/hooks.d.ts +11 -0
  183. package/routes/hooks.d.ts.map +1 -0
  184. package/routes/hooks.js +303 -0
  185. package/routes/hooks.js.map +1 -0
  186. package/routes/mcp.d.ts.map +1 -1
  187. package/routes/mcp.js +28 -3
  188. package/routes/mcp.js.map +1 -1
  189. package/routes/plugins.d.ts.map +1 -1
  190. package/routes/plugins.js +317 -4
  191. package/routes/plugins.js.map +1 -1
  192. package/routes/rules.d.ts +9 -0
  193. package/routes/rules.d.ts.map +1 -0
  194. package/routes/rules.js +470 -0
  195. package/routes/rules.js.map +1 -0
  196. package/routes/sessions.d.ts.map +1 -1
  197. package/routes/sessions.js +68 -32
  198. package/routes/sessions.js.map +1 -1
  199. package/routes/speechToText.d.ts +8 -0
  200. package/routes/speechToText.d.ts.map +1 -0
  201. package/routes/speechToText.js +216 -0
  202. package/routes/speechToText.js.map +1 -0
  203. package/schemas/a2a.d.ts +2 -2
  204. package/services/__tests__/agentImporter.test.d.ts +5 -0
  205. package/services/__tests__/agentImporter.test.d.ts.map +1 -0
  206. package/services/__tests__/agentImporter.test.js +379 -0
  207. package/services/__tests__/agentImporter.test.js.map +1 -0
  208. package/services/__tests__/marketplaceUpdateService.test.d.ts +5 -0
  209. package/services/__tests__/marketplaceUpdateService.test.d.ts.map +1 -0
  210. package/services/__tests__/marketplaceUpdateService.test.js +227 -0
  211. package/services/__tests__/marketplaceUpdateService.test.js.map +1 -0
  212. package/services/__tests__/pluginInstaller.test.js +172 -0
  213. package/services/__tests__/pluginInstaller.test.js.map +1 -1
  214. package/services/__tests__/projectMetadataStorage.test.js +19 -4
  215. package/services/__tests__/projectMetadataStorage.test.js.map +1 -1
  216. package/services/a2a/__tests__/agentCardService.test.js +224 -0
  217. package/services/a2a/__tests__/agentCardService.test.js.map +1 -1
  218. package/services/a2a/__tests__/cursorA2aService.test.d.ts +6 -0
  219. package/services/a2a/__tests__/cursorA2aService.test.d.ts.map +1 -0
  220. package/services/a2a/__tests__/cursorA2aService.test.js +359 -0
  221. package/services/a2a/__tests__/cursorA2aService.test.js.map +1 -0
  222. package/services/a2a/agentCardService.d.ts +22 -0
  223. package/services/a2a/agentCardService.d.ts.map +1 -1
  224. package/services/a2a/agentCardService.js +246 -0
  225. package/services/a2a/agentCardService.js.map +1 -1
  226. package/services/a2a/cursorA2aService.d.ts +126 -0
  227. package/services/a2a/cursorA2aService.d.ts.map +1 -0
  228. package/services/a2a/cursorA2aService.js +336 -0
  229. package/services/a2a/cursorA2aService.js.map +1 -0
  230. package/services/agentImporter.d.ts +62 -0
  231. package/services/agentImporter.d.ts.map +1 -0
  232. package/services/agentImporter.js +335 -0
  233. package/services/agentImporter.js.map +1 -0
  234. package/services/cursorConfigService.d.ts +75 -0
  235. package/services/cursorConfigService.d.ts.map +1 -0
  236. package/services/cursorConfigService.js +538 -0
  237. package/services/cursorConfigService.js.map +1 -0
  238. package/services/gitVersionService.d.ts +52 -0
  239. package/services/gitVersionService.d.ts.map +1 -0
  240. package/services/gitVersionService.js +377 -0
  241. package/services/gitVersionService.js.map +1 -0
  242. package/services/marketplaceUpdateService.d.ts +66 -0
  243. package/services/marketplaceUpdateService.d.ts.map +1 -0
  244. package/services/marketplaceUpdateService.js +364 -0
  245. package/services/marketplaceUpdateService.js.map +1 -0
  246. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts +5 -0
  247. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts.map +1 -0
  248. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js +429 -0
  249. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js.map +1 -0
  250. package/services/mcpAdmin/tools/index.d.ts +1 -0
  251. package/services/mcpAdmin/tools/index.d.ts.map +1 -1
  252. package/services/mcpAdmin/tools/index.js +5 -1
  253. package/services/mcpAdmin/tools/index.js.map +1 -1
  254. package/services/mcpAdmin/tools/scheduledTaskTools.d.ts +64 -0
  255. package/services/mcpAdmin/tools/scheduledTaskTools.d.ts.map +1 -0
  256. package/services/mcpAdmin/tools/scheduledTaskTools.js +1002 -0
  257. package/services/mcpAdmin/tools/scheduledTaskTools.js.map +1 -0
  258. package/services/mcpAdmin/types.d.ts +1 -1
  259. package/services/mcpAdmin/types.d.ts.map +1 -1
  260. package/services/pluginInstaller.d.ts +55 -1
  261. package/services/pluginInstaller.d.ts.map +1 -1
  262. package/services/pluginInstaller.js +437 -13
  263. package/services/pluginInstaller.js.map +1 -1
  264. package/services/projectMetadataStorage.d.ts.map +1 -1
  265. package/services/projectMetadataStorage.js +4 -2
  266. package/services/projectMetadataStorage.js.map +1 -1
  267. package/services/sessionEventBus.d.ts +67 -0
  268. package/services/sessionEventBus.d.ts.map +1 -0
  269. package/services/sessionEventBus.js +106 -0
  270. package/services/sessionEventBus.js.map +1 -0
  271. package/services/sessionManager.d.ts.map +1 -1
  272. package/services/sessionManager.js +4 -2
  273. package/services/sessionManager.js.map +1 -1
  274. package/services/speechToText/__tests__/speechToText.test.d.ts +5 -0
  275. package/services/speechToText/__tests__/speechToText.test.d.ts.map +1 -0
  276. package/services/speechToText/__tests__/speechToText.test.js +208 -0
  277. package/services/speechToText/__tests__/speechToText.test.js.map +1 -0
  278. package/services/speechToText/index.d.ts +25 -0
  279. package/services/speechToText/index.d.ts.map +1 -0
  280. package/services/speechToText/index.js +228 -0
  281. package/services/speechToText/index.js.map +1 -0
  282. package/services/speechToText/providers/aliyun.d.ts +22 -0
  283. package/services/speechToText/providers/aliyun.d.ts.map +1 -0
  284. package/services/speechToText/providers/aliyun.js +185 -0
  285. package/services/speechToText/providers/aliyun.js.map +1 -0
  286. package/services/speechToText/providers/google.d.ts +24 -0
  287. package/services/speechToText/providers/google.d.ts.map +1 -0
  288. package/services/speechToText/providers/google.js +205 -0
  289. package/services/speechToText/providers/google.js.map +1 -0
  290. package/services/speechToText/providers/openaiCompatible.d.ts +22 -0
  291. package/services/speechToText/providers/openaiCompatible.d.ts.map +1 -0
  292. package/services/speechToText/providers/openaiCompatible.js +198 -0
  293. package/services/speechToText/providers/openaiCompatible.js.map +1 -0
  294. package/services/speechToText/providers/tencent.d.ts +23 -0
  295. package/services/speechToText/providers/tencent.d.ts.map +1 -0
  296. package/services/speechToText/providers/tencent.js +215 -0
  297. package/services/speechToText/providers/tencent.js.map +1 -0
  298. package/services/speechToText/types.d.ts +102 -0
  299. package/services/speechToText/types.d.ts.map +1 -0
  300. package/services/speechToText/types.js +43 -0
  301. package/services/speechToText/types.js.map +1 -0
  302. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts +8 -2
  303. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts.map +1 -1
  304. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js +215 -72
  305. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js.map +1 -1
  306. package/services/taskExecutor/taskWorker.js +9 -1
  307. package/services/taskExecutor/taskWorker.js.map +1 -1
  308. package/services/telemetry.js +1 -1
  309. package/types/a2a.d.ts +20 -0
  310. package/types/a2a.d.ts.map +1 -1
  311. package/types/engine.d.ts +314 -0
  312. package/types/engine.d.ts.map +1 -0
  313. package/types/engine.js +14 -0
  314. package/types/engine.js.map +1 -0
  315. package/types/hooks.d.ts +45 -0
  316. package/types/hooks.d.ts.map +1 -0
  317. package/types/hooks.js +9 -0
  318. package/types/hooks.js.map +1 -0
  319. package/types/plugins.d.ts +86 -2
  320. package/types/plugins.d.ts.map +1 -1
  321. package/types/plugins.js +1 -0
  322. package/types/plugins.js.map +1 -1
  323. package/types/rules.d.ts +51 -0
  324. package/types/rules.d.ts.map +1 -0
  325. package/types/rules.js +9 -0
  326. package/types/rules.js.map +1 -0
  327. package/utils/__tests__/cursorIdeAgentParser.test.d.ts +7 -0
  328. package/utils/__tests__/cursorIdeAgentParser.test.d.ts.map +1 -0
  329. package/utils/__tests__/cursorIdeAgentParser.test.js +289 -0
  330. package/utils/__tests__/cursorIdeAgentParser.test.js.map +1 -0
  331. package/utils/claudeUtils.d.ts +3 -1
  332. package/utils/claudeUtils.d.ts.map +1 -1
  333. package/utils/claudeUtils.js +26 -12
  334. package/utils/claudeUtils.js.map +1 -1
  335. package/utils/cursorCliHistoryParser.d.ts +58 -0
  336. package/utils/cursorCliHistoryParser.d.ts.map +1 -0
  337. package/utils/cursorCliHistoryParser.js +664 -0
  338. package/utils/cursorCliHistoryParser.js.map +1 -0
  339. package/utils/cursorIdeAgentParser.d.ts +49 -0
  340. package/utils/cursorIdeAgentParser.d.ts.map +1 -0
  341. package/utils/cursorIdeAgentParser.js +332 -0
  342. package/utils/cursorIdeAgentParser.js.map +1 -0
  343. package/public/assets/AgentsPage-gSnkPp2k.js +0 -10
  344. package/public/assets/ChatPage-BMrfVkpt.js +0 -471
  345. package/public/assets/CommandsPage-B6u4IO7L.js +0 -1
  346. package/public/assets/GeneralSettingsPage-BbEbWJUQ.js +0 -1
  347. package/public/assets/LandingPage-DFPm2d4Y.js +0 -1
  348. package/public/assets/LoginPage-D5kZJqhk.js +0 -16
  349. package/public/assets/McpAdminSettingsPage-D32iUEjH.js +0 -7
  350. package/public/assets/McpPage-QT4qs391.js +0 -20
  351. package/public/assets/PluginsPage-BotzuK9f.js +0 -1
  352. package/public/assets/ProjectSelector-DujNObqr.js +0 -1
  353. package/public/assets/ProjectsPage-CRWe6HPl.js +0 -21
  354. package/public/assets/ScheduledTasksPage-Beeurg-w.js +0 -1
  355. package/public/assets/SettingsLayout-BfkBUyI_.js +0 -1
  356. package/public/assets/SkillsPage-B59bAr6W.js +0 -18
  357. package/public/assets/SystemInfoPage-D89s7PjE.js +0 -1
  358. package/public/assets/VersionSettingsPage-CaB4PH6h.js +0 -5
  359. package/public/assets/WebSocketTunnelPage-Cbru_-hL.js +0 -1
  360. package/public/assets/_basePickBy-5fAM04Ra.js +0 -1
  361. package/public/assets/arc-C2gTU2ZR.js +0 -1
  362. package/public/assets/channel-DcVTcy-S.js +0 -1
  363. package/public/assets/classDiagram-2ON5EDUG-BXVT6Q7h.js +0 -1
  364. package/public/assets/classDiagram-v2-WZHVMYZB-BXVT6Q7h.js +0 -1
  365. package/public/assets/clone-Bp6orjIq.js +0 -1
  366. package/public/assets/diagram-QEK2KX5R-BfMGeeRo.js +0 -43
  367. package/public/assets/index-BgR-BTTw.css +0 -1
  368. package/public/assets/infoDiagram-F6ZHWCRC-C6OApgqf.js +0 -2
  369. package/public/assets/stateDiagram-v2-4FDKWEC3-DyE8O3Kx.js +0 -1
  370. package/public/assets/useAgents-D5EDAc_E.js +0 -2
  371. package/public/assets/useCommands-BgoCfyuu.js +0 -1
package/index.js CHANGED
@@ -67,6 +67,11 @@ const taskExecutor_1 = __importDefault(require("./routes/taskExecutor"));
67
67
  const version_1 = __importDefault(require("./routes/version"));
68
68
  const tunnel_1 = __importDefault(require("./routes/tunnel"));
69
69
  const network_1 = __importDefault(require("./routes/network"));
70
+ const agui_1 = __importDefault(require("./routes/agui"));
71
+ const speechToText_1 = __importDefault(require("./routes/speechToText"));
72
+ const engine_1 = __importDefault(require("./routes/engine"));
73
+ const rules_1 = __importDefault(require("./routes/rules"));
74
+ const hooks_1 = __importDefault(require("./routes/hooks"));
70
75
  const auth_2 = require("./middleware/auth");
71
76
  const httpsOnly_1 = require("./middleware/httpsOnly");
72
77
  const index_1 = require("./config/index");
@@ -76,33 +81,80 @@ const telemetry_1 = require("./services/telemetry");
76
81
  const index_js_1 = require("./services/taskExecutor/index.js");
77
82
  const tunnelService_js_1 = require("./services/tunnelService.js");
78
83
  const sdkConfig_js_1 = require("./config/sdkConfig.js");
84
+ const engineConfig_js_1 = require("./config/engineConfig.js");
85
+ const marketplaceUpdateService_js_1 = require("./services/marketplaceUpdateService.js");
86
+ const index_js_2 = require("./engines/index.js");
87
+ const gitVersions_1 = __importDefault(require("./routes/gitVersions"));
79
88
  dotenv_1.default.config();
80
89
  // ============================================================================
81
90
  // Global Error Handlers - Prevent process crashes
82
91
  // ============================================================================
92
+ // EPIPE Guard: Prevent infinite loop when stdout/stderr pipes are broken.
93
+ // When the launching terminal is closed, stdout/stderr become broken pipes.
94
+ // Any console.log/error call will then throw EPIPE, and if an uncaughtException
95
+ // handler also uses console.error, it creates an infinite recursion:
96
+ // uncaughtException → console.error() → EPIPE → uncaughtException → ...
97
+ // These handlers silently swallow EPIPE errors on stdout/stderr to break the cycle.
98
+ process.stdout.on('error', (err) => {
99
+ if (err.code === 'EPIPE')
100
+ return;
101
+ // For non-EPIPE errors, we can't safely write to stdout, so just ignore
102
+ });
103
+ process.stderr.on('error', (err) => {
104
+ if (err.code === 'EPIPE')
105
+ return;
106
+ // For non-EPIPE errors, we can't safely write to stderr, so just ignore
107
+ });
108
+ // Safe logging helper: writes to stderr only if the stream is still writable.
109
+ // Falls back silently if the pipe is broken, preventing EPIPE cascades.
110
+ function safeErrorLog(...args) {
111
+ try {
112
+ if (process.stderr.writable) {
113
+ console.error(...args);
114
+ }
115
+ }
116
+ catch {
117
+ // If writing fails (e.g., EPIPE), silently ignore to prevent recursion
118
+ }
119
+ }
83
120
  // Handle uncaught exceptions
84
121
  process.on('uncaughtException', (error) => {
85
- console.error('[Fatal] Uncaught Exception:', error);
86
- console.error('[Fatal] Stack:', error.stack);
122
+ // Silently ignore EPIPE errors to prevent infinite recursion.
123
+ // EPIPE occurs when stdout/stderr pipes are broken (e.g., terminal closed).
124
+ if (error.code === 'EPIPE') {
125
+ return;
126
+ }
127
+ safeErrorLog('[Fatal] Uncaught Exception:', error);
128
+ safeErrorLog('[Fatal] Stack:', error.stack);
87
129
  // Don't exit the process - log and continue
88
130
  // This prevents the entire server from crashing due to a single unhandled error
89
131
  });
90
132
  // Handle unhandled promise rejections
91
133
  process.on('unhandledRejection', (reason, promise) => {
92
- console.error('[Fatal] Unhandled Promise Rejection at:', promise);
93
- console.error('[Fatal] Reason:', reason);
134
+ // Silently ignore EPIPE-related rejections
135
+ if (reason && (reason.code === 'EPIPE' || (reason instanceof Error && reason.code === 'EPIPE'))) {
136
+ return;
137
+ }
138
+ safeErrorLog('[Fatal] Unhandled Promise Rejection at:', promise);
139
+ safeErrorLog('[Fatal] Reason:', reason);
94
140
  // Don't exit the process - log and continue
95
141
  // This is especially important for MCP fetch operations and other async code
96
142
  });
97
143
  // Handle uncaught exceptions in async functions
98
144
  process.on('uncaughtExceptionMonitor', (error, origin) => {
99
- console.error('[Monitor] Uncaught Exception Monitor triggered');
100
- console.error('[Monitor] Origin:', origin);
101
- console.error('[Monitor] Error:', error);
102
- console.error('[Monitor] Stack:', error.stack);
145
+ // Skip EPIPE errors in monitor as well
146
+ if (error.code === 'EPIPE') {
147
+ return;
148
+ }
149
+ safeErrorLog('[Monitor] Uncaught Exception Monitor triggered');
150
+ safeErrorLog('[Monitor] Origin:', origin);
151
+ safeErrorLog('[Monitor] Error:', error);
152
+ safeErrorLog('[Monitor] Stack:', error.stack);
103
153
  });
104
- // Log SDK configuration at startup
105
- (0, sdkConfig_js_1.logSdkConfig)();
154
+ // Initialize and log engine configuration at startup
155
+ (0, engineConfig_js_1.initializeEngine)();
156
+ (0, engineConfig_js_1.logEngineConfig)();
157
+ (0, sdkConfig_js_1.logSdkConfig)(); // Keep for backward compatibility
106
158
  // Get version from package.json (works in both dev and npm package mode)
107
159
  const getVersion = () => {
108
160
  // Try npm package mode first (package.json in same directory as dist)
@@ -136,20 +188,18 @@ const app = (0, express_1.default)();
136
188
  // Initialize system Claude version if needed
137
189
  try {
138
190
  const { initializeSystemVersion } = await Promise.resolve().then(() => __importStar(require('./services/claudeVersionStorage.js')));
139
- const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
140
- const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
141
- const execAsync = promisify(exec);
142
- // Try to find Claude executable, but initialize anyway
191
+ const { getSystemClaudeExecutablePath } = await Promise.resolve().then(() => __importStar(require('./utils/claudeUtils.js')));
192
+ const { SDK_ENGINE } = await Promise.resolve().then(() => __importStar(require('./config/sdkConfig.js')));
193
+ // Try to find Claude executable based on SDK engine
143
194
  let claudePath = null;
144
195
  try {
145
- const { stdout } = await execAsync('which claude');
146
- if (stdout && stdout.trim()) {
147
- claudePath = stdout.trim();
148
- console.log(`[System] Found Claude CLI at: ${claudePath}`);
196
+ claudePath = await getSystemClaudeExecutablePath(SDK_ENGINE);
197
+ if (claudePath) {
198
+ console.log(`[System] Found ${SDK_ENGINE} CLI at: ${claudePath}`);
149
199
  }
150
200
  }
151
201
  catch (error) {
152
- console.log('[System] Claude CLI not found in PATH, initializing without executable path');
202
+ console.log(`[System] ${SDK_ENGINE} CLI not found in PATH, initializing without executable path`);
153
203
  }
154
204
  // Initialize system version (with or without executable path)
155
205
  await initializeSystemVersion(claudePath || '');
@@ -158,6 +208,15 @@ const app = (0, express_1.default)();
158
208
  catch (error) {
159
209
  console.warn('Failed to initialize system Claude version:', error);
160
210
  }
211
+ // Log engine status
212
+ try {
213
+ const engineStatus = (0, index_js_2.getEngineStatus)();
214
+ console.log(`[Engines] Registered engines: ${engineStatus.registeredEngines.join(', ')}`);
215
+ console.log(`[Engines] Default engine: ${engineStatus.defaultEngine}`);
216
+ }
217
+ catch (error) {
218
+ console.warn('[Engines] Failed to get engine status:', error);
219
+ }
161
220
  // Middleware
162
221
  app.use((0, helmet_1.default)({
163
222
  contentSecurityPolicy: {
@@ -235,6 +294,38 @@ const app = (0, express_1.default)();
235
294
  if (origin.match(/^https?:\/\/127\.0\.0\.1(:\d+)?$/)) {
236
295
  return callback(null, true);
237
296
  }
297
+ // For embedded mode: Allow same-origin requests from any host/IP
298
+ // This allows the frontend (served from the same server) to access the API
299
+ // Extract protocol, host, and port from origin
300
+ try {
301
+ const originUrl = new URL(origin);
302
+ const serverHost = `${originUrl.protocol}//${originUrl.host}`;
303
+ // Check if origin matches the server's actual address
304
+ // In embedded mode, origin should be the same as the server address
305
+ const serverPort = PORT;
306
+ const possibleServerUrls = [
307
+ `http://${HOST}:${serverPort}`,
308
+ `https://${HOST}:${serverPort}`,
309
+ `http://localhost:${serverPort}`,
310
+ `https://localhost:${serverPort}`,
311
+ `http://127.0.0.1:${serverPort}`,
312
+ `https://127.0.0.1:${serverPort}`,
313
+ ];
314
+ // Also check if origin matches any of the server's network interfaces
315
+ // For 0.0.0.0, allow any IP:port combination that matches the server port
316
+ if (HOST === '0.0.0.0' || HOST === '::') {
317
+ if (originUrl.port === serverPort.toString()) {
318
+ // Same port = likely same-origin request in embedded mode
319
+ return callback(null, true);
320
+ }
321
+ }
322
+ if (possibleServerUrls.includes(serverHost)) {
323
+ return callback(null, true);
324
+ }
325
+ }
326
+ catch (err) {
327
+ // Invalid URL, continue to error
328
+ }
238
329
  const msg = `The CORS policy for this site does not allow access from the specified Origin: ${origin}`;
239
330
  return callback(new Error(msg), false);
240
331
  },
@@ -300,6 +391,20 @@ const app = (0, express_1.default)();
300
391
  catch (error) {
301
392
  console.error('[Tunnel] Error initializing tunnel service:', error);
302
393
  }
394
+ // 5. Marketplace Update Service: Initialize background update checker
395
+ const enableMarketplaceUpdates = process.env.ENABLE_MARKETPLACE_UPDATES !== 'false'; // Default to true
396
+ console.info('[MarketplaceUpdate] Initializing marketplace update service...');
397
+ try {
398
+ (0, marketplaceUpdateService_js_1.initializeMarketplaceUpdateService)({
399
+ enabled: enableMarketplaceUpdates,
400
+ defaultCheckInterval: parseInt(process.env.MARKETPLACE_UPDATE_INTERVAL || '60', 10), // Default: 60 minutes
401
+ autoApplyUpdates: process.env.MARKETPLACE_AUTO_APPLY_UPDATES === 'true', // Default: false
402
+ });
403
+ console.info('[MarketplaceUpdate] Marketplace update service initialized');
404
+ }
405
+ catch (error) {
406
+ console.error('[MarketplaceUpdate] Error initializing marketplace update service:', error);
407
+ }
303
408
  // Static files - serve embedded frontend (for npm package) or development frontend
304
409
  // Check both npm package location (./public) and development location (../../frontend/dist)
305
410
  const fs = await Promise.resolve().then(() => __importStar(require('fs')));
@@ -345,12 +450,26 @@ const app = (0, express_1.default)();
345
450
  app.use('/a2a/:a2aAgentId', httpsOnly_1.httpsOnly, a2a_1.default);
346
451
  // Health check
347
452
  app.get('/api/health', (req, res) => {
348
- res.json({
349
- status: 'ok',
350
- timestamp: new Date().toISOString(),
351
- version: VERSION,
352
- name: 'agentstudio-backend'
353
- });
453
+ try {
454
+ const engineStatus = (0, index_js_2.getEngineStatus)();
455
+ res.json({
456
+ status: 'ok',
457
+ timestamp: new Date().toISOString(),
458
+ version: VERSION,
459
+ name: 'agentstudio-backend',
460
+ engine: engineStatus.defaultEngine || 'unknown',
461
+ engines: engineStatus.registeredEngines || [],
462
+ });
463
+ }
464
+ catch (error) {
465
+ // Fallback if engine status is not available
466
+ res.json({
467
+ status: 'ok',
468
+ timestamp: new Date().toISOString(),
469
+ version: VERSION,
470
+ name: 'agentstudio-backend'
471
+ });
472
+ }
354
473
  });
355
474
  // A2A Health check (public endpoint, no authentication required)
356
475
  app.get('/api/a2a/health', (req, res) => {
@@ -368,6 +487,26 @@ const app = (0, express_1.default)();
368
487
  },
369
488
  });
370
489
  });
490
+ // AGUI Health check (public endpoint for testing)
491
+ app.get('/api/agui/health', (req, res) => {
492
+ try {
493
+ const engineStatus = (0, index_js_2.getEngineStatus)();
494
+ res.json({
495
+ status: 'ok',
496
+ protocol: 'AGUI',
497
+ timestamp: new Date().toISOString(),
498
+ engines: engineStatus.registeredEngines,
499
+ defaultEngine: engineStatus.defaultEngine,
500
+ activeSessions: engineStatus.totalActiveSessions,
501
+ });
502
+ }
503
+ catch (error) {
504
+ res.status(500).json({
505
+ status: 'error',
506
+ error: 'Failed to get engine status',
507
+ });
508
+ }
509
+ });
371
510
  // Protected routes - Require authentication
372
511
  app.use('/api/files', auth_2.authMiddleware, files_1.default);
373
512
  app.use('/api/agents', auth_2.authMiddleware, agents_1.default);
@@ -378,6 +517,7 @@ const app = (0, express_1.default)();
378
517
  app.use('/api/commands', auth_2.authMiddleware, commands_1.default);
379
518
  app.use('/api/subagents', auth_2.authMiddleware, subagents_1.default);
380
519
  app.use('/api/projects', auth_2.authMiddleware, projects_1.default);
520
+ app.use('/api/projects/:projectId/versions', auth_2.authMiddleware, gitVersions_1.default);
381
521
  app.use('/api/a2a', auth_2.authMiddleware, a2aManagement_1.default); // A2A management routes with user auth
382
522
  app.use('/api/skills', auth_2.authMiddleware, skills_1.default);
383
523
  app.use('/api/plugins', auth_2.authMiddleware, plugins_1.default);
@@ -388,6 +528,11 @@ const app = (0, express_1.default)();
388
528
  app.use('/api/version', auth_2.authMiddleware, version_1.default);
389
529
  app.use('/api/tunnel', auth_2.authMiddleware, tunnel_1.default); // Tunnel management
390
530
  app.use('/api/network-info', auth_2.authMiddleware, network_1.default); // Network information
531
+ app.use('/api/agui', auth_2.authMiddleware, agui_1.default); // AGUI unified engine routes
532
+ app.use('/api/speech-to-text', auth_2.authMiddleware, speechToText_1.default); // Speech-to-text service
533
+ app.use('/api/engine', engine_1.default); // Engine configuration (public, no auth required)
534
+ app.use('/api/rules', auth_2.authMiddleware, rules_1.default); // Rules management (both Claude and Cursor)
535
+ app.use('/api/hooks', auth_2.authMiddleware, hooks_1.default); // Hooks management (Claude only)
391
536
  app.use('/api/media', mediaAuth_1.default); // Media auth endpoints
392
537
  app.use('/media', media_1.default); // Remove authMiddleware - media files are now public
393
538
  // Error handling
@@ -413,6 +558,14 @@ const app = (0, express_1.default)();
413
558
  catch (error) {
414
559
  console.error('[Scheduler] Error shutting down scheduler:', error);
415
560
  }
561
+ // 2. Stop marketplace update service
562
+ try {
563
+ (0, marketplaceUpdateService_js_1.shutdownMarketplaceUpdateService)();
564
+ console.info('[MarketplaceUpdate] Marketplace update service stopped');
565
+ }
566
+ catch (error) {
567
+ console.error('[MarketplaceUpdate] Error shutting down marketplace update service:', error);
568
+ }
416
569
  // 2. Stop task executor (wait for running tasks to complete or timeout)
417
570
  try {
418
571
  await (0, index_js_1.shutdownTaskExecutor)();
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CA6BpF"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG1D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAkCpF"}
@@ -9,6 +9,10 @@ const jwt_1 = require("../utils/jwt");
9
9
  * 2. Query parameter "token=<token>" (for EventSource/SSE connections)
10
10
  */
11
11
  function authMiddleware(req, res, next) {
12
+ // Skip authentication if NO_AUTH is enabled (development only)
13
+ if (process.env.NO_AUTH === 'true') {
14
+ return next();
15
+ }
12
16
  const authHeader = req.headers.authorization;
13
17
  const queryToken = req.query.token;
14
18
  let token;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":";;AASA,wCA6BC;AArCD,sCAA2C;AAE3C;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAA2B,CAAC;IAEzD,IAAI,KAAyB,CAAC;IAE9B,mCAAmC;IACnC,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAC7D,CAAC;IACD,qDAAqD;SAChD,IAAI,UAAU,EAAE,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":";;AASA,wCAkCC;AA1CD,sCAA2C;AAE3C;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,+DAA+D;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAA2B,CAAC;IAEzD,IAAI,KAAyB,CAAC;IAE9B,mCAAmC;IACnC,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAC7D,CAAC;IACD,qDAAqD;SAChD,IAAI,UAAU,EAAE,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,IAAI,EAAE,CAAC;AACT,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentstudio",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "AgentStudio - AI-powered agent workspace with Claude integration. One command to start your AI agent studio.",
5
5
  "main": "index.js",
6
6
  "engines": {
@@ -20,6 +20,7 @@
20
20
  "@anthropic-ai/claude-agent-sdk": "^0.1.62",
21
21
  "@types/js-yaml": "^4.0.9",
22
22
  "ai": "^5.0.22",
23
+ "axios": "^1.13.4",
23
24
  "bcryptjs": "^2.4.3",
24
25
  "commander": "^11.1.0",
25
26
  "cors": "^2.8.5",
@@ -27,16 +28,21 @@
27
28
  "eventsource": "^4.0.0",
28
29
  "express": "^4.18.2",
29
30
  "express-rate-limit": "^6.11.2",
31
+ "form-data": "^4.0.5",
30
32
  "fs-extra": "^11.1.1",
31
33
  "gray-matter": "^4.0.3",
32
34
  "helmet": "^7.0.0",
35
+ "https-proxy-agent": "^7.0.6",
33
36
  "js-yaml": "^4.1.0",
34
37
  "jsonwebtoken": "^9.0.2",
35
38
  "node-cron": "^4.2.1",
36
39
  "posthog-node": "^5.21.1",
37
40
  "proper-lockfile": "^4.1.2",
41
+ "socks-proxy-agent": "^8.0.5",
42
+ "sql.js": "^1.13.0",
38
43
  "tunely": "^0.2.1",
39
44
  "undici": "^7.16.0",
45
+ "uuid": "^9.0.1",
40
46
  "zod": "^3.22.2"
41
47
  },
42
48
  "author": "okguitar <okguitar@gmail.com>",
@@ -0,0 +1,10 @@
1
+ import{j as e}from"./data-structures-ChC1tqVg.js";import{r as o}from"./monaco-editor-BWfQfpij.js";import{T as re,a as te,b as K,c as C,d as le,e as E}from"./table-BJUz-ck5.js";import{u as ne,d as oe,e as de,f as ie}from"./useAgents-8KXN6U61.js";import{u as ce}from"./agents-KlPdWQ8K.js";import{P as me}from"./ProjectSelector-Cbct6pnn.js";import{U as xe}from"./UnifiedToolSelector-BP6fuyzG.js";import{b as ue,c as ge,a as R}from"./index-B5hSSnK3.js";import{T as z}from"./ToolsList-CTsQr53G.js";import{u as he}from"./tools-BZTR2NP1.js";import{S as pe,v as be,ag as Y,J as H,y as J,r as ye,ac as fe,E as je,a9 as ve,a4 as Ne,X as ke}from"./ui-components-DjgDPiqV.js";import"./syntax-highlighting-DGbNjS3S.js";import"./FileBrowser-CeGsJnUL.js";const we=({value:t,onChange:u,disabled:i=!1})=>{const[p,A]=o.useState(typeof t=="string"?"custom":"preset"),b=n=>{A(n),u(n==="custom"?"":{type:"preset",preset:"claude_code"})},D=n=>{u({type:"preset",preset:t?.preset||"claude_code",append:n})},j=n=>{u(n)};return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"提示词类型:"}),e.jsxs("div",{className:"flex space-x-2",children:[e.jsx("button",{type:"button",onClick:()=>b("custom"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="custom"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"自定义"}),e.jsx("button",{type:"button",onClick:()=>b("preset"),disabled:i,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${p==="preset"?"bg-blue-600 text-white":"bg-gray-200 text-gray-700 hover:bg-gray-300"} ${i?"opacity-50 cursor-not-allowed":""}`,children:"预设"})]})]}),p==="custom"&&e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"系统提示词"}),e.jsx("textarea",{value:typeof t=="string"?t:"",onChange:n=>j(n.target.value),disabled:i,rows:8,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"输入助手的系统提示词..."})]}),p==="preset"&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"预设类型"}),e.jsx("div",{className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 text-sm dark:text-white",children:"Claude Code 预设 (使用 Claude Code SDK 的默认提示词)"}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"所有预设都基于 Claude Code SDK 的默认提示词,通过追加内容来定制不同用途"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"追加提示词 (可选)"}),e.jsx("textarea",{value:t?.append||"",onChange:n=>D(n.target.value),disabled:i,rows:4,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono text-sm dark:bg-gray-700 dark:text-white",placeholder:"在预设提示词后追加自定义内容..."}),e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"这段内容将追加到 Claude Code 默认提示词的后面"})]})]})]})},Le=()=>{const{t}=he("pages"),{isMobile:u}=ue(),i=ge(),{data:p,isLoading:A}=ne(),b=oe(),D=de(),j=ie(),n=ce(),[g,v]=o.useState(null),[a,d]=o.useState({}),[c,N]=o.useState(!1),[X,k]=o.useState(!1),[I,m]=o.useState(null),[w,T]=o.useState(null),[y,Z]=o.useState(""),[U,B]=o.useState(!1),[S,P]=o.useState([]),[f,M]=o.useState([]),[L,F]=o.useState(!1),[O,q]=o.useState({}),G=p?.agents||[],$=G.filter(s=>s.name.toLowerCase().includes(y.toLowerCase())||s.description.toLowerCase().includes(y.toLowerCase())),V=s=>{if(w){const r=new URLSearchParams;r.set("project",s);const l=`/chat/${w.id}?${r.toString()}`;window.open(l,"_blank")}k(!1),T(null)},ee=async s=>{try{await b.mutateAsync({agentId:s.id,data:{enabled:!s.enabled}}),n.invalidateQueries({queryKey:["agents"]})}catch(r){console.error("Failed to toggle agent:",r),R(t("agents.errors.toggleFailed"))}},_=s=>{v(s),d(s),N(!1);const r=s.allowedTools?.filter(h=>h.enabled).map(h=>h.name)||[],l=r.filter(h=>!h.startsWith("mcp__")),x=r.filter(h=>h.startsWith("mcp__"));P(l),M(x),F(x.length>0)},Q=()=>{const s=G.find(x=>x.id==="general-chat"),r={id:`agent-${Date.now()}`,name:"",description:"",version:"1.0.0",systemPrompt:s?.systemPrompt||`You are a general-purpose AI assistant. You can help with:
2
+ - General questions and conversations
3
+ - Problem-solving and brainstorming
4
+ - Information and explanations
5
+ - Creative tasks and writing
6
+ - Analysis and research
7
+ - File operations when needed
8
+
9
+ You are helpful, harmless, and honest. Always strive to provide accurate and useful information.
10
+ Please respond in Chinese unless the user specifically requests another language.`,maxTurns:s?.maxTurns||void 0,permissionMode:s?.permissionMode||"bypassPermissions",allowedTools:s?.allowedTools||[{name:"Write",enabled:!0},{name:"Read",enabled:!0},{name:"Edit",enabled:!0},{name:"Glob",enabled:!0},{name:"MultiEdit",enabled:!0},{name:"Bash",enabled:!0},{name:"Task",enabled:!0},{name:"WebFetch",enabled:!0},{name:"WebSearch",enabled:!0}],ui:{icon:"🤖",headerTitle:"",headerDescription:""},author:"User",tags:["custom"],enabled:!0};v(null),d(r),N(!0);const l=r.allowedTools?.filter(x=>x.enabled).map(x=>x.name)||[];P(l),M([]),F(!1)},se=()=>{const s=[...S];return L&&s.push(...f),s.map(l=>({name:l,enabled:!0}))},ae=async()=>{if(!a||!a.name?.trim()){m(t("agents.form.nameRequired"));return}if(a.maxTurns!==void 0&&(a.maxTurns<1||a.maxTurns>100)){m(t("agents.form.maxTurnsError"));return}m(null);try{const s=se();if(c){if(!a.id||a.id.trim()===""){m("请输入 Agent ID");return}if(!/^[a-zA-Z0-9_-]+$/.test(a.id)){m("ID 只能包含字母、数字、连字符和下划线");return}const l={...a,allowedTools:s,maxTurns:a.maxTurns,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),ui:{...a.ui,headerTitle:a.ui?.headerTitle||a.name,headerDescription:a.ui?.headerDescription||a.description}};await j.mutateAsync(l)}else{if(!g)return;const r={...a,allowedTools:s,maxTurns:a.maxTurns!==void 0?a.maxTurns:null,enabled:g.enabled};await b.mutateAsync({agentId:g.id,data:r})}v(null),d({}),N(!1),m(null),n.invalidateQueries({queryKey:["agents"]})}catch(s){console.error("Failed to save agent:",s);let r=t(c?"agents.errors.createFailed":"agents.errors.saveFailed");if(s?.response?.data?.details?.issues?.length>0){const l=s.response.data.details.issues[0];l.path.includes("maxTurns")&&l.code==="too_big"?r=t("agents.form.maxTurnsExceeded",{maximum:l.maximum}):r=l.message||r}else s?.response?.data?.error?r=s.response.data.error:s?.message&&(r=s.message);m(r)}},W=async s=>{if(console.log("🗑️ [FRONTEND DEBUG] Attempting to delete agent:",{id:s.id,name:s.name,author:s.author}),s.author==="System"){console.log(`🛑 [FRONTEND DEBUG] Blocked deletion of system agent: ${s.id}`),R("System agents cannot be deleted");return}if(!await i({title:t("agents.deleteTitle","删除确认"),message:t("agents.confirmDelete",{name:s.name}),confirmText:t("common.delete","删除"),cancelText:t("common.cancel","取消"),variant:"danger"})){console.log("❌ [FRONTEND DEBUG] User cancelled deletion");return}console.log("✅ [FRONTEND DEBUG] User confirmed deletion, calling API...");try{await D.mutateAsync(s.id),console.log("✅ [FRONTEND DEBUG] Delete API call successful"),n.invalidateQueries({queryKey:["agents"]}),console.log("🔄 [FRONTEND DEBUG] Invalidated agents query")}catch(l){console.error("❌ [FRONTEND DEBUG] Failed to delete agent:",l),R(t("agents.errors.deleteFailed"))}};return A?e.jsx("div",{className:"p-8 flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),e.jsx("div",{className:"text-gray-600 dark:text-gray-400",children:t("agents.loading")})]})}):e.jsxs("div",{className:"p-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:"flex items-center justify-between mb-6",children:e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900 dark:text-white",children:t("agents.title")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400 mt-2",children:t("agents.subtitle")})]})}),e.jsxs("div",{className:"flex items-center space-x-4",children:[e.jsxs("div",{className:"flex-1 relative",children:[e.jsx(pe,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 w-5 h-5"}),e.jsx("input",{type:"text",placeholder:t("agents.searchPlaceholder"),value:y,onChange:s=>Z(s.target.value),className:"pl-10 pr-4 py-3 w-full border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-gray-700 dark:text-white"})]}),e.jsxs("button",{onClick:Q,className:"flex items-center space-x-2 px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors whitespace-nowrap",children:[e.jsx(be,{className:"w-5 h-5"}),e.jsx("span",{children:t("agents.createButton")})]})]})]}),$.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:"text-6xl mb-4",children:"🤖"}),e.jsx("h3",{className:"text-xl font-medium text-gray-900 dark:text-white mb-2",children:t(y?"agents.noAgentsSearch":"agents.noAgents")}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:t(y?"agents.adjustSearch":"agents.createFirst")}),!y&&e.jsx("button",{onClick:Q,className:"px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors",children:t("agents.createButton")})]}):e.jsxs(e.Fragment,{children:[u&&e.jsx("div",{className:"space-y-4",children:$.map(s=>e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4",children:[e.jsxs("div",{className:"flex items-start space-x-3 mb-4",children:[e.jsx("div",{className:`text-2xl ${s.enabled?"":"opacity-50"}`,children:s.ui.icon}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:`text-base font-medium ${s.enabled?"text-gray-900 dark:text-white":"text-gray-600 dark:text-gray-400"} truncate`,children:s.name}),e.jsx("p",{className:`text-sm ${s.enabled?"text-gray-500 dark:text-gray-400":"text-gray-400 dark:text-gray-500"} truncate mt-1`,children:s.description})]})]}),e.jsx("div",{className:"space-y-2 text-sm mb-4",children:e.jsx("div",{className:"mb-3",children:e.jsxs("div",{className:"flex items-start text-sm",children:[e.jsx("span",{className:"text-gray-500 dark:text-gray-400 mr-2 mt-1",children:"工具:"}),e.jsx("div",{className:"flex-1",children:e.jsx(z,{tools:s.allowedTools?.filter(r=>r.enabled).map(r=>r.name)||[],id:s.id,expandedTools:O,setExpandedTools:q,isMobile:!0,emptyMessage:"未启用工具"})})]})})}),e.jsxs("div",{className:"flex items-center justify-between border-t border-gray-200 dark:border-gray-700 pt-3",children:[s.enabled&&e.jsxs("button",{onClick:()=>{T(s),k(!0)},className:"flex items-center space-x-1 px-3 py-1 text-xs text-primary-foreground bg-primary rounded-md",children:[e.jsx(Y,{className:"w-3 h-3"}),e.jsx("span",{children:"使用"})]}),e.jsx("button",{onClick:()=>_(s),className:"p-1 text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/50 rounded",title:"编辑助手",children:e.jsx(H,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>W(s),className:"p-1 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded",title:"删除助手",disabled:s.author==="System",children:e.jsx(J,{className:"w-4 h-4"})})]})]},s.id))}),!u&&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(re,{children:[e.jsx(te,{children:e.jsxs(K,{children:[e.jsx(C,{className:"px-6 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider w-48",children:t("agents.table.agent")}),e.jsx(C,{className:"px-6 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider w-48",children:t("agents.table.config")}),e.jsx(C,{className:"px-6 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider w-96",children:"工具"}),e.jsx(C,{className:"px-6 py-3 text-xs font-medium text-gray-500 uppercase tracking-wider w-48",children:t("agents.table.actions")})]})}),e.jsx(le,{children:$.map(s=>e.jsxs(K,{className:"hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors",children:[e.jsx(E,{className:"px-6 py-4 whitespace-nowrap w-48",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:`text-2xl mr-4 ${s.enabled?"":"opacity-50"}`,children:s.ui.icon}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:`text-sm font-medium ${s.enabled?"text-gray-900 dark:text-white":"text-gray-600 dark:text-gray-400"} truncate`,children:s.name}),e.jsx("div",{className:`text-sm ${s.enabled?"text-gray-500 dark:text-gray-400":"text-gray-400 dark:text-gray-500"} truncate`,children:s.description})]})]})}),e.jsx(E,{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-900 dark:text-white w-48",children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx(ye,{className:"w-3 h-3 mr-1 text-gray-400"}),e.jsxs("span",{children:["最大轮次: ",s.maxTurns!==void 0?s.maxTurns:"不限制"]})]}),e.jsxs("div",{className:"flex items-center",children:[e.jsx(fe,{className:"w-3 h-3 mr-1 text-gray-400"}),e.jsxs("span",{children:["权限: ",s.permissionMode==="default"?"默认":s.permissionMode==="acceptEdits"?"自动接受编辑":s.permissionMode==="bypassPermissions"?"绕过权限":s.permissionMode==="plan"?"规划模式":"默认"]})]})]})}),e.jsx(E,{className:"px-6 py-4 w-96",children:e.jsx(z,{tools:s.allowedTools?.filter(r=>r.enabled).map(r=>r.name)||[],id:s.id,expandedTools:O,setExpandedTools:q,isMobile:!1,emptyMessage:"未启用工具"})}),e.jsx(E,{className:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium w-48",children:e.jsxs("div",{className:"flex items-center space-x-2",children:[s.enabled&&e.jsxs("button",{onClick:()=>{T(s),k(!0)},className:"flex items-center space-x-1 px-3 py-1 text-xs text-primary-foreground bg-primary rounded-md transition-colors hover:opacity-90",title:"开始使用助手",children:[e.jsx(Y,{className:"w-3 h-3"}),e.jsx("span",{children:"使用"})]}),e.jsx("button",{onClick:()=>ee(s),className:`p-1 rounded transition-colors ${s.enabled?"text-green-600 hover:bg-green-50 dark:hover:bg-green-900/50":"text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700"}`,title:s.enabled?"禁用助手":"启用助手",children:s.enabled?e.jsx(je,{className:"w-4 h-4"}):e.jsx(ve,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>_(s),className:"p-1 text-blue-600 hover:bg-blue-50 dark:hover:bg-blue-900/50 rounded transition-colors",title:"编辑助手",children:e.jsx(H,{className:"w-4 h-4"})}),e.jsx("button",{onClick:()=>W(s),className:"p-1 text-red-600 hover:bg-red-50 dark:hover:bg-red-900/50 rounded transition-colors",title:"删除助手",disabled:s.author==="System",children:e.jsx(J,{className:"w-4 h-4"})})]})})]},s.id))})]})})]}),(g||c)&&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 max-w-4xl w-full max-h-[90vh] overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700",children:[e.jsx("h1",{className:"text-xl font-semibold text-gray-900 dark:text-white",children:c?"创建助手":`编辑助手:${g?.name}`}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsxs("button",{onClick:ae,disabled:b.isPending||j.isPending,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",children:[e.jsx(Ne,{className:"w-4 h-4"}),e.jsx("span",{children:"保存"})]}),e.jsxs("button",{onClick:()=>{v(null),d({}),N(!1),m(null)},className:"flex items-center space-x-2 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700",children:[e.jsx(ke,{className:"w-4 h-4"}),e.jsx("span",{children:"取消"})]})]})]}),I&&e.jsx("div",{className:"p-4 bg-red-50 dark:bg-red-900/50 border-b border-red-200 dark:border-red-800",children:e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx("svg",{className:"h-5 w-5 text-red-400",viewBox:"0 0 20 20",fill:"currentColor",children:e.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),e.jsx("div",{className:"ml-3",children:e.jsx("p",{className:"text-sm text-red-800 dark:text-red-200",children:I})})]})}),e.jsx("div",{className:"p-6 overflow-y-auto max-h-[calc(90vh-80px)]",children:e.jsxs("div",{className:"space-y-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:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"ID"}),e.jsx("input",{type:"text",value:a.id||"",onChange:s=>d({...a,id:s.target.value}),disabled:!c,placeholder:c?"例如: my-custom-agent":"ID 在编辑模式下不可修改",className:`w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white ${c?"border-gray-300 dark:border-gray-600":"bg-gray-100 border-gray-300 text-gray-500 cursor-not-allowed"}`}),c&&e.jsx("p",{className:"mt-1 text-xs text-gray-500 dark:text-gray-400",children:"ID 用于唯一标识这个助手,只能包含字母、数字和连字符"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"名称"}),e.jsx("input",{type:"text",value:a.name||"",onChange:s=>d({...a,name:s.target.value}),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 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:"描述"}),e.jsx("textarea",{value:a.description||"",onChange:s=>d({...a,description:s.target.value}),rows:6,className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"最大轮次"}),e.jsx("input",{type:"number",min:"1",max:"100",value:a.maxTurns!==void 0?a.maxTurns:"",placeholder:"不限制",onChange:s=>{const r=s.target.value;if(r==="")d({...a,maxTurns:void 0});else{const l=parseInt(r);isNaN(l)||d({...a,maxTurns:l})}},className:`w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 dark:bg-gray-700 dark:text-white ${a.maxTurns!==void 0&&(a.maxTurns<1||a.maxTurns>100)?"border-red-500 focus:ring-red-500":"border-gray-300 dark:border-gray-600 focus:ring-blue-500"}`}),a.maxTurns!==void 0&&(a.maxTurns<1||a.maxTurns>100)&&e.jsx("p",{className:"text-red-500 dark:text-red-400 text-sm mt-1",children:"最大轮次必须在1-100之间"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"权限模式"}),e.jsxs("select",{value:a.permissionMode||"default",onChange:s=>d({...a,permissionMode:s.target.value}),className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",children:[e.jsx("option",{value:"default",children:"默认"}),e.jsx("option",{value:"acceptEdits",children:"自动接受编辑"}),e.jsx("option",{value:"bypassPermissions",children:"绕过权限检查"}),e.jsx("option",{value:"plan",children:"规划模式"})]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-4",children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1",children:"图标"}),e.jsx("input",{type:"text",value:a.ui?.icon||"",onChange:s=>d({...a,ui:{...a.ui,icon:s.target.value}}),placeholder:"🤖",className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white"})]})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:"启用的工具"}),e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("button",{type:"button",onClick:()=>B(!U),className:"px-3 py-2 bg-gray-100 dark:bg-gray-700 hover:bg-gray-200 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-300 rounded-lg transition-colors text-sm",children:"选择工具"}),(S.length>0||f.length>0)&&e.jsxs("span",{className:"text-sm text-gray-600 dark:text-gray-400",children:["常规工具 ",S.length," 个",f.length>0&&`, MCP工具 ${f.length} 个`]}),e.jsx(xe,{isOpen:U,onClose:()=>B(!1),selectedRegularTools:S,onRegularToolsChange:P,selectedMcpTools:f,onMcpToolsChange:M,mcpToolsEnabled:L,onMcpEnabledChange:F})]})]}),e.jsx("div",{children:e.jsx(we,{value:a.systemPrompt||"",onChange:s=>d({...a,systemPrompt:s}),disabled:g?.id==="claude-code"})})]})})]})}),X&&w&&e.jsx(me,{agent:w,onProjectSelect:V,onClose:()=>{k(!1),T(null)}})]})};export{Le as AgentsPage};
@@ -1 +1 @@
1
- import{j as s}from"./data-structures-ChC1tqVg.js";import{W as d}from"./monaco-editor-BWfQfpij.js";import{t as i,h as u}from"./index-BEPv9Bqe.js";function c(...o){return i(u(o))}const f=d.forwardRef(({className:o,variant:e="default",size:r="default",...t},n)=>s.jsx("button",{className:c("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e==="default","bg-destructive text-destructive-foreground hover:bg-destructive/90":e==="destructive","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e==="outline","bg-secondary text-secondary-foreground hover:bg-secondary/80":e==="secondary","hover:bg-accent hover:text-accent-foreground":e==="ghost"},{"h-10 px-4 py-2":r==="default","h-9 rounded-md px-3":r==="sm","h-11 rounded-md px-8":r==="lg","h-10 w-10":r==="icon"},o),ref:n,...t}));f.displayName="Button";export{f as B,c};
1
+ import{j as s}from"./data-structures-ChC1tqVg.js";import{W as d}from"./monaco-editor-BWfQfpij.js";import{t as i,k as u}from"./index-B5hSSnK3.js";function c(...o){return i(u(o))}const f=d.forwardRef(({className:o,variant:e="default",size:r="default",...t},n)=>s.jsx("button",{className:c("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{"bg-primary text-primary-foreground hover:bg-primary/90":e==="default","bg-destructive text-destructive-foreground hover:bg-destructive/90":e==="destructive","border border-input bg-background hover:bg-accent hover:text-accent-foreground":e==="outline","bg-secondary text-secondary-foreground hover:bg-secondary/80":e==="secondary","hover:bg-accent hover:text-accent-foreground":e==="ghost"},{"h-10 px-4 py-2":r==="default","h-9 rounded-md px-3":r==="sm","h-11 rounded-md px-8":r==="lg","h-10 w-10":r==="icon"},o),ref:n,...t}));f.displayName="Button";export{f as B,c};