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,105 @@
1
+ /**
2
+ * Global Path Constants
3
+ *
4
+ * Centralized path definitions for the application.
5
+ * All paths that reference ~/.claude-agent should use these constants.
6
+ */
7
+
8
+ import { homedir } from 'os';
9
+ import { join } from 'path';
10
+
11
+ /**
12
+ * Base directory for Claude Agent configuration and data
13
+ * Default: ~/.claude-agent
14
+ */
15
+ export const CLAUDE_AGENT_DIR = join(homedir(), '.claude-agent');
16
+
17
+ /**
18
+ * Directory for agent configuration files
19
+ * Default: ~/.claude-agent/agents
20
+ */
21
+ export const AGENTS_DIR = join(CLAUDE_AGENT_DIR, 'agents');
22
+
23
+ /**
24
+ * File path for Claude versions configuration
25
+ * Default: ~/.claude-agent/claude-versions.json
26
+ */
27
+ export const CLAUDE_VERSIONS_FILE = join(CLAUDE_AGENT_DIR, 'claude-versions.json');
28
+
29
+ /**
30
+ * File path for projects metadata
31
+ * Default: ~/.claude-agent/projects.json
32
+ */
33
+ export const PROJECTS_METADATA_FILE = join(CLAUDE_AGENT_DIR, 'projects.json');
34
+
35
+ /**
36
+ * File path for MCP server configuration
37
+ * Default: ~/.claude-agent/mcp-server.json
38
+ */
39
+ export const MCP_SERVER_CONFIG_FILE = join(CLAUDE_AGENT_DIR, 'mcp-server.json');
40
+
41
+ /**
42
+ * File path for A2A agent mappings (global registry)
43
+ * Default: ~/.claude-agent/a2a-agent-mappings.json
44
+ */
45
+ export const A2A_AGENT_MAPPINGS_FILE = join(CLAUDE_AGENT_DIR, 'a2a-agent-mappings.json');
46
+
47
+ /**
48
+ * Directory for Slack session locks
49
+ * Default: ~/.claude-agent/slack-session-locks
50
+ */
51
+ export const SLACK_SESSION_LOCKS_DIR = join(CLAUDE_AGENT_DIR, 'slack-session-locks');
52
+
53
+ /**
54
+ * Get the .a2a directory path for a project
55
+ * @param projectPath - Absolute path to the project working directory
56
+ * @returns Path to the project's .a2a directory
57
+ */
58
+ export function getProjectA2ADir(projectPath: string): string {
59
+ return join(projectPath, '.a2a');
60
+ }
61
+
62
+ /**
63
+ * Get the tasks directory path for a project
64
+ * @param projectPath - Absolute path to the project working directory
65
+ * @returns Path to the project's tasks directory
66
+ */
67
+ export function getProjectTasksDir(projectPath: string): string {
68
+ return join(projectPath, '.a2a', 'tasks');
69
+ }
70
+
71
+ /**
72
+ * Get the A2A config file path for a project
73
+ * @param projectPath - Absolute path to the project working directory
74
+ * @returns Path to the project's A2A config file
75
+ */
76
+ export function getProjectA2AConfigFile(projectPath: string): string {
77
+ return join(projectPath, '.a2a', 'config.json');
78
+ }
79
+
80
+ /**
81
+ * Get the API keys file path for a project
82
+ * @param projectPath - Absolute path to the project working directory
83
+ * @returns Path to the project's API keys file
84
+ */
85
+ export function getProjectApiKeysFile(projectPath: string): string {
86
+ return join(projectPath, '.a2a', 'api-keys.json');
87
+ }
88
+
89
+ /**
90
+ * Directory for scheduled tasks configuration
91
+ * Default: ~/.claude-agent/scheduled-tasks
92
+ */
93
+ export const SCHEDULED_TASKS_DIR = join(CLAUDE_AGENT_DIR, 'scheduled-tasks');
94
+
95
+ /**
96
+ * File path for scheduled tasks list
97
+ * Default: ~/.claude-agent/scheduled-tasks/tasks.json
98
+ */
99
+ export const SCHEDULED_TASKS_FILE = join(SCHEDULED_TASKS_DIR, 'tasks.json');
100
+
101
+ /**
102
+ * Directory for scheduled task execution history
103
+ * Default: ~/.claude-agent/scheduled-tasks/history
104
+ */
105
+ export const SCHEDULED_TASKS_HISTORY_DIR = join(SCHEDULED_TASKS_DIR, 'history');
@@ -0,0 +1,126 @@
1
+ import * as path from 'path';
2
+ import * as os from 'os';
3
+
4
+ /**
5
+ * SDK Engine Configuration
6
+ *
7
+ * AgentStudio can work with different Agent SDK implementations:
8
+ * - claude-code: Claude Code (default, uses ~/.claude)
9
+ * - claude-internal: Claude Internal (uses ~/.claude-internal)
10
+ * - code-buddy: Code Buddy (uses ~/.codebuddy)
11
+ *
12
+ * The SDK engine is specified at service startup via:
13
+ * - Environment variable: AGENT_SDK=claude-internal
14
+ * - Command line argument: --sdk=claude-internal
15
+ * - Default: claude-code
16
+ */
17
+
18
+ // Get SDK engine from environment or default to claude-code
19
+ export const SDK_ENGINE = process.env.AGENT_SDK || 'claude-code';
20
+
21
+ // Valid SDK engine types
22
+ export type SdkEngine = 'claude-code' | 'claude-internal' | 'code-buddy';
23
+
24
+ // Validate SDK engine (currently only claude-code and claude-internal are supported)
25
+ const VALID_ENGINES: SdkEngine[] = ['claude-code', 'claude-internal'];
26
+ if (!VALID_ENGINES.includes(SDK_ENGINE as SdkEngine)) {
27
+ console.warn(`⚠️ Invalid AGENT_SDK="${SDK_ENGINE}", falling back to "claude-code"`);
28
+ console.warn(`⚠️ Supported engines: ${VALID_ENGINES.join(', ')}`);
29
+ process.env.AGENT_SDK = 'claude-code';
30
+ }
31
+
32
+ // SDK directory name mapping
33
+ const SDK_DIR_MAP: Record<SdkEngine, string> = {
34
+ 'claude-code': '.claude',
35
+ 'claude-internal': '.claude-internal',
36
+ 'code-buddy': '.codebuddy' // Not yet supported
37
+ };
38
+
39
+ /**
40
+ * Get the base SDK directory name (e.g., '.claude', '.claude-internal')
41
+ */
42
+ export function getSdkDirName(): string {
43
+ return SDK_DIR_MAP[SDK_ENGINE as SdkEngine];
44
+ }
45
+
46
+ /**
47
+ * Get the full path to the SDK directory (e.g., ~/.claude, ~/.claude-internal)
48
+ */
49
+ export function getSdkDir(): string {
50
+ return path.join(os.homedir(), getSdkDirName());
51
+ }
52
+
53
+ /**
54
+ * Get the projects directory path (e.g., ~/.claude/projects)
55
+ */
56
+ export function getProjectsDir(): string {
57
+ return path.join(getSdkDir(), 'projects');
58
+ }
59
+
60
+ /**
61
+ * Get the SDK config file path
62
+ * - claude-code: ~/.claude.json (in home directory)
63
+ * - claude-internal: ~/.claude-internal/.claude.json (inside SDK directory)
64
+ */
65
+ export function getSdkConfigPath(): string {
66
+ if (SDK_ENGINE === 'claude-code') {
67
+ // Claude Code stores config at ~/.claude.json
68
+ return path.join(os.homedir(), '.claude.json');
69
+ } else {
70
+ // Claude Internal stores config inside its directory: ~/.claude-internal/.claude.json
71
+ return path.join(getSdkDir(), '.claude.json');
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Get the plugins directory (e.g., ~/.claude/plugins)
77
+ */
78
+ export function getPluginsDir(): string {
79
+ return path.join(getSdkDir(), 'plugins');
80
+ }
81
+
82
+ /**
83
+ * Get the commands directory (e.g., ~/.claude/commands)
84
+ */
85
+ export function getCommandsDir(): string {
86
+ return path.join(getSdkDir(), 'commands');
87
+ }
88
+
89
+ /**
90
+ * Get the agents directory (e.g., ~/.claude/agents)
91
+ */
92
+ export function getAgentsDir(): string {
93
+ return path.join(getSdkDir(), 'agents');
94
+ }
95
+
96
+ /**
97
+ * Get the skills directory (e.g., ~/.claude/skills)
98
+ */
99
+ export function getSkillsDir(): string {
100
+ return path.join(getSdkDir(), 'skills');
101
+ }
102
+
103
+ /**
104
+ * Get the hooks directory (e.g., ~/.claude/hooks)
105
+ */
106
+ export function getHooksDir(): string {
107
+ return path.join(getSdkDir(), 'hooks');
108
+ }
109
+
110
+ /**
111
+ * Get the MCP directory (e.g., ~/.claude/mcp)
112
+ */
113
+ export function getMcpDir(): string {
114
+ return path.join(getSdkDir(), 'mcp');
115
+ }
116
+
117
+ /**
118
+ * Log SDK configuration at startup
119
+ */
120
+ export function logSdkConfig(): void {
121
+ console.log('🔧 Agent SDK Configuration:');
122
+ console.log(` Engine: ${SDK_ENGINE}`);
123
+ console.log(` Directory: ${getSdkDir()}`);
124
+ console.log(` Projects: ${getProjectsDir()}`);
125
+ console.log(` Config: ${getSdkConfigPath()}`);
126
+ }
@@ -0,0 +1,434 @@
1
+ import express from 'express';
2
+ import cors from 'cors';
3
+ import helmet from 'helmet';
4
+ import dotenv from 'dotenv';
5
+ import { join } from 'path';
6
+ import { readFileSync } from 'fs';
7
+
8
+ import filesRouter from './routes/files';
9
+ import agentsRouter from './routes/agents';
10
+ import mcpRouter from './routes/mcp';
11
+ import sessionsRouter from './routes/sessions';
12
+ import mediaRouter from './routes/media';
13
+ import mediaAuthRouter from './routes/mediaAuth';
14
+ import settingsRouter from './routes/settings';
15
+ import commandsRouter from './routes/commands';
16
+ import subagentsRouter from './routes/subagents';
17
+ import projectsRouter from './routes/projects';
18
+ import authRouter from './routes/auth';
19
+ import configRouter from './routes/config';
20
+ import slackRouter from './routes/slack';
21
+ import skillsRouter from './routes/skills';
22
+ import pluginsRouter from './routes/plugins';
23
+ import a2aRouter from './routes/a2a';
24
+ import a2aManagementRouter from './routes/a2aManagement';
25
+ import scheduledTasksRouter from './routes/scheduledTasks';
26
+ import mcpAdminRouter from './routes/mcpAdmin';
27
+ import mcpAdminManagementRouter from './routes/mcpAdminManagement';
28
+ import cloudflareTunnelRouter from './routes/cloudflareTunnel';
29
+ import taskExecutorRouter from './routes/taskExecutor';
30
+ import versionRouter from './routes/version';
31
+ import tunnelRouter from './routes/tunnel';
32
+ import networkRouter from './routes/network';
33
+ import { authMiddleware } from './middleware/auth';
34
+ import { httpsOnly } from './middleware/httpsOnly';
35
+ import { loadConfig, getSlidesDir } from './config/index';
36
+ import { cleanupOrphanedTasks } from './services/a2a/taskCleanup';
37
+ import { initializeScheduler, shutdownScheduler } from './services/schedulerService';
38
+ import { shutdownTelemetry } from './services/telemetry';
39
+ import { initializeTaskExecutor, shutdownTaskExecutor } from './services/taskExecutor/index.js';
40
+ import { tunnelService } from './services/tunnelService.js';
41
+ import { logSdkConfig } from './config/sdkConfig.js';
42
+
43
+ dotenv.config();
44
+
45
+ // Log SDK configuration at startup
46
+ logSdkConfig();
47
+
48
+ // Get version from package.json (works in both dev and npm package mode)
49
+ const getVersion = () => {
50
+ // Try npm package mode first (package.json in same directory as dist)
51
+ const npmPackagePath = join(__dirname, 'package.json');
52
+ // Then try development mode (backend/package.json)
53
+ const devPackagePath = join(__dirname, '../package.json');
54
+ // Also try root package.json
55
+ const rootPackagePath = join(__dirname, '../../package.json');
56
+
57
+ for (const packagePath of [npmPackagePath, devPackagePath, rootPackagePath]) {
58
+ try {
59
+ const packageJson = JSON.parse(readFileSync(packagePath, 'utf8'));
60
+ if (packageJson.version) {
61
+ return packageJson.version;
62
+ }
63
+ } catch {
64
+ // Continue to next path
65
+ }
66
+ }
67
+
68
+ console.warn('Could not read version from package.json');
69
+ return 'unknown';
70
+ };
71
+
72
+ const VERSION = getVersion();
73
+
74
+ const app: express.Express = express();
75
+
76
+ // Async initialization
77
+ (async () => {
78
+ // Load configuration (including port and host)
79
+ const config = await loadConfig();
80
+ const PORT = config.port || 4936;
81
+ const HOST = config.host || '0.0.0.0';
82
+
83
+ // Initialize system Claude version if needed
84
+ try {
85
+ const { initializeSystemVersion } = await import('./services/claudeVersionStorage.js');
86
+ const { exec } = await import('child_process');
87
+ const { promisify } = await import('util');
88
+ const execAsync = promisify(exec);
89
+
90
+ // Try to find Claude executable, but initialize anyway
91
+ let claudePath: string | null = null;
92
+ try {
93
+ const { stdout } = await execAsync('which claude');
94
+ if (stdout && stdout.trim()) {
95
+ claudePath = stdout.trim();
96
+ console.log(`[System] Found Claude CLI at: ${claudePath}`);
97
+ }
98
+ } catch (error) {
99
+ console.log('[System] Claude CLI not found in PATH, initializing without executable path');
100
+ }
101
+
102
+ // Initialize system version (with or without executable path)
103
+ await initializeSystemVersion(claudePath || '');
104
+ console.log(`[System] Initialized Claude version${claudePath ? ` from: ${claudePath}` : ' without executable path'}`);
105
+ } catch (error) {
106
+ console.warn('Failed to initialize system Claude version:', error);
107
+ }
108
+
109
+ // Middleware
110
+ app.use(helmet({
111
+ contentSecurityPolicy: {
112
+ directives: {
113
+ defaultSrc: ["'self'"],
114
+ scriptSrc: ["'self'", "'unsafe-inline'", "'unsafe-eval'", "https://cdn.jsdelivr.net", "https://app.posthog.com", "https://us.i.posthog.com", "https://us-assets.i.posthog.com"], // Allow eval for development, CDN for Monaco, PostHog
115
+ styleSrc: ["'self'", "'unsafe-inline'", "https://fonts.googleapis.com", "https://cdn.jsdelivr.net"],
116
+ fontSrc: ["'self'", "https://fonts.gstatic.com", "https://cdn.jsdelivr.net", "data:"],
117
+ imgSrc: ["'self'", "data:", "https:", "http:", "blob:"],
118
+ connectSrc: ["'self'", "ws:", "wss:", "blob:", "data:", "http://localhost:*", "http://127.0.0.1:*", "https://localhost:*", "https://127.0.0.1:*", "https://app.posthog.com", "https://us.i.posthog.com", "https://us-assets.i.posthog.com"],
119
+ frameAncestors: ["'self'", "http://localhost:3000", "https://localhost:3000", "http://localhost:3001", "https://agentstudio.cc", "https://*.agentstudio.cc"], // Allow iframe embedding
120
+ workerSrc: ["'self'", "blob:", "https://cdn.jsdelivr.net"],
121
+ childSrc: ["'self'", "blob:"],
122
+ // Disable upgrade-insecure-requests for HTTP environments
123
+ upgradeInsecureRequests: null
124
+ }
125
+ },
126
+ // Disable problematic headers for non-HTTPS access
127
+ crossOriginOpenerPolicy: false,
128
+ originAgentCluster: false,
129
+ // Disable HSTS for HTTP environments (prevents forcing HTTPS)
130
+ strictTransportSecurity: false
131
+ }));
132
+
133
+ // Configure CORS origins
134
+ const getAllowedOrigins = () => {
135
+ const defaultOrigins = [
136
+ 'http://localhost:3000',
137
+ 'http://127.0.0.1:3000',
138
+ 'http://localhost:3001',
139
+ 'https://localhost:3000',
140
+ 'https://localhost:3001'
141
+ ];
142
+
143
+ // Add custom origins from configuration
144
+ const customOrigins = config.corsOrigins ?
145
+ config.corsOrigins.split(',').map(origin => origin.trim()) : [];
146
+
147
+ return [...defaultOrigins, ...customOrigins];
148
+ };
149
+
150
+ app.use(cors({
151
+ origin: (origin, callback) => {
152
+ const allowedOrigins = getAllowedOrigins();
153
+
154
+ // Allow requests with no origin (like mobile apps or curl requests)
155
+ if (!origin) return callback(null, true);
156
+
157
+ // Check if the origin is allowed
158
+ if (allowedOrigins.includes(origin)) {
159
+ return callback(null, true);
160
+ }
161
+
162
+ // Allow Vercel preview URLs (*.vercel.app)
163
+ if (origin.endsWith('.vercel.app')) {
164
+ return callback(null, true);
165
+ }
166
+
167
+ // Allow agentstudio.cc and its subdomains (*.agentstudio.cc) - hardcoded
168
+ if (origin === 'https://agentstudio.cc' || origin === 'http://agentstudio.cc' ||
169
+ origin.endsWith('.agentstudio.cc')) {
170
+ return callback(null, true);
171
+ }
172
+
173
+ // Allow custom domains from configuration (CORS_ALLOWED_DOMAINS)
174
+ const customDomains = config.corsAllowedDomains ?
175
+ config.corsAllowedDomains.split(',').map(domain => domain.trim()) : [];
176
+
177
+ for (const domain of customDomains) {
178
+ // Match exact domain (https://example.com)
179
+ if (origin === `https://${domain}` || origin === `http://${domain}`) {
180
+ return callback(null, true);
181
+ }
182
+ // Match subdomains (https://*.example.com)
183
+ if (origin.endsWith(`.${domain}`)) {
184
+ return callback(null, true);
185
+ }
186
+ }
187
+
188
+ // Allow any localhost with any port for development
189
+ if (origin.match(/^https?:\/\/localhost(:\d+)?$/)) {
190
+ return callback(null, true);
191
+ }
192
+
193
+ // Allow 127.0.0.1 with any port for development
194
+ if (origin.match(/^https?:\/\/127\.0\.0\.1(:\d+)?$/)) {
195
+ return callback(null, true);
196
+ }
197
+
198
+ const msg = `The CORS policy for this site does not allow access from the specified Origin: ${origin}`;
199
+ return callback(new Error(msg), false);
200
+ },
201
+ credentials: true,
202
+ methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS', 'PATCH'],
203
+ allowedHeaders: ['Content-Type', 'Authorization', 'Cache-Control', 'X-Requested-With', 'X-Project-Path'],
204
+ exposedHeaders: ['Content-Range', 'X-Content-Range']
205
+ }));
206
+
207
+ // JSON parser - skip /api/slack (needs raw body for signature verification)
208
+ app.use((req, res, next) => {
209
+ if (req.path.startsWith('/api/slack')) {
210
+ return next();
211
+ }
212
+ express.json({ limit: '10mb' })(req, res, next);
213
+ });
214
+ app.use(express.urlencoded({ extended: true, limit: '10mb' }));
215
+
216
+ // Static files - serve slides directory
217
+ const slidesDir = await getSlidesDir();
218
+ app.use('/slides', express.static(slidesDir));
219
+
220
+ // ============================================================================
221
+ // Initialize Background Services
222
+ // ============================================================================
223
+
224
+ // 1. Initialize Task Executor (handles both A2A async tasks and scheduled tasks)
225
+ console.info('[TaskExecutor] Initializing unified task executor...');
226
+ try {
227
+ await initializeTaskExecutor();
228
+ console.info('[TaskExecutor] Task executor initialized successfully');
229
+ } catch (error) {
230
+ console.error('[TaskExecutor] Failed to initialize task executor:', error);
231
+ console.error('[TaskExecutor] Tasks will not be executed. Please check configuration.');
232
+ }
233
+
234
+ // 2. A2A Task Lifecycle: Clean up orphaned tasks on startup
235
+ console.info('[A2A] Running orphaned task cleanup...');
236
+ try {
237
+ const cleanedCount = await cleanupOrphanedTasks();
238
+ if (cleanedCount > 0) {
239
+ console.info(`[A2A] Cleaned up ${cleanedCount} orphaned tasks`);
240
+ } else {
241
+ console.info('[A2A] No orphaned tasks found');
242
+ }
243
+ } catch (error) {
244
+ console.error('[A2A] Error during orphaned task cleanup:', error);
245
+ }
246
+
247
+ // Note: Task timeout monitor is no longer needed - handled by executor internally
248
+
249
+ // 3. Scheduled Tasks: Initialize scheduler (always initialize, but enable state depends on env var)
250
+ const enableSchedulerInitially = process.env.ENABLE_SCHEDULER !== 'false'; // Default to true
251
+ console.info('[Scheduler] Initializing scheduled tasks... (ENABLE_SCHEDULER=' + process.env.ENABLE_SCHEDULER + ', initial enabled=' + enableSchedulerInitially + ')');
252
+ try {
253
+ initializeScheduler({ enabled: enableSchedulerInitially });
254
+ } catch (error) {
255
+ console.error('[Scheduler] Error initializing scheduler:', error);
256
+ }
257
+
258
+ // 4. Tunnel Service: Initialize WebSocket tunnel for external access
259
+ console.info('[Tunnel] Initializing tunnel service...');
260
+ try {
261
+ await tunnelService.initialize(PORT);
262
+ console.info('[Tunnel] Tunnel service initialized');
263
+ } catch (error) {
264
+ console.error('[Tunnel] Error initializing tunnel service:', error);
265
+ }
266
+
267
+ // Static files - serve embedded frontend (for npm package) or development frontend
268
+ // Check both npm package location (./public) and development location (../../frontend/dist)
269
+ const fs = await import('fs');
270
+ const npmPublicPath = join(__dirname, 'public');
271
+ const devFrontendPath = join(__dirname, '../../frontend/dist');
272
+
273
+ // Prefer npm package embedded frontend, fallback to development path
274
+ const frontendDistPath = fs.existsSync(npmPublicPath) ? npmPublicPath : devFrontendPath;
275
+ const hasEmbeddedFrontend = fs.existsSync(join(frontendDistPath, 'index.html'));
276
+
277
+ if (hasEmbeddedFrontend && process.env.API_ONLY !== 'true') {
278
+ app.use(express.static(frontendDistPath));
279
+
280
+ // For SPA routing - serve index.html for any non-API routes
281
+ app.get('*', (req, res, next) => {
282
+ // Skip API routes and other specific routes
283
+ if (req.path.startsWith('/api') ||
284
+ req.path.startsWith('/media') ||
285
+ req.path.startsWith('/slides') ||
286
+ req.path.startsWith('/a2a')) {
287
+ return next();
288
+ }
289
+
290
+ // Serve index.html for all other routes
291
+ res.sendFile(join(frontendDistPath, 'index.html'));
292
+ });
293
+
294
+ console.log(`Frontend static files enabled from: ${frontendDistPath}`);
295
+ } else if (process.env.API_ONLY === 'true') {
296
+ console.log('API only mode - frontend serving disabled');
297
+ } else {
298
+ console.log('Frontend build not found, serving API only');
299
+ }
300
+
301
+ // Routes - Public routes
302
+ app.use('/api/auth', authRouter);
303
+ // MCP Admin - uses its own API key authentication
304
+ app.use('/api/mcp-admin', mcpAdminRouter);
305
+ // Slack webhook - needs raw body for signature verification
306
+ app.use('/api/slack',
307
+ express.json({
308
+ limit: '10mb',
309
+ verify: (req: any, res, buf) => {
310
+ req.rawBody = buf.toString('utf8');
311
+ }
312
+ }),
313
+ slackRouter
314
+ );
315
+
316
+ // A2A Protocol routes - Public but require API key authentication and HTTPS in production
317
+ app.use('/a2a/:a2aAgentId', httpsOnly, a2aRouter);
318
+
319
+ // Health check
320
+ app.get('/api/health', (req, res) => {
321
+ res.json({
322
+ status: 'ok',
323
+ timestamp: new Date().toISOString(),
324
+ version: VERSION,
325
+ name: 'agentstudio-backend'
326
+ });
327
+ });
328
+
329
+ // A2A Health check (public endpoint, no authentication required)
330
+ app.get('/api/a2a/health', (req, res) => {
331
+ res.json({
332
+ status: 'ok',
333
+ version: '1.0.0',
334
+ protocol: 'A2A',
335
+ timestamp: new Date().toISOString(),
336
+ features: {
337
+ agentCard: true,
338
+ syncMessages: true,
339
+ asyncTasks: true,
340
+ taskManagement: true,
341
+ apiKeyAuth: true,
342
+ },
343
+ });
344
+ });
345
+
346
+ // Protected routes - Require authentication
347
+ app.use('/api/files', authMiddleware, filesRouter);
348
+ app.use('/api/agents', authMiddleware, agentsRouter);
349
+ app.use('/api/mcp', authMiddleware, mcpRouter);
350
+ app.use('/api/sessions', authMiddleware, sessionsRouter);
351
+ app.use('/api/settings', authMiddleware, settingsRouter);
352
+ app.use('/api/config', authMiddleware, configRouter);
353
+ app.use('/api/commands', authMiddleware, commandsRouter);
354
+ app.use('/api/subagents', authMiddleware, subagentsRouter);
355
+ app.use('/api/projects', authMiddleware, projectsRouter);
356
+ app.use('/api/a2a', authMiddleware, a2aManagementRouter); // A2A management routes with user auth
357
+ app.use('/api/skills', authMiddleware, skillsRouter);
358
+ app.use('/api/plugins', authMiddleware, pluginsRouter);
359
+ app.use('/api/scheduled-tasks', authMiddleware, scheduledTasksRouter);
360
+ app.use('/api/mcp-admin-management', authMiddleware, mcpAdminManagementRouter); // MCP Admin management with JWT auth
361
+ app.use('/api/cloudflare-tunnel', authMiddleware, cloudflareTunnelRouter); // Cloudflare Tunnel management
362
+ app.use('/api/task-executor', authMiddleware, taskExecutorRouter);
363
+ app.use('/api/version', authMiddleware, versionRouter);
364
+ app.use('/api/tunnel', authMiddleware, tunnelRouter); // Tunnel management
365
+ app.use('/api/network-info', authMiddleware, networkRouter); // Network information
366
+ app.use('/api/media', mediaAuthRouter); // Media auth endpoints
367
+ app.use('/media', mediaRouter); // Remove authMiddleware - media files are now public
368
+
369
+ // Error handling
370
+ app.use((err: any, req: express.Request, res: express.Response, next: express.NextFunction) => {
371
+ console.error('Error:', err);
372
+ res.status(500).json({
373
+ error: 'Internal server error',
374
+ message: process.env.NODE_ENV === 'development' ? err.message : 'Something went wrong'
375
+ });
376
+ });
377
+
378
+ // 404 handler
379
+ app.use('*', (req, res) => {
380
+ res.status(404).json({ error: 'Route not found' });
381
+ });
382
+
383
+ // Graceful shutdown handler
384
+ const gracefulShutdown = async () => {
385
+ console.info('[System] Shutting down gracefully...');
386
+
387
+ // 1. Stop scheduler (no new tasks will be scheduled)
388
+ try {
389
+ shutdownScheduler();
390
+ console.info('[Scheduler] Scheduler stopped');
391
+ } catch (error) {
392
+ console.error('[Scheduler] Error shutting down scheduler:', error);
393
+ }
394
+
395
+ // 2. Stop task executor (wait for running tasks to complete or timeout)
396
+ try {
397
+ await shutdownTaskExecutor();
398
+ console.info('[TaskExecutor] Task executor stopped');
399
+ } catch (error) {
400
+ console.error('[TaskExecutor] Error shutting down task executor:', error);
401
+ }
402
+
403
+ // 3. Stop tunnel service
404
+ try {
405
+ tunnelService.disconnect();
406
+ console.info('[Tunnel] Tunnel service stopped');
407
+ } catch (error) {
408
+ console.error('[Tunnel] Error shutting down tunnel service:', error);
409
+ }
410
+
411
+ // Shutdown telemetry (async but we don't wait)
412
+ shutdownTelemetry().catch((error) => {
413
+ console.error('[Telemetry] Error shutting down telemetry:', error);
414
+ });
415
+
416
+ console.info('[System] Shutdown complete');
417
+ // Exit process
418
+ process.exit(0);
419
+ };
420
+
421
+ // Register shutdown handlers
422
+ process.on('SIGTERM', gracefulShutdown);
423
+ process.on('SIGINT', gracefulShutdown);
424
+
425
+ // Check if this file is being run directly (CommonJS way)
426
+ if (require.main === module) {
427
+ app.listen(PORT, HOST, () => {
428
+ console.log(`AI PPT Editor backend running on http://${HOST === '0.0.0.0' ? 'localhost' : HOST}:${PORT}`);
429
+ console.log(`Serving slides from: ${slidesDir}`);
430
+ });
431
+ }
432
+ })();
433
+
434
+ export default app;