agentstudio 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1370) hide show
  1. package/README.md +24 -176
  2. package/bin/agentstudio.d.ts +3 -0
  3. package/bin/agentstudio.d.ts.map +1 -0
  4. package/bin/agentstudio.js +427 -0
  5. package/bin/agentstudio.js.map +1 -0
  6. package/bin/serviceManager.d.ts +16 -0
  7. package/bin/serviceManager.d.ts.map +1 -0
  8. package/bin/serviceManager.js +434 -0
  9. package/bin/serviceManager.js.map +1 -0
  10. package/config/index.d.ts +74 -0
  11. package/config/index.d.ts.map +1 -0
  12. package/config/index.js +166 -0
  13. package/config/index.js.map +1 -0
  14. package/config/paths.d.ts +81 -0
  15. package/config/paths.d.ts.map +1 -0
  16. package/config/paths.js +98 -0
  17. package/config/paths.js.map +1 -0
  18. package/config/sdkConfig.d.ts +62 -0
  19. package/config/sdkConfig.d.ts.map +1 -0
  20. package/config/sdkConfig.js +157 -0
  21. package/config/sdkConfig.js.map +1 -0
  22. package/index.d.ts +4 -0
  23. package/index.d.ts.map +1 -0
  24. package/index.js +452 -0
  25. package/index.js.map +1 -0
  26. package/jobs/taskTimeoutMonitor.d.ts +25 -0
  27. package/jobs/taskTimeoutMonitor.d.ts.map +1 -0
  28. package/jobs/taskTimeoutMonitor.js +94 -0
  29. package/jobs/taskTimeoutMonitor.js.map +1 -0
  30. package/middleware/a2aAuth.d.ts +38 -0
  31. package/middleware/a2aAuth.d.ts.map +1 -0
  32. package/middleware/a2aAuth.js +134 -0
  33. package/middleware/a2aAuth.js.map +1 -0
  34. package/middleware/auth.d.ts +9 -0
  35. package/middleware/auth.d.ts.map +1 -0
  36. package/middleware/auth.js +35 -0
  37. package/middleware/auth.js.map +1 -0
  38. package/middleware/httpsOnly.d.ts +75 -0
  39. package/middleware/httpsOnly.d.ts.map +1 -0
  40. package/middleware/httpsOnly.js +189 -0
  41. package/middleware/httpsOnly.js.map +1 -0
  42. package/middleware/rateLimiting.d.ts +37 -0
  43. package/middleware/rateLimiting.d.ts.map +1 -0
  44. package/middleware/rateLimiting.js +118 -0
  45. package/middleware/rateLimiting.js.map +1 -0
  46. package/package.json +49 -38
  47. package/public/assets/AgentsPage-gSnkPp2k.js +10 -0
  48. package/public/assets/Button-BoiVlafj.js +1 -0
  49. package/public/assets/ChatPage-BMrfVkpt.js +471 -0
  50. package/public/assets/ChatPage-BvQmXfcP.css +1 -0
  51. package/public/assets/CommandForm-Se4iemMp.js +7 -0
  52. package/public/assets/CommandsPage-B6u4IO7L.js +1 -0
  53. package/public/assets/DashboardPage-DbCVzPKz.js +1 -0
  54. package/public/assets/FileBrowser-DcoBWzKK.js +6 -0
  55. package/public/assets/FileExplorer-B41BB0LM.js +1 -0
  56. package/public/assets/GeneralSettingsPage-BbEbWJUQ.js +1 -0
  57. package/public/assets/LandingPage-DFPm2d4Y.js +1 -0
  58. package/public/assets/LoginPage-D5kZJqhk.js +16 -0
  59. package/public/assets/McpAdminSettingsPage-D32iUEjH.js +7 -0
  60. package/public/assets/McpPage-QT4qs391.js +20 -0
  61. package/public/assets/MemorySettingsPage-DYSuz-hU.js +1 -0
  62. package/public/assets/PluginsPage-BotzuK9f.js +1 -0
  63. package/public/assets/ProjectSelector-DujNObqr.js +1 -0
  64. package/public/assets/ProjectsPage-CRWe6HPl.js +21 -0
  65. package/public/assets/ScheduledTasksPage-Beeurg-w.js +1 -0
  66. package/public/assets/SettingsLayout-BfkBUyI_.js +1 -0
  67. package/public/assets/SkillsPage-B59bAr6W.js +18 -0
  68. package/public/assets/SubagentForm-C0R084ja.js +7 -0
  69. package/public/assets/SubagentsPage-BKFNmqxg.js +1 -0
  70. package/public/assets/SystemInfoPage-D89s7PjE.js +1 -0
  71. package/public/assets/TelemetrySettingsPage-Ck2btMol.js +1 -0
  72. package/public/assets/ToastTestPage-B79DFhqI.js +1 -0
  73. package/public/assets/ToolsList-Kfxwp80g.js +1 -0
  74. package/public/assets/UnifiedToolSelector-CkafUbz3.js +1 -0
  75. package/public/assets/VersionSettingsPage-CaB4PH6h.js +5 -0
  76. package/public/assets/WebSocketTunnelPage-Cbru_-hL.js +1 -0
  77. package/public/assets/_basePickBy-5fAM04Ra.js +1 -0
  78. package/public/assets/_baseUniq-COj5YnAO.js +1 -0
  79. package/public/assets/agents-3mB536QF.js +1 -0
  80. package/public/assets/agents-DwCY2K8p.css +1 -0
  81. package/public/assets/arc-C2gTU2ZR.js +1 -0
  82. package/public/assets/architectureDiagram-VXUJARFQ-DD1BwT1T.js +36 -0
  83. package/public/assets/blockDiagram-VD42YOAC-DFKUIZc6.js +122 -0
  84. package/public/assets/c4Diagram-YG6GDRKO-B0VVIIvh.js +10 -0
  85. package/public/assets/channel-DcVTcy-S.js +1 -0
  86. package/public/assets/chunk-4BX2VUAB-DM8J7YO9.js +1 -0
  87. package/public/assets/chunk-55IACEB6-BjhdmGlM.js +1 -0
  88. package/public/assets/chunk-B4BG7PRW-1RJ6n2xv.js +165 -0
  89. package/public/assets/chunk-DI55MBZ5-1-EHSO67.js +220 -0
  90. package/public/assets/chunk-FMBD7UC4-DV3SMJK_.js +15 -0
  91. package/public/assets/chunk-QN33PNHL-IlsCTdDq.js +1 -0
  92. package/public/assets/chunk-QZHKN3VN-DJXs-Fqo.js +1 -0
  93. package/public/assets/chunk-TZMSLE5B-BxHO9wa1.js +1 -0
  94. package/public/assets/classDiagram-2ON5EDUG-BXVT6Q7h.js +1 -0
  95. package/public/assets/classDiagram-v2-WZHVMYZB-BXVT6Q7h.js +1 -0
  96. package/public/assets/clone-Bp6orjIq.js +1 -0
  97. package/public/assets/cose-bilkent-S5V4N54A-BVJXoW_K.js +1 -0
  98. package/public/assets/cytoscape.esm-DtBltrT8.js +331 -0
  99. package/public/assets/dagre-6UL2VRFP-DHDnVshA.js +4 -0
  100. package/public/assets/data-structures-ChC1tqVg.js +27 -0
  101. package/public/assets/dateFormat-CXa8VnEC.js +1 -0
  102. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  103. package/public/assets/diagram-PSM6KHXK-40qGxDeg.js +24 -0
  104. package/public/assets/diagram-QEK2KX5R-BfMGeeRo.js +43 -0
  105. package/public/assets/diagram-S2PKOQOG-D7AX72a5.js +24 -0
  106. package/public/assets/erDiagram-Q2GNP2WA-BHsgeBpL.js +60 -0
  107. package/public/assets/flowDiagram-NV44I4VS-BYqChOSE.js +162 -0
  108. package/public/assets/ganttDiagram-LVOFAZNH-CZFFSLKX.js +267 -0
  109. package/public/assets/gitGraphDiagram-NY62KEGX-C5Bgrf0J.js +65 -0
  110. package/public/assets/graph-BP5lFRBg.js +1 -0
  111. package/public/assets/index-BEPv9Bqe.js +297 -0
  112. package/public/assets/index-BgR-BTTw.css +1 -0
  113. package/public/assets/infoDiagram-F6ZHWCRC-C6OApgqf.js +2 -0
  114. package/public/assets/init-Gi6I4Gst.js +1 -0
  115. package/public/assets/journeyDiagram-XKPGCS4Q--abC1RHz.js +139 -0
  116. package/public/assets/kanban-definition-3W4ZIXB7-BJeChfWu.js +89 -0
  117. package/public/assets/katex-qrhCpa0F.js +261 -0
  118. package/public/assets/layout-DjAix4WK.js +1 -0
  119. package/public/assets/linear-Cw0z8VNY.js +1 -0
  120. package/public/assets/mindmap-definition-VGOIOE7T-U_T9xIUk.js +68 -0
  121. package/public/assets/monaco-editor-BWfQfpij.js +19 -0
  122. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  123. package/public/assets/pieDiagram-ADFJNKIX-B0mT9OgH.js +30 -0
  124. package/public/assets/quadrantDiagram-AYHSOK5B-BWdlgO0u.js +7 -0
  125. package/public/assets/requirementDiagram-UZGBJVZJ-B-8LxsGB.js +64 -0
  126. package/public/assets/sankeyDiagram-TZEHDZUN-OXuxkgGA.js +10 -0
  127. package/public/assets/sequenceDiagram-WL72ISMW-Bt5twlzi.js +145 -0
  128. package/public/assets/stateDiagram-FKZM4ZOC-Dmph7TeW.js +1 -0
  129. package/public/assets/stateDiagram-v2-4FDKWEC3-DyE8O3Kx.js +1 -0
  130. package/public/assets/syntax-highlighting-DGbNjS3S.js +24 -0
  131. package/public/assets/table-DjMdAdjH.js +1 -0
  132. package/public/assets/timeline-definition-IT6M3QCI-CcV8nyIH.js +61 -0
  133. package/public/assets/tools-BAI9XHGS.js +1 -0
  134. package/public/assets/treemap-KMMF4GRG-DBuwkj4f.js +128 -0
  135. package/public/assets/ui-components-DaGtjl0g.js +646 -0
  136. package/public/assets/useAgents-D5EDAc_E.js +2 -0
  137. package/public/assets/useClaudeVersions-Cy71v4HE.js +1 -0
  138. package/public/assets/useCommands-BgoCfyuu.js +1 -0
  139. package/public/assets/useProjects-XgfgISgV.js +1 -0
  140. package/public/assets/useSessions-CQgq4d84.js +1 -0
  141. package/public/assets/xychartDiagram-PRI3JC2R-Bo9K-U2S.js +7 -0
  142. package/public/index.html +70 -0
  143. package/routes/__tests__/a2a.integration.test.d.ts +11 -0
  144. package/routes/__tests__/a2a.integration.test.d.ts.map +1 -0
  145. package/routes/__tests__/a2a.integration.test.js +314 -0
  146. package/routes/__tests__/a2a.integration.test.js.map +1 -0
  147. package/routes/__tests__/a2a.test.d.ts +6 -0
  148. package/routes/__tests__/a2a.test.d.ts.map +1 -0
  149. package/routes/__tests__/a2a.test.js +622 -0
  150. package/routes/__tests__/a2a.test.js.map +1 -0
  151. package/routes/__tests__/agents.test.d.ts +6 -0
  152. package/routes/__tests__/agents.test.d.ts.map +1 -0
  153. package/routes/__tests__/agents.test.js +315 -0
  154. package/routes/__tests__/agents.test.js.map +1 -0
  155. package/routes/__tests__/sessions.test.d.ts +7 -0
  156. package/routes/__tests__/sessions.test.d.ts.map +1 -0
  157. package/routes/__tests__/sessions.test.js +330 -0
  158. package/routes/__tests__/sessions.test.js.map +1 -0
  159. package/routes/a2a.d.ts +18 -0
  160. package/routes/a2a.d.ts.map +1 -0
  161. package/routes/a2a.js +718 -0
  162. package/routes/a2a.js.map +1 -0
  163. package/routes/a2a.streaming.test.d.ts +2 -0
  164. package/routes/a2a.streaming.test.d.ts.map +1 -0
  165. package/routes/a2a.streaming.test.js +167 -0
  166. package/routes/a2a.streaming.test.js.map +1 -0
  167. package/routes/a2aManagement.d.ts +21 -0
  168. package/routes/a2aManagement.d.ts.map +1 -0
  169. package/routes/a2aManagement.js +466 -0
  170. package/routes/a2aManagement.js.map +1 -0
  171. package/routes/agents.d.ts +4 -0
  172. package/routes/agents.d.ts.map +1 -0
  173. package/routes/agents.js +1026 -0
  174. package/routes/agents.js.map +1 -0
  175. package/routes/auth.d.ts +4 -0
  176. package/routes/auth.d.ts.map +1 -0
  177. package/routes/auth.js +135 -0
  178. package/routes/auth.js.map +1 -0
  179. package/routes/cloudflareTunnel.d.ts +4 -0
  180. package/routes/cloudflareTunnel.d.ts.map +1 -0
  181. package/routes/cloudflareTunnel.js +250 -0
  182. package/routes/cloudflareTunnel.js.map +1 -0
  183. package/routes/commands.d.ts +4 -0
  184. package/routes/commands.d.ts.map +1 -0
  185. package/routes/commands.js +481 -0
  186. package/routes/commands.js.map +1 -0
  187. package/routes/config.d.ts +4 -0
  188. package/routes/config.d.ts.map +1 -0
  189. package/routes/config.js +211 -0
  190. package/routes/config.js.map +1 -0
  191. package/routes/files.d.ts +4 -0
  192. package/routes/files.d.ts.map +1 -0
  193. package/routes/files.js +361 -0
  194. package/routes/files.js.map +1 -0
  195. package/routes/mcp.d.ts +26 -0
  196. package/routes/mcp.d.ts.map +1 -0
  197. package/routes/mcp.js +825 -0
  198. package/routes/mcp.js.map +1 -0
  199. package/routes/mcpAdmin.d.ts +16 -0
  200. package/routes/mcpAdmin.d.ts.map +1 -0
  201. package/routes/mcpAdmin.js +308 -0
  202. package/routes/mcpAdmin.js.map +1 -0
  203. package/routes/mcpAdminManagement.d.ts +17 -0
  204. package/routes/mcpAdminManagement.d.ts.map +1 -0
  205. package/routes/mcpAdminManagement.js +345 -0
  206. package/routes/mcpAdminManagement.js.map +1 -0
  207. package/routes/media.d.ts +5 -0
  208. package/routes/media.d.ts.map +1 -0
  209. package/routes/media.js +127 -0
  210. package/routes/media.js.map +1 -0
  211. package/routes/mediaAuth.d.ts +8 -0
  212. package/routes/mediaAuth.d.ts.map +1 -0
  213. package/routes/mediaAuth.js +136 -0
  214. package/routes/mediaAuth.js.map +1 -0
  215. package/routes/network.d.ts +9 -0
  216. package/routes/network.d.ts.map +1 -0
  217. package/routes/network.js +60 -0
  218. package/routes/network.js.map +1 -0
  219. package/routes/plugins.d.ts +4 -0
  220. package/routes/plugins.d.ts.map +1 -0
  221. package/routes/plugins.js +339 -0
  222. package/routes/plugins.js.map +1 -0
  223. package/routes/projects.d.ts +4 -0
  224. package/routes/projects.d.ts.map +1 -0
  225. package/routes/projects.js +1000 -0
  226. package/routes/projects.js.map +1 -0
  227. package/routes/scheduledTasks.d.ts +9 -0
  228. package/routes/scheduledTasks.d.ts.map +1 -0
  229. package/routes/scheduledTasks.js +386 -0
  230. package/routes/scheduledTasks.js.map +1 -0
  231. package/routes/sessions.d.ts +4 -0
  232. package/routes/sessions.d.ts.map +1 -0
  233. package/routes/sessions.js +966 -0
  234. package/routes/sessions.js.map +1 -0
  235. package/routes/settings.d.ts +4 -0
  236. package/routes/settings.d.ts.map +1 -0
  237. package/routes/settings.js +500 -0
  238. package/routes/settings.js.map +1 -0
  239. package/routes/skills.d.ts +4 -0
  240. package/routes/skills.d.ts.map +1 -0
  241. package/routes/skills.js +272 -0
  242. package/routes/skills.js.map +1 -0
  243. package/routes/slack.d.ts +10 -0
  244. package/routes/slack.d.ts.map +1 -0
  245. package/routes/slack.js +189 -0
  246. package/routes/slack.js.map +1 -0
  247. package/routes/slides.d.ts +4 -0
  248. package/routes/slides.d.ts.map +1 -0
  249. package/routes/slides.js +148 -0
  250. package/routes/slides.js.map +1 -0
  251. package/routes/subagents.d.ts +4 -0
  252. package/routes/subagents.d.ts.map +1 -0
  253. package/routes/subagents.js +333 -0
  254. package/routes/subagents.js.map +1 -0
  255. package/routes/taskExecutor.d.ts +9 -0
  256. package/routes/taskExecutor.d.ts.map +1 -0
  257. package/routes/taskExecutor.js +224 -0
  258. package/routes/taskExecutor.js.map +1 -0
  259. package/routes/tunnel.d.ts +10 -0
  260. package/routes/tunnel.d.ts.map +1 -0
  261. package/routes/tunnel.js +296 -0
  262. package/routes/tunnel.js.map +1 -0
  263. package/routes/version.d.ts +4 -0
  264. package/routes/version.d.ts.map +1 -0
  265. package/routes/version.js +222 -0
  266. package/routes/version.js.map +1 -0
  267. package/schemas/a2a.d.ts +946 -0
  268. package/schemas/a2a.d.ts.map +1 -0
  269. package/schemas/a2a.js +316 -0
  270. package/schemas/a2a.js.map +1 -0
  271. package/scripts/postinstall.js +10 -0
  272. package/services/__tests__/pluginInstaller.test.d.ts +5 -0
  273. package/services/__tests__/pluginInstaller.test.d.ts.map +1 -0
  274. package/services/__tests__/pluginInstaller.test.js +290 -0
  275. package/services/__tests__/pluginInstaller.test.js.map +1 -0
  276. package/services/__tests__/pluginParser.test.d.ts +5 -0
  277. package/services/__tests__/pluginParser.test.d.ts.map +1 -0
  278. package/services/__tests__/pluginParser.test.js +272 -0
  279. package/services/__tests__/pluginParser.test.js.map +1 -0
  280. package/services/__tests__/pluginPaths.test.d.ts +5 -0
  281. package/services/__tests__/pluginPaths.test.d.ts.map +1 -0
  282. package/services/__tests__/pluginPaths.test.js +221 -0
  283. package/services/__tests__/pluginPaths.test.js.map +1 -0
  284. package/services/__tests__/pluginScanner.test.d.ts +5 -0
  285. package/services/__tests__/pluginScanner.test.d.ts.map +1 -0
  286. package/services/__tests__/pluginScanner.test.js +272 -0
  287. package/services/__tests__/pluginScanner.test.js.map +1 -0
  288. package/services/__tests__/pluginSymlink.test.d.ts +5 -0
  289. package/services/__tests__/pluginSymlink.test.d.ts.map +1 -0
  290. package/services/__tests__/pluginSymlink.test.js +318 -0
  291. package/services/__tests__/pluginSymlink.test.js.map +1 -0
  292. package/services/__tests__/projectMetadataStorage.test.d.ts +5 -0
  293. package/services/__tests__/projectMetadataStorage.test.d.ts.map +1 -0
  294. package/services/__tests__/projectMetadataStorage.test.js +154 -0
  295. package/services/__tests__/projectMetadataStorage.test.js.map +1 -0
  296. package/services/__tests__/sessionConcurrency.test.d.ts +7 -0
  297. package/services/__tests__/sessionConcurrency.test.d.ts.map +1 -0
  298. package/services/__tests__/sessionConcurrency.test.js +110 -0
  299. package/services/__tests__/sessionConcurrency.test.js.map +1 -0
  300. package/services/__tests__/slackAIService.test.d.ts +5 -0
  301. package/services/__tests__/slackAIService.test.d.ts.map +1 -0
  302. package/services/__tests__/slackAIService.test.js +479 -0
  303. package/services/__tests__/slackAIService.test.js.map +1 -0
  304. package/services/__tests__/slackThreadMapper.test.d.ts +5 -0
  305. package/services/__tests__/slackThreadMapper.test.d.ts.map +1 -0
  306. package/services/__tests__/slackThreadMapper.test.js +194 -0
  307. package/services/__tests__/slackThreadMapper.test.js.map +1 -0
  308. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +6 -0
  309. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +1 -0
  310. package/services/a2a/__tests__/a2aClientTool.integration.test.js +264 -0
  311. package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +1 -0
  312. package/services/a2a/__tests__/a2aClientTool.test.d.ts +6 -0
  313. package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +1 -0
  314. package/services/a2a/__tests__/a2aClientTool.test.js +592 -0
  315. package/services/a2a/__tests__/a2aClientTool.test.js.map +1 -0
  316. package/services/a2a/__tests__/a2aConfigService.test.d.ts +6 -0
  317. package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +1 -0
  318. package/services/a2a/__tests__/a2aConfigService.test.js +431 -0
  319. package/services/a2a/__tests__/a2aConfigService.test.js.map +1 -0
  320. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +2 -0
  321. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +1 -0
  322. package/services/a2a/__tests__/a2aConfigServicePath.test.js +49 -0
  323. package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +1 -0
  324. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +10 -0
  325. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +1 -0
  326. package/services/a2a/__tests__/a2aSdkMcp.test.js +239 -0
  327. package/services/a2a/__tests__/a2aSdkMcp.test.js.map +1 -0
  328. package/services/a2a/__tests__/agentCardService.test.d.ts +6 -0
  329. package/services/a2a/__tests__/agentCardService.test.d.ts.map +1 -0
  330. package/services/a2a/__tests__/agentCardService.test.js +292 -0
  331. package/services/a2a/__tests__/agentCardService.test.js.map +1 -0
  332. package/services/a2a/__tests__/apiKeyService.test.d.ts +6 -0
  333. package/services/a2a/__tests__/apiKeyService.test.d.ts.map +1 -0
  334. package/services/a2a/__tests__/apiKeyService.test.js +284 -0
  335. package/services/a2a/__tests__/apiKeyService.test.js.map +1 -0
  336. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +2 -0
  337. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +1 -0
  338. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +70 -0
  339. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +1 -0
  340. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +2 -0
  341. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +1 -0
  342. package/services/a2a/__tests__/dynamic_config_verification.test.js +67 -0
  343. package/services/a2a/__tests__/dynamic_config_verification.test.js.map +1 -0
  344. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +2 -0
  345. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +1 -0
  346. package/services/a2a/__tests__/integrateA2AMcpServer.test.js +112 -0
  347. package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +1 -0
  348. package/services/a2a/__tests__/taskManager.integration.test.d.ts +7 -0
  349. package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +1 -0
  350. package/services/a2a/__tests__/taskManager.integration.test.js +346 -0
  351. package/services/a2a/__tests__/taskManager.integration.test.js.map +1 -0
  352. package/services/a2a/__tests__/taskManager.test.d.ts +7 -0
  353. package/services/a2a/__tests__/taskManager.test.d.ts.map +1 -0
  354. package/services/a2a/__tests__/taskManager.test.js +423 -0
  355. package/services/a2a/__tests__/taskManager.test.js.map +1 -0
  356. package/services/a2a/__tests__/webhookService.test.d.ts +6 -0
  357. package/services/a2a/__tests__/webhookService.test.d.ts.map +1 -0
  358. package/services/a2a/__tests__/webhookService.test.js +196 -0
  359. package/services/a2a/__tests__/webhookService.test.js.map +1 -0
  360. package/services/a2a/a2aClientTool.d.ts +73 -0
  361. package/services/a2a/a2aClientTool.d.ts.map +1 -0
  362. package/services/a2a/a2aClientTool.js +595 -0
  363. package/services/a2a/a2aClientTool.js.map +1 -0
  364. package/services/a2a/a2aConfigService.d.ts +50 -0
  365. package/services/a2a/a2aConfigService.d.ts.map +1 -0
  366. package/services/a2a/a2aConfigService.js +187 -0
  367. package/services/a2a/a2aConfigService.js.map +1 -0
  368. package/services/a2a/a2aHistoryService.d.ts +32 -0
  369. package/services/a2a/a2aHistoryService.d.ts.map +1 -0
  370. package/services/a2a/a2aHistoryService.js +108 -0
  371. package/services/a2a/a2aHistoryService.js.map +1 -0
  372. package/services/a2a/a2aIntegration.d.ts +10 -0
  373. package/services/a2a/a2aIntegration.d.ts.map +1 -0
  374. package/services/a2a/a2aIntegration.js +42 -0
  375. package/services/a2a/a2aIntegration.js.map +1 -0
  376. package/services/a2a/a2aQueryService.d.ts +71 -0
  377. package/services/a2a/a2aQueryService.d.ts.map +1 -0
  378. package/services/a2a/a2aQueryService.js +209 -0
  379. package/services/a2a/a2aQueryService.js.map +1 -0
  380. package/services/a2a/a2aSdkMcp.d.ts +52 -0
  381. package/services/a2a/a2aSdkMcp.d.ts.map +1 -0
  382. package/services/a2a/a2aSdkMcp.js +188 -0
  383. package/services/a2a/a2aSdkMcp.js.map +1 -0
  384. package/services/a2a/a2aStreamEvents.d.ts +94 -0
  385. package/services/a2a/a2aStreamEvents.d.ts.map +1 -0
  386. package/services/a2a/a2aStreamEvents.js +92 -0
  387. package/services/a2a/a2aStreamEvents.js.map +1 -0
  388. package/services/a2a/agentCardService.d.ts +34 -0
  389. package/services/a2a/agentCardService.d.ts.map +1 -0
  390. package/services/a2a/agentCardService.js +228 -0
  391. package/services/a2a/agentCardService.js.map +1 -0
  392. package/services/a2a/agentMappingService.d.ts +53 -0
  393. package/services/a2a/agentMappingService.d.ts.map +1 -0
  394. package/services/a2a/agentMappingService.js +185 -0
  395. package/services/a2a/agentMappingService.js.map +1 -0
  396. package/services/a2a/apiKeyService.d.ts +101 -0
  397. package/services/a2a/apiKeyService.d.ts.map +1 -0
  398. package/services/a2a/apiKeyService.js +314 -0
  399. package/services/a2a/apiKeyService.js.map +1 -0
  400. package/services/a2a/taskCleanup.d.ts +30 -0
  401. package/services/a2a/taskCleanup.d.ts.map +1 -0
  402. package/services/a2a/taskCleanup.js +184 -0
  403. package/services/a2a/taskCleanup.js.map +1 -0
  404. package/services/a2a/taskManager.d.ts +87 -0
  405. package/services/a2a/taskManager.d.ts.map +1 -0
  406. package/services/a2a/taskManager.js +265 -0
  407. package/services/a2a/taskManager.js.map +1 -0
  408. package/services/a2a/webhookService.d.ts +30 -0
  409. package/services/a2a/webhookService.d.ts.map +1 -0
  410. package/services/a2a/webhookService.js +113 -0
  411. package/services/a2a/webhookService.js.map +1 -0
  412. package/services/agentStorage.d.ts +27 -0
  413. package/services/agentStorage.d.ts.map +1 -0
  414. package/services/agentStorage.js +487 -0
  415. package/services/agentStorage.js.map +1 -0
  416. package/services/askUserQuestion/askUserQuestionIntegration.d.ts +24 -0
  417. package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +1 -0
  418. package/services/askUserQuestion/askUserQuestionIntegration.js +52 -0
  419. package/services/askUserQuestion/askUserQuestionIntegration.js.map +1 -0
  420. package/services/askUserQuestion/askUserQuestionMcp.d.ts +103 -0
  421. package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +1 -0
  422. package/services/askUserQuestion/askUserQuestionMcp.js +129 -0
  423. package/services/askUserQuestion/askUserQuestionMcp.js.map +1 -0
  424. package/services/askUserQuestion/index.d.ts +13 -0
  425. package/services/askUserQuestion/index.d.ts.map +1 -0
  426. package/services/askUserQuestion/index.js +35 -0
  427. package/services/askUserQuestion/index.js.map +1 -0
  428. package/services/askUserQuestion/init.d.ts +17 -0
  429. package/services/askUserQuestion/init.d.ts.map +1 -0
  430. package/services/askUserQuestion/init.js +47 -0
  431. package/services/askUserQuestion/init.js.map +1 -0
  432. package/services/askUserQuestion/notificationChannel.d.ts +97 -0
  433. package/services/askUserQuestion/notificationChannel.d.ts.map +1 -0
  434. package/services/askUserQuestion/notificationChannel.js +147 -0
  435. package/services/askUserQuestion/notificationChannel.js.map +1 -0
  436. package/services/askUserQuestion/slackNotificationChannel.d.ts +35 -0
  437. package/services/askUserQuestion/slackNotificationChannel.d.ts.map +1 -0
  438. package/services/askUserQuestion/slackNotificationChannel.js +129 -0
  439. package/services/askUserQuestion/slackNotificationChannel.js.map +1 -0
  440. package/services/askUserQuestion/sseNotificationChannel.d.ts +36 -0
  441. package/services/askUserQuestion/sseNotificationChannel.d.ts.map +1 -0
  442. package/services/askUserQuestion/sseNotificationChannel.js +88 -0
  443. package/services/askUserQuestion/sseNotificationChannel.js.map +1 -0
  444. package/services/askUserQuestion/userInputRegistry.d.ts +107 -0
  445. package/services/askUserQuestion/userInputRegistry.d.ts.map +1 -0
  446. package/services/askUserQuestion/userInputRegistry.js +253 -0
  447. package/services/askUserQuestion/userInputRegistry.js.map +1 -0
  448. package/services/claudeSession.d.ts +113 -0
  449. package/services/claudeSession.d.ts.map +1 -0
  450. package/services/claudeSession.js +375 -0
  451. package/services/claudeSession.js.map +1 -0
  452. package/services/claudeVersionStorage.d.ts +20 -0
  453. package/services/claudeVersionStorage.d.ts.map +1 -0
  454. package/services/claudeVersionStorage.js +331 -0
  455. package/services/claudeVersionStorage.js.map +1 -0
  456. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
  457. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
  458. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
  459. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
  460. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
  461. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
  462. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
  463. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
  464. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
  465. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
  466. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
  467. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
  468. package/services/mcpAdmin/__tests__/providerTools.test.d.ts +7 -0
  469. package/services/mcpAdmin/__tests__/providerTools.test.d.ts.map +1 -0
  470. package/services/mcpAdmin/__tests__/providerTools.test.js +258 -0
  471. package/services/mcpAdmin/__tests__/providerTools.test.js.map +1 -0
  472. package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
  473. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
  474. package/services/mcpAdmin/__tests__/tools.test.js +389 -0
  475. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
  476. package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
  477. package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
  478. package/services/mcpAdmin/adminApiKeyService.js +270 -0
  479. package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
  480. package/services/mcpAdmin/index.d.ts +10 -0
  481. package/services/mcpAdmin/index.d.ts.map +1 -0
  482. package/services/mcpAdmin/index.js +43 -0
  483. package/services/mcpAdmin/index.js.map +1 -0
  484. package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
  485. package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
  486. package/services/mcpAdmin/mcpAdminServer.js +243 -0
  487. package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
  488. package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
  489. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
  490. package/services/mcpAdmin/tools/agentTools.js +352 -0
  491. package/services/mcpAdmin/tools/agentTools.js.map +1 -0
  492. package/services/mcpAdmin/tools/index.d.ts +16 -0
  493. package/services/mcpAdmin/tools/index.d.ts.map +1 -0
  494. package/services/mcpAdmin/tools/index.js +34 -0
  495. package/services/mcpAdmin/tools/index.js.map +1 -0
  496. package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
  497. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
  498. package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
  499. package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
  500. package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
  501. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
  502. package/services/mcpAdmin/tools/projectTools.js +382 -0
  503. package/services/mcpAdmin/tools/projectTools.js.map +1 -0
  504. package/services/mcpAdmin/tools/providerTools.d.ts +40 -0
  505. package/services/mcpAdmin/tools/providerTools.d.ts.map +1 -0
  506. package/services/mcpAdmin/tools/providerTools.js +581 -0
  507. package/services/mcpAdmin/tools/providerTools.js.map +1 -0
  508. package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
  509. package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
  510. package/services/mcpAdmin/tools/systemTools.js +241 -0
  511. package/services/mcpAdmin/tools/systemTools.js.map +1 -0
  512. package/services/mcpAdmin/types.d.ts +124 -0
  513. package/services/mcpAdmin/types.d.ts.map +1 -0
  514. package/services/mcpAdmin/types.js +18 -0
  515. package/services/mcpAdmin/types.js.map +1 -0
  516. package/services/messageQueue.d.ts +31 -0
  517. package/services/messageQueue.d.ts.map +1 -0
  518. package/services/messageQueue.js +80 -0
  519. package/services/messageQueue.js.map +1 -0
  520. package/services/pluginInstaller.d.ts +58 -0
  521. package/services/pluginInstaller.d.ts.map +1 -0
  522. package/services/pluginInstaller.js +321 -0
  523. package/services/pluginInstaller.js.map +1 -0
  524. package/services/pluginParser.d.ts +45 -0
  525. package/services/pluginParser.d.ts.map +1 -0
  526. package/services/pluginParser.js +437 -0
  527. package/services/pluginParser.js.map +1 -0
  528. package/services/pluginPaths.d.ts +83 -0
  529. package/services/pluginPaths.d.ts.map +1 -0
  530. package/services/pluginPaths.js +277 -0
  531. package/services/pluginPaths.js.map +1 -0
  532. package/services/pluginScanner.d.ts +36 -0
  533. package/services/pluginScanner.d.ts.map +1 -0
  534. package/services/pluginScanner.js +251 -0
  535. package/services/pluginScanner.js.map +1 -0
  536. package/services/pluginSymlink.d.ts +54 -0
  537. package/services/pluginSymlink.d.ts.map +1 -0
  538. package/services/pluginSymlink.js +223 -0
  539. package/services/pluginSymlink.js.map +1 -0
  540. package/services/projectMetadataStorage.d.ts +121 -0
  541. package/services/projectMetadataStorage.d.ts.map +1 -0
  542. package/services/projectMetadataStorage.js +810 -0
  543. package/services/projectMetadataStorage.js.map +1 -0
  544. package/services/scheduledTaskStorage.d.ts +63 -0
  545. package/services/scheduledTaskStorage.d.ts.map +1 -0
  546. package/services/scheduledTaskStorage.js +351 -0
  547. package/services/scheduledTaskStorage.js.map +1 -0
  548. package/services/schedulerService.d.ts +91 -0
  549. package/services/schedulerService.d.ts.map +1 -0
  550. package/services/schedulerService.js +590 -0
  551. package/services/schedulerService.js.map +1 -0
  552. package/services/sessionManager.d.ts +176 -0
  553. package/services/sessionManager.d.ts.map +1 -0
  554. package/services/sessionManager.js +646 -0
  555. package/services/sessionManager.js.map +1 -0
  556. package/services/skillStorage.d.ts +60 -0
  557. package/services/skillStorage.d.ts.map +1 -0
  558. package/services/skillStorage.js +399 -0
  559. package/services/skillStorage.js.map +1 -0
  560. package/services/slackAIService.d.ts +81 -0
  561. package/services/slackAIService.d.ts.map +1 -0
  562. package/services/slackAIService.js +1137 -0
  563. package/services/slackAIService.js.map +1 -0
  564. package/services/slackClient.d.ts +46 -0
  565. package/services/slackClient.d.ts.map +1 -0
  566. package/services/slackClient.js +85 -0
  567. package/services/slackClient.js.map +1 -0
  568. package/services/slackSessionLock.d.ts +79 -0
  569. package/services/slackSessionLock.d.ts.map +1 -0
  570. package/services/slackSessionLock.js +353 -0
  571. package/services/slackSessionLock.js.map +1 -0
  572. package/services/slackThreadMapper.d.ts +57 -0
  573. package/services/slackThreadMapper.d.ts.map +1 -0
  574. package/services/slackThreadMapper.js +140 -0
  575. package/services/slackThreadMapper.js.map +1 -0
  576. package/services/taskExecutor/BuiltinExecutor.d.ts +44 -0
  577. package/services/taskExecutor/BuiltinExecutor.d.ts.map +1 -0
  578. package/services/taskExecutor/BuiltinExecutor.js +513 -0
  579. package/services/taskExecutor/BuiltinExecutor.js.map +1 -0
  580. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts +7 -0
  581. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts.map +1 -0
  582. package/services/taskExecutor/__tests__/a2a-tasks.test.js +328 -0
  583. package/services/taskExecutor/__tests__/a2a-tasks.test.js.map +1 -0
  584. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts +7 -0
  585. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts.map +1 -0
  586. package/services/taskExecutor/__tests__/e2e-workflows.test.js +446 -0
  587. package/services/taskExecutor/__tests__/e2e-workflows.test.js.map +1 -0
  588. package/services/taskExecutor/__tests__/error-handling.test.d.ts +7 -0
  589. package/services/taskExecutor/__tests__/error-handling.test.d.ts.map +1 -0
  590. package/services/taskExecutor/__tests__/error-handling.test.js +387 -0
  591. package/services/taskExecutor/__tests__/error-handling.test.js.map +1 -0
  592. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts +8 -0
  593. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts.map +1 -0
  594. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js +86 -0
  595. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js.map +1 -0
  596. package/services/taskExecutor/__tests__/stress.test.d.ts +7 -0
  597. package/services/taskExecutor/__tests__/stress.test.d.ts.map +1 -0
  598. package/services/taskExecutor/__tests__/stress.test.js +329 -0
  599. package/services/taskExecutor/__tests__/stress.test.js.map +1 -0
  600. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts +7 -0
  601. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts.map +1 -0
  602. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js +205 -0
  603. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js.map +1 -0
  604. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts +7 -0
  605. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts.map +1 -0
  606. package/services/taskExecutor/__tests__/timeout-cancellation.test.js +319 -0
  607. package/services/taskExecutor/__tests__/timeout-cancellation.test.js.map +1 -0
  608. package/services/taskExecutor/index.d.ts +40 -0
  609. package/services/taskExecutor/index.d.ts.map +1 -0
  610. package/services/taskExecutor/index.js +166 -0
  611. package/services/taskExecutor/index.js.map +1 -0
  612. package/services/taskExecutor/taskWorker.d.ts +11 -0
  613. package/services/taskExecutor/taskWorker.d.ts.map +1 -0
  614. package/services/taskExecutor/taskWorker.js +171 -0
  615. package/services/taskExecutor/taskWorker.js.map +1 -0
  616. package/services/taskExecutor/types.d.ts +145 -0
  617. package/services/taskExecutor/types.d.ts.map +1 -0
  618. package/services/taskExecutor/types.js +9 -0
  619. package/services/taskExecutor/types.js.map +1 -0
  620. package/services/telemetry.d.ts +40 -0
  621. package/services/telemetry.d.ts.map +1 -0
  622. package/services/telemetry.js +245 -0
  623. package/services/telemetry.js.map +1 -0
  624. package/services/tunnelService.d.ts +165 -0
  625. package/services/tunnelService.d.ts.map +1 -0
  626. package/services/tunnelService.js +493 -0
  627. package/services/tunnelService.js.map +1 -0
  628. package/types/a2a.d.ts +293 -0
  629. package/types/a2a.d.ts.map +1 -0
  630. package/types/a2a.js +23 -0
  631. package/types/a2a.js.map +1 -0
  632. package/types/agents.d.ts +94 -0
  633. package/types/agents.d.ts.map +1 -0
  634. package/types/agents.js +45 -0
  635. package/types/agents.js.map +1 -0
  636. package/types/claude-history.d.ts +62 -0
  637. package/types/claude-history.d.ts.map +1 -0
  638. package/types/claude-history.js +4 -0
  639. package/types/claude-history.js.map +1 -0
  640. package/types/claude-versions.d.ts +36 -0
  641. package/types/claude-versions.d.ts.map +1 -0
  642. package/types/claude-versions.js +3 -0
  643. package/types/claude-versions.js.map +1 -0
  644. package/types/commands.d.ts +50 -0
  645. package/types/commands.d.ts.map +1 -0
  646. package/types/commands.js +23 -0
  647. package/types/commands.js.map +1 -0
  648. package/types/plugins.d.ts +144 -0
  649. package/types/plugins.d.ts.map +1 -0
  650. package/types/plugins.js +8 -0
  651. package/types/plugins.js.map +1 -0
  652. package/types/projects.d.ts +46 -0
  653. package/types/projects.d.ts.map +1 -0
  654. package/types/projects.js +4 -0
  655. package/types/projects.js.map +1 -0
  656. package/types/scheduledTasks.d.ts +168 -0
  657. package/types/scheduledTasks.d.ts.map +1 -0
  658. package/types/scheduledTasks.js +17 -0
  659. package/types/scheduledTasks.js.map +1 -0
  660. package/types/skills.d.ts +91 -0
  661. package/types/skills.d.ts.map +1 -0
  662. package/types/skills.js +6 -0
  663. package/types/skills.js.map +1 -0
  664. package/types/slack.d.ts +97 -0
  665. package/types/slack.d.ts.map +1 -0
  666. package/types/slack.js +8 -0
  667. package/types/slack.js.map +1 -0
  668. package/types/streaming.d.ts +12 -0
  669. package/types/streaming.d.ts.map +1 -0
  670. package/types/streaming.js +8 -0
  671. package/types/streaming.js.map +1 -0
  672. package/types/subagents.d.ts +26 -0
  673. package/types/subagents.d.ts.map +1 -0
  674. package/types/subagents.js +3 -0
  675. package/types/subagents.js.map +1 -0
  676. package/utils/__tests__/claudeUtils.test.d.ts +5 -0
  677. package/utils/__tests__/claudeUtils.test.d.ts.map +1 -0
  678. package/utils/__tests__/claudeUtils.test.js +366 -0
  679. package/utils/__tests__/claudeUtils.test.js.map +1 -0
  680. package/utils/__tests__/configResolver.test.d.ts +7 -0
  681. package/utils/__tests__/configResolver.test.d.ts.map +1 -0
  682. package/utils/__tests__/configResolver.test.js +211 -0
  683. package/utils/__tests__/configResolver.test.js.map +1 -0
  684. package/utils/__tests__/sessionUtils.test.d.ts +5 -0
  685. package/utils/__tests__/sessionUtils.test.d.ts.map +1 -0
  686. package/utils/__tests__/sessionUtils.test.js +296 -0
  687. package/utils/__tests__/sessionUtils.test.js.map +1 -0
  688. package/utils/agentCardCache.d.ts +93 -0
  689. package/utils/agentCardCache.d.ts.map +1 -0
  690. package/utils/agentCardCache.js +212 -0
  691. package/utils/agentCardCache.js.map +1 -0
  692. package/utils/claudeUtils.d.ts +55 -0
  693. package/utils/claudeUtils.d.ts.map +1 -0
  694. package/utils/claudeUtils.js +385 -0
  695. package/utils/claudeUtils.js.map +1 -0
  696. package/utils/configResolver.d.ts +57 -0
  697. package/utils/configResolver.d.ts.map +1 -0
  698. package/utils/configResolver.js +130 -0
  699. package/utils/configResolver.js.map +1 -0
  700. package/utils/fileUtils.d.ts +2 -0
  701. package/utils/fileUtils.d.ts.map +1 -0
  702. package/utils/fileUtils.js +11 -0
  703. package/utils/fileUtils.js.map +1 -0
  704. package/utils/jwt.d.ts +30 -0
  705. package/utils/jwt.d.ts.map +1 -0
  706. package/utils/jwt.js +95 -0
  707. package/utils/jwt.js.map +1 -0
  708. package/utils/networkUtils.d.ts +25 -0
  709. package/utils/networkUtils.d.ts.map +1 -0
  710. package/utils/networkUtils.js +65 -0
  711. package/utils/networkUtils.js.map +1 -0
  712. package/utils/sessionUtils.d.ts +67 -0
  713. package/utils/sessionUtils.d.ts.map +1 -0
  714. package/utils/sessionUtils.js +296 -0
  715. package/utils/sessionUtils.js.map +1 -0
  716. package/.dockerignore +0 -53
  717. package/.mcp.json +0 -8
  718. package/CLAUDE.md +0 -359
  719. package/DOCKER.md +0 -270
  720. package/Dockerfile +0 -42
  721. package/JSONL_TOOLS_README.md +0 -301
  722. package/LICENSE +0 -603
  723. package/QUICKSTART.md +0 -253
  724. package/README.zh-CN.md +0 -200
  725. package/SOLUTION_SUMMARY.md +0 -249
  726. package/backend/comprehensive-session-check.js +0 -142
  727. package/backend/debug-sessions.js +0 -60
  728. package/backend/docs/chat-clean-1.svg +0 -1
  729. package/backend/docs/chat-clean.md +0 -60
  730. package/backend/docs/chat-comprehensive-1.svg +0 -1
  731. package/backend/docs/chat-comprehensive.md +0 -166
  732. package/backend/docs/chat_api_sequence_diagram.md +0 -58
  733. package/backend/docs/command-detection-logic.md +0 -306
  734. package/backend/docs/command-detection-sequence.md +0 -186
  735. package/backend/eslint.config.js +0 -25
  736. package/backend/package.json +0 -103
  737. package/backend/scripts/README.md +0 -156
  738. package/backend/scripts/fix-project-names.js +0 -113
  739. package/backend/scripts/migrate-projects.js +0 -159
  740. package/backend/src/bin/agentstudio.ts +0 -318
  741. package/backend/src/bin/serviceManager.ts +0 -469
  742. package/backend/src/config/index.ts +0 -184
  743. package/backend/src/config/paths.ts +0 -105
  744. package/backend/src/config/sdkConfig.ts +0 -126
  745. package/backend/src/index.ts +0 -434
  746. package/backend/src/jobs/taskTimeoutMonitor.ts +0 -106
  747. package/backend/src/middleware/a2aAuth.ts +0 -159
  748. package/backend/src/middleware/auth.ts +0 -39
  749. package/backend/src/middleware/httpsOnly.ts +0 -205
  750. package/backend/src/middleware/rateLimiting.ts +0 -130
  751. package/backend/src/routes/__tests__/a2a.integration.test.ts +0 -377
  752. package/backend/src/routes/__tests__/a2a.test.ts +0 -677
  753. package/backend/src/routes/__tests__/agents.test.ts +0 -327
  754. package/backend/src/routes/__tests__/sessions.test.ts +0 -345
  755. package/backend/src/routes/a2a.streaming.test.ts +0 -185
  756. package/backend/src/routes/a2a.ts +0 -840
  757. package/backend/src/routes/a2aManagement.ts +0 -545
  758. package/backend/src/routes/agents.ts +0 -1176
  759. package/backend/src/routes/auth.ts +0 -151
  760. package/backend/src/routes/cloudflareTunnel.ts +0 -306
  761. package/backend/src/routes/commands.ts +0 -524
  762. package/backend/src/routes/config.ts +0 -193
  763. package/backend/src/routes/files.ts +0 -375
  764. package/backend/src/routes/mcp.ts +0 -866
  765. package/backend/src/routes/mcpAdmin.ts +0 -369
  766. package/backend/src/routes/mcpAdminManagement.ts +0 -338
  767. package/backend/src/routes/media.ts +0 -140
  768. package/backend/src/routes/mediaAuth.ts +0 -150
  769. package/backend/src/routes/network.ts +0 -68
  770. package/backend/src/routes/plugins.ts +0 -368
  771. package/backend/src/routes/projects.ts +0 -1100
  772. package/backend/src/routes/scheduledTasks.ts +0 -442
  773. package/backend/src/routes/sessions.ts +0 -1054
  774. package/backend/src/routes/settings.ts +0 -552
  775. package/backend/src/routes/skills.ts +0 -319
  776. package/backend/src/routes/slack.ts +0 -193
  777. package/backend/src/routes/slides.ts +0 -166
  778. package/backend/src/routes/subagents.ts +0 -366
  779. package/backend/src/routes/taskExecutor.ts +0 -243
  780. package/backend/src/routes/tunnel.ts +0 -317
  781. package/backend/src/routes/version.ts +0 -239
  782. package/backend/src/schemas/a2a.ts +0 -352
  783. package/backend/src/services/__tests__/pluginInstaller.test.ts +0 -316
  784. package/backend/src/services/__tests__/pluginParser.test.ts +0 -285
  785. package/backend/src/services/__tests__/pluginPaths.test.ts +0 -212
  786. package/backend/src/services/__tests__/pluginScanner.test.ts +0 -287
  787. package/backend/src/services/__tests__/pluginSymlink.test.ts +0 -340
  788. package/backend/src/services/__tests__/projectMetadataStorage.test.ts +0 -158
  789. package/backend/src/services/__tests__/sessionConcurrency.test.ts +0 -132
  790. package/backend/src/services/__tests__/slackAIService.test.ts +0 -561
  791. package/backend/src/services/__tests__/slackThreadMapper.test.ts +0 -228
  792. package/backend/src/services/a2a/__tests__/a2aClientTool.integration.test.ts +0 -347
  793. package/backend/src/services/a2a/__tests__/a2aClientTool.test.ts +0 -710
  794. package/backend/src/services/a2a/__tests__/a2aConfigService.test.ts +0 -526
  795. package/backend/src/services/a2a/__tests__/a2aConfigServicePath.test.ts +0 -55
  796. package/backend/src/services/a2a/__tests__/a2aSdkMcp.test.ts +0 -254
  797. package/backend/src/services/a2a/__tests__/agentCardService.test.ts +0 -357
  798. package/backend/src/services/a2a/__tests__/apiKeyService.test.ts +0 -378
  799. package/backend/src/services/a2a/__tests__/buildQueryOptionsIntegration.test.ts +0 -41
  800. package/backend/src/services/a2a/__tests__/dynamic_config_verification.test.ts +0 -71
  801. package/backend/src/services/a2a/__tests__/integrateA2AMcpServer.test.ts +0 -97
  802. package/backend/src/services/a2a/__tests__/taskManager.integration.test.ts +0 -417
  803. package/backend/src/services/a2a/__tests__/taskManager.test.ts +0 -511
  804. package/backend/src/services/a2a/__tests__/webhookService.test.ts +0 -258
  805. package/backend/src/services/a2a/a2aClientTool.ts +0 -723
  806. package/backend/src/services/a2a/a2aConfigService.ts +0 -194
  807. package/backend/src/services/a2a/a2aHistoryService.ts +0 -111
  808. package/backend/src/services/a2a/a2aIntegration.ts +0 -40
  809. package/backend/src/services/a2a/a2aQueryService.ts +0 -275
  810. package/backend/src/services/a2a/a2aSdkMcp.ts +0 -208
  811. package/backend/src/services/a2a/a2aStreamEvents.ts +0 -166
  812. package/backend/src/services/a2a/agentCardService.ts +0 -256
  813. package/backend/src/services/a2a/agentMappingService.ts +0 -202
  814. package/backend/src/services/a2a/apiKeyService.ts +0 -361
  815. package/backend/src/services/a2a/taskCleanup.ts +0 -199
  816. package/backend/src/services/a2a/taskManager.ts +0 -327
  817. package/backend/src/services/a2a/webhookService.ts +0 -161
  818. package/backend/src/services/agentStorage.ts +0 -506
  819. package/backend/src/services/askUserQuestion/askUserQuestionIntegration.ts +0 -68
  820. package/backend/src/services/askUserQuestion/askUserQuestionMcp.ts +0 -173
  821. package/backend/src/services/askUserQuestion/index.ts +0 -48
  822. package/backend/src/services/askUserQuestion/init.ts +0 -53
  823. package/backend/src/services/askUserQuestion/notificationChannel.ts +0 -218
  824. package/backend/src/services/askUserQuestion/slackNotificationChannel.ts +0 -150
  825. package/backend/src/services/askUserQuestion/sseNotificationChannel.ts +0 -102
  826. package/backend/src/services/askUserQuestion/userInputRegistry.ts +0 -307
  827. package/backend/src/services/claudeSession.ts +0 -421
  828. package/backend/src/services/claudeVersionStorage.ts +0 -389
  829. package/backend/src/services/mcpAdmin/__tests__/adminApiKeyService.test.ts +0 -385
  830. package/backend/src/services/mcpAdmin/__tests__/mcpAdminRoutes.test.ts +0 -356
  831. package/backend/src/services/mcpAdmin/__tests__/mcpAdminServer.test.ts +0 -541
  832. package/backend/src/services/mcpAdmin/__tests__/providerTools.test.ts +0 -347
  833. package/backend/src/services/mcpAdmin/__tests__/tools.test.ts +0 -463
  834. package/backend/src/services/mcpAdmin/adminApiKeyService.ts +0 -329
  835. package/backend/src/services/mcpAdmin/index.ts +0 -19
  836. package/backend/src/services/mcpAdmin/mcpAdminServer.ts +0 -318
  837. package/backend/src/services/mcpAdmin/tools/agentTools.ts +0 -390
  838. package/backend/src/services/mcpAdmin/tools/index.ts +0 -29
  839. package/backend/src/services/mcpAdmin/tools/mcpServerTools.ts +0 -368
  840. package/backend/src/services/mcpAdmin/tools/projectTools.ts +0 -415
  841. package/backend/src/services/mcpAdmin/tools/providerTools.ts +0 -649
  842. package/backend/src/services/mcpAdmin/tools/systemTools.ts +0 -254
  843. package/backend/src/services/mcpAdmin/types.ts +0 -155
  844. package/backend/src/services/messageQueue.ts +0 -80
  845. package/backend/src/services/pluginInstaller.ts +0 -329
  846. package/backend/src/services/pluginParser.ts +0 -441
  847. package/backend/src/services/pluginPaths.ts +0 -270
  848. package/backend/src/services/pluginScanner.ts +0 -245
  849. package/backend/src/services/pluginSymlink.ts +0 -241
  850. package/backend/src/services/projectMetadataStorage.ts +0 -871
  851. package/backend/src/services/scheduledTaskStorage.ts +0 -377
  852. package/backend/src/services/schedulerService.ts +0 -668
  853. package/backend/src/services/sessionManager.ts +0 -738
  854. package/backend/src/services/skillStorage.ts +0 -521
  855. package/backend/src/services/slackAIService.ts +0 -1395
  856. package/backend/src/services/slackClient.ts +0 -110
  857. package/backend/src/services/slackSessionLock.ts +0 -364
  858. package/backend/src/services/slackThreadMapper.ts +0 -170
  859. package/backend/src/services/taskExecutor/BuiltinExecutor.ts +0 -611
  860. package/backend/src/services/taskExecutor/__tests__/a2a-tasks.test.ts +0 -382
  861. package/backend/src/services/taskExecutor/__tests__/e2e-workflows.test.ts +0 -528
  862. package/backend/src/services/taskExecutor/__tests__/error-handling.test.ts +0 -458
  863. package/backend/src/services/taskExecutor/__tests__/stress.test.ts +0 -400
  864. package/backend/src/services/taskExecutor/__tests__/taskExecutor.integration.test.ts +0 -240
  865. package/backend/src/services/taskExecutor/__tests__/timeout-cancellation.test.ts +0 -384
  866. package/backend/src/services/taskExecutor/index.ts +0 -168
  867. package/backend/src/services/taskExecutor/taskWorker.ts +0 -222
  868. package/backend/src/services/taskExecutor/types.ts +0 -179
  869. package/backend/src/services/telemetry.ts +0 -234
  870. package/backend/src/services/tunnelService.ts +0 -614
  871. package/backend/src/types/a2a.ts +0 -372
  872. package/backend/src/types/agents.ts +0 -161
  873. package/backend/src/types/claude-history.ts +0 -81
  874. package/backend/src/types/claude-versions.ts +0 -39
  875. package/backend/src/types/commands.ts +0 -63
  876. package/backend/src/types/plugins.ts +0 -157
  877. package/backend/src/types/projects.ts +0 -64
  878. package/backend/src/types/scheduledTasks.ts +0 -214
  879. package/backend/src/types/skills.ts +0 -130
  880. package/backend/src/types/slack.ts +0 -112
  881. package/backend/src/types/streaming.ts +0 -13
  882. package/backend/src/types/subagents.ts +0 -29
  883. package/backend/src/utils/__tests__/claudeUtils.test.ts +0 -312
  884. package/backend/src/utils/__tests__/configResolver.test.ts +0 -255
  885. package/backend/src/utils/__tests__/sessionUtils.test.ts +0 -384
  886. package/backend/src/utils/agentCardCache.ts +0 -245
  887. package/backend/src/utils/claudeUtils.ts +0 -377
  888. package/backend/src/utils/configResolver.ts +0 -175
  889. package/backend/src/utils/fileUtils.ts +0 -5
  890. package/backend/src/utils/jwt.ts +0 -104
  891. package/backend/src/utils/networkUtils.ts +0 -68
  892. package/backend/src/utils/sessionUtils.ts +0 -303
  893. package/backend/tsconfig.json +0 -25
  894. package/backend/vitest.config.ts +0 -29
  895. package/docker-compose.traefik.yml +0 -59
  896. package/docker-compose.yml +0 -38
  897. package/docker-entrypoint.sh +0 -30
  898. package/docs/CLOUDFLARE_TUNNEL.md +0 -233
  899. package/docs/CLOUDFLARE_TUNNEL_ARCHITECTURE.md +0 -406
  900. package/docs/LAVS-IMPLEMENTATION.md +0 -1973
  901. package/docs/LAVS-SPEC.md +0 -951
  902. package/docs/QUICK_START_CLOUDFLARE_TUNNEL.md +0 -304
  903. package/docs/SCHEDULER_CONTROL.md +0 -142
  904. package/docs/SCHEDULER_STATUS_DISPLAY.md +0 -86
  905. package/docs/USER_MANUAL.md +0 -1726
  906. package/docs/USER_MANUAL_EN.md +0 -1408
  907. package/docs/VERSION_COMPATIBILITY.md +0 -616
  908. package/docs/api/a2a-endpoints.md +0 -891
  909. package/docs/guides/unified-task-executor-summary.md +0 -365
  910. package/docs/guides/unified-task-executor.md +0 -304
  911. package/docs/screenshots/01-homepage.png +0 -0
  912. package/docs/screenshots/02-dashboard.png +0 -0
  913. package/docs/screenshots/03-projects.png +0 -0
  914. package/docs/screenshots/04-agents.png +0 -0
  915. package/docs/screenshots/05-mcp-services.png +0 -0
  916. package/docs/screenshots/06-commands.png +0 -0
  917. package/docs/screenshots/07-chat.png +0 -0
  918. package/docs/screenshots/08-skills.png +0 -0
  919. package/docs/screenshots/09-settings.png +0 -0
  920. package/docs/screenshots/10-suppliers.png +0 -0
  921. package/docs/screenshots/11-plugins.png +0 -0
  922. package/docs/screenshots/agent-create-dialog.png +0 -0
  923. package/docs/screenshots/agent-edit-dialog.png +0 -0
  924. package/docs/screenshots/agent-list-overview.png +0 -0
  925. package/docs/screenshots/agent-tools-selection.png +0 -0
  926. package/docs/screenshots/agents-management.png +0 -0
  927. package/docs/screenshots/auto-compacted-session.png +0 -0
  928. package/docs/screenshots/chat-interface.png +0 -0
  929. package/docs/screenshots/chat-session-debug.png +0 -0
  930. package/docs/screenshots/chat-session-history.png +0 -0
  931. package/docs/screenshots/chat-tools-selection.png +0 -0
  932. package/docs/screenshots/commands-create-dialog.png +0 -0
  933. package/docs/screenshots/commands-overview.png +0 -0
  934. package/docs/screenshots/create-project-dialog.png +0 -0
  935. package/docs/screenshots/dashboard-overview.png +0 -0
  936. package/docs/screenshots/file-browser-interface.png +0 -0
  937. package/docs/screenshots/import-project-dialog.png +0 -0
  938. package/docs/screenshots/mcp-add-service-dialog.png +0 -0
  939. package/docs/screenshots/mcp-admin-settings.png +0 -0
  940. package/docs/screenshots/mcp-import-claude-code.png +0 -0
  941. package/docs/screenshots/mcp-list-overview.png +0 -0
  942. package/docs/screenshots/mcp-services-page.png +0 -0
  943. package/docs/screenshots/password-management-modal.png +0 -0
  944. package/docs/screenshots/plugins-add-market.png +0 -0
  945. package/docs/screenshots/plugins-browse.png +0 -0
  946. package/docs/screenshots/plugins-overview.png +0 -0
  947. package/docs/screenshots/ppt-editor-chat-interface.png +0 -0
  948. package/docs/screenshots/project-commands-dialog.png +0 -0
  949. package/docs/screenshots/project-list-overview.png +0 -0
  950. package/docs/screenshots/project-memory-dialog.png +0 -0
  951. package/docs/screenshots/project-settings-dialog.png +0 -0
  952. package/docs/screenshots/project-subagent-dialog.png +0 -0
  953. package/docs/screenshots/projects-management.png +0 -0
  954. package/docs/screenshots/projects-overview.png +0 -0
  955. package/docs/screenshots/scheduled-tasks-create-dialog.png +0 -0
  956. package/docs/screenshots/scheduled-tasks-execution-history.png +0 -0
  957. package/docs/screenshots/scheduled-tasks-overview.png +0 -0
  958. package/docs/screenshots/session-display-issue.png +0 -0
  959. package/docs/screenshots/session-messages-fix.png +0 -0
  960. package/docs/screenshots/session-messages-loaded.png +0 -0
  961. package/docs/screenshots/settings-general.png +0 -0
  962. package/docs/screenshots/settings-memory.png +0 -0
  963. package/docs/screenshots/skills-create-dialog.png +0 -0
  964. package/docs/screenshots/skills-list-overview.png +0 -0
  965. package/docs/screenshots/skills-view-detail.png +0 -0
  966. package/docs/screenshots/slide-preview-after-fix.png +0 -0
  967. package/docs/screenshots/storybook-basetool-full.png +0 -0
  968. package/docs/screenshots/storybook-fixed.png +0 -0
  969. package/docs/screenshots/storybook-tasktool.png +0 -0
  970. package/docs/screenshots/supplier-add-dialog.png +0 -0
  971. package/docs/screenshots/supplier-edit-dialog.png +0 -0
  972. package/docs/screenshots/suppliers-overview.png +0 -0
  973. package/docs/screenshots/telemetry-settings.png +0 -0
  974. package/docs/screenshots/version-management-page.png +0 -0
  975. package/docs-site/.vitepress/cache/deps/@theme_index.js +0 -275
  976. package/docs-site/.vitepress/cache/deps/@theme_index.js.map +0 -7
  977. package/docs-site/.vitepress/cache/deps/_metadata.json +0 -58
  978. package/docs-site/.vitepress/cache/deps/chunk-CN42XFKG.js +0 -12824
  979. package/docs-site/.vitepress/cache/deps/chunk-CN42XFKG.js.map +0 -7
  980. package/docs-site/.vitepress/cache/deps/chunk-Y3A3J5YD.js +0 -9719
  981. package/docs-site/.vitepress/cache/deps/chunk-Y3A3J5YD.js.map +0 -7
  982. package/docs-site/.vitepress/cache/deps/package.json +0 -3
  983. package/docs-site/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  984. package/docs-site/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  985. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -583
  986. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  987. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +0 -1352
  988. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +0 -7
  989. package/docs-site/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +0 -1665
  990. package/docs-site/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +0 -7
  991. package/docs-site/.vitepress/cache/deps/vitepress___minisearch.js +0 -1813
  992. package/docs-site/.vitepress/cache/deps/vitepress___minisearch.js.map +0 -7
  993. package/docs-site/.vitepress/cache/deps/vue.js +0 -347
  994. package/docs-site/.vitepress/cache/deps/vue.js.map +0 -7
  995. package/docs-site/src/.vitepress/cache/deps/_metadata.json +0 -52
  996. package/docs-site/src/.vitepress/cache/deps/chunk-CN42XFKG.js +0 -12824
  997. package/docs-site/src/.vitepress/cache/deps/chunk-CN42XFKG.js.map +0 -7
  998. package/docs-site/src/.vitepress/cache/deps/chunk-Y3A3J5YD.js +0 -9719
  999. package/docs-site/src/.vitepress/cache/deps/chunk-Y3A3J5YD.js.map +0 -7
  1000. package/docs-site/src/.vitepress/cache/deps/package.json +0 -3
  1001. package/docs-site/src/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4505
  1002. package/docs-site/src/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  1003. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -583
  1004. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  1005. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +0 -1352
  1006. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +0 -7
  1007. package/docs-site/src/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +0 -1665
  1008. package/docs-site/src/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +0 -7
  1009. package/docs-site/src/.vitepress/cache/deps/vitepress___minisearch.js +0 -1813
  1010. package/docs-site/src/.vitepress/cache/deps/vitepress___minisearch.js.map +0 -7
  1011. package/docs-site/src/.vitepress/cache/deps/vue.js +0 -347
  1012. package/docs-site/src/.vitepress/cache/deps/vue.js.map +0 -7
  1013. package/frontend/.storybook/main.ts +0 -22
  1014. package/frontend/.storybook/preview.ts +0 -27
  1015. package/frontend/.storybook/vitest.setup.ts +0 -7
  1016. package/frontend/README.md +0 -69
  1017. package/frontend/components.json +0 -17
  1018. package/frontend/eslint.config.js +0 -26
  1019. package/frontend/index.html +0 -62
  1020. package/frontend/package-lock.json +0 -7922
  1021. package/frontend/package.json +0 -90
  1022. package/frontend/pnpm-lock.yaml +0 -4714
  1023. package/frontend/postcss.config.js +0 -6
  1024. package/frontend/scripts/extract-chinese.js +0 -146
  1025. package/frontend/src/App.css +0 -42
  1026. package/frontend/src/App.tsx +0 -201
  1027. package/frontend/src/__tests__/smoke.test.tsx +0 -15
  1028. package/frontend/src/agents/README.md +0 -136
  1029. package/frontend/src/agents/chat/index.ts +0 -17
  1030. package/frontend/src/agents/registry.ts +0 -22
  1031. package/frontend/src/agents/slides/components/SlidePreview.tsx +0 -287
  1032. package/frontend/src/agents/slides/components/SlidePreviewPanel.tsx +0 -120
  1033. package/frontend/src/agents/slides/hooks/useSlides.ts +0 -245
  1034. package/frontend/src/agents/slides/index.ts +0 -17
  1035. package/frontend/src/agents/slides/stores/useSlidesStore.ts +0 -56
  1036. package/frontend/src/agents/types.ts +0 -18
  1037. package/frontend/src/api/skills.ts +0 -184
  1038. package/frontend/src/assets/react.svg +0 -1
  1039. package/frontend/src/components/AgentChatPanel.tsx +0 -901
  1040. package/frontend/src/components/ApiSettingsModal.tsx +0 -267
  1041. package/frontend/src/components/BackendOnboardingWizard.tsx +0 -255
  1042. package/frontend/src/components/BackendServiceSwitcher.tsx +0 -356
  1043. package/frontend/src/components/CSVPreview.tsx +0 -465
  1044. package/frontend/src/components/ChatMessageRenderer.tsx +0 -279
  1045. package/frontend/src/components/CommandForm.tsx +0 -560
  1046. package/frontend/src/components/CommandSelector.tsx +0 -218
  1047. package/frontend/src/components/CompactSummary.tsx +0 -52
  1048. package/frontend/src/components/ConfirmDialog.tsx +0 -69
  1049. package/frontend/src/components/DiffViewer.css +0 -78
  1050. package/frontend/src/components/DiffViewer.tsx +0 -89
  1051. package/frontend/src/components/EnvVarsConfig.tsx +0 -113
  1052. package/frontend/src/components/ErrorBoundary.tsx +0 -100
  1053. package/frontend/src/components/ErrorMessage.tsx +0 -197
  1054. package/frontend/src/components/FileBrowser.tsx +0 -480
  1055. package/frontend/src/components/FileContentViewer.tsx +0 -155
  1056. package/frontend/src/components/FileExplorer/FileIcon.tsx +0 -32
  1057. package/frontend/src/components/FileExplorer/FilePreview.tsx +0 -130
  1058. package/frontend/src/components/FileExplorer/FileTabs.tsx +0 -104
  1059. package/frontend/src/components/FileExplorer/FileTreeToolbar.tsx +0 -30
  1060. package/frontend/src/components/FileExplorer/ImagePreview.tsx +0 -86
  1061. package/frontend/src/components/FileExplorer/REFACTOR_SUMMARY.md +0 -117
  1062. package/frontend/src/components/FileExplorer/TabDropdown.tsx +0 -59
  1063. package/frontend/src/components/FileExplorer/TreeNode.tsx +0 -73
  1064. package/frontend/src/components/FileExplorer/constants.ts +0 -16
  1065. package/frontend/src/components/FileExplorer/fileTypes.ts +0 -156
  1066. package/frontend/src/components/FileExplorer/hooks/index.ts +0 -2
  1067. package/frontend/src/components/FileExplorer/hooks/useFileTabs.ts +0 -120
  1068. package/frontend/src/components/FileExplorer/hooks/useLazyFileTree.ts +0 -260
  1069. package/frontend/src/components/FileExplorer/index.ts +0 -15
  1070. package/frontend/src/components/FileExplorer.tsx +0 -1124
  1071. package/frontend/src/components/FloatingToggle.tsx +0 -66
  1072. package/frontend/src/components/ImagePreview.tsx +0 -369
  1073. package/frontend/src/components/JSONLPreview.tsx +0 -421
  1074. package/frontend/src/components/LanguageSwitcher.tsx +0 -32
  1075. package/frontend/src/components/Layout.tsx +0 -57
  1076. package/frontend/src/components/MarkdownMessage.tsx +0 -136
  1077. package/frontend/src/components/McpStatusModal.tsx +0 -272
  1078. package/frontend/src/components/MermaidDiagram.tsx +0 -423
  1079. package/frontend/src/components/MobileChatInput.tsx +0 -158
  1080. package/frontend/src/components/MobileChatToolbar.tsx +0 -164
  1081. package/frontend/src/components/MobileNavigation.tsx +0 -101
  1082. package/frontend/src/components/MobileSettingsModal.tsx +0 -272
  1083. package/frontend/src/components/MobileSidebar.tsx +0 -56
  1084. package/frontend/src/components/PanelToggle.tsx +0 -69
  1085. package/frontend/src/components/ProjectA2AModal.tsx +0 -1430
  1086. package/frontend/src/components/ProjectCommandsModal.tsx +0 -453
  1087. package/frontend/src/components/ProjectMemoryModal.tsx +0 -178
  1088. package/frontend/src/components/ProjectSelector.tsx +0 -498
  1089. package/frontend/src/components/ProjectSettingsModal.tsx +0 -210
  1090. package/frontend/src/components/ProjectSubAgentsModal.tsx +0 -421
  1091. package/frontend/src/components/ProjectTable.tsx +0 -387
  1092. package/frontend/src/components/ProtectedRoute.tsx +0 -123
  1093. package/frontend/src/components/RecentActivity.tsx +0 -145
  1094. package/frontend/src/components/ResponsiveTable.tsx +0 -164
  1095. package/frontend/src/components/RightPanelHeader.tsx +0 -87
  1096. package/frontend/src/components/RightPanelWrapper.tsx +0 -74
  1097. package/frontend/src/components/ScheduledTaskEditor.tsx +0 -718
  1098. package/frontend/src/components/ServiceManagementModal.tsx +0 -794
  1099. package/frontend/src/components/ServiceStatusIndicator.tsx +0 -334
  1100. package/frontend/src/components/SessionsDashboard.tsx +0 -295
  1101. package/frontend/src/components/SessionsDropdown.tsx +0 -168
  1102. package/frontend/src/components/SettingsDropdown.tsx +0 -236
  1103. package/frontend/src/components/SettingsLayout.tsx +0 -16
  1104. package/frontend/src/components/Sidebar.tsx +0 -283
  1105. package/frontend/src/components/SplitLayout.tsx +0 -261
  1106. package/frontend/src/components/SubagentForm.tsx +0 -468
  1107. package/frontend/src/components/SwipeActions.tsx +0 -413
  1108. package/frontend/src/components/SystemPromptEditor.tsx +0 -126
  1109. package/frontend/src/components/TaskExecutionHistory.tsx +0 -373
  1110. package/frontend/src/components/TelemetryProvider.tsx +0 -157
  1111. package/frontend/src/components/ToolUsage.tsx +0 -34
  1112. package/frontend/src/components/ToolsList.tsx +0 -86
  1113. package/frontend/src/components/UnifiedToolSelector.tsx +0 -508
  1114. package/frontend/src/components/UpdateNotification.tsx +0 -105
  1115. package/frontend/src/components/agentChat/AgentChatInput.tsx +0 -249
  1116. package/frontend/src/components/agentChat/AgentChatMobileInput.tsx +0 -266
  1117. package/frontend/src/components/agentChat/AgentCommandSelector.tsx +0 -226
  1118. package/frontend/src/components/agentChat/AgentInputArea.tsx +0 -573
  1119. package/frontend/src/components/agentChat/ChatMessageList.tsx +0 -125
  1120. package/frontend/src/components/agentChat/index.ts +0 -7
  1121. package/frontend/src/components/onboarding/BackendDetectingStep.tsx +0 -42
  1122. package/frontend/src/components/onboarding/BackendFoundStep.tsx +0 -75
  1123. package/frontend/src/components/onboarding/BackendNotFoundStep.tsx +0 -249
  1124. package/frontend/src/components/onboarding/OnboardingCompleteStep.tsx +0 -90
  1125. package/frontend/src/components/onboarding/WelcomeStep.tsx +0 -93
  1126. package/frontend/src/components/plugins/AddMarketplaceModal.tsx +0 -186
  1127. package/frontend/src/components/plugins/BrowsePluginsTab.tsx +0 -262
  1128. package/frontend/src/components/plugins/InstalledPluginsTab.tsx +0 -246
  1129. package/frontend/src/components/plugins/MarketplacesTab.tsx +0 -168
  1130. package/frontend/src/components/plugins/PluginDetailModal.tsx +0 -307
  1131. package/frontend/src/components/settings/version/ClaudeVersionForm.tsx +0 -266
  1132. package/frontend/src/components/settings/version/ClaudeVersionList.tsx +0 -61
  1133. package/frontend/src/components/settings/version/EnvironmentVariablesSection.tsx +0 -173
  1134. package/frontend/src/components/settings/version/ModelConfigSection.tsx +0 -129
  1135. package/frontend/src/components/settings/version/VersionListItem.tsx +0 -133
  1136. package/frontend/src/components/settings/version/VersionTemplateSelector.tsx +0 -53
  1137. package/frontend/src/components/skills/CreateSkillModal.tsx +0 -702
  1138. package/frontend/src/components/skills/SkillDetailModal.tsx +0 -180
  1139. package/frontend/src/components/skills/SkillFileBrowserModal.tsx +0 -67
  1140. package/frontend/src/components/skills/SkillPreview.tsx +0 -150
  1141. package/frontend/src/components/skills/SkillsPage.tsx +0 -329
  1142. package/frontend/src/components/skills/index.ts +0 -4
  1143. package/frontend/src/components/tools/A2ACallTool.tsx +0 -733
  1144. package/frontend/src/components/tools/AskUserQuestionTool.stories.tsx +0 -223
  1145. package/frontend/src/components/tools/AskUserQuestionTool.tsx +0 -546
  1146. package/frontend/src/components/tools/BaseToolComponent.stories.tsx +0 -316
  1147. package/frontend/src/components/tools/BaseToolComponent.tsx +0 -226
  1148. package/frontend/src/components/tools/BashOutputTool.stories.tsx +0 -106
  1149. package/frontend/src/components/tools/BashOutputTool.tsx +0 -198
  1150. package/frontend/src/components/tools/BashTool.stories.tsx +0 -163
  1151. package/frontend/src/components/tools/BashTool.tsx +0 -80
  1152. package/frontend/src/components/tools/EditTool.stories.tsx +0 -109
  1153. package/frontend/src/components/tools/EditTool.tsx +0 -60
  1154. package/frontend/src/components/tools/ExitPlanModeTool.stories.tsx +0 -118
  1155. package/frontend/src/components/tools/ExitPlanModeTool.tsx +0 -34
  1156. package/frontend/src/components/tools/GlobTool.stories.tsx +0 -122
  1157. package/frontend/src/components/tools/GlobTool.tsx +0 -50
  1158. package/frontend/src/components/tools/GrepTool.stories.tsx +0 -125
  1159. package/frontend/src/components/tools/GrepTool.tsx +0 -87
  1160. package/frontend/src/components/tools/KillBashTool.stories.tsx +0 -120
  1161. package/frontend/src/components/tools/KillBashTool.tsx +0 -112
  1162. package/frontend/src/components/tools/LSTool.stories.tsx +0 -132
  1163. package/frontend/src/components/tools/LSTool.tsx +0 -41
  1164. package/frontend/src/components/tools/ListMcpResourcesTool.stories.tsx +0 -125
  1165. package/frontend/src/components/tools/ListMcpResourcesTool.tsx +0 -84
  1166. package/frontend/src/components/tools/McpTool.stories.tsx +0 -140
  1167. package/frontend/src/components/tools/McpTool.tsx +0 -266
  1168. package/frontend/src/components/tools/MultiEditTool.stories.tsx +0 -127
  1169. package/frontend/src/components/tools/MultiEditTool.tsx +0 -59
  1170. package/frontend/src/components/tools/NotebookEditTool.stories.tsx +0 -137
  1171. package/frontend/src/components/tools/NotebookEditTool.tsx +0 -57
  1172. package/frontend/src/components/tools/NotebookReadTool.stories.tsx +0 -134
  1173. package/frontend/src/components/tools/NotebookReadTool.tsx +0 -25
  1174. package/frontend/src/components/tools/README.md +0 -677
  1175. package/frontend/src/components/tools/ReadMcpResourceTool.stories.tsx +0 -125
  1176. package/frontend/src/components/tools/ReadMcpResourceTool.tsx +0 -126
  1177. package/frontend/src/components/tools/ReadTool.stories.tsx +0 -116
  1178. package/frontend/src/components/tools/ReadTool.tsx +0 -37
  1179. package/frontend/src/components/tools/SkillTool.tsx +0 -91
  1180. package/frontend/src/components/tools/SubAgentMessageFlow.tsx +0 -172
  1181. package/frontend/src/components/tools/TaskTool.stories.tsx +0 -483
  1182. package/frontend/src/components/tools/TaskTool.tsx +0 -199
  1183. package/frontend/src/components/tools/TimeMachineTool.stories.tsx +0 -254
  1184. package/frontend/src/components/tools/TimeMachineTool.tsx +0 -126
  1185. package/frontend/src/components/tools/TodoWriteTool.stories.tsx +0 -128
  1186. package/frontend/src/components/tools/TodoWriteTool.tsx +0 -74
  1187. package/frontend/src/components/tools/ToolRenderer.stories.tsx +0 -460
  1188. package/frontend/src/components/tools/ToolRenderer.tsx +0 -147
  1189. package/frontend/src/components/tools/WebFetchTool.stories.tsx +0 -114
  1190. package/frontend/src/components/tools/WebFetchTool.tsx +0 -50
  1191. package/frontend/src/components/tools/WebSearchTool.stories.tsx +0 -124
  1192. package/frontend/src/components/tools/WebSearchTool.tsx +0 -67
  1193. package/frontend/src/components/tools/WriteTool.stories.tsx +0 -115
  1194. package/frontend/src/components/tools/WriteTool.tsx +0 -41
  1195. package/frontend/src/components/tools/__mocks__/toolTestData.ts +0 -557
  1196. package/frontend/src/components/tools/customMcpTools.tsx +0 -17
  1197. package/frontend/src/components/tools/index.stories.tsx +0 -107
  1198. package/frontend/src/components/tools/index.ts +0 -24
  1199. package/frontend/src/components/tools/mcpUtils.ts +0 -27
  1200. package/frontend/src/components/tools/sdk-types.ts +0 -327
  1201. package/frontend/src/components/tools/types.ts +0 -218
  1202. package/frontend/src/components/ui/Button.tsx +0 -39
  1203. package/frontend/src/components/ui/Input.tsx +0 -24
  1204. package/frontend/src/components/ui/Textarea.tsx +0 -23
  1205. package/frontend/src/components/ui/VersionInfo.tsx +0 -116
  1206. package/frontend/src/components/ui/dialog.tsx +0 -90
  1207. package/frontend/src/components/ui/index.ts +0 -4
  1208. package/frontend/src/components/ui/label.tsx +0 -19
  1209. package/frontend/src/components/ui/select.tsx +0 -121
  1210. package/frontend/src/components/ui/table.tsx +0 -117
  1211. package/frontend/src/components/ui/tabs.tsx +0 -124
  1212. package/frontend/src/components/ui/toast.tsx +0 -127
  1213. package/frontend/src/components/ui/toaster.tsx +0 -33
  1214. package/frontend/src/contexts/MobileContext.tsx +0 -109
  1215. package/frontend/src/hooks/__tests__/useAIStreamHandler.test.ts +0 -1198
  1216. package/frontend/src/hooks/agentChat/index.ts +0 -10
  1217. package/frontend/src/hooks/agentChat/useAIStreamHandler.ts +0 -1594
  1218. package/frontend/src/hooks/agentChat/useClaudeVersionManager.ts +0 -99
  1219. package/frontend/src/hooks/agentChat/useCommandCompletion.ts +0 -253
  1220. package/frontend/src/hooks/agentChat/useImageUpload.ts +0 -176
  1221. package/frontend/src/hooks/agentChat/useMessageSender.ts +0 -391
  1222. package/frontend/src/hooks/agentChat/useScrollManagement.ts +0 -66
  1223. package/frontend/src/hooks/agentChat/useSessionManager.ts +0 -110
  1224. package/frontend/src/hooks/agentChat/useToolSelector.ts +0 -82
  1225. package/frontend/src/hooks/agentChat/useUIState.ts +0 -103
  1226. package/frontend/src/hooks/index.ts +0 -3
  1227. package/frontend/src/hooks/use-toast.ts +0 -194
  1228. package/frontend/src/hooks/useA2AConfig.ts +0 -224
  1229. package/frontend/src/hooks/useA2AManagement.ts +0 -456
  1230. package/frontend/src/hooks/useAI.ts +0 -264
  1231. package/frontend/src/hooks/useAgents.ts +0 -411
  1232. package/frontend/src/hooks/useApiBase.ts +0 -31
  1233. package/frontend/src/hooks/useAuth.ts +0 -454
  1234. package/frontend/src/hooks/useBackendServices.ts +0 -58
  1235. package/frontend/src/hooks/useClaudeVersions.ts +0 -128
  1236. package/frontend/src/hooks/useCommands.ts +0 -312
  1237. package/frontend/src/hooks/useDashboardStats.ts +0 -61
  1238. package/frontend/src/hooks/useFileSystem.ts +0 -349
  1239. package/frontend/src/hooks/useFiles.ts +0 -80
  1240. package/frontend/src/hooks/useMarketplaces.ts +0 -120
  1241. package/frontend/src/hooks/useMobile.tsx +0 -110
  1242. package/frontend/src/hooks/usePlugins.ts +0 -239
  1243. package/frontend/src/hooks/useProjects.ts +0 -45
  1244. package/frontend/src/hooks/useResponsiveSettings.tsx +0 -22
  1245. package/frontend/src/hooks/useScheduledTasks.ts +0 -483
  1246. package/frontend/src/hooks/useSessionHeartbeat.ts +0 -173
  1247. package/frontend/src/hooks/useSessionHeartbeatOnSuccess.ts +0 -80
  1248. package/frontend/src/hooks/useSessions.ts +0 -96
  1249. package/frontend/src/hooks/useSkills.ts +0 -197
  1250. package/frontend/src/hooks/useSubagents.ts +0 -274
  1251. package/frontend/src/hooks/useTabNotification.ts +0 -155
  1252. package/frontend/src/hooks/useVersionCheck.ts +0 -164
  1253. package/frontend/src/i18n/index.ts +0 -66
  1254. package/frontend/src/i18n/locales/en-US/agents.json +0 -85
  1255. package/frontend/src/i18n/locales/en-US/common.json +0 -155
  1256. package/frontend/src/i18n/locales/en-US/components.json +0 -1197
  1257. package/frontend/src/i18n/locales/en-US/errors.json +0 -56
  1258. package/frontend/src/i18n/locales/en-US/home.json +0 -27
  1259. package/frontend/src/i18n/locales/en-US/onboarding.json +0 -122
  1260. package/frontend/src/i18n/locales/en-US/pages.json +0 -1409
  1261. package/frontend/src/i18n/locales/en-US/skills.json +0 -120
  1262. package/frontend/src/i18n/locales/zh-CN/agents.json +0 -85
  1263. package/frontend/src/i18n/locales/zh-CN/common.json +0 -155
  1264. package/frontend/src/i18n/locales/zh-CN/components.json +0 -1199
  1265. package/frontend/src/i18n/locales/zh-CN/errors.json +0 -56
  1266. package/frontend/src/i18n/locales/zh-CN/home.json +0 -27
  1267. package/frontend/src/i18n/locales/zh-CN/onboarding.json +0 -122
  1268. package/frontend/src/i18n/locales/zh-CN/pages.json +0 -1540
  1269. package/frontend/src/i18n/locales/zh-CN/pages.json.tmp +0 -0
  1270. package/frontend/src/i18n/locales/zh-CN/pages_new.json +0 -0
  1271. package/frontend/src/i18n/locales/zh-CN/skills.json +0 -120
  1272. package/frontend/src/i18n/types.ts +0 -19
  1273. package/frontend/src/index.css +0 -112
  1274. package/frontend/src/lib/authFetch.ts +0 -183
  1275. package/frontend/src/lib/config.ts +0 -120
  1276. package/frontend/src/lib/utils.ts +0 -6
  1277. package/frontend/src/main.tsx +0 -13
  1278. package/frontend/src/pages/AgentsPage.tsx +0 -781
  1279. package/frontend/src/pages/AnalyticsPage.tsx +0 -363
  1280. package/frontend/src/pages/ChatPage.tsx +0 -286
  1281. package/frontend/src/pages/CommandsPage.tsx +0 -445
  1282. package/frontend/src/pages/DashboardPage.tsx +0 -519
  1283. package/frontend/src/pages/HomePage.tsx +0 -223
  1284. package/frontend/src/pages/LandingPage.tsx +0 -607
  1285. package/frontend/src/pages/LoginPage.tsx +0 -510
  1286. package/frontend/src/pages/McpPage.tsx +0 -1049
  1287. package/frontend/src/pages/PluginsPage.tsx +0 -98
  1288. package/frontend/src/pages/ProjectSettings/A2AConfigTab.tsx +0 -468
  1289. package/frontend/src/pages/ProjectsPage.tsx +0 -818
  1290. package/frontend/src/pages/ScheduledTasksPage.tsx +0 -574
  1291. package/frontend/src/pages/SkillsPage.tsx +0 -6
  1292. package/frontend/src/pages/ToastTestPage.tsx +0 -33
  1293. package/frontend/src/pages/index.ts +0 -3
  1294. package/frontend/src/pages/settings/ApiSettingsPage.tsx +0 -240
  1295. package/frontend/src/pages/settings/CloudflareTunnelPage.tsx +0 -730
  1296. package/frontend/src/pages/settings/GeneralSettingsPage.tsx +0 -456
  1297. package/frontend/src/pages/settings/McpAdminSettingsPage.tsx +0 -1088
  1298. package/frontend/src/pages/settings/MemorySettingsPage.tsx +0 -153
  1299. package/frontend/src/pages/settings/SubagentsPage.tsx +0 -412
  1300. package/frontend/src/pages/settings/SystemInfoPage.tsx +0 -268
  1301. package/frontend/src/pages/settings/TelemetrySettingsPage.tsx +0 -175
  1302. package/frontend/src/pages/settings/VersionSettingsPage.tsx +0 -366
  1303. package/frontend/src/pages/settings/WebSocketTunnelPage.tsx +0 -1578
  1304. package/frontend/src/stores/authStore.ts +0 -99
  1305. package/frontend/src/stores/useAgentStore.ts +0 -426
  1306. package/frontend/src/stores/useSubAgentStore.ts +0 -207
  1307. package/frontend/src/styles/mobile.css +0 -156
  1308. package/frontend/src/test/setup.ts +0 -64
  1309. package/frontend/src/types/agents.ts +0 -109
  1310. package/frontend/src/types/backendServices.ts +0 -20
  1311. package/frontend/src/types/claude-versions.ts +0 -45
  1312. package/frontend/src/types/commands.ts +0 -63
  1313. package/frontend/src/types/index.ts +0 -171
  1314. package/frontend/src/types/plugins.ts +0 -128
  1315. package/frontend/src/types/scheduledTasks.ts +0 -140
  1316. package/frontend/src/types/skills.ts +0 -161
  1317. package/frontend/src/types/subagents.ts +0 -48
  1318. package/frontend/src/types/versionTemplates.ts +0 -270
  1319. package/frontend/src/utils/authHelpers.ts +0 -89
  1320. package/frontend/src/utils/backendServiceStorage.ts +0 -100
  1321. package/frontend/src/utils/commandFormatter.ts +0 -100
  1322. package/frontend/src/utils/commandGenerator.ts +0 -72
  1323. package/frontend/src/utils/commandHandler.ts +0 -205
  1324. package/frontend/src/utils/dateFormat.ts +0 -35
  1325. package/frontend/src/utils/eventBus.ts +0 -53
  1326. package/frontend/src/utils/index.ts +0 -34
  1327. package/frontend/src/utils/onboardingStorage.ts +0 -40
  1328. package/frontend/src/utils/smartNavigation.ts +0 -244
  1329. package/frontend/src/utils/streamReader.ts +0 -32
  1330. package/frontend/src/utils/systemCommands.ts +0 -49
  1331. package/frontend/src/utils/tabManager.ts +0 -816
  1332. package/frontend/src/utils/toast.ts +0 -49
  1333. package/frontend/src/utils/toolMapping.ts +0 -83
  1334. package/frontend/src/vite-env.d.ts +0 -3
  1335. package/frontend/tailwind.config.js +0 -119
  1336. package/frontend/tsconfig.app.json +0 -33
  1337. package/frontend/tsconfig.json +0 -7
  1338. package/frontend/tsconfig.node.json +0 -25
  1339. package/frontend/vite.config.ts +0 -73
  1340. package/frontend/vitest.config.ts +0 -39
  1341. package/frontend/vitest.shims.d.ts +0 -1
  1342. package/nginx.conf +0 -153
  1343. package/pnpm-workspace.yaml +0 -3
  1344. package/scripts/API_KEY_GENERATION_README.md +0 -181
  1345. package/scripts/README-nginx.md +0 -327
  1346. package/scripts/README.md +0 -259
  1347. package/scripts/build-complete.js +0 -98
  1348. package/scripts/build-npm.js +0 -251
  1349. package/scripts/check-system.sh +0 -153
  1350. package/scripts/cloudflare_tunnel.py +0 -292
  1351. package/scripts/deploy-feature.sh +0 -265
  1352. package/scripts/generate-api-key.ts +0 -59
  1353. package/scripts/install-linux.sh +0 -1507
  1354. package/scripts/install-macos.sh +0 -1194
  1355. package/scripts/remote-install.sh +0 -244
  1356. package/scripts/remove-feature.sh +0 -214
  1357. package/scripts/remove.sh +0 -390
  1358. package/scripts/requirements.txt +0 -1
  1359. package/scripts/restore.sh +0 -331
  1360. package/scripts/setup-nginx-ssl.sh +0 -242
  1361. package/scripts/setup_nginx.sh +0 -110
  1362. package/scripts/windows-install-simple.bat +0 -277
  1363. package/scripts/windows-install.ps1 +0 -620
  1364. package/tsconfig.json +0 -30
  1365. package/vercel.json +0 -44
  1366. /package/{frontend/public → public}/cc-studio.png +0 -0
  1367. /package/{frontend/public → public}/screenshot-chat.png +0 -0
  1368. /package/{frontend/public → public}/screenshot-mcp.png +0 -0
  1369. /package/{frontend/public → public}/vite.svg +0 -0
  1370. /package/{frontend/public → public}/wechat-qr-code.png +0 -0
@@ -0,0 +1,1000 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const express_1 = __importDefault(require("express"));
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const path_1 = __importDefault(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const util_1 = require("util");
44
+ const projectMetadataStorage_1 = require("../services/projectMetadataStorage");
45
+ const agentStorage_1 = require("../services/agentStorage");
46
+ const a2aConfigService_js_1 = require("../services/a2a/a2aConfigService.js");
47
+ const apiKeyService_js_1 = require("../services/a2a/apiKeyService.js");
48
+ const a2a_js_1 = require("../schemas/a2a.js");
49
+ const router = express_1.default.Router();
50
+ const readFile = (0, util_1.promisify)(fs_1.default.readFile);
51
+ const writeFile = (0, util_1.promisify)(fs_1.default.writeFile);
52
+ const mkdir = (0, util_1.promisify)(fs_1.default.mkdir);
53
+ const stat = (0, util_1.promisify)(fs_1.default.stat);
54
+ // Use the new project metadata storage
55
+ const projectStorage = new projectMetadataStorage_1.ProjectMetadataStorage();
56
+ // Global agent storage for agent management
57
+ const globalAgentStorage = new agentStorage_1.AgentStorage();
58
+ // Ensure directory exists
59
+ async function ensureDir(dirPath) {
60
+ try {
61
+ await mkdir(dirPath, { recursive: true });
62
+ }
63
+ catch (error) {
64
+ // Directory already exists
65
+ }
66
+ }
67
+ // GET /api/projects - Get all projects
68
+ router.get('/', async (_req, res) => {
69
+ try {
70
+ const projects = projectStorage.getAllProjects();
71
+ res.json({ projects });
72
+ }
73
+ catch (error) {
74
+ console.error('Error fetching projects:', error);
75
+ res.status(500).json({ error: 'Failed to fetch projects' });
76
+ }
77
+ });
78
+ // GET /api/projects/claude-md - Get project CLAUDE.md content (via query param)
79
+ // MUST be defined before /:dirName to avoid route matching issues
80
+ router.get('/claude-md', async (req, res) => {
81
+ try {
82
+ const projectPath = req.query.path;
83
+ if (!projectPath) {
84
+ return res.status(400).json({ error: 'Project path is required' });
85
+ }
86
+ console.log('[claude-md] Looking for project with path:', projectPath);
87
+ // Try to read CLAUDE.md directly from the path
88
+ try {
89
+ const claudeFilePath = path_1.default.join(projectPath, 'CLAUDE.md');
90
+ const content = await readFile(claudeFilePath, 'utf-8');
91
+ console.log('[claude-md] Successfully read CLAUDE.md, content length:', content.length);
92
+ return res.json({ content });
93
+ }
94
+ catch (directError) {
95
+ if (directError.code === 'ENOENT') {
96
+ // Try parent directory
97
+ const parentClaudeFilePath = path_1.default.join(path_1.default.dirname(projectPath), 'CLAUDE.md');
98
+ try {
99
+ const content = await readFile(parentClaudeFilePath, 'utf-8');
100
+ console.log('[claude-md] Successfully read CLAUDE.md from parent, content length:', content.length);
101
+ return res.json({ content });
102
+ }
103
+ catch (parentError) {
104
+ if (parentError.code === 'ENOENT') {
105
+ return res.json({ content: '' });
106
+ }
107
+ throw parentError;
108
+ }
109
+ }
110
+ throw directError;
111
+ }
112
+ }
113
+ catch (error) {
114
+ console.error('Error reading CLAUDE.md:', error);
115
+ res.status(500).json({ error: 'Failed to read CLAUDE.md file' });
116
+ }
117
+ });
118
+ // PUT /api/projects/claude-md - Update project CLAUDE.md content (via query param)
119
+ // MUST be defined before /:dirName to avoid route matching issues
120
+ router.put('/claude-md', async (req, res) => {
121
+ try {
122
+ const projectPath = req.query.path;
123
+ const { content } = req.body;
124
+ if (!projectPath) {
125
+ return res.status(400).json({ error: 'Project path is required' });
126
+ }
127
+ if (typeof content !== 'string') {
128
+ return res.status(400).json({ error: 'Content must be a string' });
129
+ }
130
+ console.log('[claude-md PUT] Saving to project path:', projectPath);
131
+ // Decide where to save the file - prefer project directory, but check if parent has existing file
132
+ let claudeFilePath = path_1.default.join(projectPath, 'CLAUDE.md');
133
+ const parentClaudeFilePath = path_1.default.join(path_1.default.dirname(projectPath), 'CLAUDE.md');
134
+ // Check if parent directory already has CLAUDE.md
135
+ try {
136
+ await stat(parentClaudeFilePath);
137
+ // Parent file exists, use that location
138
+ claudeFilePath = parentClaudeFilePath;
139
+ console.log('Using existing CLAUDE.md in parent directory:', claudeFilePath);
140
+ }
141
+ catch (error) {
142
+ // Parent file doesn't exist, use project directory
143
+ console.log('Using project directory for CLAUDE.md:', claudeFilePath);
144
+ }
145
+ // Ensure directory exists
146
+ await ensureDir(path_1.default.dirname(claudeFilePath));
147
+ // Write the file
148
+ await writeFile(claudeFilePath, content, 'utf-8');
149
+ console.log('Successfully wrote CLAUDE.md to:', claudeFilePath);
150
+ res.json({ success: true, path: claudeFilePath });
151
+ }
152
+ catch (error) {
153
+ console.error('Error writing CLAUDE.md:', error);
154
+ res.status(500).json({ error: 'Failed to write CLAUDE.md file' });
155
+ }
156
+ });
157
+ // GET /api/projects/:dirName - Get specific project
158
+ router.get('/:dirName', async (req, res) => {
159
+ try {
160
+ const { dirName } = req.params;
161
+ const project = projectStorage.getProject(dirName);
162
+ if (!project) {
163
+ return res.status(404).json({ error: 'Project not found' });
164
+ }
165
+ // Include provider/model settings from metadata
166
+ const projectMeta = projectStorage.getProjectMetadata(dirName);
167
+ res.json({
168
+ project: {
169
+ ...project,
170
+ defaultProviderId: projectMeta?.defaultProviderId,
171
+ defaultModel: projectMeta?.defaultModel,
172
+ }
173
+ });
174
+ }
175
+ catch (error) {
176
+ console.error('Error fetching project:', error);
177
+ res.status(500).json({ error: 'Failed to fetch project' });
178
+ }
179
+ });
180
+ // POST /api/projects - Create new project
181
+ router.post('/', async (req, res) => {
182
+ try {
183
+ const { name, dirName, agentId, description, tags, metadata } = req.body;
184
+ if (!dirName) {
185
+ return res.status(400).json({ error: 'Directory name is required' });
186
+ }
187
+ // Check if project directory already exists
188
+ const existingProject = projectStorage.getProject(dirName);
189
+ if (existingProject) {
190
+ return res.status(409).json({ error: 'Project directory already exists' });
191
+ }
192
+ const projectMetadata = projectStorage.createProject(dirName, {
193
+ name: name || dirName,
194
+ description,
195
+ agentId,
196
+ tags,
197
+ metadata
198
+ });
199
+ const project = projectStorage.getProject(dirName);
200
+ res.json({ project, metadata: projectMetadata });
201
+ }
202
+ catch (error) {
203
+ console.error('Error creating project:', error);
204
+ res.status(500).json({ error: 'Failed to create project' });
205
+ }
206
+ });
207
+ // PUT /api/projects/:dirName - Update project info
208
+ router.put('/:dirName', async (req, res) => {
209
+ try {
210
+ const { dirName } = req.params;
211
+ const { name, description, tags, metadata, defaultProviderId, defaultModel } = req.body;
212
+ const project = projectStorage.getProject(dirName);
213
+ if (!project) {
214
+ return res.status(404).json({ error: 'Project not found' });
215
+ }
216
+ // Update basic info
217
+ if (name !== undefined || description !== undefined) {
218
+ projectStorage.updateProjectInfo(dirName, { name, description });
219
+ }
220
+ // Update tags
221
+ if (tags !== undefined) {
222
+ projectStorage.updateProjectTags(dirName, tags);
223
+ }
224
+ // Update metadata
225
+ if (metadata !== undefined) {
226
+ projectStorage.updateProjectMetadata(dirName, metadata);
227
+ }
228
+ // Update default provider and model
229
+ if (defaultProviderId !== undefined || defaultModel !== undefined) {
230
+ const projectMeta = projectStorage.getProjectMetadata(dirName);
231
+ if (projectMeta) {
232
+ if (defaultProviderId !== undefined) {
233
+ // Empty string clears the value
234
+ projectMeta.defaultProviderId = defaultProviderId || undefined;
235
+ }
236
+ if (defaultModel !== undefined) {
237
+ // Empty string clears the value
238
+ projectMeta.defaultModel = defaultModel || undefined;
239
+ }
240
+ projectMeta.lastAccessed = new Date().toISOString();
241
+ projectStorage.saveProjectMetadata(dirName, projectMeta);
242
+ }
243
+ }
244
+ const updatedProject = projectStorage.getProject(dirName);
245
+ // Include provider/model settings in response
246
+ const projectMeta = projectStorage.getProjectMetadata(dirName);
247
+ res.json({
248
+ project: {
249
+ ...updatedProject,
250
+ defaultProviderId: projectMeta?.defaultProviderId,
251
+ defaultModel: projectMeta?.defaultModel,
252
+ }
253
+ });
254
+ }
255
+ catch (error) {
256
+ console.error('Error updating project:', error);
257
+ res.status(500).json({ error: 'Failed to update project' });
258
+ }
259
+ });
260
+ // DELETE /api/projects/:dirName - Delete project metadata
261
+ // Note: dirName is actually the full project path (URL encoded)
262
+ router.delete('/:dirName', async (req, res) => {
263
+ try {
264
+ // dirName is the full project path, needs URL decoding
265
+ const projectPath = decodeURIComponent(req.params.dirName);
266
+ console.log(`🗑️ [DELETE] Attempting to delete project: ${projectPath}`);
267
+ const success = projectStorage.deleteProject(projectPath);
268
+ if (!success) {
269
+ console.log(`🗑️ [DELETE] Project not found: ${projectPath}`);
270
+ return res.status(404).json({ error: 'Project not found' });
271
+ }
272
+ console.log(`🗑️ [DELETE] Successfully deleted project: ${projectPath}`);
273
+ res.json({ success: true });
274
+ }
275
+ catch (error) {
276
+ console.error('Error deleting project:', error);
277
+ res.status(500).json({ error: 'Failed to delete project' });
278
+ }
279
+ });
280
+ // PUT /api/projects/:dirName/default-agent - Set default agent
281
+ // Note: dirName is actually the full project path (URL encoded)
282
+ router.put('/:dirName/default-agent', async (req, res) => {
283
+ try {
284
+ // dirName here is actually the full project path (URL encoded)
285
+ const projectPath = decodeURIComponent(req.params.dirName);
286
+ const { agentId } = req.body;
287
+ if (!agentId) {
288
+ return res.status(400).json({ error: 'Agent ID is required' });
289
+ }
290
+ // Add the agent to the project and set it as default
291
+ projectStorage.addAgentToProject(projectPath, agentId);
292
+ projectStorage.setDefaultAgent(projectPath, agentId);
293
+ const updatedProject = projectStorage.getProject(projectPath);
294
+ if (!updatedProject) {
295
+ return res.status(404).json({ error: 'Project not found' });
296
+ }
297
+ res.json({
298
+ success: true,
299
+ project: updatedProject
300
+ });
301
+ }
302
+ catch (error) {
303
+ console.error('Error setting default agent:', error);
304
+ res.status(500).json({ error: 'Failed to set default agent' });
305
+ }
306
+ });
307
+ // PUT /api/projects/:dirName/agents/:agentId - Enable/disable agent for project
308
+ router.put('/:dirName/agents/:agentId', async (req, res) => {
309
+ try {
310
+ const { dirName, agentId } = req.params;
311
+ const { enabled } = req.body;
312
+ if (typeof enabled !== 'boolean') {
313
+ return res.status(400).json({ error: 'Enabled must be a boolean' });
314
+ }
315
+ if (enabled) {
316
+ projectStorage.addAgentToProject(dirName, agentId);
317
+ }
318
+ else {
319
+ projectStorage.removeAgentFromProject(dirName, agentId);
320
+ }
321
+ const updatedProject = projectStorage.getProject(dirName);
322
+ res.json({ project: updatedProject });
323
+ }
324
+ catch (error) {
325
+ console.error('Error updating project agent:', error);
326
+ res.status(500).json({ error: 'Failed to update project agent' });
327
+ }
328
+ });
329
+ // GET /api/projects/:dirName/check-agent - Check if project needs agent selection
330
+ router.get('/:dirName/check-agent', async (req, res) => {
331
+ try {
332
+ const { dirName } = req.params;
333
+ const project = projectStorage.getProject(dirName);
334
+ if (!project) {
335
+ return res.status(404).json({ error: 'Project not found' });
336
+ }
337
+ const needsAgent = project.agents.length === 0 || !project.defaultAgent;
338
+ res.json({
339
+ needsAgent,
340
+ project: {
341
+ name: project.name,
342
+ path: project.path,
343
+ agents: project.agents,
344
+ defaultAgent: project.defaultAgent
345
+ }
346
+ });
347
+ }
348
+ catch (error) {
349
+ console.error('Error checking project agent:', error);
350
+ res.status(500).json({ error: 'Failed to check project agent' });
351
+ }
352
+ });
353
+ // POST /api/projects/:dirName/select-agent - Select first agent for project
354
+ router.post('/:dirName/select-agent', async (req, res) => {
355
+ try {
356
+ // dirName here is actually the full project path (URL encoded)
357
+ const projectPath = decodeURIComponent(req.params.dirName);
358
+ const { agentId } = req.body;
359
+ console.log(`🎯 Select agent request - encoded: ${req.params.dirName}`);
360
+ console.log(`🎯 Select agent request - decoded path: ${projectPath}`);
361
+ console.log(`🎯 Select agent request - agentId: ${agentId}`);
362
+ if (!agentId) {
363
+ return res.status(400).json({ error: 'Agent ID is required' });
364
+ }
365
+ // Check if project exists, if not create it
366
+ let projectMetadata = projectStorage.getProjectMetadata(projectPath);
367
+ if (!projectMetadata) {
368
+ console.log(`⚠️ Project not found in metadata, creating: ${projectPath}`);
369
+ // Verify agent exists
370
+ const agent = globalAgentStorage.getAgent(agentId);
371
+ if (!agent) {
372
+ console.error(`❌ Agent not found: ${agentId}`);
373
+ return res.status(404).json({ error: 'Agent not found' });
374
+ }
375
+ // Create the project with the selected agent
376
+ const projectName = path_1.default.basename(projectPath);
377
+ projectMetadata = projectStorage.createProject(projectPath, {
378
+ name: projectName,
379
+ agentId: agentId,
380
+ description: ''
381
+ });
382
+ console.log(`✅ Created project metadata with ID: ${projectMetadata.id}`);
383
+ }
384
+ else {
385
+ console.log(`✅ Project found in metadata - ID: ${projectMetadata.id}, adding/updating agent`);
386
+ // Project exists, add the agent to the project and set it as default
387
+ projectStorage.addAgentToProject(projectPath, agentId);
388
+ projectStorage.setDefaultAgent(projectPath, agentId);
389
+ }
390
+ const updatedProject = projectStorage.getProject(projectPath);
391
+ if (!updatedProject) {
392
+ console.error(`❌ Failed to get project after creation/update: ${projectPath}`);
393
+ console.error(`❌ Available projects:`, projectStorage.getAllProjects().map(p => p.path));
394
+ return res.status(404).json({ error: 'Project not found' });
395
+ }
396
+ console.log(`✅ Agent selected successfully - project: ${updatedProject.name}, agent: ${agentId}`);
397
+ res.json({
398
+ success: true,
399
+ project: updatedProject
400
+ });
401
+ }
402
+ catch (error) {
403
+ console.error('Error selecting agent for project:', error);
404
+ res.status(500).json({ error: 'Failed to select agent for project' });
405
+ }
406
+ });
407
+ // GET /api/projects/:dirName/claude-md - Get project CLAUDE.md content (legacy)
408
+ router.get('/:dirName/claude-md', async (req, res) => {
409
+ try {
410
+ const { dirName } = req.params;
411
+ const project = projectStorage.getProject(dirName);
412
+ if (!project) {
413
+ return res.status(404).json({ error: 'Project not found' });
414
+ }
415
+ // Try to find CLAUDE.md in project directory first, then parent directory
416
+ const claudeFilePath = path_1.default.join(project.path, 'CLAUDE.md');
417
+ console.log('Looking for CLAUDE.md at:', claudeFilePath);
418
+ try {
419
+ const content = await readFile(claudeFilePath, 'utf-8');
420
+ console.log('Successfully read CLAUDE.md, content length:', content.length);
421
+ res.json({ content });
422
+ }
423
+ catch (error) {
424
+ console.log('Error reading CLAUDE.md from project dir:', error.code);
425
+ if (error.code === 'ENOENT') {
426
+ // Try parent directory
427
+ const parentClaudeFilePath = path_1.default.join(path_1.default.dirname(project.path), 'CLAUDE.md');
428
+ console.log('Trying parent directory:', parentClaudeFilePath);
429
+ try {
430
+ const content = await readFile(parentClaudeFilePath, 'utf-8');
431
+ console.log('Successfully read CLAUDE.md from parent dir, content length:', content.length);
432
+ res.json({ content });
433
+ }
434
+ catch (parentError) {
435
+ console.log('Error reading CLAUDE.md from parent dir:', parentError.code);
436
+ if (parentError.code === 'ENOENT') {
437
+ // File doesn't exist in either location, return empty content
438
+ res.json({ content: '' });
439
+ }
440
+ else {
441
+ throw parentError;
442
+ }
443
+ }
444
+ }
445
+ else {
446
+ throw error;
447
+ }
448
+ }
449
+ }
450
+ catch (error) {
451
+ console.error('Error reading CLAUDE.md:', error);
452
+ res.status(500).json({ error: 'Failed to read CLAUDE.md file' });
453
+ }
454
+ });
455
+ // PUT /api/projects/:dirName/claude-md - Update project CLAUDE.md content
456
+ router.put('/:dirName/claude-md', async (req, res) => {
457
+ try {
458
+ const { dirName } = req.params;
459
+ const { content } = req.body;
460
+ if (typeof content !== 'string') {
461
+ return res.status(400).json({ error: 'Content must be a string' });
462
+ }
463
+ const project = projectStorage.getProject(dirName);
464
+ if (!project) {
465
+ return res.status(404).json({ error: 'Project not found' });
466
+ }
467
+ // Decide where to save the file - prefer project directory, but check if parent has existing file
468
+ let claudeFilePath = path_1.default.join(project.path, 'CLAUDE.md');
469
+ const parentClaudeFilePath = path_1.default.join(path_1.default.dirname(project.path), 'CLAUDE.md');
470
+ // Check if parent directory already has CLAUDE.md
471
+ try {
472
+ await stat(parentClaudeFilePath);
473
+ // Parent file exists, use that location
474
+ claudeFilePath = parentClaudeFilePath;
475
+ console.log('Using existing CLAUDE.md in parent directory:', claudeFilePath);
476
+ }
477
+ catch (error) {
478
+ // Parent file doesn't exist, use project directory
479
+ console.log('Using project directory for CLAUDE.md:', claudeFilePath);
480
+ }
481
+ // Ensure directory exists
482
+ await ensureDir(path_1.default.dirname(claudeFilePath));
483
+ // Write the content
484
+ await writeFile(claudeFilePath, content, 'utf-8');
485
+ res.json({ success: true });
486
+ }
487
+ catch (error) {
488
+ console.error('Error writing CLAUDE.md:', error);
489
+ res.status(500).json({ error: 'Failed to write CLAUDE.md file' });
490
+ }
491
+ });
492
+ // ========== ROUTES MIGRATED FROM AGENTS.TS ==========
493
+ // GET /api/projects/agents/:agentId - Get projects for a specific agent
494
+ router.get('/agents/:agentId', (req, res) => {
495
+ try {
496
+ const { agentId } = req.params;
497
+ // Verify agent exists
498
+ const agent = globalAgentStorage.getAgent(agentId);
499
+ if (!agent) {
500
+ return res.status(404).json({ error: 'Agent not found' });
501
+ }
502
+ // Get all projects and filter by agent
503
+ const allProjects = projectStorage.getAllProjects();
504
+ const agentProjects = allProjects.filter(project => project.agents.includes(agentId));
505
+ res.json({ projects: agentProjects });
506
+ }
507
+ catch (error) {
508
+ console.error('Failed to get agent projects:', error);
509
+ res.status(500).json({ error: 'Failed to retrieve agent projects' });
510
+ }
511
+ });
512
+ // POST /api/projects/import - Import existing project directory
513
+ router.post('/import', (req, res) => {
514
+ try {
515
+ const { agentId, projectPath } = req.body;
516
+ console.log(`📥 Import project request - agentId: ${agentId}, projectPath: ${projectPath}`);
517
+ if (!agentId || !projectPath) {
518
+ return res.status(400).json({ error: 'Agent ID and project path are required' });
519
+ }
520
+ // Verify agent exists
521
+ const agent = globalAgentStorage.getAgent(agentId);
522
+ if (!agent) {
523
+ return res.status(404).json({ error: 'Agent not found' });
524
+ }
525
+ // Check if project directory exists
526
+ if (!fs_1.default.existsSync(projectPath)) {
527
+ return res.status(404).json({ error: 'Project directory does not exist' });
528
+ }
529
+ // Check if it's actually a directory
530
+ const stats = fs_1.default.statSync(projectPath);
531
+ if (!stats.isDirectory()) {
532
+ return res.status(400).json({ error: 'Path is not a directory' });
533
+ }
534
+ // Add project path to agent's projects list
535
+ if (!agent.projects) {
536
+ agent.projects = [];
537
+ }
538
+ const normalizedPath = path_1.default.resolve(projectPath);
539
+ console.log(`📁 Normalized path: ${normalizedPath}`);
540
+ if (!agent.projects.includes(normalizedPath)) {
541
+ agent.projects.unshift(normalizedPath); // Add to beginning for most recent
542
+ agent.updatedAt = new Date().toISOString();
543
+ globalAgentStorage.saveAgent(agent);
544
+ }
545
+ // Extract project name from path
546
+ const projectName = path_1.default.basename(normalizedPath);
547
+ // Create or update project metadata in projectStorage
548
+ // This ensures the project exists when user selects agent later
549
+ let projectMetadata = projectStorage.getProjectMetadata(normalizedPath);
550
+ if (!projectMetadata) {
551
+ console.log(`✨ Creating new project metadata for: ${normalizedPath}`);
552
+ // Project doesn't exist in metadata storage, create it
553
+ projectMetadata = projectStorage.createProject(normalizedPath, {
554
+ name: projectName,
555
+ agentId: agentId,
556
+ description: ''
557
+ });
558
+ console.log(`✅ Project metadata created with ID: ${projectMetadata.id}`);
559
+ }
560
+ else {
561
+ console.log(`♻️ Project already exists, updating agent association`);
562
+ // Project already exists, just add the agent if not already added
563
+ if (!projectMetadata.agents[agentId]) {
564
+ projectStorage.addAgentToProject(normalizedPath, agentId);
565
+ }
566
+ // Set as default agent
567
+ projectStorage.setDefaultAgent(normalizedPath, agentId);
568
+ }
569
+ // Get the full project info with agent details
570
+ const project = projectStorage.getProject(normalizedPath);
571
+ if (!project) {
572
+ console.error(`❌ Failed to get project after creation: ${normalizedPath}`);
573
+ return res.status(500).json({ error: 'Failed to create project metadata' });
574
+ }
575
+ console.log(`✅ Import successful - project ID: ${project.id}, path: ${project.path}`);
576
+ res.json({
577
+ success: true,
578
+ project: project,
579
+ message: `Project "${projectName}" imported successfully`
580
+ });
581
+ }
582
+ catch (error) {
583
+ console.error('Failed to import project:', error);
584
+ res.status(500).json({
585
+ error: 'Failed to import project',
586
+ details: error instanceof Error ? error.message : String(error)
587
+ });
588
+ }
589
+ });
590
+ // POST /api/projects/create - Create new project directory in ~/.claude/projects
591
+ router.post('/create', (req, res) => {
592
+ try {
593
+ const { agentId, projectName, parentDirectory, description } = req.body;
594
+ if (!agentId || !projectName) {
595
+ return res.status(400).json({ error: 'Agent ID and project name are required' });
596
+ }
597
+ // Verify agent exists
598
+ const agent = globalAgentStorage.getAgent(agentId);
599
+ if (!agent) {
600
+ return res.status(404).json({ error: 'Agent not found' });
601
+ }
602
+ // Use custom parent directory if provided, otherwise default to ~/claude-code-projects
603
+ let projectPath;
604
+ if (parentDirectory && parentDirectory !== '~/claude-code-projects') {
605
+ // Expand tilde if present
606
+ const expandedParent = parentDirectory.startsWith('~/')
607
+ ? path_1.default.join(os.homedir(), parentDirectory.slice(2))
608
+ : parentDirectory;
609
+ projectPath = path_1.default.join(expandedParent, projectName);
610
+ }
611
+ else {
612
+ const homeDir = os.homedir();
613
+ const projectsDir = path_1.default.join(homeDir, 'claude-code-projects');
614
+ projectPath = path_1.default.join(projectsDir, projectName);
615
+ // Create projects directory if it doesn't exist
616
+ if (!fs_1.default.existsSync(projectsDir)) {
617
+ fs_1.default.mkdirSync(projectsDir, { recursive: true });
618
+ }
619
+ }
620
+ // Create project directory
621
+ if (!fs_1.default.existsSync(projectPath)) {
622
+ fs_1.default.mkdirSync(projectPath, { recursive: true });
623
+ // Create .cc-sessions directory and project metadata
624
+ const sessionsDir = path_1.default.join(projectPath, '.cc-sessions');
625
+ fs_1.default.mkdirSync(sessionsDir, { recursive: true });
626
+ const projectMetadata = {
627
+ name: projectName,
628
+ description: description || '',
629
+ agentId,
630
+ agentName: agent.name,
631
+ createdAt: new Date().toISOString(),
632
+ updatedAt: new Date().toISOString()
633
+ };
634
+ fs_1.default.writeFileSync(path_1.default.join(sessionsDir, 'project.json'), JSON.stringify(projectMetadata, null, 2));
635
+ // Create a basic README file
636
+ const readmeContent = `# ${projectName}
637
+
638
+ Created with ${agent.name} on ${new Date().toLocaleString()}
639
+
640
+ ${description ? `## Description\n${description}\n\n` : ''}This is your project workspace. You can:
641
+ - Store your files here
642
+ - Create subdirectories for organization
643
+ - Use this directory for your ${agent.name} sessions
644
+
645
+ The conversation history will be saved in \`.cc-sessions/${agentId}/\` within this directory.
646
+ `;
647
+ fs_1.default.writeFileSync(path_1.default.join(projectPath, 'README.md'), readmeContent);
648
+ // Add project path to agent's projects list
649
+ if (!agent.projects) {
650
+ agent.projects = [];
651
+ }
652
+ const normalizedPath = path_1.default.resolve(projectPath);
653
+ if (!agent.projects.includes(normalizedPath)) {
654
+ agent.projects.unshift(normalizedPath); // Add to beginning for most recent
655
+ agent.updatedAt = new Date().toISOString();
656
+ globalAgentStorage.saveAgent(agent);
657
+ }
658
+ // 🔧 FIX: Create project metadata using ProjectMetadataStorage
659
+ // This ensures the project shows up correctly in the projects list with proper agent info
660
+ // The metadata stores the real project path, regardless of where it is on the filesystem
661
+ projectStorage.createProject(normalizedPath, {
662
+ name: projectName,
663
+ description: description || '',
664
+ agentId: agentId,
665
+ tags: [],
666
+ metadata: {}
667
+ });
668
+ // Return project info that matches frontend interface
669
+ const projectId = `${agentId}-${Buffer.from(normalizedPath).toString('base64').replace(/[+/=]/g, '').slice(-8)}`;
670
+ res.json({
671
+ success: true,
672
+ project: {
673
+ id: projectId,
674
+ name: projectName,
675
+ dirName: projectName,
676
+ path: normalizedPath,
677
+ agents: [agentId],
678
+ defaultAgent: agentId,
679
+ defaultAgentName: agent.name,
680
+ defaultAgentIcon: agent.ui.icon,
681
+ createdAt: new Date().toISOString(),
682
+ lastAccessed: new Date().toISOString(),
683
+ description: description || ''
684
+ },
685
+ message: `Project "${projectName}" created successfully`
686
+ });
687
+ }
688
+ else {
689
+ res.status(409).json({ error: 'Project directory already exists' });
690
+ }
691
+ }
692
+ catch (error) {
693
+ console.error('Failed to create project:', error);
694
+ res.status(500).json({
695
+ error: 'Failed to create project directory',
696
+ details: error instanceof Error ? error.message : String(error)
697
+ });
698
+ }
699
+ });
700
+ // PUT /api/projects/by-id/:projectId - Update project metadata (legacy format support)
701
+ router.put('/by-id/:projectId', (req, res) => {
702
+ try {
703
+ const { projectId } = req.params;
704
+ const { description } = req.body;
705
+ // Find project by ID
706
+ const agents = globalAgentStorage.getAllAgents();
707
+ let targetProject = null;
708
+ for (const agent of agents) {
709
+ if (agent.projects && agent.projects.length > 0) {
710
+ for (const projectPath of agent.projects) {
711
+ const id = `${agent.id}-${Buffer.from(projectPath).toString('base64').replace(/[+/=]/g, '').slice(-8)}`;
712
+ if (id === projectId) {
713
+ targetProject = projectPath;
714
+ break;
715
+ }
716
+ }
717
+ if (targetProject)
718
+ break;
719
+ }
720
+ }
721
+ if (!targetProject || !fs_1.default.existsSync(targetProject)) {
722
+ return res.status(404).json({ error: 'Project not found' });
723
+ }
724
+ // Update project metadata
725
+ const sessionsDir = path_1.default.join(targetProject, '.cc-sessions');
726
+ if (!fs_1.default.existsSync(sessionsDir)) {
727
+ fs_1.default.mkdirSync(sessionsDir, { recursive: true });
728
+ }
729
+ const metadataPath = path_1.default.join(sessionsDir, 'project.json');
730
+ let metadata = {};
731
+ if (fs_1.default.existsSync(metadataPath)) {
732
+ try {
733
+ metadata = JSON.parse(fs_1.default.readFileSync(metadataPath, 'utf-8'));
734
+ }
735
+ catch (error) {
736
+ // Start with empty metadata if file is corrupted
737
+ }
738
+ }
739
+ const updatedMetadata = {
740
+ ...metadata,
741
+ description: description || '',
742
+ updatedAt: new Date().toISOString(),
743
+ createdAt: metadata.createdAt || fs_1.default.statSync(targetProject).birthtime.toISOString()
744
+ };
745
+ fs_1.default.writeFileSync(metadataPath, JSON.stringify(updatedMetadata, null, 2));
746
+ res.json({
747
+ success: true,
748
+ message: 'Project updated successfully'
749
+ });
750
+ }
751
+ catch (error) {
752
+ console.error('Failed to update project:', error);
753
+ res.status(500).json({ error: 'Failed to update project' });
754
+ }
755
+ });
756
+ // DELETE /api/projects/by-id/:projectId - Remove project from agent's list (legacy format support)
757
+ router.delete('/by-id/:projectId', (req, res) => {
758
+ try {
759
+ const { projectId } = req.params;
760
+ // Check if it's a new format project ID (starts with "project_")
761
+ if (projectId.startsWith('project_')) {
762
+ // Handle new project metadata format
763
+ const allProjects = projectStorage.getAllProjects();
764
+ const project = allProjects.find(p => p.id === projectId);
765
+ if (!project) {
766
+ return res.status(404).json({ error: 'Project not found' });
767
+ }
768
+ // Delete project metadata - use full path for deletion
769
+ const success = projectStorage.deleteProject(project.path);
770
+ if (!success) {
771
+ return res.status(404).json({ error: 'Project not found' });
772
+ }
773
+ res.json({
774
+ success: true,
775
+ message: 'Project removed successfully',
776
+ note: 'Project directory was not deleted from filesystem'
777
+ });
778
+ return;
779
+ }
780
+ // Handle legacy agent project format
781
+ const agents = globalAgentStorage.getAllAgents();
782
+ let targetProject = null;
783
+ for (const agent of agents) {
784
+ if (agent.projects && agent.projects.length > 0) {
785
+ for (let i = 0; i < agent.projects.length; i++) {
786
+ const projectPath = agent.projects[i];
787
+ const id = `${agent.id}-${Buffer.from(projectPath).toString('base64').replace(/[+/=]/g, '').slice(-8)}`;
788
+ if (id === projectId) {
789
+ targetProject = projectPath;
790
+ // Remove project from agent's projects list
791
+ agent.projects.splice(i, 1);
792
+ agent.updatedAt = new Date().toISOString();
793
+ globalAgentStorage.saveAgent(agent);
794
+ break;
795
+ }
796
+ }
797
+ if (targetProject)
798
+ break;
799
+ }
800
+ }
801
+ if (!targetProject) {
802
+ return res.status(404).json({ error: 'Project not found' });
803
+ }
804
+ res.json({
805
+ success: true,
806
+ message: 'Project removed from list successfully',
807
+ note: 'Project directory was not deleted from filesystem'
808
+ });
809
+ }
810
+ catch (error) {
811
+ console.error('Failed to delete project:', error);
812
+ res.status(500).json({ error: 'Failed to delete project' });
813
+ }
814
+ });
815
+ // ========== A2A CONFIGURATION ENDPOINTS ==========
816
+ // GET /api/projects/:projectId/a2a-config - Get project A2A configuration
817
+ router.get('/:projectId/a2a-config', async (req, res) => {
818
+ try {
819
+ const { projectId: projectPath } = req.params;
820
+ // Load A2A configuration using project path
821
+ const config = await (0, a2aConfigService_js_1.loadA2AConfig)(projectPath);
822
+ if (!config) {
823
+ return res.status(500).json({
824
+ error: 'Failed to load A2A configuration',
825
+ code: 'CONFIG_LOAD_ERROR'
826
+ });
827
+ }
828
+ res.json({ config });
829
+ }
830
+ catch (error) {
831
+ console.error('Error loading A2A configuration:', error);
832
+ res.status(500).json({
833
+ error: 'Failed to load A2A configuration',
834
+ details: error instanceof Error ? error.message : String(error)
835
+ });
836
+ }
837
+ });
838
+ // PUT /api/projects/:projectId/a2a-config - Update project A2A configuration
839
+ router.put('/:projectId/a2a-config', async (req, res) => {
840
+ try {
841
+ const { projectId: projectPath } = req.params;
842
+ const config = req.body;
843
+ // Convert project path to project ID for storage
844
+ // Create a deterministic project ID from path
845
+ const projectId = `proj_${Buffer.from(projectPath).toString('base64').replace(/[+/=]/g, '').slice(-12)}`;
846
+ // Validate configuration using Zod schema
847
+ const validation = (0, a2a_js_1.validateSafe)(a2a_js_1.A2AConfigSchema, config);
848
+ if (!validation.success) {
849
+ return res.status(400).json({
850
+ error: 'Invalid A2A configuration',
851
+ code: 'VALIDATION_ERROR',
852
+ details: validation.errors
853
+ });
854
+ }
855
+ // Additional validation using service validator
856
+ const serviceValidation = (0, a2aConfigService_js_1.validateA2AConfig)(validation.data);
857
+ if (!serviceValidation.valid) {
858
+ return res.status(400).json({
859
+ error: 'Invalid A2A configuration',
860
+ code: 'VALIDATION_ERROR',
861
+ details: serviceValidation.errors
862
+ });
863
+ }
864
+ // Save configuration using project path
865
+ await (0, a2aConfigService_js_1.saveA2AConfig)(projectPath, validation.data);
866
+ res.json({
867
+ success: true,
868
+ config: validation.data,
869
+ message: 'A2A configuration updated successfully'
870
+ });
871
+ }
872
+ catch (error) {
873
+ console.error('Error updating A2A configuration:', error);
874
+ res.status(500).json({
875
+ error: 'Failed to update A2A configuration',
876
+ details: error instanceof Error ? error.message : String(error)
877
+ });
878
+ }
879
+ });
880
+ // ========== A2A API KEY MANAGEMENT ENDPOINTS ==========
881
+ // POST /api/projects/:projectId/api-keys - Generate new API key
882
+ router.post('/:projectId/api-keys', async (req, res) => {
883
+ try {
884
+ const { projectId: projectPath } = req.params;
885
+ const body = req.body;
886
+ // Validate request body
887
+ const validation = (0, a2a_js_1.validateSafe)(a2a_js_1.GenerateApiKeyRequestSchema, body);
888
+ if (!validation.success) {
889
+ return res.status(400).json({
890
+ error: 'Invalid request',
891
+ code: 'VALIDATION_ERROR',
892
+ details: validation.errors,
893
+ });
894
+ }
895
+ const { description } = validation.data;
896
+ // Use the actual project path for storage
897
+ // Generate new API key
898
+ const { key, keyData } = await (0, apiKeyService_js_1.generateApiKey)(projectPath, description);
899
+ res.json({
900
+ success: true,
901
+ key, // Plaintext key - shown only once!
902
+ keyId: keyData.id,
903
+ createdAt: keyData.createdAt,
904
+ description: keyData.description,
905
+ message: 'API key generated successfully. Save it now - it will not be shown again.',
906
+ });
907
+ }
908
+ catch (error) {
909
+ console.error('Error generating API key:', error);
910
+ res.status(500).json({
911
+ error: 'Failed to generate API key',
912
+ details: error instanceof Error ? error.message : String(error),
913
+ });
914
+ }
915
+ });
916
+ // GET /api/projects/:projectId/api-keys - List all API keys
917
+ router.get('/:projectId/api-keys', async (req, res) => {
918
+ try {
919
+ const { projectId: projectPath } = req.params;
920
+ const includeRevoked = req.query.includeRevoked === 'true';
921
+ // List API keys (hashes only, never plaintext)
922
+ const keys = await (0, apiKeyService_js_1.listApiKeys)(projectPath, includeRevoked);
923
+ // Remove keyHash from response for security
924
+ const sanitizedKeys = keys.map(({ keyHash, ...rest }) => rest);
925
+ res.json({
926
+ keys: sanitizedKeys,
927
+ count: sanitizedKeys.length,
928
+ });
929
+ }
930
+ catch (error) {
931
+ console.error('Error listing API keys:', error);
932
+ res.status(500).json({
933
+ error: 'Failed to list API keys',
934
+ details: error instanceof Error ? error.message : String(error),
935
+ });
936
+ }
937
+ });
938
+ // DELETE /api/projects/:projectId/api-keys/:keyId - Revoke API key
939
+ router.delete('/:projectId/api-keys/:keyId', async (req, res) => {
940
+ try {
941
+ const { projectId: projectPath, keyId } = req.params;
942
+ // Revoke the key using project path
943
+ const success = await (0, apiKeyService_js_1.revokeApiKey)(projectPath, keyId);
944
+ if (!success) {
945
+ return res.status(404).json({
946
+ error: 'API key not found',
947
+ code: 'KEY_NOT_FOUND',
948
+ });
949
+ }
950
+ res.json({
951
+ success: true,
952
+ message: 'API key revoked successfully',
953
+ keyId,
954
+ revokedAt: new Date().toISOString(),
955
+ });
956
+ }
957
+ catch (error) {
958
+ console.error('Error revoking API key:', error);
959
+ res.status(500).json({
960
+ error: 'Failed to revoke API key',
961
+ details: error instanceof Error ? error.message : String(error),
962
+ });
963
+ }
964
+ });
965
+ // POST /api/projects/:projectId/api-keys/:keyId/rotate - Rotate API key
966
+ router.post('/:projectId/api-keys/:keyId/rotate', async (req, res) => {
967
+ try {
968
+ const { projectId, keyId } = req.params;
969
+ const { description, gracePeriodMs } = req.body;
970
+ // Verify old key exists
971
+ const oldKey = await (0, apiKeyService_js_1.getApiKey)(projectId, keyId);
972
+ if (!oldKey) {
973
+ return res.status(404).json({
974
+ error: 'API key not found',
975
+ code: 'KEY_NOT_FOUND',
976
+ });
977
+ }
978
+ // Rotate the key with optional grace period
979
+ const { key, keyData, oldKeyId } = await (0, apiKeyService_js_1.rotateApiKey)(projectId, keyId, description || oldKey.description, gracePeriodMs);
980
+ res.json({
981
+ success: true,
982
+ key, // New plaintext key - shown only once!
983
+ keyId: keyData.id,
984
+ oldKeyId,
985
+ createdAt: keyData.createdAt,
986
+ description: keyData.description,
987
+ gracePeriodMs: gracePeriodMs || 5 * 60 * 1000,
988
+ message: 'API key rotated successfully. Old key will be revoked after grace period.',
989
+ });
990
+ }
991
+ catch (error) {
992
+ console.error('Error rotating API key:', error);
993
+ res.status(500).json({
994
+ error: 'Failed to rotate API key',
995
+ details: error instanceof Error ? error.message : String(error),
996
+ });
997
+ }
998
+ });
999
+ exports.default = router;
1000
+ //# sourceMappingURL=projects.js.map