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
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor A2A Service
4
+ *
5
+ * Provides A2A protocol support for the Cursor engine.
6
+ * This service bridges Cursor CLI's AGUI output to the A2A protocol,
7
+ * enabling Cursor to participate in agent-to-agent communication.
8
+ *
9
+ * Features:
10
+ * - Synchronous message handling (message/send)
11
+ * - Streaming message handling (message/stream)
12
+ * - Task management for async operations
13
+ * - Agent Card generation for Cursor capabilities
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.A2A_ERROR_CODES = exports.createA2AErrorResponse = exports.CursorA2AAdapter = void 0;
17
+ exports.executeCursorA2AQuery = executeCursorA2AQuery;
18
+ exports.executeCursorA2AStreaming = executeCursorA2AStreaming;
19
+ exports.createUserMessage = createUserMessage;
20
+ exports.generateCursorAgentCard = generateCursorAgentCard;
21
+ exports.handleMessageSend = handleMessageSend;
22
+ exports.handleMessageStream = handleMessageStream;
23
+ const uuid_1 = require("uuid");
24
+ const index_js_1 = require("../../engines/cursor/index.js");
25
+ const a2aAdapter_js_1 = require("../../engines/cursor/a2aAdapter.js");
26
+ // =============================================================================
27
+ // Cursor A2A Service
28
+ // =============================================================================
29
+ /**
30
+ * Execute a Cursor request and return A2A-formatted response (non-streaming)
31
+ */
32
+ async function executeCursorA2AQuery(params, config) {
33
+ const { message } = params;
34
+ const { workspace, model, sessionId, timeout, requestId, contextId, taskId } = config;
35
+ // Extract text from message parts
36
+ const messageText = message.parts
37
+ .filter(p => p.kind === 'text')
38
+ .map(p => p.text)
39
+ .join('\n');
40
+ if (!messageText) {
41
+ throw new Error('Message must contain at least one text part');
42
+ }
43
+ // Create A2A adapter
44
+ const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
45
+ taskId: taskId || message.taskId || (0, uuid_1.v4)(),
46
+ contextId: contextId || message.contextId || (0, uuid_1.v4)(),
47
+ requestId: requestId || (0, uuid_1.v4)(),
48
+ });
49
+ // Collect all events
50
+ const events = [];
51
+ // Build engine config
52
+ // Don't default to 'auto', let CLI use its internal model settings
53
+ const engineConfig = {
54
+ type: 'cursor',
55
+ workspace,
56
+ model, // undefined/empty means CLI will use its internal settings
57
+ sessionId,
58
+ timeout: timeout || 600000, // 10 minutes default
59
+ };
60
+ // Execute Cursor request
61
+ const result = await index_js_1.cursorEngine.sendMessage(messageText, engineConfig, (event) => {
62
+ events.push(event);
63
+ // Convert in real-time for logging
64
+ adapter.convertEvent(event);
65
+ });
66
+ return {
67
+ task: adapter.createTask(),
68
+ responseText: adapter.getResponseText(),
69
+ sessionId: result.sessionId,
70
+ };
71
+ }
72
+ /**
73
+ * Execute a Cursor request with A2A streaming output
74
+ */
75
+ async function executeCursorA2AStreaming(params, config, onResponse) {
76
+ const { message } = params;
77
+ const { workspace, model, sessionId, timeout, requestId, contextId, taskId } = config;
78
+ // Extract text from message parts
79
+ const messageText = message.parts
80
+ .filter(p => p.kind === 'text')
81
+ .map(p => p.text)
82
+ .join('\n');
83
+ if (!messageText) {
84
+ throw new Error('Message must contain at least one text part');
85
+ }
86
+ // Create A2A adapter
87
+ const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
88
+ taskId: taskId || message.taskId || (0, uuid_1.v4)(),
89
+ contextId: contextId || message.contextId || (0, uuid_1.v4)(),
90
+ requestId: requestId || (0, uuid_1.v4)(),
91
+ });
92
+ // Build engine config
93
+ // Don't default to 'auto', let CLI use its internal model settings
94
+ const engineConfig = {
95
+ type: 'cursor',
96
+ workspace,
97
+ model, // undefined/empty means CLI will use its internal settings
98
+ sessionId,
99
+ timeout: timeout || 600000,
100
+ };
101
+ // Execute Cursor request with streaming conversion
102
+ const result = await index_js_1.cursorEngine.sendMessage(messageText, engineConfig, (event) => {
103
+ // Convert AGUI event to A2A and stream immediately
104
+ const responses = adapter.convertEvent(event);
105
+ for (const response of responses) {
106
+ onResponse(response);
107
+ }
108
+ });
109
+ return {
110
+ taskId: adapter.getTaskId(),
111
+ contextId: adapter.getContextId(),
112
+ sessionId: result.sessionId,
113
+ };
114
+ }
115
+ /**
116
+ * Create an A2A Message from user input
117
+ */
118
+ function createUserMessage(text, options) {
119
+ return {
120
+ kind: 'message',
121
+ role: 'user',
122
+ messageId: (0, uuid_1.v4)(),
123
+ taskId: options?.taskId,
124
+ contextId: options?.contextId,
125
+ parts: [{
126
+ kind: 'text',
127
+ text,
128
+ }],
129
+ metadata: options?.metadata,
130
+ };
131
+ }
132
+ /**
133
+ * Generate an A2A Agent Card for Cursor engine
134
+ */
135
+ async function generateCursorAgentCard(context) {
136
+ const models = await index_js_1.cursorEngine.getSupportedModels();
137
+ const capabilities = index_js_1.cursorEngine.capabilities;
138
+ return {
139
+ name: 'Cursor Agent',
140
+ description: 'AI-powered coding assistant powered by Cursor CLI. Capable of code editing, file operations, terminal commands, and codebase navigation.',
141
+ url: `${context.baseUrl}/a2a/${context.a2aAgentId}`,
142
+ provider: {
143
+ organization: 'Cursor',
144
+ url: 'https://cursor.com',
145
+ },
146
+ version: '1.0.0',
147
+ documentationUrl: 'https://cursor.com/docs',
148
+ capabilities: {
149
+ streaming: true,
150
+ pushNotifications: false,
151
+ stateTransitionHistory: false,
152
+ },
153
+ securitySchemes: {
154
+ apiKey: {
155
+ type: 'apiKey',
156
+ in: 'header',
157
+ name: 'Authorization',
158
+ },
159
+ },
160
+ security: [{ apiKey: [] }],
161
+ defaultInputModes: ['text/plain', 'application/json'],
162
+ defaultOutputModes: ['text/plain', 'application/json'],
163
+ skills: generateCursorSkills(capabilities),
164
+ // AgentStudio-specific context
165
+ context: {
166
+ a2aAgentId: context.a2aAgentId,
167
+ projectId: context.projectId,
168
+ projectName: context.projectName,
169
+ workingDirectory: context.workingDirectory,
170
+ engineType: 'cursor',
171
+ supportedModels: models.map(m => ({ id: m.id, name: m.name })),
172
+ },
173
+ };
174
+ }
175
+ /**
176
+ * Generate skills list based on Cursor capabilities
177
+ */
178
+ function generateCursorSkills(capabilities) {
179
+ const skills = [];
180
+ // Code editing skill
181
+ skills.push({
182
+ id: 'code-editing',
183
+ name: 'Code Editing',
184
+ description: 'Read, write, and modify code files with intelligent context awareness',
185
+ tags: ['code', 'editing', 'development'],
186
+ examples: [
187
+ 'Fix the bug in the login function',
188
+ 'Add error handling to the API endpoint',
189
+ 'Refactor this class to use async/await',
190
+ ],
191
+ inputModes: ['text/plain'],
192
+ outputModes: ['text/plain', 'application/json'],
193
+ });
194
+ // File operations skill
195
+ skills.push({
196
+ id: 'file-operations',
197
+ name: 'File Operations',
198
+ description: 'Read, write, create, and navigate files in the workspace',
199
+ tags: ['files', 'filesystem', 'navigation'],
200
+ examples: [
201
+ 'Show me the contents of package.json',
202
+ 'Create a new component file',
203
+ 'Find all TypeScript files in src/',
204
+ ],
205
+ inputModes: ['text/plain'],
206
+ outputModes: ['text/plain', 'application/json'],
207
+ });
208
+ // Terminal execution skill
209
+ if (capabilities.features.codeExecution) {
210
+ skills.push({
211
+ id: 'terminal-execution',
212
+ name: 'Terminal Command Execution',
213
+ description: 'Execute shell commands and scripts in the project context',
214
+ tags: ['terminal', 'shell', 'commands'],
215
+ examples: [
216
+ 'Run the test suite',
217
+ 'Install the missing dependencies',
218
+ 'Build the project',
219
+ ],
220
+ inputModes: ['text/plain'],
221
+ outputModes: ['text/plain', 'application/json'],
222
+ });
223
+ }
224
+ // Code search skill
225
+ skills.push({
226
+ id: 'code-search',
227
+ name: 'Code Search & Navigation',
228
+ description: 'Search for patterns, find definitions, and navigate the codebase',
229
+ tags: ['search', 'navigation', 'codebase'],
230
+ examples: [
231
+ 'Find all usages of the User class',
232
+ 'Search for TODO comments',
233
+ 'Where is the authentication logic?',
234
+ ],
235
+ inputModes: ['text/plain'],
236
+ outputModes: ['application/json'],
237
+ });
238
+ // General assistant skill
239
+ skills.push({
240
+ id: 'coding-assistant',
241
+ name: 'General Coding Assistant',
242
+ description: 'Answer questions, explain code, and provide coding guidance',
243
+ tags: ['assistant', 'explanation', 'guidance'],
244
+ examples: [
245
+ 'Explain how this function works',
246
+ 'What\'s the best practice for handling errors here?',
247
+ 'How should I structure this feature?',
248
+ ],
249
+ inputModes: ['text/plain'],
250
+ outputModes: ['text/plain'],
251
+ });
252
+ return skills;
253
+ }
254
+ // =============================================================================
255
+ // JSON-RPC Method Handlers
256
+ // =============================================================================
257
+ /**
258
+ * Handle message/send JSON-RPC method
259
+ */
260
+ async function handleMessageSend(params, config) {
261
+ const blocking = params.configuration?.blocking ?? true;
262
+ if (blocking) {
263
+ // Synchronous - wait for completion
264
+ const result = await executeCursorA2AQuery(params, config);
265
+ return result.task;
266
+ }
267
+ else {
268
+ // Non-blocking - return immediately with task reference
269
+ const adapter = new a2aAdapter_js_1.CursorA2AAdapter({
270
+ taskId: config.taskId || (0, uuid_1.v4)(),
271
+ contextId: config.contextId || (0, uuid_1.v4)(),
272
+ requestId: config.requestId || (0, uuid_1.v4)(),
273
+ });
274
+ // Start execution in background
275
+ const taskId = adapter.getTaskId();
276
+ const contextId = adapter.getContextId();
277
+ // Schedule execution (don't await)
278
+ executeCursorA2AQuery(params, {
279
+ ...config,
280
+ taskId,
281
+ contextId,
282
+ }).catch(error => {
283
+ console.error(`[CursorA2A] Background task ${taskId} failed:`, error);
284
+ });
285
+ // Return initial task state
286
+ return {
287
+ id: taskId,
288
+ contextId,
289
+ status: {
290
+ state: 'submitted',
291
+ timestamp: new Date().toISOString(),
292
+ },
293
+ };
294
+ }
295
+ }
296
+ /**
297
+ * Handle message/stream JSON-RPC method
298
+ * Returns an async generator for SSE streaming
299
+ */
300
+ async function* handleMessageStream(params, config) {
301
+ const responseQueue = [];
302
+ let done = false;
303
+ let error = null;
304
+ // Start execution
305
+ const executionPromise = executeCursorA2AStreaming(params, config, (response) => {
306
+ responseQueue.push(response);
307
+ }).then(() => {
308
+ done = true;
309
+ }).catch((err) => {
310
+ error = err;
311
+ done = true;
312
+ });
313
+ // Yield responses as they come
314
+ while (!done || responseQueue.length > 0) {
315
+ if (responseQueue.length > 0) {
316
+ yield responseQueue.shift();
317
+ }
318
+ else if (!done) {
319
+ // Wait a bit for more responses
320
+ await new Promise(resolve => setTimeout(resolve, 10));
321
+ }
322
+ }
323
+ // Check for errors after loop completion
324
+ const finalError = error;
325
+ if (finalError) {
326
+ yield (0, a2aAdapter_js_1.createA2AErrorResponse)(finalError.message, a2aAdapter_js_1.A2A_ERROR_CODES.INTERNAL_ERROR, config.requestId || 'unknown');
327
+ }
328
+ }
329
+ // =============================================================================
330
+ // Exports
331
+ // =============================================================================
332
+ var a2aAdapter_js_2 = require("../../engines/cursor/a2aAdapter.js");
333
+ Object.defineProperty(exports, "CursorA2AAdapter", { enumerable: true, get: function () { return a2aAdapter_js_2.CursorA2AAdapter; } });
334
+ Object.defineProperty(exports, "createA2AErrorResponse", { enumerable: true, get: function () { return a2aAdapter_js_2.createA2AErrorResponse; } });
335
+ Object.defineProperty(exports, "A2A_ERROR_CODES", { enumerable: true, get: function () { return a2aAdapter_js_2.A2A_ERROR_CODES; } });
336
+ //# sourceMappingURL=cursorA2aService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursorA2aService.js","sourceRoot":"","sources":["../../../src/services/a2a/cursorA2aService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Agent Importer Service
3
+ *
4
+ * Imports AgentStudio-specific agents from marketplaces.
5
+ * These agents are defined in marketplace.json under the 'agents' array
6
+ * and are distinct from Claude Code's plugin agents (which are simple markdown files).
7
+ */
8
+ import { MarketplaceAgent } from '../types/plugins';
9
+ export interface AgentImportResult {
10
+ success: boolean;
11
+ agentId?: string;
12
+ agentName?: string;
13
+ error?: string;
14
+ }
15
+ export interface MarketplaceAgentImportResult {
16
+ marketplaceName: string;
17
+ results: AgentImportResult[];
18
+ totalAgents: number;
19
+ importedCount: number;
20
+ errorCount: number;
21
+ }
22
+ declare class AgentImporter {
23
+ /**
24
+ * Import all agents from a marketplace
25
+ */
26
+ importAgentsFromMarketplace(marketplaceName: string): Promise<MarketplaceAgentImportResult>;
27
+ /**
28
+ * Import a single agent from a marketplace
29
+ */
30
+ importAgent(marketplaceName: string, agentDef: MarketplaceAgent): Promise<AgentImportResult>;
31
+ /**
32
+ * Uninstall an agent (remove symlink)
33
+ */
34
+ uninstallAgent(agentId: string): Promise<boolean>;
35
+ /**
36
+ * Uninstall all agents from a marketplace
37
+ */
38
+ uninstallMarketplaceAgents(marketplaceName: string): Promise<number>;
39
+ /**
40
+ * List agents available in a marketplace
41
+ */
42
+ listMarketplaceAgents(marketplaceName: string): Promise<MarketplaceAgent[]>;
43
+ /**
44
+ * Get installed agents from a specific marketplace
45
+ */
46
+ getInstalledAgentsFromMarketplace(marketplaceName: string): Promise<string[]>;
47
+ /**
48
+ * Load marketplace manifest
49
+ */
50
+ private loadMarketplaceManifest;
51
+ /**
52
+ * Convert marketplace agent config to AgentConfig format
53
+ */
54
+ private convertMarketplaceAgentConfig;
55
+ /**
56
+ * Generate agent ID from name
57
+ */
58
+ private generateAgentId;
59
+ }
60
+ export declare const agentImporter: AgentImporter;
61
+ export {};
62
+ //# sourceMappingURL=agentImporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentImporter.d.ts","sourceRoot":"","sources":["../../src/services/agentImporter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOzE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,cAAM,aAAa;IACjB;;OAEG;IACG,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAiCjG;;OAEG;IACG,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8HlG;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BvD;;OAEG;IACG,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB1E;;OAEG;IACG,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAKjF;;OAEG;IACG,iCAAiC,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BnF;;OAEG;YACW,uBAAuB;IAiBrC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}