agentstudio 0.2.9 → 0.3.1

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 (1354) hide show
  1. package/.dockerignore +53 -0
  2. package/.mcp.json +8 -0
  3. package/CLAUDE.md +359 -0
  4. package/DOCKER.md +270 -0
  5. package/Dockerfile +42 -0
  6. package/JSONL_TOOLS_README.md +301 -0
  7. package/LICENSE +603 -0
  8. package/QUICKSTART.md +253 -0
  9. package/README.md +176 -24
  10. package/README.zh-CN.md +200 -0
  11. package/SOLUTION_SUMMARY.md +249 -0
  12. package/backend/comprehensive-session-check.js +142 -0
  13. package/backend/debug-sessions.js +60 -0
  14. package/backend/docs/chat-clean-1.svg +1 -0
  15. package/backend/docs/chat-clean.md +60 -0
  16. package/backend/docs/chat-comprehensive-1.svg +1 -0
  17. package/backend/docs/chat-comprehensive.md +166 -0
  18. package/backend/docs/chat_api_sequence_diagram.md +58 -0
  19. package/backend/docs/command-detection-logic.md +306 -0
  20. package/backend/docs/command-detection-sequence.md +186 -0
  21. package/backend/eslint.config.js +25 -0
  22. package/backend/package.json +103 -0
  23. package/backend/scripts/README.md +156 -0
  24. package/backend/scripts/fix-project-names.js +113 -0
  25. package/backend/scripts/migrate-projects.js +159 -0
  26. package/backend/src/bin/agentstudio.ts +318 -0
  27. package/backend/src/bin/serviceManager.ts +469 -0
  28. package/backend/src/config/index.ts +184 -0
  29. package/backend/src/config/paths.ts +105 -0
  30. package/backend/src/config/sdkConfig.ts +126 -0
  31. package/backend/src/index.ts +434 -0
  32. package/backend/src/jobs/taskTimeoutMonitor.ts +106 -0
  33. package/backend/src/middleware/a2aAuth.ts +159 -0
  34. package/backend/src/middleware/auth.ts +39 -0
  35. package/backend/src/middleware/httpsOnly.ts +205 -0
  36. package/backend/src/middleware/rateLimiting.ts +130 -0
  37. package/backend/src/routes/__tests__/a2a.integration.test.ts +377 -0
  38. package/backend/src/routes/__tests__/a2a.test.ts +677 -0
  39. package/backend/src/routes/__tests__/agents.test.ts +327 -0
  40. package/backend/src/routes/__tests__/sessions.test.ts +345 -0
  41. package/backend/src/routes/a2a.streaming.test.ts +185 -0
  42. package/backend/src/routes/a2a.ts +840 -0
  43. package/backend/src/routes/a2aManagement.ts +545 -0
  44. package/backend/src/routes/agents.ts +1176 -0
  45. package/backend/src/routes/auth.ts +151 -0
  46. package/backend/src/routes/cloudflareTunnel.ts +306 -0
  47. package/backend/src/routes/commands.ts +524 -0
  48. package/backend/src/routes/config.ts +193 -0
  49. package/backend/src/routes/files.ts +375 -0
  50. package/backend/src/routes/mcp.ts +866 -0
  51. package/backend/src/routes/mcpAdmin.ts +369 -0
  52. package/backend/src/routes/mcpAdminManagement.ts +338 -0
  53. package/backend/src/routes/media.ts +140 -0
  54. package/backend/src/routes/mediaAuth.ts +150 -0
  55. package/backend/src/routes/network.ts +68 -0
  56. package/backend/src/routes/plugins.ts +368 -0
  57. package/backend/src/routes/projects.ts +1100 -0
  58. package/backend/src/routes/scheduledTasks.ts +442 -0
  59. package/backend/src/routes/sessions.ts +1054 -0
  60. package/backend/src/routes/settings.ts +552 -0
  61. package/backend/src/routes/skills.ts +319 -0
  62. package/backend/src/routes/slack.ts +193 -0
  63. package/backend/src/routes/slides.ts +166 -0
  64. package/backend/src/routes/subagents.ts +366 -0
  65. package/backend/src/routes/taskExecutor.ts +243 -0
  66. package/backend/src/routes/tunnel.ts +317 -0
  67. package/backend/src/routes/version.ts +239 -0
  68. package/backend/src/schemas/a2a.ts +352 -0
  69. package/backend/src/services/__tests__/pluginInstaller.test.ts +316 -0
  70. package/backend/src/services/__tests__/pluginParser.test.ts +285 -0
  71. package/backend/src/services/__tests__/pluginPaths.test.ts +212 -0
  72. package/backend/src/services/__tests__/pluginScanner.test.ts +287 -0
  73. package/backend/src/services/__tests__/pluginSymlink.test.ts +340 -0
  74. package/backend/src/services/__tests__/projectMetadataStorage.test.ts +158 -0
  75. package/backend/src/services/__tests__/sessionConcurrency.test.ts +132 -0
  76. package/backend/src/services/__tests__/slackAIService.test.ts +561 -0
  77. package/backend/src/services/__tests__/slackThreadMapper.test.ts +228 -0
  78. package/backend/src/services/a2a/__tests__/a2aClientTool.integration.test.ts +347 -0
  79. package/backend/src/services/a2a/__tests__/a2aClientTool.test.ts +710 -0
  80. package/backend/src/services/a2a/__tests__/a2aConfigService.test.ts +526 -0
  81. package/backend/src/services/a2a/__tests__/a2aConfigServicePath.test.ts +55 -0
  82. package/backend/src/services/a2a/__tests__/a2aSdkMcp.test.ts +254 -0
  83. package/backend/src/services/a2a/__tests__/agentCardService.test.ts +357 -0
  84. package/backend/src/services/a2a/__tests__/apiKeyService.test.ts +378 -0
  85. package/backend/src/services/a2a/__tests__/buildQueryOptionsIntegration.test.ts +41 -0
  86. package/backend/src/services/a2a/__tests__/dynamic_config_verification.test.ts +71 -0
  87. package/backend/src/services/a2a/__tests__/integrateA2AMcpServer.test.ts +97 -0
  88. package/backend/src/services/a2a/__tests__/taskManager.integration.test.ts +417 -0
  89. package/backend/src/services/a2a/__tests__/taskManager.test.ts +511 -0
  90. package/backend/src/services/a2a/__tests__/webhookService.test.ts +258 -0
  91. package/backend/src/services/a2a/a2aClientTool.ts +723 -0
  92. package/backend/src/services/a2a/a2aConfigService.ts +194 -0
  93. package/backend/src/services/a2a/a2aHistoryService.ts +111 -0
  94. package/backend/src/services/a2a/a2aIntegration.ts +40 -0
  95. package/backend/src/services/a2a/a2aQueryService.ts +275 -0
  96. package/backend/src/services/a2a/a2aSdkMcp.ts +208 -0
  97. package/backend/src/services/a2a/a2aStreamEvents.ts +166 -0
  98. package/backend/src/services/a2a/agentCardService.ts +256 -0
  99. package/backend/src/services/a2a/agentMappingService.ts +202 -0
  100. package/backend/src/services/a2a/apiKeyService.ts +361 -0
  101. package/backend/src/services/a2a/taskCleanup.ts +199 -0
  102. package/backend/src/services/a2a/taskManager.ts +327 -0
  103. package/backend/src/services/a2a/webhookService.ts +161 -0
  104. package/backend/src/services/agentStorage.ts +506 -0
  105. package/backend/src/services/askUserQuestion/askUserQuestionIntegration.ts +68 -0
  106. package/backend/src/services/askUserQuestion/askUserQuestionMcp.ts +173 -0
  107. package/backend/src/services/askUserQuestion/index.ts +48 -0
  108. package/backend/src/services/askUserQuestion/init.ts +53 -0
  109. package/backend/src/services/askUserQuestion/notificationChannel.ts +218 -0
  110. package/backend/src/services/askUserQuestion/slackNotificationChannel.ts +150 -0
  111. package/backend/src/services/askUserQuestion/sseNotificationChannel.ts +102 -0
  112. package/backend/src/services/askUserQuestion/userInputRegistry.ts +307 -0
  113. package/backend/src/services/claudeSession.ts +421 -0
  114. package/backend/src/services/claudeVersionStorage.ts +389 -0
  115. package/backend/src/services/mcpAdmin/__tests__/adminApiKeyService.test.ts +385 -0
  116. package/backend/src/services/mcpAdmin/__tests__/mcpAdminRoutes.test.ts +356 -0
  117. package/backend/src/services/mcpAdmin/__tests__/mcpAdminServer.test.ts +541 -0
  118. package/backend/src/services/mcpAdmin/__tests__/providerTools.test.ts +347 -0
  119. package/backend/src/services/mcpAdmin/__tests__/tools.test.ts +463 -0
  120. package/backend/src/services/mcpAdmin/adminApiKeyService.ts +329 -0
  121. package/backend/src/services/mcpAdmin/index.ts +19 -0
  122. package/backend/src/services/mcpAdmin/mcpAdminServer.ts +318 -0
  123. package/backend/src/services/mcpAdmin/tools/agentTools.ts +390 -0
  124. package/backend/src/services/mcpAdmin/tools/index.ts +29 -0
  125. package/backend/src/services/mcpAdmin/tools/mcpServerTools.ts +368 -0
  126. package/backend/src/services/mcpAdmin/tools/projectTools.ts +415 -0
  127. package/backend/src/services/mcpAdmin/tools/providerTools.ts +649 -0
  128. package/backend/src/services/mcpAdmin/tools/systemTools.ts +254 -0
  129. package/backend/src/services/mcpAdmin/types.ts +155 -0
  130. package/backend/src/services/messageQueue.ts +80 -0
  131. package/backend/src/services/pluginInstaller.ts +329 -0
  132. package/backend/src/services/pluginParser.ts +441 -0
  133. package/backend/src/services/pluginPaths.ts +270 -0
  134. package/backend/src/services/pluginScanner.ts +245 -0
  135. package/backend/src/services/pluginSymlink.ts +241 -0
  136. package/backend/src/services/projectMetadataStorage.ts +871 -0
  137. package/backend/src/services/scheduledTaskStorage.ts +377 -0
  138. package/backend/src/services/schedulerService.ts +668 -0
  139. package/backend/src/services/sessionManager.ts +738 -0
  140. package/backend/src/services/skillStorage.ts +521 -0
  141. package/backend/src/services/slackAIService.ts +1395 -0
  142. package/backend/src/services/slackClient.ts +110 -0
  143. package/backend/src/services/slackSessionLock.ts +364 -0
  144. package/backend/src/services/slackThreadMapper.ts +170 -0
  145. package/backend/src/services/taskExecutor/BuiltinExecutor.ts +611 -0
  146. package/backend/src/services/taskExecutor/__tests__/a2a-tasks.test.ts +382 -0
  147. package/backend/src/services/taskExecutor/__tests__/e2e-workflows.test.ts +528 -0
  148. package/backend/src/services/taskExecutor/__tests__/error-handling.test.ts +458 -0
  149. package/backend/src/services/taskExecutor/__tests__/stress.test.ts +400 -0
  150. package/backend/src/services/taskExecutor/__tests__/taskExecutor.integration.test.ts +240 -0
  151. package/backend/src/services/taskExecutor/__tests__/timeout-cancellation.test.ts +384 -0
  152. package/backend/src/services/taskExecutor/index.ts +168 -0
  153. package/backend/src/services/taskExecutor/taskWorker.ts +222 -0
  154. package/backend/src/services/taskExecutor/types.ts +179 -0
  155. package/backend/src/services/telemetry.ts +234 -0
  156. package/backend/src/services/tunnelService.ts +614 -0
  157. package/backend/src/types/a2a.ts +372 -0
  158. package/backend/src/types/agents.ts +161 -0
  159. package/backend/src/types/claude-history.ts +81 -0
  160. package/backend/src/types/claude-versions.ts +39 -0
  161. package/backend/src/types/commands.ts +63 -0
  162. package/backend/src/types/plugins.ts +157 -0
  163. package/backend/src/types/projects.ts +64 -0
  164. package/backend/src/types/scheduledTasks.ts +214 -0
  165. package/backend/src/types/skills.ts +130 -0
  166. package/backend/src/types/slack.ts +112 -0
  167. package/backend/src/types/streaming.ts +13 -0
  168. package/backend/src/types/subagents.ts +29 -0
  169. package/backend/src/utils/__tests__/claudeUtils.test.ts +312 -0
  170. package/backend/src/utils/__tests__/configResolver.test.ts +255 -0
  171. package/backend/src/utils/__tests__/sessionUtils.test.ts +384 -0
  172. package/backend/src/utils/agentCardCache.ts +245 -0
  173. package/backend/src/utils/claudeUtils.ts +377 -0
  174. package/backend/src/utils/configResolver.ts +175 -0
  175. package/backend/src/utils/fileUtils.ts +5 -0
  176. package/backend/src/utils/jwt.ts +104 -0
  177. package/backend/src/utils/networkUtils.ts +68 -0
  178. package/backend/src/utils/sessionUtils.ts +303 -0
  179. package/backend/tsconfig.json +25 -0
  180. package/backend/vitest.config.ts +29 -0
  181. package/docker-compose.traefik.yml +59 -0
  182. package/docker-compose.yml +38 -0
  183. package/docker-entrypoint.sh +30 -0
  184. package/docs/CLOUDFLARE_TUNNEL.md +233 -0
  185. package/docs/CLOUDFLARE_TUNNEL_ARCHITECTURE.md +406 -0
  186. package/docs/LAVS-IMPLEMENTATION.md +1973 -0
  187. package/docs/LAVS-SPEC.md +951 -0
  188. package/docs/QUICK_START_CLOUDFLARE_TUNNEL.md +304 -0
  189. package/docs/SCHEDULER_CONTROL.md +142 -0
  190. package/docs/SCHEDULER_STATUS_DISPLAY.md +86 -0
  191. package/docs/USER_MANUAL.md +1726 -0
  192. package/docs/USER_MANUAL_EN.md +1408 -0
  193. package/docs/VERSION_COMPATIBILITY.md +616 -0
  194. package/docs/api/a2a-endpoints.md +891 -0
  195. package/docs/guides/unified-task-executor-summary.md +365 -0
  196. package/docs/guides/unified-task-executor.md +304 -0
  197. package/docs/screenshots/01-homepage.png +0 -0
  198. package/docs/screenshots/02-dashboard.png +0 -0
  199. package/docs/screenshots/03-projects.png +0 -0
  200. package/docs/screenshots/04-agents.png +0 -0
  201. package/docs/screenshots/05-mcp-services.png +0 -0
  202. package/docs/screenshots/06-commands.png +0 -0
  203. package/docs/screenshots/07-chat.png +0 -0
  204. package/docs/screenshots/08-skills.png +0 -0
  205. package/docs/screenshots/09-settings.png +0 -0
  206. package/docs/screenshots/10-suppliers.png +0 -0
  207. package/docs/screenshots/11-plugins.png +0 -0
  208. package/docs/screenshots/agent-create-dialog.png +0 -0
  209. package/docs/screenshots/agent-edit-dialog.png +0 -0
  210. package/docs/screenshots/agent-list-overview.png +0 -0
  211. package/docs/screenshots/agent-tools-selection.png +0 -0
  212. package/docs/screenshots/agents-management.png +0 -0
  213. package/docs/screenshots/auto-compacted-session.png +0 -0
  214. package/docs/screenshots/chat-interface.png +0 -0
  215. package/docs/screenshots/chat-session-debug.png +0 -0
  216. package/docs/screenshots/chat-session-history.png +0 -0
  217. package/docs/screenshots/chat-tools-selection.png +0 -0
  218. package/docs/screenshots/commands-create-dialog.png +0 -0
  219. package/docs/screenshots/commands-overview.png +0 -0
  220. package/docs/screenshots/create-project-dialog.png +0 -0
  221. package/docs/screenshots/dashboard-overview.png +0 -0
  222. package/docs/screenshots/file-browser-interface.png +0 -0
  223. package/docs/screenshots/import-project-dialog.png +0 -0
  224. package/docs/screenshots/mcp-add-service-dialog.png +0 -0
  225. package/docs/screenshots/mcp-admin-settings.png +0 -0
  226. package/docs/screenshots/mcp-import-claude-code.png +0 -0
  227. package/docs/screenshots/mcp-list-overview.png +0 -0
  228. package/docs/screenshots/mcp-services-page.png +0 -0
  229. package/docs/screenshots/password-management-modal.png +0 -0
  230. package/docs/screenshots/plugins-add-market.png +0 -0
  231. package/docs/screenshots/plugins-browse.png +0 -0
  232. package/docs/screenshots/plugins-overview.png +0 -0
  233. package/docs/screenshots/ppt-editor-chat-interface.png +0 -0
  234. package/docs/screenshots/project-commands-dialog.png +0 -0
  235. package/docs/screenshots/project-list-overview.png +0 -0
  236. package/docs/screenshots/project-memory-dialog.png +0 -0
  237. package/docs/screenshots/project-settings-dialog.png +0 -0
  238. package/docs/screenshots/project-subagent-dialog.png +0 -0
  239. package/docs/screenshots/projects-management.png +0 -0
  240. package/docs/screenshots/projects-overview.png +0 -0
  241. package/docs/screenshots/scheduled-tasks-create-dialog.png +0 -0
  242. package/docs/screenshots/scheduled-tasks-execution-history.png +0 -0
  243. package/docs/screenshots/scheduled-tasks-overview.png +0 -0
  244. package/docs/screenshots/session-display-issue.png +0 -0
  245. package/docs/screenshots/session-messages-fix.png +0 -0
  246. package/docs/screenshots/session-messages-loaded.png +0 -0
  247. package/docs/screenshots/settings-general.png +0 -0
  248. package/docs/screenshots/settings-memory.png +0 -0
  249. package/docs/screenshots/skills-create-dialog.png +0 -0
  250. package/docs/screenshots/skills-list-overview.png +0 -0
  251. package/docs/screenshots/skills-view-detail.png +0 -0
  252. package/docs/screenshots/slide-preview-after-fix.png +0 -0
  253. package/docs/screenshots/storybook-basetool-full.png +0 -0
  254. package/docs/screenshots/storybook-fixed.png +0 -0
  255. package/docs/screenshots/storybook-tasktool.png +0 -0
  256. package/docs/screenshots/supplier-add-dialog.png +0 -0
  257. package/docs/screenshots/supplier-edit-dialog.png +0 -0
  258. package/docs/screenshots/suppliers-overview.png +0 -0
  259. package/docs/screenshots/telemetry-settings.png +0 -0
  260. package/docs/screenshots/version-management-page.png +0 -0
  261. package/docs-site/.vitepress/cache/deps/@theme_index.js +275 -0
  262. package/docs-site/.vitepress/cache/deps/@theme_index.js.map +7 -0
  263. package/docs-site/.vitepress/cache/deps/_metadata.json +58 -0
  264. package/docs-site/.vitepress/cache/deps/chunk-CN42XFKG.js +12824 -0
  265. package/docs-site/.vitepress/cache/deps/chunk-CN42XFKG.js.map +7 -0
  266. package/docs-site/.vitepress/cache/deps/chunk-Y3A3J5YD.js +9719 -0
  267. package/docs-site/.vitepress/cache/deps/chunk-Y3A3J5YD.js.map +7 -0
  268. package/docs-site/.vitepress/cache/deps/package.json +3 -0
  269. package/docs-site/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  270. package/docs-site/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  271. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
  272. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  273. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  274. package/docs-site/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  275. package/docs-site/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
  276. package/docs-site/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  277. package/docs-site/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
  278. package/docs-site/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
  279. package/docs-site/.vitepress/cache/deps/vue.js +347 -0
  280. package/docs-site/.vitepress/cache/deps/vue.js.map +7 -0
  281. package/docs-site/src/.vitepress/cache/deps/_metadata.json +52 -0
  282. package/docs-site/src/.vitepress/cache/deps/chunk-CN42XFKG.js +12824 -0
  283. package/docs-site/src/.vitepress/cache/deps/chunk-CN42XFKG.js.map +7 -0
  284. package/docs-site/src/.vitepress/cache/deps/chunk-Y3A3J5YD.js +9719 -0
  285. package/docs-site/src/.vitepress/cache/deps/chunk-Y3A3J5YD.js.map +7 -0
  286. package/docs-site/src/.vitepress/cache/deps/package.json +3 -0
  287. package/docs-site/src/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  288. package/docs-site/src/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  289. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_core.js +583 -0
  290. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  291. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1352 -0
  292. package/docs-site/src/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
  293. package/docs-site/src/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
  294. package/docs-site/src/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
  295. package/docs-site/src/.vitepress/cache/deps/vitepress___minisearch.js +1813 -0
  296. package/docs-site/src/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
  297. package/docs-site/src/.vitepress/cache/deps/vue.js +347 -0
  298. package/docs-site/src/.vitepress/cache/deps/vue.js.map +7 -0
  299. package/frontend/.storybook/main.ts +22 -0
  300. package/frontend/.storybook/preview.ts +27 -0
  301. package/frontend/.storybook/vitest.setup.ts +7 -0
  302. package/frontend/README.md +69 -0
  303. package/frontend/components.json +17 -0
  304. package/frontend/eslint.config.js +26 -0
  305. package/frontend/index.html +62 -0
  306. package/frontend/package-lock.json +7922 -0
  307. package/frontend/package.json +90 -0
  308. package/frontend/pnpm-lock.yaml +4714 -0
  309. package/frontend/postcss.config.js +6 -0
  310. package/frontend/scripts/extract-chinese.js +146 -0
  311. package/frontend/src/App.css +42 -0
  312. package/frontend/src/App.tsx +201 -0
  313. package/frontend/src/__tests__/smoke.test.tsx +15 -0
  314. package/frontend/src/agents/README.md +136 -0
  315. package/frontend/src/agents/chat/index.ts +17 -0
  316. package/frontend/src/agents/registry.ts +22 -0
  317. package/frontend/src/agents/slides/components/SlidePreview.tsx +287 -0
  318. package/frontend/src/agents/slides/components/SlidePreviewPanel.tsx +120 -0
  319. package/frontend/src/agents/slides/hooks/useSlides.ts +245 -0
  320. package/frontend/src/agents/slides/index.ts +17 -0
  321. package/frontend/src/agents/slides/stores/useSlidesStore.ts +56 -0
  322. package/frontend/src/agents/types.ts +18 -0
  323. package/frontend/src/api/skills.ts +184 -0
  324. package/frontend/src/assets/react.svg +1 -0
  325. package/frontend/src/components/AgentChatPanel.tsx +901 -0
  326. package/frontend/src/components/ApiSettingsModal.tsx +267 -0
  327. package/frontend/src/components/BackendOnboardingWizard.tsx +255 -0
  328. package/frontend/src/components/BackendServiceSwitcher.tsx +356 -0
  329. package/frontend/src/components/CSVPreview.tsx +465 -0
  330. package/frontend/src/components/ChatMessageRenderer.tsx +279 -0
  331. package/frontend/src/components/CommandForm.tsx +560 -0
  332. package/frontend/src/components/CommandSelector.tsx +218 -0
  333. package/frontend/src/components/CompactSummary.tsx +52 -0
  334. package/frontend/src/components/ConfirmDialog.tsx +69 -0
  335. package/frontend/src/components/DiffViewer.css +78 -0
  336. package/frontend/src/components/DiffViewer.tsx +89 -0
  337. package/frontend/src/components/EnvVarsConfig.tsx +113 -0
  338. package/frontend/src/components/ErrorBoundary.tsx +100 -0
  339. package/frontend/src/components/ErrorMessage.tsx +197 -0
  340. package/frontend/src/components/FileBrowser.tsx +480 -0
  341. package/frontend/src/components/FileContentViewer.tsx +155 -0
  342. package/frontend/src/components/FileExplorer/FileIcon.tsx +32 -0
  343. package/frontend/src/components/FileExplorer/FilePreview.tsx +130 -0
  344. package/frontend/src/components/FileExplorer/FileTabs.tsx +104 -0
  345. package/frontend/src/components/FileExplorer/FileTreeToolbar.tsx +30 -0
  346. package/frontend/src/components/FileExplorer/ImagePreview.tsx +86 -0
  347. package/frontend/src/components/FileExplorer/REFACTOR_SUMMARY.md +117 -0
  348. package/frontend/src/components/FileExplorer/TabDropdown.tsx +59 -0
  349. package/frontend/src/components/FileExplorer/TreeNode.tsx +73 -0
  350. package/frontend/src/components/FileExplorer/constants.ts +16 -0
  351. package/frontend/src/components/FileExplorer/fileTypes.ts +156 -0
  352. package/frontend/src/components/FileExplorer/hooks/index.ts +2 -0
  353. package/frontend/src/components/FileExplorer/hooks/useFileTabs.ts +120 -0
  354. package/frontend/src/components/FileExplorer/hooks/useLazyFileTree.ts +260 -0
  355. package/frontend/src/components/FileExplorer/index.ts +15 -0
  356. package/frontend/src/components/FileExplorer.tsx +1124 -0
  357. package/frontend/src/components/FloatingToggle.tsx +66 -0
  358. package/frontend/src/components/ImagePreview.tsx +369 -0
  359. package/frontend/src/components/JSONLPreview.tsx +421 -0
  360. package/frontend/src/components/LanguageSwitcher.tsx +32 -0
  361. package/frontend/src/components/Layout.tsx +57 -0
  362. package/frontend/src/components/MarkdownMessage.tsx +136 -0
  363. package/frontend/src/components/McpStatusModal.tsx +272 -0
  364. package/frontend/src/components/MermaidDiagram.tsx +423 -0
  365. package/frontend/src/components/MobileChatInput.tsx +158 -0
  366. package/frontend/src/components/MobileChatToolbar.tsx +164 -0
  367. package/frontend/src/components/MobileNavigation.tsx +101 -0
  368. package/frontend/src/components/MobileSettingsModal.tsx +272 -0
  369. package/frontend/src/components/MobileSidebar.tsx +56 -0
  370. package/frontend/src/components/PanelToggle.tsx +69 -0
  371. package/frontend/src/components/ProjectA2AModal.tsx +1430 -0
  372. package/frontend/src/components/ProjectCommandsModal.tsx +453 -0
  373. package/frontend/src/components/ProjectMemoryModal.tsx +178 -0
  374. package/frontend/src/components/ProjectSelector.tsx +498 -0
  375. package/frontend/src/components/ProjectSettingsModal.tsx +210 -0
  376. package/frontend/src/components/ProjectSubAgentsModal.tsx +421 -0
  377. package/frontend/src/components/ProjectTable.tsx +387 -0
  378. package/frontend/src/components/ProtectedRoute.tsx +123 -0
  379. package/frontend/src/components/RecentActivity.tsx +145 -0
  380. package/frontend/src/components/ResponsiveTable.tsx +164 -0
  381. package/frontend/src/components/RightPanelHeader.tsx +87 -0
  382. package/frontend/src/components/RightPanelWrapper.tsx +74 -0
  383. package/frontend/src/components/ScheduledTaskEditor.tsx +718 -0
  384. package/frontend/src/components/ServiceManagementModal.tsx +794 -0
  385. package/frontend/src/components/ServiceStatusIndicator.tsx +334 -0
  386. package/frontend/src/components/SessionsDashboard.tsx +295 -0
  387. package/frontend/src/components/SessionsDropdown.tsx +168 -0
  388. package/frontend/src/components/SettingsDropdown.tsx +236 -0
  389. package/frontend/src/components/SettingsLayout.tsx +16 -0
  390. package/frontend/src/components/Sidebar.tsx +283 -0
  391. package/frontend/src/components/SplitLayout.tsx +261 -0
  392. package/frontend/src/components/SubagentForm.tsx +468 -0
  393. package/frontend/src/components/SwipeActions.tsx +413 -0
  394. package/frontend/src/components/SystemPromptEditor.tsx +126 -0
  395. package/frontend/src/components/TaskExecutionHistory.tsx +373 -0
  396. package/frontend/src/components/TelemetryProvider.tsx +157 -0
  397. package/frontend/src/components/ToolUsage.tsx +34 -0
  398. package/frontend/src/components/ToolsList.tsx +86 -0
  399. package/frontend/src/components/UnifiedToolSelector.tsx +508 -0
  400. package/frontend/src/components/UpdateNotification.tsx +105 -0
  401. package/frontend/src/components/agentChat/AgentChatInput.tsx +249 -0
  402. package/frontend/src/components/agentChat/AgentChatMobileInput.tsx +266 -0
  403. package/frontend/src/components/agentChat/AgentCommandSelector.tsx +226 -0
  404. package/frontend/src/components/agentChat/AgentInputArea.tsx +573 -0
  405. package/frontend/src/components/agentChat/ChatMessageList.tsx +125 -0
  406. package/frontend/src/components/agentChat/index.ts +7 -0
  407. package/frontend/src/components/onboarding/BackendDetectingStep.tsx +42 -0
  408. package/frontend/src/components/onboarding/BackendFoundStep.tsx +75 -0
  409. package/frontend/src/components/onboarding/BackendNotFoundStep.tsx +249 -0
  410. package/frontend/src/components/onboarding/OnboardingCompleteStep.tsx +90 -0
  411. package/frontend/src/components/onboarding/WelcomeStep.tsx +93 -0
  412. package/frontend/src/components/plugins/AddMarketplaceModal.tsx +186 -0
  413. package/frontend/src/components/plugins/BrowsePluginsTab.tsx +262 -0
  414. package/frontend/src/components/plugins/InstalledPluginsTab.tsx +246 -0
  415. package/frontend/src/components/plugins/MarketplacesTab.tsx +168 -0
  416. package/frontend/src/components/plugins/PluginDetailModal.tsx +307 -0
  417. package/frontend/src/components/settings/version/ClaudeVersionForm.tsx +266 -0
  418. package/frontend/src/components/settings/version/ClaudeVersionList.tsx +61 -0
  419. package/frontend/src/components/settings/version/EnvironmentVariablesSection.tsx +173 -0
  420. package/frontend/src/components/settings/version/ModelConfigSection.tsx +129 -0
  421. package/frontend/src/components/settings/version/VersionListItem.tsx +133 -0
  422. package/frontend/src/components/settings/version/VersionTemplateSelector.tsx +53 -0
  423. package/frontend/src/components/skills/CreateSkillModal.tsx +702 -0
  424. package/frontend/src/components/skills/SkillDetailModal.tsx +180 -0
  425. package/frontend/src/components/skills/SkillFileBrowserModal.tsx +67 -0
  426. package/frontend/src/components/skills/SkillPreview.tsx +150 -0
  427. package/frontend/src/components/skills/SkillsPage.tsx +329 -0
  428. package/frontend/src/components/skills/index.ts +4 -0
  429. package/frontend/src/components/tools/A2ACallTool.tsx +733 -0
  430. package/frontend/src/components/tools/AskUserQuestionTool.stories.tsx +223 -0
  431. package/frontend/src/components/tools/AskUserQuestionTool.tsx +546 -0
  432. package/frontend/src/components/tools/BaseToolComponent.stories.tsx +316 -0
  433. package/frontend/src/components/tools/BaseToolComponent.tsx +226 -0
  434. package/frontend/src/components/tools/BashOutputTool.stories.tsx +106 -0
  435. package/frontend/src/components/tools/BashOutputTool.tsx +198 -0
  436. package/frontend/src/components/tools/BashTool.stories.tsx +163 -0
  437. package/frontend/src/components/tools/BashTool.tsx +80 -0
  438. package/frontend/src/components/tools/EditTool.stories.tsx +109 -0
  439. package/frontend/src/components/tools/EditTool.tsx +60 -0
  440. package/frontend/src/components/tools/ExitPlanModeTool.stories.tsx +118 -0
  441. package/frontend/src/components/tools/ExitPlanModeTool.tsx +34 -0
  442. package/frontend/src/components/tools/GlobTool.stories.tsx +122 -0
  443. package/frontend/src/components/tools/GlobTool.tsx +50 -0
  444. package/frontend/src/components/tools/GrepTool.stories.tsx +125 -0
  445. package/frontend/src/components/tools/GrepTool.tsx +87 -0
  446. package/frontend/src/components/tools/KillBashTool.stories.tsx +120 -0
  447. package/frontend/src/components/tools/KillBashTool.tsx +112 -0
  448. package/frontend/src/components/tools/LSTool.stories.tsx +132 -0
  449. package/frontend/src/components/tools/LSTool.tsx +41 -0
  450. package/frontend/src/components/tools/ListMcpResourcesTool.stories.tsx +125 -0
  451. package/frontend/src/components/tools/ListMcpResourcesTool.tsx +84 -0
  452. package/frontend/src/components/tools/McpTool.stories.tsx +140 -0
  453. package/frontend/src/components/tools/McpTool.tsx +266 -0
  454. package/frontend/src/components/tools/MultiEditTool.stories.tsx +127 -0
  455. package/frontend/src/components/tools/MultiEditTool.tsx +59 -0
  456. package/frontend/src/components/tools/NotebookEditTool.stories.tsx +137 -0
  457. package/frontend/src/components/tools/NotebookEditTool.tsx +57 -0
  458. package/frontend/src/components/tools/NotebookReadTool.stories.tsx +134 -0
  459. package/frontend/src/components/tools/NotebookReadTool.tsx +25 -0
  460. package/frontend/src/components/tools/README.md +677 -0
  461. package/frontend/src/components/tools/ReadMcpResourceTool.stories.tsx +125 -0
  462. package/frontend/src/components/tools/ReadMcpResourceTool.tsx +126 -0
  463. package/frontend/src/components/tools/ReadTool.stories.tsx +116 -0
  464. package/frontend/src/components/tools/ReadTool.tsx +37 -0
  465. package/frontend/src/components/tools/SkillTool.tsx +91 -0
  466. package/frontend/src/components/tools/SubAgentMessageFlow.tsx +172 -0
  467. package/frontend/src/components/tools/TaskTool.stories.tsx +483 -0
  468. package/frontend/src/components/tools/TaskTool.tsx +199 -0
  469. package/frontend/src/components/tools/TimeMachineTool.stories.tsx +254 -0
  470. package/frontend/src/components/tools/TimeMachineTool.tsx +126 -0
  471. package/frontend/src/components/tools/TodoWriteTool.stories.tsx +128 -0
  472. package/frontend/src/components/tools/TodoWriteTool.tsx +74 -0
  473. package/frontend/src/components/tools/ToolRenderer.stories.tsx +460 -0
  474. package/frontend/src/components/tools/ToolRenderer.tsx +147 -0
  475. package/frontend/src/components/tools/WebFetchTool.stories.tsx +114 -0
  476. package/frontend/src/components/tools/WebFetchTool.tsx +50 -0
  477. package/frontend/src/components/tools/WebSearchTool.stories.tsx +124 -0
  478. package/frontend/src/components/tools/WebSearchTool.tsx +67 -0
  479. package/frontend/src/components/tools/WriteTool.stories.tsx +115 -0
  480. package/frontend/src/components/tools/WriteTool.tsx +41 -0
  481. package/frontend/src/components/tools/__mocks__/toolTestData.ts +557 -0
  482. package/frontend/src/components/tools/customMcpTools.tsx +17 -0
  483. package/frontend/src/components/tools/index.stories.tsx +107 -0
  484. package/frontend/src/components/tools/index.ts +24 -0
  485. package/frontend/src/components/tools/mcpUtils.ts +27 -0
  486. package/frontend/src/components/tools/sdk-types.ts +327 -0
  487. package/frontend/src/components/tools/types.ts +218 -0
  488. package/frontend/src/components/ui/Button.tsx +39 -0
  489. package/frontend/src/components/ui/Input.tsx +24 -0
  490. package/frontend/src/components/ui/Textarea.tsx +23 -0
  491. package/frontend/src/components/ui/VersionInfo.tsx +116 -0
  492. package/frontend/src/components/ui/dialog.tsx +90 -0
  493. package/frontend/src/components/ui/index.ts +4 -0
  494. package/frontend/src/components/ui/label.tsx +19 -0
  495. package/frontend/src/components/ui/select.tsx +121 -0
  496. package/frontend/src/components/ui/table.tsx +117 -0
  497. package/frontend/src/components/ui/tabs.tsx +124 -0
  498. package/frontend/src/components/ui/toast.tsx +127 -0
  499. package/frontend/src/components/ui/toaster.tsx +33 -0
  500. package/frontend/src/contexts/MobileContext.tsx +109 -0
  501. package/frontend/src/hooks/__tests__/useAIStreamHandler.test.ts +1198 -0
  502. package/frontend/src/hooks/agentChat/index.ts +10 -0
  503. package/frontend/src/hooks/agentChat/useAIStreamHandler.ts +1594 -0
  504. package/frontend/src/hooks/agentChat/useClaudeVersionManager.ts +99 -0
  505. package/frontend/src/hooks/agentChat/useCommandCompletion.ts +253 -0
  506. package/frontend/src/hooks/agentChat/useImageUpload.ts +176 -0
  507. package/frontend/src/hooks/agentChat/useMessageSender.ts +391 -0
  508. package/frontend/src/hooks/agentChat/useScrollManagement.ts +66 -0
  509. package/frontend/src/hooks/agentChat/useSessionManager.ts +110 -0
  510. package/frontend/src/hooks/agentChat/useToolSelector.ts +82 -0
  511. package/frontend/src/hooks/agentChat/useUIState.ts +103 -0
  512. package/frontend/src/hooks/index.ts +3 -0
  513. package/frontend/src/hooks/use-toast.ts +194 -0
  514. package/frontend/src/hooks/useA2AConfig.ts +224 -0
  515. package/frontend/src/hooks/useA2AManagement.ts +456 -0
  516. package/frontend/src/hooks/useAI.ts +264 -0
  517. package/frontend/src/hooks/useAgents.ts +411 -0
  518. package/frontend/src/hooks/useApiBase.ts +31 -0
  519. package/frontend/src/hooks/useAuth.ts +454 -0
  520. package/frontend/src/hooks/useBackendServices.ts +58 -0
  521. package/frontend/src/hooks/useClaudeVersions.ts +128 -0
  522. package/frontend/src/hooks/useCommands.ts +312 -0
  523. package/frontend/src/hooks/useDashboardStats.ts +61 -0
  524. package/frontend/src/hooks/useFileSystem.ts +349 -0
  525. package/frontend/src/hooks/useFiles.ts +80 -0
  526. package/frontend/src/hooks/useMarketplaces.ts +120 -0
  527. package/frontend/src/hooks/useMobile.tsx +110 -0
  528. package/frontend/src/hooks/usePlugins.ts +239 -0
  529. package/frontend/src/hooks/useProjects.ts +45 -0
  530. package/frontend/src/hooks/useResponsiveSettings.tsx +22 -0
  531. package/frontend/src/hooks/useScheduledTasks.ts +483 -0
  532. package/frontend/src/hooks/useSessionHeartbeat.ts +173 -0
  533. package/frontend/src/hooks/useSessionHeartbeatOnSuccess.ts +80 -0
  534. package/frontend/src/hooks/useSessions.ts +96 -0
  535. package/frontend/src/hooks/useSkills.ts +197 -0
  536. package/frontend/src/hooks/useSubagents.ts +274 -0
  537. package/frontend/src/hooks/useTabNotification.ts +155 -0
  538. package/frontend/src/hooks/useVersionCheck.ts +164 -0
  539. package/frontend/src/i18n/index.ts +66 -0
  540. package/frontend/src/i18n/locales/en-US/agents.json +85 -0
  541. package/frontend/src/i18n/locales/en-US/common.json +155 -0
  542. package/frontend/src/i18n/locales/en-US/components.json +1197 -0
  543. package/frontend/src/i18n/locales/en-US/errors.json +56 -0
  544. package/frontend/src/i18n/locales/en-US/home.json +27 -0
  545. package/frontend/src/i18n/locales/en-US/onboarding.json +122 -0
  546. package/frontend/src/i18n/locales/en-US/pages.json +1409 -0
  547. package/frontend/src/i18n/locales/en-US/skills.json +120 -0
  548. package/frontend/src/i18n/locales/zh-CN/agents.json +85 -0
  549. package/frontend/src/i18n/locales/zh-CN/common.json +155 -0
  550. package/frontend/src/i18n/locales/zh-CN/components.json +1199 -0
  551. package/frontend/src/i18n/locales/zh-CN/errors.json +56 -0
  552. package/frontend/src/i18n/locales/zh-CN/home.json +27 -0
  553. package/frontend/src/i18n/locales/zh-CN/onboarding.json +122 -0
  554. package/frontend/src/i18n/locales/zh-CN/pages.json +1540 -0
  555. package/frontend/src/i18n/locales/zh-CN/pages.json.tmp +0 -0
  556. package/frontend/src/i18n/locales/zh-CN/pages_new.json +0 -0
  557. package/frontend/src/i18n/locales/zh-CN/skills.json +120 -0
  558. package/frontend/src/i18n/types.ts +19 -0
  559. package/frontend/src/index.css +112 -0
  560. package/frontend/src/lib/authFetch.ts +183 -0
  561. package/frontend/src/lib/config.ts +120 -0
  562. package/frontend/src/lib/utils.ts +6 -0
  563. package/frontend/src/main.tsx +13 -0
  564. package/frontend/src/pages/AgentsPage.tsx +781 -0
  565. package/frontend/src/pages/AnalyticsPage.tsx +363 -0
  566. package/frontend/src/pages/ChatPage.tsx +286 -0
  567. package/frontend/src/pages/CommandsPage.tsx +445 -0
  568. package/frontend/src/pages/DashboardPage.tsx +519 -0
  569. package/frontend/src/pages/HomePage.tsx +223 -0
  570. package/frontend/src/pages/LandingPage.tsx +607 -0
  571. package/frontend/src/pages/LoginPage.tsx +510 -0
  572. package/frontend/src/pages/McpPage.tsx +1049 -0
  573. package/frontend/src/pages/PluginsPage.tsx +98 -0
  574. package/frontend/src/pages/ProjectSettings/A2AConfigTab.tsx +468 -0
  575. package/frontend/src/pages/ProjectsPage.tsx +818 -0
  576. package/frontend/src/pages/ScheduledTasksPage.tsx +574 -0
  577. package/frontend/src/pages/SkillsPage.tsx +6 -0
  578. package/frontend/src/pages/ToastTestPage.tsx +33 -0
  579. package/frontend/src/pages/index.ts +3 -0
  580. package/frontend/src/pages/settings/ApiSettingsPage.tsx +240 -0
  581. package/frontend/src/pages/settings/CloudflareTunnelPage.tsx +730 -0
  582. package/frontend/src/pages/settings/GeneralSettingsPage.tsx +456 -0
  583. package/frontend/src/pages/settings/McpAdminSettingsPage.tsx +1088 -0
  584. package/frontend/src/pages/settings/MemorySettingsPage.tsx +153 -0
  585. package/frontend/src/pages/settings/SubagentsPage.tsx +412 -0
  586. package/frontend/src/pages/settings/SystemInfoPage.tsx +268 -0
  587. package/frontend/src/pages/settings/TelemetrySettingsPage.tsx +175 -0
  588. package/frontend/src/pages/settings/VersionSettingsPage.tsx +366 -0
  589. package/frontend/src/pages/settings/WebSocketTunnelPage.tsx +1578 -0
  590. package/frontend/src/stores/authStore.ts +99 -0
  591. package/frontend/src/stores/useAgentStore.ts +426 -0
  592. package/frontend/src/stores/useSubAgentStore.ts +207 -0
  593. package/frontend/src/styles/mobile.css +156 -0
  594. package/frontend/src/test/setup.ts +64 -0
  595. package/frontend/src/types/agents.ts +109 -0
  596. package/frontend/src/types/backendServices.ts +20 -0
  597. package/frontend/src/types/claude-versions.ts +45 -0
  598. package/frontend/src/types/commands.ts +63 -0
  599. package/frontend/src/types/index.ts +171 -0
  600. package/frontend/src/types/plugins.ts +128 -0
  601. package/frontend/src/types/scheduledTasks.ts +140 -0
  602. package/frontend/src/types/skills.ts +161 -0
  603. package/frontend/src/types/subagents.ts +48 -0
  604. package/frontend/src/types/versionTemplates.ts +270 -0
  605. package/frontend/src/utils/authHelpers.ts +89 -0
  606. package/frontend/src/utils/backendServiceStorage.ts +100 -0
  607. package/frontend/src/utils/commandFormatter.ts +100 -0
  608. package/frontend/src/utils/commandGenerator.ts +72 -0
  609. package/frontend/src/utils/commandHandler.ts +205 -0
  610. package/frontend/src/utils/dateFormat.ts +35 -0
  611. package/frontend/src/utils/eventBus.ts +53 -0
  612. package/frontend/src/utils/index.ts +34 -0
  613. package/frontend/src/utils/onboardingStorage.ts +40 -0
  614. package/frontend/src/utils/smartNavigation.ts +244 -0
  615. package/frontend/src/utils/streamReader.ts +32 -0
  616. package/frontend/src/utils/systemCommands.ts +49 -0
  617. package/frontend/src/utils/tabManager.ts +816 -0
  618. package/frontend/src/utils/toast.ts +49 -0
  619. package/frontend/src/utils/toolMapping.ts +83 -0
  620. package/frontend/src/vite-env.d.ts +3 -0
  621. package/frontend/tailwind.config.js +119 -0
  622. package/frontend/tsconfig.app.json +33 -0
  623. package/frontend/tsconfig.json +7 -0
  624. package/frontend/tsconfig.node.json +25 -0
  625. package/frontend/vite.config.ts +73 -0
  626. package/frontend/vitest.config.ts +39 -0
  627. package/frontend/vitest.shims.d.ts +1 -0
  628. package/nginx.conf +153 -0
  629. package/package.json +38 -49
  630. package/pnpm-workspace.yaml +3 -0
  631. package/scripts/API_KEY_GENERATION_README.md +181 -0
  632. package/scripts/README-nginx.md +327 -0
  633. package/scripts/README.md +259 -0
  634. package/scripts/build-complete.js +98 -0
  635. package/scripts/build-npm.js +251 -0
  636. package/scripts/check-system.sh +153 -0
  637. package/scripts/cloudflare_tunnel.py +292 -0
  638. package/scripts/deploy-feature.sh +265 -0
  639. package/scripts/generate-api-key.ts +59 -0
  640. package/scripts/install-linux.sh +1507 -0
  641. package/scripts/install-macos.sh +1194 -0
  642. package/scripts/remote-install.sh +244 -0
  643. package/scripts/remove-feature.sh +214 -0
  644. package/scripts/remove.sh +390 -0
  645. package/scripts/requirements.txt +1 -0
  646. package/scripts/restore.sh +331 -0
  647. package/scripts/setup-nginx-ssl.sh +242 -0
  648. package/scripts/setup_nginx.sh +110 -0
  649. package/scripts/windows-install-simple.bat +277 -0
  650. package/scripts/windows-install.ps1 +620 -0
  651. package/tsconfig.json +30 -0
  652. package/vercel.json +44 -0
  653. package/bin/agentstudio.d.ts +0 -3
  654. package/bin/agentstudio.d.ts.map +0 -1
  655. package/bin/agentstudio.js +0 -327
  656. package/bin/agentstudio.js.map +0 -1
  657. package/bin/serviceManager.d.ts +0 -16
  658. package/bin/serviceManager.d.ts.map +0 -1
  659. package/bin/serviceManager.js +0 -434
  660. package/bin/serviceManager.js.map +0 -1
  661. package/config/index.d.ts +0 -74
  662. package/config/index.d.ts.map +0 -1
  663. package/config/index.js +0 -166
  664. package/config/index.js.map +0 -1
  665. package/config/paths.d.ts +0 -81
  666. package/config/paths.d.ts.map +0 -1
  667. package/config/paths.js +0 -98
  668. package/config/paths.js.map +0 -1
  669. package/index.d.ts +0 -4
  670. package/index.d.ts.map +0 -1
  671. package/index.js +0 -423
  672. package/index.js.map +0 -1
  673. package/jobs/taskTimeoutMonitor.d.ts +0 -25
  674. package/jobs/taskTimeoutMonitor.d.ts.map +0 -1
  675. package/jobs/taskTimeoutMonitor.js +0 -94
  676. package/jobs/taskTimeoutMonitor.js.map +0 -1
  677. package/middleware/a2aAuth.d.ts +0 -38
  678. package/middleware/a2aAuth.d.ts.map +0 -1
  679. package/middleware/a2aAuth.js +0 -134
  680. package/middleware/a2aAuth.js.map +0 -1
  681. package/middleware/auth.d.ts +0 -9
  682. package/middleware/auth.d.ts.map +0 -1
  683. package/middleware/auth.js +0 -35
  684. package/middleware/auth.js.map +0 -1
  685. package/middleware/httpsOnly.d.ts +0 -75
  686. package/middleware/httpsOnly.d.ts.map +0 -1
  687. package/middleware/httpsOnly.js +0 -189
  688. package/middleware/httpsOnly.js.map +0 -1
  689. package/middleware/rateLimiting.d.ts +0 -37
  690. package/middleware/rateLimiting.d.ts.map +0 -1
  691. package/middleware/rateLimiting.js +0 -118
  692. package/middleware/rateLimiting.js.map +0 -1
  693. package/public/assets/AgentsPage-DpXjvy0I.js +0 -10
  694. package/public/assets/Button-u4yI-WsV.js +0 -1
  695. package/public/assets/ChatPage-Boj_N_ec.js +0 -471
  696. package/public/assets/ChatPage-BvQmXfcP.css +0 -1
  697. package/public/assets/CommandForm-C8RL-p7h.js +0 -7
  698. package/public/assets/CommandsPage-DJyOtqIu.js +0 -1
  699. package/public/assets/DashboardPage-CPyJ0iPo.js +0 -1
  700. package/public/assets/FileBrowser-CXd_LcTz.js +0 -6
  701. package/public/assets/FileExplorer-DFQ7ynXa.js +0 -1
  702. package/public/assets/GeneralSettingsPage-BIcZ0Tod.js +0 -1
  703. package/public/assets/LandingPage-BlWek-wg.js +0 -1
  704. package/public/assets/LoginPage-j9c0QS1W.js +0 -16
  705. package/public/assets/McpAdminSettingsPage-Djm1tHK_.js +0 -7
  706. package/public/assets/McpPage-DjN_N6XO.js +0 -20
  707. package/public/assets/MemorySettingsPage-C06mG8J-.js +0 -1
  708. package/public/assets/PluginsPage-C8H1LJqV.js +0 -1
  709. package/public/assets/ProjectSelector-l8LQCZCe.js +0 -1
  710. package/public/assets/ProjectsPage-DVGpii1H.js +0 -21
  711. package/public/assets/ScheduledTasksPage-C9bAZ-8o.js +0 -1
  712. package/public/assets/SettingsLayout-Bv4IpkB5.js +0 -1
  713. package/public/assets/SkillsPage-DD-bktLO.js +0 -18
  714. package/public/assets/SubagentForm-CSRBsxUE.js +0 -7
  715. package/public/assets/SubagentsPage-BAXwEpQK.js +0 -1
  716. package/public/assets/SystemInfoPage-41rDcUwB.js +0 -1
  717. package/public/assets/TelemetrySettingsPage-CyXkNXJH.js +0 -1
  718. package/public/assets/ToastTestPage-CtcmP941.js +0 -1
  719. package/public/assets/ToolsList-Ci2lqPin.js +0 -1
  720. package/public/assets/UnifiedToolSelector-CKjY_qjS.js +0 -1
  721. package/public/assets/VersionSettingsPage-BLkrL0Ek.js +0 -5
  722. package/public/assets/WebSocketTunnelPage-McDRE6Ff.js +0 -1
  723. package/public/assets/_basePickBy-DDGafuFd.js +0 -1
  724. package/public/assets/_baseUniq-OZ7OoecG.js +0 -1
  725. package/public/assets/agents-DG431Wop.js +0 -1
  726. package/public/assets/agents-DwCY2K8p.css +0 -1
  727. package/public/assets/arc-C2QxosH7.js +0 -1
  728. package/public/assets/architectureDiagram-VXUJARFQ-gBoRl0vw.js +0 -36
  729. package/public/assets/blockDiagram-VD42YOAC-DDJh2Okf.js +0 -122
  730. package/public/assets/c4Diagram-YG6GDRKO-C4b85nLT.js +0 -10
  731. package/public/assets/channel-4mgiaMWd.js +0 -1
  732. package/public/assets/chunk-4BX2VUAB--YHjBv7U.js +0 -1
  733. package/public/assets/chunk-55IACEB6-B2-h5gVj.js +0 -1
  734. package/public/assets/chunk-B4BG7PRW-DRi5viyb.js +0 -165
  735. package/public/assets/chunk-DI55MBZ5-Xk-YhQRJ.js +0 -220
  736. package/public/assets/chunk-FMBD7UC4-DDcnlWsh.js +0 -15
  737. package/public/assets/chunk-QN33PNHL-OXq0iw2q.js +0 -1
  738. package/public/assets/chunk-QZHKN3VN-D7P0oOa9.js +0 -1
  739. package/public/assets/chunk-TZMSLE5B-Cts6I75U.js +0 -1
  740. package/public/assets/classDiagram-2ON5EDUG-BLM7y3rH.js +0 -1
  741. package/public/assets/classDiagram-v2-WZHVMYZB-BLM7y3rH.js +0 -1
  742. package/public/assets/clone-BHGNnQ0D.js +0 -1
  743. package/public/assets/cose-bilkent-S5V4N54A-6uP92_NU.js +0 -1
  744. package/public/assets/cytoscape.esm-DtBltrT8.js +0 -331
  745. package/public/assets/dagre-6UL2VRFP-CK2VJLzv.js +0 -4
  746. package/public/assets/data-structures-C0h9Oap1.js +0 -27
  747. package/public/assets/dateFormat-CXa8VnEC.js +0 -1
  748. package/public/assets/defaultLocale-C4B-KCzX.js +0 -1
  749. package/public/assets/diagram-PSM6KHXK-C-ZaY5UR.js +0 -24
  750. package/public/assets/diagram-QEK2KX5R-KM9LoLux.js +0 -43
  751. package/public/assets/diagram-S2PKOQOG-C8uziTLV.js +0 -24
  752. package/public/assets/erDiagram-Q2GNP2WA-DHFQ6rZ5.js +0 -60
  753. package/public/assets/flowDiagram-NV44I4VS-CzNBOu8h.js +0 -162
  754. package/public/assets/ganttDiagram-LVOFAZNH-vqd0zpgi.js +0 -267
  755. package/public/assets/gitGraphDiagram-NY62KEGX-BOW5S00P.js +0 -65
  756. package/public/assets/graph-BP_Rwsef.js +0 -1
  757. package/public/assets/index-DBxcQY5U.css +0 -1
  758. package/public/assets/index-h5dd40hU.js +0 -297
  759. package/public/assets/infoDiagram-F6ZHWCRC-LVLvTvsq.js +0 -2
  760. package/public/assets/init-Gi6I4Gst.js +0 -1
  761. package/public/assets/journeyDiagram-XKPGCS4Q-Cf_fvy7_.js +0 -139
  762. package/public/assets/kanban-definition-3W4ZIXB7-u6UccFfM.js +0 -89
  763. package/public/assets/katex-qrhCpa0F.js +0 -261
  764. package/public/assets/layout-sH_TKNrG.js +0 -1
  765. package/public/assets/linear-BdE0kKFb.js +0 -1
  766. package/public/assets/mindmap-definition-VGOIOE7T-9d-rVW5A.js +0 -68
  767. package/public/assets/monaco-editor-DHKm5-VF.js +0 -19
  768. package/public/assets/ordinal-Cboi1Yqb.js +0 -1
  769. package/public/assets/pieDiagram-ADFJNKIX-U_y5PbGf.js +0 -30
  770. package/public/assets/quadrantDiagram-AYHSOK5B-DGb0hrEb.js +0 -7
  771. package/public/assets/requirementDiagram-UZGBJVZJ-DNTHnK1t.js +0 -64
  772. package/public/assets/sankeyDiagram-TZEHDZUN-5uBZF1V2.js +0 -10
  773. package/public/assets/sequenceDiagram-WL72ISMW-AeCHCuPt.js +0 -145
  774. package/public/assets/stateDiagram-FKZM4ZOC-CXM0ycgk.js +0 -1
  775. package/public/assets/stateDiagram-v2-4FDKWEC3-FWopaxaM.js +0 -1
  776. package/public/assets/syntax-highlighting-CnREyncB.js +0 -24
  777. package/public/assets/table-CUyJSNAf.js +0 -1
  778. package/public/assets/timeline-definition-IT6M3QCI-BXZLvFn7.js +0 -61
  779. package/public/assets/tools-C0JOzoE_.js +0 -1
  780. package/public/assets/treemap-KMMF4GRG-BcB7MUc4.js +0 -128
  781. package/public/assets/ui-components-CRCmgMKc.js +0 -646
  782. package/public/assets/useAgents-Bp5Ry-Dk.js +0 -2
  783. package/public/assets/useClaudeVersions-DYM2HCGW.js +0 -1
  784. package/public/assets/useCommands-B0s3JzZs.js +0 -1
  785. package/public/assets/useProjects-DuCnMeYt.js +0 -1
  786. package/public/assets/useSessions-EknKfdIv.js +0 -1
  787. package/public/assets/xychartDiagram-PRI3JC2R-BsE7x9kD.js +0 -7
  788. package/public/index.html +0 -70
  789. package/routes/__tests__/a2a.integration.test.d.ts +0 -11
  790. package/routes/__tests__/a2a.integration.test.d.ts.map +0 -1
  791. package/routes/__tests__/a2a.integration.test.js +0 -314
  792. package/routes/__tests__/a2a.integration.test.js.map +0 -1
  793. package/routes/__tests__/a2a.test.d.ts +0 -6
  794. package/routes/__tests__/a2a.test.d.ts.map +0 -1
  795. package/routes/__tests__/a2a.test.js +0 -622
  796. package/routes/__tests__/a2a.test.js.map +0 -1
  797. package/routes/__tests__/agents.test.d.ts +0 -6
  798. package/routes/__tests__/agents.test.d.ts.map +0 -1
  799. package/routes/__tests__/agents.test.js +0 -315
  800. package/routes/__tests__/agents.test.js.map +0 -1
  801. package/routes/__tests__/sessions.test.d.ts +0 -7
  802. package/routes/__tests__/sessions.test.d.ts.map +0 -1
  803. package/routes/__tests__/sessions.test.js +0 -330
  804. package/routes/__tests__/sessions.test.js.map +0 -1
  805. package/routes/a2a.d.ts +0 -18
  806. package/routes/a2a.d.ts.map +0 -1
  807. package/routes/a2a.js +0 -717
  808. package/routes/a2a.js.map +0 -1
  809. package/routes/a2a.streaming.test.d.ts +0 -2
  810. package/routes/a2a.streaming.test.d.ts.map +0 -1
  811. package/routes/a2a.streaming.test.js +0 -167
  812. package/routes/a2a.streaming.test.js.map +0 -1
  813. package/routes/a2aManagement.d.ts +0 -21
  814. package/routes/a2aManagement.d.ts.map +0 -1
  815. package/routes/a2aManagement.js +0 -466
  816. package/routes/a2aManagement.js.map +0 -1
  817. package/routes/agents.d.ts +0 -4
  818. package/routes/agents.d.ts.map +0 -1
  819. package/routes/agents.js +0 -1026
  820. package/routes/agents.js.map +0 -1
  821. package/routes/auth.d.ts +0 -4
  822. package/routes/auth.d.ts.map +0 -1
  823. package/routes/auth.js +0 -135
  824. package/routes/auth.js.map +0 -1
  825. package/routes/cloudflareTunnel.d.ts +0 -4
  826. package/routes/cloudflareTunnel.d.ts.map +0 -1
  827. package/routes/cloudflareTunnel.js +0 -250
  828. package/routes/cloudflareTunnel.js.map +0 -1
  829. package/routes/commands.d.ts +0 -4
  830. package/routes/commands.d.ts.map +0 -1
  831. package/routes/commands.js +0 -479
  832. package/routes/commands.js.map +0 -1
  833. package/routes/config.d.ts +0 -4
  834. package/routes/config.d.ts.map +0 -1
  835. package/routes/config.js +0 -211
  836. package/routes/config.js.map +0 -1
  837. package/routes/files.d.ts +0 -4
  838. package/routes/files.d.ts.map +0 -1
  839. package/routes/files.js +0 -361
  840. package/routes/files.js.map +0 -1
  841. package/routes/mcp.d.ts +0 -26
  842. package/routes/mcp.d.ts.map +0 -1
  843. package/routes/mcp.js +0 -796
  844. package/routes/mcp.js.map +0 -1
  845. package/routes/mcpAdmin.d.ts +0 -16
  846. package/routes/mcpAdmin.d.ts.map +0 -1
  847. package/routes/mcpAdmin.js +0 -308
  848. package/routes/mcpAdmin.js.map +0 -1
  849. package/routes/mcpAdminManagement.d.ts +0 -17
  850. package/routes/mcpAdminManagement.d.ts.map +0 -1
  851. package/routes/mcpAdminManagement.js +0 -345
  852. package/routes/mcpAdminManagement.js.map +0 -1
  853. package/routes/media.d.ts +0 -5
  854. package/routes/media.d.ts.map +0 -1
  855. package/routes/media.js +0 -127
  856. package/routes/media.js.map +0 -1
  857. package/routes/mediaAuth.d.ts +0 -8
  858. package/routes/mediaAuth.d.ts.map +0 -1
  859. package/routes/mediaAuth.js +0 -136
  860. package/routes/mediaAuth.js.map +0 -1
  861. package/routes/plugins.d.ts +0 -4
  862. package/routes/plugins.d.ts.map +0 -1
  863. package/routes/plugins.js +0 -339
  864. package/routes/plugins.js.map +0 -1
  865. package/routes/projects.d.ts +0 -4
  866. package/routes/projects.d.ts.map +0 -1
  867. package/routes/projects.js +0 -1000
  868. package/routes/projects.js.map +0 -1
  869. package/routes/scheduledTasks.d.ts +0 -9
  870. package/routes/scheduledTasks.d.ts.map +0 -1
  871. package/routes/scheduledTasks.js +0 -386
  872. package/routes/scheduledTasks.js.map +0 -1
  873. package/routes/sessions.d.ts +0 -4
  874. package/routes/sessions.d.ts.map +0 -1
  875. package/routes/sessions.js +0 -966
  876. package/routes/sessions.js.map +0 -1
  877. package/routes/settings.d.ts +0 -4
  878. package/routes/settings.d.ts.map +0 -1
  879. package/routes/settings.js +0 -499
  880. package/routes/settings.js.map +0 -1
  881. package/routes/skills.d.ts +0 -4
  882. package/routes/skills.d.ts.map +0 -1
  883. package/routes/skills.js +0 -272
  884. package/routes/skills.js.map +0 -1
  885. package/routes/slack.d.ts +0 -10
  886. package/routes/slack.d.ts.map +0 -1
  887. package/routes/slack.js +0 -189
  888. package/routes/slack.js.map +0 -1
  889. package/routes/slides.d.ts +0 -4
  890. package/routes/slides.d.ts.map +0 -1
  891. package/routes/slides.js +0 -148
  892. package/routes/slides.js.map +0 -1
  893. package/routes/subagents.d.ts +0 -4
  894. package/routes/subagents.d.ts.map +0 -1
  895. package/routes/subagents.js +0 -331
  896. package/routes/subagents.js.map +0 -1
  897. package/routes/taskExecutor.d.ts +0 -9
  898. package/routes/taskExecutor.d.ts.map +0 -1
  899. package/routes/taskExecutor.js +0 -224
  900. package/routes/taskExecutor.js.map +0 -1
  901. package/routes/tunnel.d.ts +0 -10
  902. package/routes/tunnel.d.ts.map +0 -1
  903. package/routes/tunnel.js +0 -296
  904. package/routes/tunnel.js.map +0 -1
  905. package/routes/version.d.ts +0 -4
  906. package/routes/version.d.ts.map +0 -1
  907. package/routes/version.js +0 -216
  908. package/routes/version.js.map +0 -1
  909. package/schemas/a2a.d.ts +0 -946
  910. package/schemas/a2a.d.ts.map +0 -1
  911. package/schemas/a2a.js +0 -316
  912. package/schemas/a2a.js.map +0 -1
  913. package/scripts/postinstall.js +0 -10
  914. package/services/__tests__/pluginInstaller.test.d.ts +0 -5
  915. package/services/__tests__/pluginInstaller.test.d.ts.map +0 -1
  916. package/services/__tests__/pluginInstaller.test.js +0 -290
  917. package/services/__tests__/pluginInstaller.test.js.map +0 -1
  918. package/services/__tests__/pluginParser.test.d.ts +0 -5
  919. package/services/__tests__/pluginParser.test.d.ts.map +0 -1
  920. package/services/__tests__/pluginParser.test.js +0 -272
  921. package/services/__tests__/pluginParser.test.js.map +0 -1
  922. package/services/__tests__/pluginPaths.test.d.ts +0 -5
  923. package/services/__tests__/pluginPaths.test.d.ts.map +0 -1
  924. package/services/__tests__/pluginPaths.test.js +0 -221
  925. package/services/__tests__/pluginPaths.test.js.map +0 -1
  926. package/services/__tests__/pluginScanner.test.d.ts +0 -5
  927. package/services/__tests__/pluginScanner.test.d.ts.map +0 -1
  928. package/services/__tests__/pluginScanner.test.js +0 -272
  929. package/services/__tests__/pluginScanner.test.js.map +0 -1
  930. package/services/__tests__/pluginSymlink.test.d.ts +0 -5
  931. package/services/__tests__/pluginSymlink.test.d.ts.map +0 -1
  932. package/services/__tests__/pluginSymlink.test.js +0 -318
  933. package/services/__tests__/pluginSymlink.test.js.map +0 -1
  934. package/services/__tests__/projectMetadataStorage.test.d.ts +0 -5
  935. package/services/__tests__/projectMetadataStorage.test.d.ts.map +0 -1
  936. package/services/__tests__/projectMetadataStorage.test.js +0 -154
  937. package/services/__tests__/projectMetadataStorage.test.js.map +0 -1
  938. package/services/__tests__/sessionConcurrency.test.d.ts +0 -7
  939. package/services/__tests__/sessionConcurrency.test.d.ts.map +0 -1
  940. package/services/__tests__/sessionConcurrency.test.js +0 -110
  941. package/services/__tests__/sessionConcurrency.test.js.map +0 -1
  942. package/services/__tests__/slackAIService.test.d.ts +0 -5
  943. package/services/__tests__/slackAIService.test.d.ts.map +0 -1
  944. package/services/__tests__/slackAIService.test.js +0 -479
  945. package/services/__tests__/slackAIService.test.js.map +0 -1
  946. package/services/__tests__/slackThreadMapper.test.d.ts +0 -5
  947. package/services/__tests__/slackThreadMapper.test.d.ts.map +0 -1
  948. package/services/__tests__/slackThreadMapper.test.js +0 -194
  949. package/services/__tests__/slackThreadMapper.test.js.map +0 -1
  950. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +0 -6
  951. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +0 -1
  952. package/services/a2a/__tests__/a2aClientTool.integration.test.js +0 -264
  953. package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +0 -1
  954. package/services/a2a/__tests__/a2aClientTool.test.d.ts +0 -6
  955. package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +0 -1
  956. package/services/a2a/__tests__/a2aClientTool.test.js +0 -592
  957. package/services/a2a/__tests__/a2aClientTool.test.js.map +0 -1
  958. package/services/a2a/__tests__/a2aConfigService.test.d.ts +0 -6
  959. package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +0 -1
  960. package/services/a2a/__tests__/a2aConfigService.test.js +0 -431
  961. package/services/a2a/__tests__/a2aConfigService.test.js.map +0 -1
  962. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +0 -2
  963. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +0 -1
  964. package/services/a2a/__tests__/a2aConfigServicePath.test.js +0 -49
  965. package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +0 -1
  966. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +0 -10
  967. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +0 -1
  968. package/services/a2a/__tests__/a2aSdkMcp.test.js +0 -239
  969. package/services/a2a/__tests__/a2aSdkMcp.test.js.map +0 -1
  970. package/services/a2a/__tests__/agentCardService.test.d.ts +0 -6
  971. package/services/a2a/__tests__/agentCardService.test.d.ts.map +0 -1
  972. package/services/a2a/__tests__/agentCardService.test.js +0 -292
  973. package/services/a2a/__tests__/agentCardService.test.js.map +0 -1
  974. package/services/a2a/__tests__/apiKeyService.test.d.ts +0 -6
  975. package/services/a2a/__tests__/apiKeyService.test.d.ts.map +0 -1
  976. package/services/a2a/__tests__/apiKeyService.test.js +0 -284
  977. package/services/a2a/__tests__/apiKeyService.test.js.map +0 -1
  978. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +0 -2
  979. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +0 -1
  980. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +0 -70
  981. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +0 -1
  982. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +0 -2
  983. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +0 -1
  984. package/services/a2a/__tests__/dynamic_config_verification.test.js +0 -67
  985. package/services/a2a/__tests__/dynamic_config_verification.test.js.map +0 -1
  986. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +0 -2
  987. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +0 -1
  988. package/services/a2a/__tests__/integrateA2AMcpServer.test.js +0 -112
  989. package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +0 -1
  990. package/services/a2a/__tests__/taskManager.integration.test.d.ts +0 -7
  991. package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +0 -1
  992. package/services/a2a/__tests__/taskManager.integration.test.js +0 -346
  993. package/services/a2a/__tests__/taskManager.integration.test.js.map +0 -1
  994. package/services/a2a/__tests__/taskManager.test.d.ts +0 -7
  995. package/services/a2a/__tests__/taskManager.test.d.ts.map +0 -1
  996. package/services/a2a/__tests__/taskManager.test.js +0 -423
  997. package/services/a2a/__tests__/taskManager.test.js.map +0 -1
  998. package/services/a2a/__tests__/webhookService.test.d.ts +0 -6
  999. package/services/a2a/__tests__/webhookService.test.d.ts.map +0 -1
  1000. package/services/a2a/__tests__/webhookService.test.js +0 -196
  1001. package/services/a2a/__tests__/webhookService.test.js.map +0 -1
  1002. package/services/a2a/a2aClientTool.d.ts +0 -73
  1003. package/services/a2a/a2aClientTool.d.ts.map +0 -1
  1004. package/services/a2a/a2aClientTool.js +0 -595
  1005. package/services/a2a/a2aClientTool.js.map +0 -1
  1006. package/services/a2a/a2aConfigService.d.ts +0 -50
  1007. package/services/a2a/a2aConfigService.d.ts.map +0 -1
  1008. package/services/a2a/a2aConfigService.js +0 -186
  1009. package/services/a2a/a2aConfigService.js.map +0 -1
  1010. package/services/a2a/a2aHistoryService.d.ts +0 -32
  1011. package/services/a2a/a2aHistoryService.d.ts.map +0 -1
  1012. package/services/a2a/a2aHistoryService.js +0 -108
  1013. package/services/a2a/a2aHistoryService.js.map +0 -1
  1014. package/services/a2a/a2aIntegration.d.ts +0 -10
  1015. package/services/a2a/a2aIntegration.d.ts.map +0 -1
  1016. package/services/a2a/a2aIntegration.js +0 -42
  1017. package/services/a2a/a2aIntegration.js.map +0 -1
  1018. package/services/a2a/a2aQueryService.d.ts +0 -71
  1019. package/services/a2a/a2aQueryService.d.ts.map +0 -1
  1020. package/services/a2a/a2aQueryService.js +0 -209
  1021. package/services/a2a/a2aQueryService.js.map +0 -1
  1022. package/services/a2a/a2aSdkMcp.d.ts +0 -52
  1023. package/services/a2a/a2aSdkMcp.d.ts.map +0 -1
  1024. package/services/a2a/a2aSdkMcp.js +0 -188
  1025. package/services/a2a/a2aSdkMcp.js.map +0 -1
  1026. package/services/a2a/a2aStreamEvents.d.ts +0 -94
  1027. package/services/a2a/a2aStreamEvents.d.ts.map +0 -1
  1028. package/services/a2a/a2aStreamEvents.js +0 -92
  1029. package/services/a2a/a2aStreamEvents.js.map +0 -1
  1030. package/services/a2a/agentCardService.d.ts +0 -34
  1031. package/services/a2a/agentCardService.d.ts.map +0 -1
  1032. package/services/a2a/agentCardService.js +0 -228
  1033. package/services/a2a/agentCardService.js.map +0 -1
  1034. package/services/a2a/agentMappingService.d.ts +0 -53
  1035. package/services/a2a/agentMappingService.d.ts.map +0 -1
  1036. package/services/a2a/agentMappingService.js +0 -185
  1037. package/services/a2a/agentMappingService.js.map +0 -1
  1038. package/services/a2a/apiKeyService.d.ts +0 -101
  1039. package/services/a2a/apiKeyService.d.ts.map +0 -1
  1040. package/services/a2a/apiKeyService.js +0 -314
  1041. package/services/a2a/apiKeyService.js.map +0 -1
  1042. package/services/a2a/taskCleanup.d.ts +0 -30
  1043. package/services/a2a/taskCleanup.d.ts.map +0 -1
  1044. package/services/a2a/taskCleanup.js +0 -184
  1045. package/services/a2a/taskCleanup.js.map +0 -1
  1046. package/services/a2a/taskManager.d.ts +0 -87
  1047. package/services/a2a/taskManager.d.ts.map +0 -1
  1048. package/services/a2a/taskManager.js +0 -265
  1049. package/services/a2a/taskManager.js.map +0 -1
  1050. package/services/a2a/webhookService.d.ts +0 -30
  1051. package/services/a2a/webhookService.d.ts.map +0 -1
  1052. package/services/a2a/webhookService.js +0 -113
  1053. package/services/a2a/webhookService.js.map +0 -1
  1054. package/services/agentStorage.d.ts +0 -27
  1055. package/services/agentStorage.d.ts.map +0 -1
  1056. package/services/agentStorage.js +0 -487
  1057. package/services/agentStorage.js.map +0 -1
  1058. package/services/askUserQuestion/askUserQuestionIntegration.d.ts +0 -24
  1059. package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +0 -1
  1060. package/services/askUserQuestion/askUserQuestionIntegration.js +0 -52
  1061. package/services/askUserQuestion/askUserQuestionIntegration.js.map +0 -1
  1062. package/services/askUserQuestion/askUserQuestionMcp.d.ts +0 -103
  1063. package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +0 -1
  1064. package/services/askUserQuestion/askUserQuestionMcp.js +0 -129
  1065. package/services/askUserQuestion/askUserQuestionMcp.js.map +0 -1
  1066. package/services/askUserQuestion/index.d.ts +0 -13
  1067. package/services/askUserQuestion/index.d.ts.map +0 -1
  1068. package/services/askUserQuestion/index.js +0 -35
  1069. package/services/askUserQuestion/index.js.map +0 -1
  1070. package/services/askUserQuestion/init.d.ts +0 -17
  1071. package/services/askUserQuestion/init.d.ts.map +0 -1
  1072. package/services/askUserQuestion/init.js +0 -47
  1073. package/services/askUserQuestion/init.js.map +0 -1
  1074. package/services/askUserQuestion/notificationChannel.d.ts +0 -97
  1075. package/services/askUserQuestion/notificationChannel.d.ts.map +0 -1
  1076. package/services/askUserQuestion/notificationChannel.js +0 -147
  1077. package/services/askUserQuestion/notificationChannel.js.map +0 -1
  1078. package/services/askUserQuestion/slackNotificationChannel.d.ts +0 -35
  1079. package/services/askUserQuestion/slackNotificationChannel.d.ts.map +0 -1
  1080. package/services/askUserQuestion/slackNotificationChannel.js +0 -129
  1081. package/services/askUserQuestion/slackNotificationChannel.js.map +0 -1
  1082. package/services/askUserQuestion/sseNotificationChannel.d.ts +0 -36
  1083. package/services/askUserQuestion/sseNotificationChannel.d.ts.map +0 -1
  1084. package/services/askUserQuestion/sseNotificationChannel.js +0 -88
  1085. package/services/askUserQuestion/sseNotificationChannel.js.map +0 -1
  1086. package/services/askUserQuestion/userInputRegistry.d.ts +0 -107
  1087. package/services/askUserQuestion/userInputRegistry.d.ts.map +0 -1
  1088. package/services/askUserQuestion/userInputRegistry.js +0 -253
  1089. package/services/askUserQuestion/userInputRegistry.js.map +0 -1
  1090. package/services/claudeSession.d.ts +0 -113
  1091. package/services/claudeSession.d.ts.map +0 -1
  1092. package/services/claudeSession.js +0 -375
  1093. package/services/claudeSession.js.map +0 -1
  1094. package/services/claudeVersionStorage.d.ts +0 -20
  1095. package/services/claudeVersionStorage.d.ts.map +0 -1
  1096. package/services/claudeVersionStorage.js +0 -331
  1097. package/services/claudeVersionStorage.js.map +0 -1
  1098. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +0 -5
  1099. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +0 -1
  1100. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +0 -289
  1101. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +0 -1
  1102. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +0 -5
  1103. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +0 -1
  1104. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +0 -345
  1105. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +0 -1
  1106. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +0 -5
  1107. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +0 -1
  1108. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +0 -453
  1109. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +0 -1
  1110. package/services/mcpAdmin/__tests__/providerTools.test.d.ts +0 -7
  1111. package/services/mcpAdmin/__tests__/providerTools.test.d.ts.map +0 -1
  1112. package/services/mcpAdmin/__tests__/providerTools.test.js +0 -258
  1113. package/services/mcpAdmin/__tests__/providerTools.test.js.map +0 -1
  1114. package/services/mcpAdmin/__tests__/tools.test.d.ts +0 -5
  1115. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +0 -1
  1116. package/services/mcpAdmin/__tests__/tools.test.js +0 -389
  1117. package/services/mcpAdmin/__tests__/tools.test.js.map +0 -1
  1118. package/services/mcpAdmin/adminApiKeyService.d.ts +0 -61
  1119. package/services/mcpAdmin/adminApiKeyService.d.ts.map +0 -1
  1120. package/services/mcpAdmin/adminApiKeyService.js +0 -270
  1121. package/services/mcpAdmin/adminApiKeyService.js.map +0 -1
  1122. package/services/mcpAdmin/index.d.ts +0 -10
  1123. package/services/mcpAdmin/index.d.ts.map +0 -1
  1124. package/services/mcpAdmin/index.js +0 -43
  1125. package/services/mcpAdmin/index.js.map +0 -1
  1126. package/services/mcpAdmin/mcpAdminServer.d.ts +0 -76
  1127. package/services/mcpAdmin/mcpAdminServer.d.ts.map +0 -1
  1128. package/services/mcpAdmin/mcpAdminServer.js +0 -243
  1129. package/services/mcpAdmin/mcpAdminServer.js.map +0 -1
  1130. package/services/mcpAdmin/tools/agentTools.d.ts +0 -27
  1131. package/services/mcpAdmin/tools/agentTools.d.ts.map +0 -1
  1132. package/services/mcpAdmin/tools/agentTools.js +0 -352
  1133. package/services/mcpAdmin/tools/agentTools.js.map +0 -1
  1134. package/services/mcpAdmin/tools/index.d.ts +0 -16
  1135. package/services/mcpAdmin/tools/index.d.ts.map +0 -1
  1136. package/services/mcpAdmin/tools/index.js +0 -34
  1137. package/services/mcpAdmin/tools/index.js.map +0 -1
  1138. package/services/mcpAdmin/tools/mcpServerTools.d.ts +0 -27
  1139. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +0 -1
  1140. package/services/mcpAdmin/tools/mcpServerTools.js +0 -334
  1141. package/services/mcpAdmin/tools/mcpServerTools.js.map +0 -1
  1142. package/services/mcpAdmin/tools/projectTools.d.ts +0 -27
  1143. package/services/mcpAdmin/tools/projectTools.d.ts.map +0 -1
  1144. package/services/mcpAdmin/tools/projectTools.js +0 -382
  1145. package/services/mcpAdmin/tools/projectTools.js.map +0 -1
  1146. package/services/mcpAdmin/tools/providerTools.d.ts +0 -40
  1147. package/services/mcpAdmin/tools/providerTools.d.ts.map +0 -1
  1148. package/services/mcpAdmin/tools/providerTools.js +0 -581
  1149. package/services/mcpAdmin/tools/providerTools.js.map +0 -1
  1150. package/services/mcpAdmin/tools/systemTools.d.ts +0 -23
  1151. package/services/mcpAdmin/tools/systemTools.d.ts.map +0 -1
  1152. package/services/mcpAdmin/tools/systemTools.js +0 -241
  1153. package/services/mcpAdmin/tools/systemTools.js.map +0 -1
  1154. package/services/mcpAdmin/types.d.ts +0 -124
  1155. package/services/mcpAdmin/types.d.ts.map +0 -1
  1156. package/services/mcpAdmin/types.js +0 -18
  1157. package/services/mcpAdmin/types.js.map +0 -1
  1158. package/services/messageQueue.d.ts +0 -31
  1159. package/services/messageQueue.d.ts.map +0 -1
  1160. package/services/messageQueue.js +0 -80
  1161. package/services/messageQueue.js.map +0 -1
  1162. package/services/pluginInstaller.d.ts +0 -58
  1163. package/services/pluginInstaller.d.ts.map +0 -1
  1164. package/services/pluginInstaller.js +0 -321
  1165. package/services/pluginInstaller.js.map +0 -1
  1166. package/services/pluginParser.d.ts +0 -45
  1167. package/services/pluginParser.d.ts.map +0 -1
  1168. package/services/pluginParser.js +0 -437
  1169. package/services/pluginParser.js.map +0 -1
  1170. package/services/pluginPaths.d.ts +0 -80
  1171. package/services/pluginPaths.d.ts.map +0 -1
  1172. package/services/pluginPaths.js +0 -274
  1173. package/services/pluginPaths.js.map +0 -1
  1174. package/services/pluginScanner.d.ts +0 -36
  1175. package/services/pluginScanner.d.ts.map +0 -1
  1176. package/services/pluginScanner.js +0 -251
  1177. package/services/pluginScanner.js.map +0 -1
  1178. package/services/pluginSymlink.d.ts +0 -54
  1179. package/services/pluginSymlink.d.ts.map +0 -1
  1180. package/services/pluginSymlink.js +0 -223
  1181. package/services/pluginSymlink.js.map +0 -1
  1182. package/services/projectMetadataStorage.d.ts +0 -121
  1183. package/services/projectMetadataStorage.d.ts.map +0 -1
  1184. package/services/projectMetadataStorage.js +0 -808
  1185. package/services/projectMetadataStorage.js.map +0 -1
  1186. package/services/scheduledTaskStorage.d.ts +0 -63
  1187. package/services/scheduledTaskStorage.d.ts.map +0 -1
  1188. package/services/scheduledTaskStorage.js +0 -351
  1189. package/services/scheduledTaskStorage.js.map +0 -1
  1190. package/services/schedulerService.d.ts +0 -91
  1191. package/services/schedulerService.d.ts.map +0 -1
  1192. package/services/schedulerService.js +0 -590
  1193. package/services/schedulerService.js.map +0 -1
  1194. package/services/sessionManager.d.ts +0 -176
  1195. package/services/sessionManager.d.ts.map +0 -1
  1196. package/services/sessionManager.js +0 -647
  1197. package/services/sessionManager.js.map +0 -1
  1198. package/services/skillStorage.d.ts +0 -60
  1199. package/services/skillStorage.d.ts.map +0 -1
  1200. package/services/skillStorage.js +0 -398
  1201. package/services/skillStorage.js.map +0 -1
  1202. package/services/slackAIService.d.ts +0 -81
  1203. package/services/slackAIService.d.ts.map +0 -1
  1204. package/services/slackAIService.js +0 -1137
  1205. package/services/slackAIService.js.map +0 -1
  1206. package/services/slackClient.d.ts +0 -46
  1207. package/services/slackClient.d.ts.map +0 -1
  1208. package/services/slackClient.js +0 -85
  1209. package/services/slackClient.js.map +0 -1
  1210. package/services/slackSessionLock.d.ts +0 -79
  1211. package/services/slackSessionLock.d.ts.map +0 -1
  1212. package/services/slackSessionLock.js +0 -353
  1213. package/services/slackSessionLock.js.map +0 -1
  1214. package/services/slackThreadMapper.d.ts +0 -57
  1215. package/services/slackThreadMapper.d.ts.map +0 -1
  1216. package/services/slackThreadMapper.js +0 -140
  1217. package/services/slackThreadMapper.js.map +0 -1
  1218. package/services/taskExecutor/BuiltinExecutor.d.ts +0 -44
  1219. package/services/taskExecutor/BuiltinExecutor.d.ts.map +0 -1
  1220. package/services/taskExecutor/BuiltinExecutor.js +0 -513
  1221. package/services/taskExecutor/BuiltinExecutor.js.map +0 -1
  1222. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts +0 -7
  1223. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts.map +0 -1
  1224. package/services/taskExecutor/__tests__/a2a-tasks.test.js +0 -328
  1225. package/services/taskExecutor/__tests__/a2a-tasks.test.js.map +0 -1
  1226. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts +0 -7
  1227. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts.map +0 -1
  1228. package/services/taskExecutor/__tests__/e2e-workflows.test.js +0 -446
  1229. package/services/taskExecutor/__tests__/e2e-workflows.test.js.map +0 -1
  1230. package/services/taskExecutor/__tests__/error-handling.test.d.ts +0 -7
  1231. package/services/taskExecutor/__tests__/error-handling.test.d.ts.map +0 -1
  1232. package/services/taskExecutor/__tests__/error-handling.test.js +0 -387
  1233. package/services/taskExecutor/__tests__/error-handling.test.js.map +0 -1
  1234. package/services/taskExecutor/__tests__/stress.test.d.ts +0 -7
  1235. package/services/taskExecutor/__tests__/stress.test.d.ts.map +0 -1
  1236. package/services/taskExecutor/__tests__/stress.test.js +0 -329
  1237. package/services/taskExecutor/__tests__/stress.test.js.map +0 -1
  1238. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts +0 -7
  1239. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts.map +0 -1
  1240. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js +0 -205
  1241. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js.map +0 -1
  1242. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts +0 -7
  1243. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts.map +0 -1
  1244. package/services/taskExecutor/__tests__/timeout-cancellation.test.js +0 -319
  1245. package/services/taskExecutor/__tests__/timeout-cancellation.test.js.map +0 -1
  1246. package/services/taskExecutor/index.d.ts +0 -40
  1247. package/services/taskExecutor/index.d.ts.map +0 -1
  1248. package/services/taskExecutor/index.js +0 -166
  1249. package/services/taskExecutor/index.js.map +0 -1
  1250. package/services/taskExecutor/taskWorker.d.ts +0 -11
  1251. package/services/taskExecutor/taskWorker.d.ts.map +0 -1
  1252. package/services/taskExecutor/taskWorker.js +0 -170
  1253. package/services/taskExecutor/taskWorker.js.map +0 -1
  1254. package/services/taskExecutor/types.d.ts +0 -145
  1255. package/services/taskExecutor/types.d.ts.map +0 -1
  1256. package/services/taskExecutor/types.js +0 -9
  1257. package/services/taskExecutor/types.js.map +0 -1
  1258. package/services/telemetry.d.ts +0 -40
  1259. package/services/telemetry.d.ts.map +0 -1
  1260. package/services/telemetry.js +0 -245
  1261. package/services/telemetry.js.map +0 -1
  1262. package/services/tunnelService.d.ts +0 -150
  1263. package/services/tunnelService.d.ts.map +0 -1
  1264. package/services/tunnelService.js +0 -412
  1265. package/services/tunnelService.js.map +0 -1
  1266. package/types/a2a.d.ts +0 -293
  1267. package/types/a2a.d.ts.map +0 -1
  1268. package/types/a2a.js +0 -23
  1269. package/types/a2a.js.map +0 -1
  1270. package/types/agents.d.ts +0 -94
  1271. package/types/agents.d.ts.map +0 -1
  1272. package/types/agents.js +0 -45
  1273. package/types/agents.js.map +0 -1
  1274. package/types/claude-history.d.ts +0 -62
  1275. package/types/claude-history.d.ts.map +0 -1
  1276. package/types/claude-history.js +0 -4
  1277. package/types/claude-history.js.map +0 -1
  1278. package/types/claude-versions.d.ts +0 -36
  1279. package/types/claude-versions.d.ts.map +0 -1
  1280. package/types/claude-versions.js +0 -3
  1281. package/types/claude-versions.js.map +0 -1
  1282. package/types/commands.d.ts +0 -50
  1283. package/types/commands.d.ts.map +0 -1
  1284. package/types/commands.js +0 -23
  1285. package/types/commands.js.map +0 -1
  1286. package/types/plugins.d.ts +0 -144
  1287. package/types/plugins.d.ts.map +0 -1
  1288. package/types/plugins.js +0 -8
  1289. package/types/plugins.js.map +0 -1
  1290. package/types/projects.d.ts +0 -44
  1291. package/types/projects.d.ts.map +0 -1
  1292. package/types/projects.js +0 -4
  1293. package/types/projects.js.map +0 -1
  1294. package/types/scheduledTasks.d.ts +0 -168
  1295. package/types/scheduledTasks.d.ts.map +0 -1
  1296. package/types/scheduledTasks.js +0 -17
  1297. package/types/scheduledTasks.js.map +0 -1
  1298. package/types/skills.d.ts +0 -91
  1299. package/types/skills.d.ts.map +0 -1
  1300. package/types/skills.js +0 -6
  1301. package/types/skills.js.map +0 -1
  1302. package/types/slack.d.ts +0 -97
  1303. package/types/slack.d.ts.map +0 -1
  1304. package/types/slack.js +0 -8
  1305. package/types/slack.js.map +0 -1
  1306. package/types/streaming.d.ts +0 -12
  1307. package/types/streaming.d.ts.map +0 -1
  1308. package/types/streaming.js +0 -8
  1309. package/types/streaming.js.map +0 -1
  1310. package/types/subagents.d.ts +0 -26
  1311. package/types/subagents.d.ts.map +0 -1
  1312. package/types/subagents.js +0 -3
  1313. package/types/subagents.js.map +0 -1
  1314. package/utils/__tests__/claudeUtils.test.d.ts +0 -5
  1315. package/utils/__tests__/claudeUtils.test.d.ts.map +0 -1
  1316. package/utils/__tests__/claudeUtils.test.js +0 -283
  1317. package/utils/__tests__/claudeUtils.test.js.map +0 -1
  1318. package/utils/__tests__/configResolver.test.d.ts +0 -7
  1319. package/utils/__tests__/configResolver.test.d.ts.map +0 -1
  1320. package/utils/__tests__/configResolver.test.js +0 -211
  1321. package/utils/__tests__/configResolver.test.js.map +0 -1
  1322. package/utils/__tests__/sessionUtils.test.d.ts +0 -5
  1323. package/utils/__tests__/sessionUtils.test.d.ts.map +0 -1
  1324. package/utils/__tests__/sessionUtils.test.js +0 -296
  1325. package/utils/__tests__/sessionUtils.test.js.map +0 -1
  1326. package/utils/agentCardCache.d.ts +0 -93
  1327. package/utils/agentCardCache.d.ts.map +0 -1
  1328. package/utils/agentCardCache.js +0 -212
  1329. package/utils/agentCardCache.js.map +0 -1
  1330. package/utils/claudeUtils.d.ts +0 -55
  1331. package/utils/claudeUtils.d.ts.map +0 -1
  1332. package/utils/claudeUtils.js +0 -354
  1333. package/utils/claudeUtils.js.map +0 -1
  1334. package/utils/configResolver.d.ts +0 -57
  1335. package/utils/configResolver.d.ts.map +0 -1
  1336. package/utils/configResolver.js +0 -130
  1337. package/utils/configResolver.js.map +0 -1
  1338. package/utils/fileUtils.d.ts +0 -2
  1339. package/utils/fileUtils.d.ts.map +0 -1
  1340. package/utils/fileUtils.js +0 -11
  1341. package/utils/fileUtils.js.map +0 -1
  1342. package/utils/jwt.d.ts +0 -30
  1343. package/utils/jwt.d.ts.map +0 -1
  1344. package/utils/jwt.js +0 -95
  1345. package/utils/jwt.js.map +0 -1
  1346. package/utils/sessionUtils.d.ts +0 -67
  1347. package/utils/sessionUtils.d.ts.map +0 -1
  1348. package/utils/sessionUtils.js +0 -296
  1349. package/utils/sessionUtils.js.map +0 -1
  1350. /package/{public → frontend/public}/cc-studio.png +0 -0
  1351. /package/{public → frontend/public}/screenshot-chat.png +0 -0
  1352. /package/{public → frontend/public}/screenshot-mcp.png +0 -0
  1353. /package/{public → frontend/public}/vite.svg +0 -0
  1354. /package/{public → frontend/public}/wechat-qr-code.png +0 -0
@@ -0,0 +1,194 @@
1
+ /**
2
+ * A2A Configuration Service
3
+ *
4
+ * Manages project-level A2A configuration including allowed agents, timeouts, and limits.
5
+ * Configuration stored in projects/:projectId/.a2a/config.json
6
+ *
7
+ * Phase 5: US3 - Agent as A2A Client (config dependency)
8
+ * Phase 7: US5 - Project-Level A2A Configuration (full implementation)
9
+ */
10
+
11
+ import fs from 'fs/promises';
12
+ import path from 'path';
13
+ import lockfile from 'proper-lockfile';
14
+ import type { A2AConfig } from '../../types/a2a.js';
15
+ import { DEFAULT_A2A_CONFIG } from '../../types/a2a.js';
16
+ import { isIPAddress } from '../../middleware/httpsOnly.js';
17
+ import { getProjectsDir } from '../../config/sdkConfig.js';
18
+
19
+ const LOCK_OPTIONS = {
20
+ retries: { retries: 5, minTimeout: 100, maxTimeout: 500 },
21
+ };
22
+
23
+ /**
24
+ * Get path to project's A2A config file
25
+ *
26
+ * @param projectId - Project identifier (used as directory name)
27
+ * @returns Absolute path to config file
28
+ */
29
+ function getConfigPath(projectId: string): string {
30
+ // Check if the projectId looks like an absolute path
31
+ if (path.isAbsolute(projectId)) {
32
+ return path.join(projectId, '.a2a', 'config.json');
33
+ }
34
+
35
+ // Projects are stored in SDK projects directory (e.g., ~/.claude/projects/)
36
+ const projectsDir = getProjectsDir();
37
+ return path.join(projectsDir, projectId, '.a2a', 'config.json');
38
+ }
39
+
40
+ /**
41
+ * Load A2A configuration for a project
42
+ *
43
+ * Returns default config if file doesn't exist.
44
+ *
45
+ * @param projectId - Project identifier
46
+ * @returns A2A configuration or null on error
47
+ */
48
+ export async function loadA2AConfig(projectId: string): Promise<A2AConfig | null> {
49
+ const configPath = getConfigPath(projectId);
50
+
51
+ try {
52
+ const data = await fs.readFile(configPath, 'utf-8');
53
+ const config: A2AConfig = JSON.parse(data);
54
+ return config;
55
+ } catch (error) {
56
+ // If file doesn't exist, return default config
57
+ if ((error as NodeJS.ErrnoException).code === 'ENOENT') {
58
+ return DEFAULT_A2A_CONFIG;
59
+ }
60
+
61
+ console.error(`[A2A Config] Error loading config for project ${projectId}:`, error);
62
+ return null;
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Save A2A configuration for a project
68
+ *
69
+ * Creates directory structure if needed.
70
+ * Uses file locking for concurrent safety.
71
+ *
72
+ * @param projectId - Project identifier
73
+ * @param config - A2A configuration to save
74
+ */
75
+ export async function saveA2AConfig(projectId: string, config: A2AConfig): Promise<void> {
76
+ const configPath = getConfigPath(projectId);
77
+ const configDir = path.dirname(configPath);
78
+
79
+ // Ensure directory exists
80
+ await fs.mkdir(configDir, { recursive: true });
81
+
82
+ // Create empty file if it doesn't exist (helps with file locking)
83
+ try {
84
+ await fs.access(configPath);
85
+ } catch {
86
+ // File doesn't exist, create empty file
87
+ await fs.writeFile(configPath, '{}', 'utf-8');
88
+ }
89
+
90
+ // Acquire lock for atomic write
91
+ const release = await lockfile.lock(configPath, LOCK_OPTIONS);
92
+
93
+ try {
94
+ await fs.writeFile(configPath, JSON.stringify(config, null, 2), 'utf-8');
95
+ } finally {
96
+ await release();
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Validate A2A configuration
102
+ *
103
+ * Checks for required fields and value constraints.
104
+ *
105
+ * @param config - Configuration to validate
106
+ * @returns Validation result with error details if invalid
107
+ */
108
+ export function validateA2AConfig(config: A2AConfig): {
109
+ valid: boolean;
110
+ errors?: string[];
111
+ } {
112
+ const errors: string[] = [];
113
+
114
+ // Validate allowedAgents
115
+ if (!Array.isArray(config.allowedAgents)) {
116
+ errors.push('allowedAgents must be an array');
117
+ } else {
118
+ config.allowedAgents.forEach((agent, index) => {
119
+ if (!agent.name || typeof agent.name !== 'string') {
120
+ errors.push(`allowedAgents[${index}].name is required and must be a string`);
121
+ }
122
+
123
+ if (!agent.url || typeof agent.url !== 'string') {
124
+ errors.push(`allowedAgents[${index}].url is required and must be a string`);
125
+ } else {
126
+ // Validate URL format
127
+ try {
128
+ const parsedUrl = new URL(agent.url);
129
+ // In production, require HTTPS for domain names
130
+ // IP addresses are exempt (internal/proxy scenarios)
131
+ if (process.env.NODE_ENV === 'production' && !agent.url.startsWith('https://')) {
132
+ // Check if hostname is an IP address
133
+ const isIP = isIPAddress(parsedUrl.hostname);
134
+ if (!isIP) {
135
+ errors.push(`allowedAgents[${index}].url must use HTTPS in production (IP addresses exempt)`);
136
+ }
137
+ }
138
+ } catch {
139
+ errors.push(`allowedAgents[${index}].url is not a valid URL`);
140
+ }
141
+ }
142
+
143
+ if (agent.apiKey === undefined || typeof agent.apiKey !== 'string') {
144
+ errors.push(`allowedAgents[${index}].apiKey is required and must be a string`);
145
+ }
146
+
147
+ if (typeof agent.enabled !== 'boolean') {
148
+ errors.push(`allowedAgents[${index}].enabled must be a boolean`);
149
+ }
150
+ });
151
+ }
152
+
153
+ // Validate taskTimeout
154
+ if (typeof config.taskTimeout !== 'number') {
155
+ errors.push('taskTimeout must be a number');
156
+ } else if (config.taskTimeout < 1000 || config.taskTimeout > 1800000) {
157
+ errors.push('taskTimeout must be between 1000 and 1800000 milliseconds');
158
+ }
159
+
160
+ // Validate maxConcurrentTasks
161
+ if (typeof config.maxConcurrentTasks !== 'number') {
162
+ errors.push('maxConcurrentTasks must be a number');
163
+ } else if (config.maxConcurrentTasks < 1 || config.maxConcurrentTasks > 50) {
164
+ errors.push('maxConcurrentTasks must be between 1 and 50');
165
+ }
166
+
167
+ return {
168
+ valid: errors.length === 0,
169
+ errors: errors.length > 0 ? errors : undefined,
170
+ };
171
+ }
172
+
173
+ /**
174
+ * Initialize default A2A config for a new project
175
+ *
176
+ * Creates .a2a directory and config.json with default values.
177
+ *
178
+ * @param projectId - Project identifier
179
+ */
180
+ export async function initializeA2AConfig(projectId: string): Promise<void> {
181
+ const existingConfig = await loadA2AConfig(projectId);
182
+
183
+ // Only initialize if config doesn't exist (loadA2AConfig returns DEFAULT_A2A_CONFIG for missing files)
184
+ const configPath = getConfigPath(projectId);
185
+ try {
186
+ await fs.access(configPath);
187
+ // File exists, don't overwrite
188
+ return;
189
+ } catch {
190
+ // File doesn't exist, create it
191
+ await saveA2AConfig(projectId, DEFAULT_A2A_CONFIG);
192
+ console.info(`[A2A Config] Initialized default config for project ${projectId}`);
193
+ }
194
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * A2A History Service
3
+ *
4
+ * Manages the persistence of A2A message history using JSONL files.
5
+ * This allows retrieving the full event stream of an external agent call later.
6
+ *
7
+ * Storage path: {workingDirectory}/.a2a/history/{sessionId}.jsonl
8
+ */
9
+
10
+ import fs from 'fs/promises';
11
+ import path from 'path';
12
+ import { ensureDir } from '../../utils/fileUtils.js';
13
+ import { Buffer } from 'buffer';
14
+
15
+ export class A2AHistoryService {
16
+ /**
17
+ * Get the directory path for A2A history
18
+ */
19
+ private getHistoryDir(workingDirectory: string): string {
20
+ return path.join(workingDirectory, '.a2a', 'history');
21
+ }
22
+
23
+ /**
24
+ * Get the file path for a specific session
25
+ */
26
+ private getHistoryFilePath(workingDirectory: string, sessionId: string): string {
27
+ return path.join(this.getHistoryDir(workingDirectory), `${sessionId}.jsonl`);
28
+ }
29
+
30
+ /**
31
+ * Append an event to the history file
32
+ */
33
+ async appendEvent(workingDirectory: string, sessionId: string, event: any): Promise<void> {
34
+ const historyDir = this.getHistoryDir(workingDirectory);
35
+ await ensureDir(historyDir);
36
+
37
+ const filePath = this.getHistoryFilePath(workingDirectory, sessionId);
38
+ const line = JSON.stringify(event) + '\n';
39
+
40
+ await fs.appendFile(filePath, line, 'utf-8');
41
+ }
42
+
43
+ /**
44
+ * Read the full history for a session
45
+ */
46
+ async getHistory(workingDirectory: string, sessionId: string): Promise<any[]> {
47
+ const filePath = this.getHistoryFilePath(workingDirectory, sessionId);
48
+
49
+ try {
50
+ const content = await fs.readFile(filePath, 'utf-8');
51
+ return content
52
+ .split('\n')
53
+ .filter((line: string) => line.trim())
54
+ .map((line: string) => JSON.parse(line));
55
+ } catch (error: any) {
56
+ if (error.code === 'ENOENT') {
57
+ return [];
58
+ }
59
+ throw error;
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Watch the history file and yield new lines as they are written
65
+ */
66
+ async *tailHistory(workingDirectory: string, sessionId: string, signal?: AbortSignal): AsyncGenerator<any> {
67
+ const filePath = this.getHistoryFilePath(workingDirectory, sessionId);
68
+ let currentSize = 0;
69
+
70
+ // Wait for file to exist
71
+ while (!signal?.aborted) {
72
+ try {
73
+ const stats = await fs.stat(filePath);
74
+ if (stats.isFile()) break;
75
+ } catch {
76
+ await new Promise(resolve => setTimeout(resolve, 100));
77
+ }
78
+ }
79
+
80
+ while (!signal?.aborted) {
81
+ try {
82
+ const stats = await fs.stat(filePath);
83
+ if (stats.size > currentSize) {
84
+ const handle = await fs.open(filePath, 'r');
85
+ const buffer = Buffer.alloc(stats.size - currentSize);
86
+ await handle.read(buffer, 0, stats.size - currentSize, currentSize);
87
+ await handle.close();
88
+
89
+ const content = buffer.toString('utf-8');
90
+ const lines = content.split('\n').filter((line: string) => line.trim());
91
+
92
+ for (const line of lines) {
93
+ try {
94
+ yield JSON.parse(line);
95
+ } catch {
96
+ // Ignore parse errors
97
+ }
98
+ }
99
+
100
+ currentSize = stats.size;
101
+ }
102
+ } catch {
103
+ // Ignore errors (e.g. file not found yet)
104
+ }
105
+
106
+ await new Promise(resolve => setTimeout(resolve, 200)); // Poll every 200ms
107
+ }
108
+ }
109
+ }
110
+
111
+ export const a2aHistoryService = new A2AHistoryService();
@@ -0,0 +1,40 @@
1
+ import { createA2ASdkMcpServer, getA2AToolName } from './a2aSdkMcp.js';
2
+
3
+ /**
4
+ * Helper to integrate A2A SDK MCP server into query options
5
+ *
6
+ * @param queryOptions - The query options object to modify
7
+ * @param projectId - Project identifier
8
+ * @param streamEnabled - Whether to enable streaming for external agent calls (default: false)
9
+ * @returns The modified query options (same object reference)
10
+ */
11
+ export async function integrateA2AMcpServer(queryOptions: any, projectId: string, streamEnabled: boolean = false) {
12
+ try {
13
+ // Create SDK MCP server for A2A (in-process)
14
+ const { server: a2aServer } = await createA2ASdkMcpServer(projectId, streamEnabled);
15
+
16
+ // Add to mcpServers
17
+ if (a2aServer) {
18
+ queryOptions.mcpServers = {
19
+ ...queryOptions.mcpServers,
20
+ "a2a-client": a2aServer
21
+ };
22
+
23
+ // Add tool to allowedTools
24
+ const a2aToolName = getA2AToolName();
25
+ if (!queryOptions.allowedTools) {
26
+ queryOptions.allowedTools = [a2aToolName];
27
+ } else {
28
+ // Avoid duplicates
29
+ if (!queryOptions.allowedTools.includes(a2aToolName)) {
30
+ queryOptions.allowedTools.push(a2aToolName);
31
+ }
32
+ }
33
+ }
34
+ } catch (error) {
35
+ console.error('❌ [A2A] Failed to integrate SDK MCP server:', error);
36
+ // Continue without A2A support rather than failing
37
+ }
38
+
39
+ return queryOptions;
40
+ }
@@ -0,0 +1,275 @@
1
+ /**
2
+ * A2A Query Service - One-shot Query Mode
3
+ *
4
+ * This service provides a one-shot query mode for A2A requests.
5
+ * Instead of using ClaudeSession (Streaming Input Mode with MessageQueue),
6
+ * it uses an async generator that naturally completes after yielding the message.
7
+ *
8
+ * Benefits:
9
+ * - Each A2A request is independent, no session reuse issues
10
+ * - Query automatically completes when generator ends
11
+ * - Still supports resume for history context
12
+ * - Still supports images and multi-part messages via Streaming Input
13
+ */
14
+
15
+ import { query, Options } from '@anthropic-ai/claude-agent-sdk';
16
+ import type { SDKMessage } from '@anthropic-ai/claude-agent-sdk';
17
+
18
+ /**
19
+ * User message content type for multi-part messages (text + images)
20
+ */
21
+ export interface UserMessageContent {
22
+ type: 'text' | 'image';
23
+ text?: string;
24
+ source?: {
25
+ type: 'base64';
26
+ media_type: string;
27
+ data: string;
28
+ };
29
+ }
30
+
31
+ /**
32
+ * A2A Query options extending Claude SDK Options
33
+ */
34
+ export interface A2AQueryOptions extends Options {
35
+ resume?: string;
36
+ }
37
+
38
+ /**
39
+ * Create an async generator for A2A messages
40
+ * The generator yields the user message and then completes,
41
+ * allowing the query to naturally finish.
42
+ *
43
+ * Uses 'any' type to match MessageQueue's approach and avoid SDK type incompatibility.
44
+ *
45
+ * @param content - Message content (string or array of content blocks)
46
+ */
47
+ async function* createA2AMessageGenerator(
48
+ content: string | UserMessageContent[]
49
+ ): AsyncGenerator<any, void, unknown> {
50
+ const messageContent = typeof content === 'string'
51
+ ? [{ type: 'text' as const, text: content }]
52
+ : content;
53
+
54
+ yield {
55
+ type: 'user' as const,
56
+ message: {
57
+ role: 'user' as const,
58
+ content: messageContent
59
+ }
60
+ };
61
+ // Generator ends here, query will naturally complete after processing
62
+ }
63
+
64
+ /**
65
+ * Execute a one-shot A2A query
66
+ *
67
+ * This function creates a new query for each A2A request, using an async generator
68
+ * that completes after yielding the message. This avoids the session reuse issues
69
+ * that can occur with ClaudeSession's MessageQueue approach.
70
+ *
71
+ * @param message - The user message (text string)
72
+ * @param images - Optional array of images to include in the message
73
+ * @param options - Query options including resume sessionId
74
+ * @param onMessage - Callback for each SDK message
75
+ * @returns Promise that resolves when query completes
76
+ */
77
+ export async function executeA2AQuery(
78
+ message: string,
79
+ images: Array<{ data: string; mediaType: string }> | undefined,
80
+ options: A2AQueryOptions,
81
+ onMessage: (message: SDKMessage) => Promise<void>
82
+ ): Promise<{ sessionId: string | null; fullResponse: string; tokensUsed: number }> {
83
+ // Build message content with optional images
84
+ const messageContent: UserMessageContent[] = [];
85
+
86
+ // Add images first if present
87
+ if (images && images.length > 0) {
88
+ for (const image of images) {
89
+ messageContent.push({
90
+ type: 'image',
91
+ source: {
92
+ type: 'base64',
93
+ media_type: image.mediaType,
94
+ data: image.data
95
+ }
96
+ });
97
+ }
98
+ }
99
+
100
+ // Add text message
101
+ messageContent.push({
102
+ type: 'text',
103
+ text: message
104
+ });
105
+
106
+ // Internal function to execute the query
107
+ async function executeQuery(queryOptions: A2AQueryOptions): Promise<{ sessionId: string | null; fullResponse: string; tokensUsed: number }> {
108
+ // Create the message generator (must be created fresh for each attempt)
109
+ const messageGen = createA2AMessageGenerator(messageContent);
110
+
111
+ let sessionId: string | null = null;
112
+ let fullResponse = '';
113
+ let tokensUsed = 0;
114
+
115
+ console.log(`🚀 [A2A Query] Starting one-shot query with resume=${queryOptions.resume || 'none'}`);
116
+
117
+ // Execute the query
118
+ const queryResult = query({
119
+ prompt: messageGen,
120
+ options: queryOptions
121
+ });
122
+
123
+ // Process responses
124
+ for await (const sdkMessage of queryResult) {
125
+ // Capture session ID from system init message
126
+ if (sdkMessage.type === 'system' && sdkMessage.subtype === 'init' && sdkMessage.session_id) {
127
+ sessionId = sdkMessage.session_id;
128
+ console.log(`📝 [A2A Query] Captured sessionId: ${sessionId}`);
129
+ }
130
+
131
+ // Also check for session_id on any message
132
+ if ((sdkMessage as any).session_id && !sessionId) {
133
+ sessionId = (sdkMessage as any).session_id;
134
+ }
135
+
136
+ // Extract assistant response text
137
+ if (sdkMessage.type === 'assistant' && sdkMessage.message?.content) {
138
+ for (const block of sdkMessage.message.content) {
139
+ if (block.type === 'text') {
140
+ fullResponse += block.text;
141
+ }
142
+ }
143
+ }
144
+
145
+ // Extract token usage
146
+ if (sdkMessage.type === 'assistant' && (sdkMessage as any).usage) {
147
+ const usage = (sdkMessage as any).usage;
148
+ tokensUsed = (usage.input_tokens || 0) + (usage.output_tokens || 0);
149
+ }
150
+
151
+ // Call the message callback
152
+ await onMessage(sdkMessage);
153
+ }
154
+
155
+ console.log(`✅ [A2A Query] Query completed, sessionId=${sessionId}, responseLength=${fullResponse.length}`);
156
+
157
+ return { sessionId, fullResponse, tokensUsed };
158
+ }
159
+
160
+ // Try with resume first, if it fails due to invalid session, retry without resume
161
+ try {
162
+ return await executeQuery(options);
163
+ } catch (error) {
164
+ const errorMessage = error instanceof Error ? error.message : String(error);
165
+
166
+ // Check if the error is due to invalid resume session
167
+ if (options.resume && (
168
+ errorMessage.includes('exited with code 1') ||
169
+ errorMessage.includes('session') ||
170
+ errorMessage.includes('resume')
171
+ )) {
172
+ console.warn(`⚠️ [A2A Query] Resume failed (session may be invalid), retrying without resume...`);
173
+
174
+ // Create new options without resume
175
+ const { resume, ...optionsWithoutResume } = options;
176
+ return await executeQuery(optionsWithoutResume);
177
+ }
178
+
179
+ // Re-throw other errors
180
+ throw error;
181
+ }
182
+ }
183
+
184
+ /**
185
+ * Execute a one-shot A2A query with SSE streaming
186
+ *
187
+ * Similar to executeA2AQuery but designed for SSE streaming mode.
188
+ *
189
+ * @param message - The user message (text string)
190
+ * @param images - Optional array of images
191
+ * @param options - Query options including resume sessionId
192
+ * @param onMessage - Callback for each SDK message (for SSE streaming)
193
+ */
194
+ export async function executeA2AQueryStreaming(
195
+ message: string,
196
+ images: Array<{ data: string; mediaType: string }> | undefined,
197
+ options: A2AQueryOptions,
198
+ onMessage: (message: SDKMessage) => void
199
+ ): Promise<{ sessionId: string | null }> {
200
+ // Build message content with optional images
201
+ const messageContent: UserMessageContent[] = [];
202
+
203
+ if (images && images.length > 0) {
204
+ for (const image of images) {
205
+ messageContent.push({
206
+ type: 'image',
207
+ source: {
208
+ type: 'base64',
209
+ media_type: image.mediaType,
210
+ data: image.data
211
+ }
212
+ });
213
+ }
214
+ }
215
+
216
+ messageContent.push({
217
+ type: 'text',
218
+ text: message
219
+ });
220
+
221
+ // Internal function to execute the streaming query
222
+ async function executeStreamingQuery(queryOptions: A2AQueryOptions): Promise<{ sessionId: string | null }> {
223
+ // Create the message generator (must be created fresh for each attempt)
224
+ const messageGen = createA2AMessageGenerator(messageContent);
225
+
226
+ let sessionId: string | null = null;
227
+
228
+ console.log(`🚀 [A2A Query Streaming] Starting one-shot query with resume=${queryOptions.resume || 'none'}`);
229
+
230
+ const queryResult = query({
231
+ prompt: messageGen,
232
+ options: queryOptions
233
+ });
234
+
235
+ for await (const sdkMessage of queryResult) {
236
+ // Capture session ID
237
+ if (sdkMessage.type === 'system' && sdkMessage.subtype === 'init' && sdkMessage.session_id) {
238
+ sessionId = sdkMessage.session_id;
239
+ }
240
+ if ((sdkMessage as any).session_id && !sessionId) {
241
+ sessionId = (sdkMessage as any).session_id;
242
+ }
243
+
244
+ // Stream the message (synchronous callback for SSE)
245
+ onMessage(sdkMessage);
246
+ }
247
+
248
+ console.log(`✅ [A2A Query Streaming] Query completed, sessionId=${sessionId}`);
249
+
250
+ return { sessionId };
251
+ }
252
+
253
+ // Try with resume first, if it fails due to invalid session, retry without resume
254
+ try {
255
+ return await executeStreamingQuery(options);
256
+ } catch (error) {
257
+ const errorMessage = error instanceof Error ? error.message : String(error);
258
+
259
+ // Check if the error is due to invalid resume session
260
+ if (options.resume && (
261
+ errorMessage.includes('exited with code 1') ||
262
+ errorMessage.includes('session') ||
263
+ errorMessage.includes('resume')
264
+ )) {
265
+ console.warn(`⚠️ [A2A Query Streaming] Resume failed (session may be invalid), retrying without resume...`);
266
+
267
+ // Create new options without resume
268
+ const { resume, ...optionsWithoutResume } = options;
269
+ return await executeStreamingQuery(optionsWithoutResume);
270
+ }
271
+
272
+ // Re-throw other errors
273
+ throw error;
274
+ }
275
+ }