agentstudio 0.1.18 → 0.1.21

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 (664) hide show
  1. package/README.md +26 -505
  2. package/bin/agentstudio.js +305 -0
  3. package/bin/agentstudio.js.map +1 -0
  4. package/bin/serviceManager.d.ts +16 -0
  5. package/bin/serviceManager.d.ts.map +1 -0
  6. package/bin/serviceManager.js +434 -0
  7. package/bin/serviceManager.js.map +1 -0
  8. package/config/index.d.ts +74 -0
  9. package/config/index.d.ts.map +1 -0
  10. package/config/index.js +166 -0
  11. package/config/index.js.map +1 -0
  12. package/config/paths.d.ts +81 -0
  13. package/config/paths.d.ts.map +1 -0
  14. package/config/paths.js +98 -0
  15. package/config/paths.js.map +1 -0
  16. package/index.d.ts +4 -0
  17. package/index.d.ts.map +1 -0
  18. package/index.js +369 -0
  19. package/index.js.map +1 -0
  20. package/jobs/taskTimeoutMonitor.d.ts +25 -0
  21. package/jobs/taskTimeoutMonitor.d.ts.map +1 -0
  22. package/jobs/taskTimeoutMonitor.js +94 -0
  23. package/jobs/taskTimeoutMonitor.js.map +1 -0
  24. package/middleware/a2aAuth.d.ts +38 -0
  25. package/middleware/a2aAuth.d.ts.map +1 -0
  26. package/middleware/a2aAuth.js +134 -0
  27. package/middleware/a2aAuth.js.map +1 -0
  28. package/{backend/dist/middleware → middleware}/auth.d.ts +3 -1
  29. package/middleware/auth.d.ts.map +1 -0
  30. package/middleware/auth.js +35 -0
  31. package/middleware/auth.js.map +1 -0
  32. package/middleware/httpsOnly.d.ts +38 -0
  33. package/middleware/httpsOnly.d.ts.map +1 -0
  34. package/middleware/httpsOnly.js +105 -0
  35. package/middleware/httpsOnly.js.map +1 -0
  36. package/middleware/rateLimiting.d.ts +37 -0
  37. package/middleware/rateLimiting.d.ts.map +1 -0
  38. package/middleware/rateLimiting.js +118 -0
  39. package/middleware/rateLimiting.js.map +1 -0
  40. package/package.json +43 -38
  41. package/public/assets/AgentsPage-Nvg2xu6K.js +10 -0
  42. package/public/assets/Button-Co56C389.js +1 -0
  43. package/public/assets/ChatPage-D6sol0ad.js +442 -0
  44. package/public/assets/CommandForm-Bk7F_HU8.js +7 -0
  45. package/public/assets/CommandsPage-DZHyOdKd.js +1 -0
  46. package/public/assets/DashboardPage-29qC7Ev1.js +15 -0
  47. package/public/assets/FileBrowser-BYweUPH4.js +6 -0
  48. package/public/assets/FileExplorer-DNYj6Tsx.js +1 -0
  49. package/public/assets/GeneralSettingsPage-D9Xa7Nd8.js +1 -0
  50. package/public/assets/LandingPage-CjnT-cvO.js +1 -0
  51. package/public/assets/LoginPage-DcaGNCXH.js +16 -0
  52. package/public/assets/McpAdminSettingsPage-DgR3E2Bd.js +7 -0
  53. package/public/assets/McpPage-CtWf1CoL.js +40 -0
  54. package/public/assets/MemorySettingsPage-JTry4Ccp.js +1 -0
  55. package/public/assets/PluginsPage-D-BHjQ3P.js +1 -0
  56. package/public/assets/ProjectSelector-DSXOjMQC.js +1 -0
  57. package/public/assets/ProjectsPage-lLUk4-Xa.js +21 -0
  58. package/public/assets/ScheduledTasksPage-5hPbd9Vs.js +1 -0
  59. package/public/assets/SettingsLayout-DGJspXLp.js +1 -0
  60. package/public/assets/SkillsPage-DBw0m7D2.js +18 -0
  61. package/{backend/dist/frontend/assets/SubagentForm-DXtTTIKg.js → public/assets/SubagentForm-BdUK1U4y.js} +2 -2
  62. package/public/assets/SubagentsPage-Dnq70IFd.js +1 -0
  63. package/{backend/dist/frontend/assets/ToastTestPage-DT4wuN5C.js → public/assets/ToastTestPage-BfJQRFIm.js} +1 -1
  64. package/public/assets/ToolsList-Dl5F2fWk.js +1 -0
  65. package/public/assets/UnifiedToolSelector-CNbPsiuq.js +1 -0
  66. package/public/assets/VersionSettingsPage-BfoCcham.js +5 -0
  67. package/public/assets/_basePickBy-7C_e0Xv1.js +1 -0
  68. package/public/assets/_baseUniq-eGJNLBzx.js +1 -0
  69. package/public/assets/agents-ChrA1R0y.js +1 -0
  70. package/public/assets/arc-CuA752eE.js +1 -0
  71. package/public/assets/architectureDiagram-VXUJARFQ-BnPYh1OW.js +36 -0
  72. package/public/assets/blockDiagram-VD42YOAC-72nsMt_i.js +122 -0
  73. package/public/assets/c4Diagram-YG6GDRKO-BNJSAXcg.js +10 -0
  74. package/public/assets/channel-CIunGC5m.js +1 -0
  75. package/public/assets/chunk-4BX2VUAB-RPxkCWhH.js +1 -0
  76. package/public/assets/chunk-55IACEB6-3ePDt0kp.js +1 -0
  77. package/public/assets/chunk-B4BG7PRW-CBg_BBfl.js +165 -0
  78. package/public/assets/chunk-DI55MBZ5-DIh69TUJ.js +220 -0
  79. package/public/assets/chunk-FMBD7UC4-BbjwhyTe.js +15 -0
  80. package/public/assets/chunk-QN33PNHL-BpH-o_YR.js +1 -0
  81. package/public/assets/chunk-QZHKN3VN-DYB7rh5Q.js +1 -0
  82. package/public/assets/chunk-TZMSLE5B-DPCYEVb3.js +1 -0
  83. package/public/assets/classDiagram-2ON5EDUG-aUQHFsTA.js +1 -0
  84. package/public/assets/classDiagram-v2-WZHVMYZB-aUQHFsTA.js +1 -0
  85. package/public/assets/clone-Ckf7tA1V.js +1 -0
  86. package/public/assets/cose-bilkent-S5V4N54A-CnpfmL-Y.js +1 -0
  87. package/public/assets/cytoscape.esm-DtBltrT8.js +331 -0
  88. package/public/assets/dagre-6UL2VRFP-DR9x77Xf.js +4 -0
  89. package/{backend/dist/frontend/assets/data-structures-DLJedtzx.js → public/assets/data-structures-C0h9Oap1.js} +1 -1
  90. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  91. package/public/assets/diagram-PSM6KHXK-SONPsQNx.js +24 -0
  92. package/public/assets/diagram-QEK2KX5R-BKYFSfC1.js +43 -0
  93. package/public/assets/diagram-S2PKOQOG-CkM0APZj.js +24 -0
  94. package/public/assets/erDiagram-Q2GNP2WA-BX1DpOGx.js +60 -0
  95. package/public/assets/flowDiagram-NV44I4VS-HAAlzNbq.js +162 -0
  96. package/public/assets/ganttDiagram-LVOFAZNH-BqzWexqa.js +267 -0
  97. package/public/assets/gitGraphDiagram-NY62KEGX-CIPmSp43.js +65 -0
  98. package/public/assets/graph-m515btDj.js +1 -0
  99. package/public/assets/index-Bn3v3S9-.js +293 -0
  100. package/public/assets/index-DWieeYj4.css +1 -0
  101. package/public/assets/infoDiagram-F6ZHWCRC-Pn4yNWrF.js +2 -0
  102. package/public/assets/init-Gi6I4Gst.js +1 -0
  103. package/public/assets/journeyDiagram-XKPGCS4Q-BfzTomS0.js +139 -0
  104. package/public/assets/kanban-definition-3W4ZIXB7-Cgju7b-L.js +89 -0
  105. package/public/assets/katex-qrhCpa0F.js +261 -0
  106. package/public/assets/layout-BKQfQSxJ.js +1 -0
  107. package/public/assets/linear-DigtLz3B.js +1 -0
  108. package/public/assets/mindmap-definition-VGOIOE7T-qopraVFy.js +68 -0
  109. package/public/assets/monaco-editor-DHKm5-VF.js +19 -0
  110. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  111. package/public/assets/pieDiagram-ADFJNKIX-BcoaAI-L.js +30 -0
  112. package/public/assets/quadrantDiagram-AYHSOK5B-D-DwcoSd.js +7 -0
  113. package/public/assets/requirementDiagram-UZGBJVZJ-DbQCpx77.js +64 -0
  114. package/public/assets/sankeyDiagram-TZEHDZUN-BVk8387S.js +10 -0
  115. package/public/assets/sequenceDiagram-WL72ISMW-BdzICjxO.js +145 -0
  116. package/public/assets/stateDiagram-FKZM4ZOC-CYY-uUvJ.js +1 -0
  117. package/public/assets/stateDiagram-v2-4FDKWEC3-Dh2Kvomq.js +1 -0
  118. package/{backend/dist/frontend/assets/syntax-highlighting-YWvMU4Hm.js → public/assets/syntax-highlighting-CnREyncB.js} +5 -5
  119. package/public/assets/tabManager-B2LQO_Ll.js +30 -0
  120. package/{backend/dist/frontend/assets/table-D6q1rytw.js → public/assets/table-D0L2RL5i.js} +1 -1
  121. package/public/assets/timeline-definition-IT6M3QCI-BAvjPYvX.js +61 -0
  122. package/public/assets/tools-IcPNZlPj.js +1 -0
  123. package/public/assets/treemap-KMMF4GRG-DtkpVA56.js +128 -0
  124. package/{backend/dist/frontend/assets/ui-components-Cw21Epuw.js → public/assets/ui-components-D1St49qC.js} +231 -96
  125. package/public/assets/useAgents-BnDTkOG8.js +2 -0
  126. package/public/assets/useClaudeVersions-CD59tFWM.js +1 -0
  127. package/public/assets/useCommands-mvMu3mMD.js +1 -0
  128. package/public/assets/useProjects-YXOjaOwL.js +1 -0
  129. package/public/assets/xychartDiagram-PRI3JC2R-ByBTDWE2.js +7 -0
  130. package/{backend/dist/frontend → public}/index.html +8 -8
  131. package/routes/__tests__/a2a.integration.test.d.ts +11 -0
  132. package/routes/__tests__/a2a.integration.test.d.ts.map +1 -0
  133. package/routes/__tests__/a2a.integration.test.js +314 -0
  134. package/routes/__tests__/a2a.integration.test.js.map +1 -0
  135. package/routes/__tests__/a2a.test.d.ts +6 -0
  136. package/routes/__tests__/a2a.test.d.ts.map +1 -0
  137. package/routes/__tests__/a2a.test.js +622 -0
  138. package/routes/__tests__/a2a.test.js.map +1 -0
  139. package/routes/__tests__/agents.test.d.ts +6 -0
  140. package/routes/__tests__/agents.test.d.ts.map +1 -0
  141. package/routes/__tests__/agents.test.js +315 -0
  142. package/routes/__tests__/agents.test.js.map +1 -0
  143. package/routes/__tests__/sessions.test.d.ts +7 -0
  144. package/routes/__tests__/sessions.test.d.ts.map +1 -0
  145. package/routes/__tests__/sessions.test.js +330 -0
  146. package/routes/__tests__/sessions.test.js.map +1 -0
  147. package/routes/a2a.d.ts +18 -0
  148. package/routes/a2a.d.ts.map +1 -0
  149. package/routes/a2a.js +649 -0
  150. package/routes/a2a.js.map +1 -0
  151. package/routes/a2a.streaming.test.d.ts +2 -0
  152. package/routes/a2a.streaming.test.d.ts.map +1 -0
  153. package/routes/a2a.streaming.test.js +167 -0
  154. package/routes/a2a.streaming.test.js.map +1 -0
  155. package/routes/a2aManagement.d.ts +21 -0
  156. package/routes/a2aManagement.d.ts.map +1 -0
  157. package/routes/a2aManagement.js +466 -0
  158. package/routes/a2aManagement.js.map +1 -0
  159. package/{backend/dist/routes → routes}/agents.d.ts.map +1 -1
  160. package/routes/agents.js +997 -0
  161. package/routes/agents.js.map +1 -0
  162. package/{backend/dist/routes → routes}/auth.d.ts.map +1 -1
  163. package/routes/auth.js +135 -0
  164. package/routes/auth.js.map +1 -0
  165. package/{backend/dist/routes → routes}/commands.d.ts.map +1 -1
  166. package/{backend/dist/routes → routes}/commands.js +115 -31
  167. package/routes/commands.js.map +1 -0
  168. package/routes/config.d.ts +4 -0
  169. package/routes/config.d.ts.map +1 -0
  170. package/routes/config.js +211 -0
  171. package/routes/config.js.map +1 -0
  172. package/{backend/dist/routes → routes}/files.d.ts.map +1 -1
  173. package/{backend/dist/routes → routes}/files.js +103 -43
  174. package/routes/files.js.map +1 -0
  175. package/routes/mcp.d.ts +27 -0
  176. package/routes/mcp.d.ts.map +1 -0
  177. package/{backend/dist/routes → routes}/mcp.js +195 -105
  178. package/routes/mcp.js.map +1 -0
  179. package/routes/mcpAdmin.d.ts +16 -0
  180. package/routes/mcpAdmin.d.ts.map +1 -0
  181. package/routes/mcpAdmin.js +308 -0
  182. package/routes/mcpAdmin.js.map +1 -0
  183. package/routes/mcpAdminManagement.d.ts +17 -0
  184. package/routes/mcpAdminManagement.d.ts.map +1 -0
  185. package/routes/mcpAdminManagement.js +345 -0
  186. package/routes/mcpAdminManagement.js.map +1 -0
  187. package/routes/media.d.ts.map +1 -0
  188. package/{backend/dist/routes → routes}/media.js +52 -42
  189. package/routes/media.js.map +1 -0
  190. package/routes/mediaAuth.d.ts +8 -0
  191. package/routes/mediaAuth.d.ts.map +1 -0
  192. package/routes/mediaAuth.js +136 -0
  193. package/routes/mediaAuth.js.map +1 -0
  194. package/routes/plugins.d.ts +4 -0
  195. package/routes/plugins.d.ts.map +1 -0
  196. package/routes/plugins.js +339 -0
  197. package/routes/plugins.js.map +1 -0
  198. package/{backend/dist/routes → routes}/projects.d.ts.map +1 -1
  199. package/routes/projects.js +884 -0
  200. package/routes/projects.js.map +1 -0
  201. package/routes/scheduledTasks.d.ts +9 -0
  202. package/routes/scheduledTasks.d.ts.map +1 -0
  203. package/routes/scheduledTasks.js +320 -0
  204. package/routes/scheduledTasks.js.map +1 -0
  205. package/{backend/dist/routes → routes}/sessions.d.ts.map +1 -1
  206. package/{backend/dist/routes → routes}/sessions.js +258 -39
  207. package/routes/sessions.js.map +1 -0
  208. package/{backend/dist/routes → routes}/settings.d.ts.map +1 -1
  209. package/{backend/dist/routes → routes}/settings.js +82 -241
  210. package/routes/settings.js.map +1 -0
  211. package/{backend/dist/routes/mcp.d.ts → routes/skills.d.ts} +1 -1
  212. package/routes/skills.d.ts.map +1 -0
  213. package/routes/skills.js +272 -0
  214. package/routes/skills.js.map +1 -0
  215. package/routes/slack.d.ts +10 -0
  216. package/routes/slack.d.ts.map +1 -0
  217. package/routes/slack.js +189 -0
  218. package/routes/slack.js.map +1 -0
  219. package/{backend/dist/routes → routes}/slides.d.ts.map +1 -1
  220. package/{backend/dist/routes → routes}/slides.js +29 -27
  221. package/routes/slides.js.map +1 -0
  222. package/{backend/dist/routes → routes}/subagents.js +27 -22
  223. package/routes/subagents.js.map +1 -0
  224. package/schemas/a2a.d.ts +858 -0
  225. package/schemas/a2a.d.ts.map +1 -0
  226. package/schemas/a2a.js +300 -0
  227. package/schemas/a2a.js.map +1 -0
  228. package/scripts/postinstall.js +10 -0
  229. package/services/__tests__/pluginInstaller.test.d.ts +5 -0
  230. package/services/__tests__/pluginInstaller.test.d.ts.map +1 -0
  231. package/services/__tests__/pluginInstaller.test.js +290 -0
  232. package/services/__tests__/pluginInstaller.test.js.map +1 -0
  233. package/services/__tests__/pluginParser.test.d.ts +5 -0
  234. package/services/__tests__/pluginParser.test.d.ts.map +1 -0
  235. package/services/__tests__/pluginParser.test.js +272 -0
  236. package/services/__tests__/pluginParser.test.js.map +1 -0
  237. package/services/__tests__/pluginPaths.test.d.ts +5 -0
  238. package/services/__tests__/pluginPaths.test.d.ts.map +1 -0
  239. package/services/__tests__/pluginPaths.test.js +221 -0
  240. package/services/__tests__/pluginPaths.test.js.map +1 -0
  241. package/services/__tests__/pluginScanner.test.d.ts +5 -0
  242. package/services/__tests__/pluginScanner.test.d.ts.map +1 -0
  243. package/services/__tests__/pluginScanner.test.js +272 -0
  244. package/services/__tests__/pluginScanner.test.js.map +1 -0
  245. package/services/__tests__/pluginSymlink.test.d.ts +5 -0
  246. package/services/__tests__/pluginSymlink.test.d.ts.map +1 -0
  247. package/services/__tests__/pluginSymlink.test.js +318 -0
  248. package/services/__tests__/pluginSymlink.test.js.map +1 -0
  249. package/services/__tests__/slackAIService.test.d.ts +5 -0
  250. package/services/__tests__/slackAIService.test.d.ts.map +1 -0
  251. package/services/__tests__/slackAIService.test.js +477 -0
  252. package/services/__tests__/slackAIService.test.js.map +1 -0
  253. package/services/__tests__/slackThreadMapper.test.d.ts +5 -0
  254. package/services/__tests__/slackThreadMapper.test.d.ts.map +1 -0
  255. package/services/__tests__/slackThreadMapper.test.js +194 -0
  256. package/services/__tests__/slackThreadMapper.test.js.map +1 -0
  257. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +6 -0
  258. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +1 -0
  259. package/services/a2a/__tests__/a2aClientTool.integration.test.js +264 -0
  260. package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +1 -0
  261. package/services/a2a/__tests__/a2aClientTool.test.d.ts +6 -0
  262. package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +1 -0
  263. package/services/a2a/__tests__/a2aClientTool.test.js +418 -0
  264. package/services/a2a/__tests__/a2aClientTool.test.js.map +1 -0
  265. package/services/a2a/__tests__/a2aConfigService.test.d.ts +6 -0
  266. package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +1 -0
  267. package/services/a2a/__tests__/a2aConfigService.test.js +431 -0
  268. package/services/a2a/__tests__/a2aConfigService.test.js.map +1 -0
  269. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +2 -0
  270. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +1 -0
  271. package/services/a2a/__tests__/a2aConfigServicePath.test.js +49 -0
  272. package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +1 -0
  273. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +10 -0
  274. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +1 -0
  275. package/services/a2a/__tests__/a2aSdkMcp.test.js +239 -0
  276. package/services/a2a/__tests__/a2aSdkMcp.test.js.map +1 -0
  277. package/services/a2a/__tests__/agentCardService.test.d.ts +6 -0
  278. package/services/a2a/__tests__/agentCardService.test.d.ts.map +1 -0
  279. package/services/a2a/__tests__/agentCardService.test.js +292 -0
  280. package/services/a2a/__tests__/agentCardService.test.js.map +1 -0
  281. package/services/a2a/__tests__/apiKeyService.test.d.ts +6 -0
  282. package/services/a2a/__tests__/apiKeyService.test.d.ts.map +1 -0
  283. package/services/a2a/__tests__/apiKeyService.test.js +284 -0
  284. package/services/a2a/__tests__/apiKeyService.test.js.map +1 -0
  285. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +2 -0
  286. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +1 -0
  287. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +70 -0
  288. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +1 -0
  289. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +2 -0
  290. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +1 -0
  291. package/services/a2a/__tests__/dynamic_config_verification.test.js +67 -0
  292. package/services/a2a/__tests__/dynamic_config_verification.test.js.map +1 -0
  293. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +2 -0
  294. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +1 -0
  295. package/services/a2a/__tests__/integrateA2AMcpServer.test.js +112 -0
  296. package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +1 -0
  297. package/services/a2a/__tests__/taskManager.integration.test.d.ts +7 -0
  298. package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +1 -0
  299. package/services/a2a/__tests__/taskManager.integration.test.js +346 -0
  300. package/services/a2a/__tests__/taskManager.integration.test.js.map +1 -0
  301. package/services/a2a/__tests__/taskManager.test.d.ts +7 -0
  302. package/services/a2a/__tests__/taskManager.test.d.ts.map +1 -0
  303. package/services/a2a/__tests__/taskManager.test.js +423 -0
  304. package/services/a2a/__tests__/taskManager.test.js.map +1 -0
  305. package/services/a2a/a2aClientTool.d.ts +73 -0
  306. package/services/a2a/a2aClientTool.d.ts.map +1 -0
  307. package/services/a2a/a2aClientTool.js +572 -0
  308. package/services/a2a/a2aClientTool.js.map +1 -0
  309. package/services/a2a/a2aConfigService.d.ts +50 -0
  310. package/services/a2a/a2aConfigService.d.ts.map +1 -0
  311. package/services/a2a/a2aConfigService.js +186 -0
  312. package/services/a2a/a2aConfigService.js.map +1 -0
  313. package/services/a2a/a2aHistoryService.d.ts +32 -0
  314. package/services/a2a/a2aHistoryService.d.ts.map +1 -0
  315. package/services/a2a/a2aHistoryService.js +108 -0
  316. package/services/a2a/a2aHistoryService.js.map +1 -0
  317. package/services/a2a/a2aIntegration.d.ts +9 -0
  318. package/services/a2a/a2aIntegration.d.ts.map +1 -0
  319. package/services/a2a/a2aIntegration.js +41 -0
  320. package/services/a2a/a2aIntegration.js.map +1 -0
  321. package/services/a2a/a2aQueryService.d.ts +71 -0
  322. package/services/a2a/a2aQueryService.d.ts.map +1 -0
  323. package/services/a2a/a2aQueryService.js +166 -0
  324. package/services/a2a/a2aQueryService.js.map +1 -0
  325. package/services/a2a/a2aSdkMcp.d.ts +51 -0
  326. package/services/a2a/a2aSdkMcp.d.ts.map +1 -0
  327. package/services/a2a/a2aSdkMcp.js +185 -0
  328. package/services/a2a/a2aSdkMcp.js.map +1 -0
  329. package/services/a2a/a2aStreamEvents.d.ts +94 -0
  330. package/services/a2a/a2aStreamEvents.d.ts.map +1 -0
  331. package/services/a2a/a2aStreamEvents.js +92 -0
  332. package/services/a2a/a2aStreamEvents.js.map +1 -0
  333. package/services/a2a/agentCardService.d.ts +34 -0
  334. package/services/a2a/agentCardService.d.ts.map +1 -0
  335. package/services/a2a/agentCardService.js +228 -0
  336. package/services/a2a/agentCardService.js.map +1 -0
  337. package/services/a2a/agentMappingService.d.ts +53 -0
  338. package/services/a2a/agentMappingService.d.ts.map +1 -0
  339. package/services/a2a/agentMappingService.js +185 -0
  340. package/services/a2a/agentMappingService.js.map +1 -0
  341. package/services/a2a/apiKeyService.d.ts +101 -0
  342. package/services/a2a/apiKeyService.d.ts.map +1 -0
  343. package/services/a2a/apiKeyService.js +314 -0
  344. package/services/a2a/apiKeyService.js.map +1 -0
  345. package/services/a2a/taskCleanup.d.ts +30 -0
  346. package/services/a2a/taskCleanup.d.ts.map +1 -0
  347. package/services/a2a/taskCleanup.js +184 -0
  348. package/services/a2a/taskCleanup.js.map +1 -0
  349. package/services/a2a/taskManager.d.ts +86 -0
  350. package/services/a2a/taskManager.d.ts.map +1 -0
  351. package/services/a2a/taskManager.js +263 -0
  352. package/services/a2a/taskManager.js.map +1 -0
  353. package/services/agentStorage.d.ts +27 -0
  354. package/services/agentStorage.d.ts.map +1 -0
  355. package/services/agentStorage.js +487 -0
  356. package/services/agentStorage.js.map +1 -0
  357. package/services/askUserQuestion/askUserQuestionIntegration.d.ts +24 -0
  358. package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +1 -0
  359. package/services/askUserQuestion/askUserQuestionIntegration.js +52 -0
  360. package/services/askUserQuestion/askUserQuestionIntegration.js.map +1 -0
  361. package/services/askUserQuestion/askUserQuestionMcp.d.ts +103 -0
  362. package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +1 -0
  363. package/services/askUserQuestion/askUserQuestionMcp.js +129 -0
  364. package/services/askUserQuestion/askUserQuestionMcp.js.map +1 -0
  365. package/services/askUserQuestion/index.d.ts +13 -0
  366. package/services/askUserQuestion/index.d.ts.map +1 -0
  367. package/services/askUserQuestion/index.js +35 -0
  368. package/services/askUserQuestion/index.js.map +1 -0
  369. package/services/askUserQuestion/init.d.ts +17 -0
  370. package/services/askUserQuestion/init.d.ts.map +1 -0
  371. package/services/askUserQuestion/init.js +47 -0
  372. package/services/askUserQuestion/init.js.map +1 -0
  373. package/services/askUserQuestion/notificationChannel.d.ts +97 -0
  374. package/services/askUserQuestion/notificationChannel.d.ts.map +1 -0
  375. package/services/askUserQuestion/notificationChannel.js +147 -0
  376. package/services/askUserQuestion/notificationChannel.js.map +1 -0
  377. package/services/askUserQuestion/slackNotificationChannel.d.ts +35 -0
  378. package/services/askUserQuestion/slackNotificationChannel.d.ts.map +1 -0
  379. package/services/askUserQuestion/slackNotificationChannel.js +129 -0
  380. package/services/askUserQuestion/slackNotificationChannel.js.map +1 -0
  381. package/services/askUserQuestion/sseNotificationChannel.d.ts +36 -0
  382. package/services/askUserQuestion/sseNotificationChannel.d.ts.map +1 -0
  383. package/services/askUserQuestion/sseNotificationChannel.js +88 -0
  384. package/services/askUserQuestion/sseNotificationChannel.js.map +1 -0
  385. package/services/askUserQuestion/userInputRegistry.d.ts +107 -0
  386. package/services/askUserQuestion/userInputRegistry.d.ts.map +1 -0
  387. package/services/askUserQuestion/userInputRegistry.js +253 -0
  388. package/services/askUserQuestion/userInputRegistry.js.map +1 -0
  389. package/{backend/dist/services → services}/claudeSession.d.ts +20 -5
  390. package/services/claudeSession.d.ts.map +1 -0
  391. package/{backend/dist/services → services}/claudeSession.js +123 -41
  392. package/services/claudeSession.js.map +1 -0
  393. package/services/claudeVersionStorage.d.ts +20 -0
  394. package/services/claudeVersionStorage.d.ts.map +1 -0
  395. package/services/claudeVersionStorage.js +331 -0
  396. package/services/claudeVersionStorage.js.map +1 -0
  397. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
  398. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
  399. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
  400. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
  401. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
  402. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
  403. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
  404. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
  405. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
  406. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
  407. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
  408. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
  409. package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
  410. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
  411. package/services/mcpAdmin/__tests__/tools.test.js +371 -0
  412. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
  413. package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
  414. package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
  415. package/services/mcpAdmin/adminApiKeyService.js +270 -0
  416. package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
  417. package/services/mcpAdmin/index.d.ts +10 -0
  418. package/services/mcpAdmin/index.d.ts.map +1 -0
  419. package/services/mcpAdmin/index.js +43 -0
  420. package/services/mcpAdmin/index.js.map +1 -0
  421. package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
  422. package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
  423. package/services/mcpAdmin/mcpAdminServer.js +243 -0
  424. package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
  425. package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
  426. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
  427. package/services/mcpAdmin/tools/agentTools.js +359 -0
  428. package/services/mcpAdmin/tools/agentTools.js.map +1 -0
  429. package/services/mcpAdmin/tools/index.d.ts +15 -0
  430. package/services/mcpAdmin/tools/index.d.ts.map +1 -0
  431. package/services/mcpAdmin/tools/index.js +30 -0
  432. package/services/mcpAdmin/tools/index.js.map +1 -0
  433. package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
  434. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
  435. package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
  436. package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
  437. package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
  438. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
  439. package/services/mcpAdmin/tools/projectTools.js +353 -0
  440. package/services/mcpAdmin/tools/projectTools.js.map +1 -0
  441. package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
  442. package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
  443. package/services/mcpAdmin/tools/systemTools.js +241 -0
  444. package/services/mcpAdmin/tools/systemTools.js.map +1 -0
  445. package/services/mcpAdmin/types.d.ts +124 -0
  446. package/services/mcpAdmin/types.d.ts.map +1 -0
  447. package/services/mcpAdmin/types.js +18 -0
  448. package/services/mcpAdmin/types.js.map +1 -0
  449. package/{backend/dist/services → services}/messageQueue.d.ts.map +1 -1
  450. package/{backend/dist/services → services}/messageQueue.js +16 -3
  451. package/services/messageQueue.js.map +1 -0
  452. package/services/pluginInstaller.d.ts +58 -0
  453. package/services/pluginInstaller.d.ts.map +1 -0
  454. package/services/pluginInstaller.js +321 -0
  455. package/services/pluginInstaller.js.map +1 -0
  456. package/services/pluginParser.d.ts +45 -0
  457. package/services/pluginParser.d.ts.map +1 -0
  458. package/services/pluginParser.js +437 -0
  459. package/services/pluginParser.js.map +1 -0
  460. package/services/pluginPaths.d.ts +80 -0
  461. package/services/pluginPaths.d.ts.map +1 -0
  462. package/services/pluginPaths.js +274 -0
  463. package/services/pluginPaths.js.map +1 -0
  464. package/services/pluginScanner.d.ts +36 -0
  465. package/services/pluginScanner.d.ts.map +1 -0
  466. package/services/pluginScanner.js +251 -0
  467. package/services/pluginScanner.js.map +1 -0
  468. package/services/pluginSymlink.d.ts +54 -0
  469. package/services/pluginSymlink.d.ts.map +1 -0
  470. package/services/pluginSymlink.js +223 -0
  471. package/services/pluginSymlink.js.map +1 -0
  472. package/services/projectMetadataStorage.d.ts +114 -0
  473. package/services/projectMetadataStorage.d.ts.map +1 -0
  474. package/services/projectMetadataStorage.js +711 -0
  475. package/services/projectMetadataStorage.js.map +1 -0
  476. package/services/scheduledTaskStorage.d.ts +52 -0
  477. package/services/scheduledTaskStorage.d.ts.map +1 -0
  478. package/services/scheduledTaskStorage.js +285 -0
  479. package/services/scheduledTaskStorage.js.map +1 -0
  480. package/services/schedulerService.d.ts +81 -0
  481. package/services/schedulerService.d.ts.map +1 -0
  482. package/services/schedulerService.js +743 -0
  483. package/services/schedulerService.js.map +1 -0
  484. package/{backend/dist/services → services}/sessionManager.d.ts +6 -4
  485. package/services/sessionManager.d.ts.map +1 -0
  486. package/{backend/dist/services → services}/sessionManager.js +77 -16
  487. package/services/sessionManager.js.map +1 -0
  488. package/services/skillStorage.d.ts +60 -0
  489. package/services/skillStorage.d.ts.map +1 -0
  490. package/services/skillStorage.js +398 -0
  491. package/services/skillStorage.js.map +1 -0
  492. package/services/slackAIService.d.ts +81 -0
  493. package/services/slackAIService.d.ts.map +1 -0
  494. package/services/slackAIService.js +1091 -0
  495. package/services/slackAIService.js.map +1 -0
  496. package/services/slackClient.d.ts +46 -0
  497. package/services/slackClient.d.ts.map +1 -0
  498. package/services/slackClient.js +85 -0
  499. package/services/slackClient.js.map +1 -0
  500. package/services/slackSessionLock.d.ts +79 -0
  501. package/services/slackSessionLock.d.ts.map +1 -0
  502. package/services/slackSessionLock.js +353 -0
  503. package/services/slackSessionLock.js.map +1 -0
  504. package/services/slackThreadMapper.d.ts +57 -0
  505. package/services/slackThreadMapper.d.ts.map +1 -0
  506. package/services/slackThreadMapper.js +140 -0
  507. package/services/slackThreadMapper.js.map +1 -0
  508. package/types/a2a.d.ts +275 -0
  509. package/types/a2a.d.ts.map +1 -0
  510. package/types/a2a.js +23 -0
  511. package/types/a2a.js.map +1 -0
  512. package/types/agents.d.ts +95 -0
  513. package/types/agents.d.ts.map +1 -0
  514. package/types/agents.js +46 -0
  515. package/types/agents.js.map +1 -0
  516. package/types/claude-history.d.ts +62 -0
  517. package/types/claude-history.d.ts.map +1 -0
  518. package/types/claude-history.js +4 -0
  519. package/types/claude-history.js.map +1 -0
  520. package/types/claude-versions.d.ts +36 -0
  521. package/types/claude-versions.d.ts.map +1 -0
  522. package/types/claude-versions.js +3 -0
  523. package/types/claude-versions.js.map +1 -0
  524. package/types/commands.d.ts +50 -0
  525. package/types/commands.d.ts.map +1 -0
  526. package/types/commands.js +23 -0
  527. package/types/commands.js.map +1 -0
  528. package/types/plugins.d.ts +144 -0
  529. package/types/plugins.d.ts.map +1 -0
  530. package/types/plugins.js +8 -0
  531. package/types/plugins.js.map +1 -0
  532. package/types/projects.d.ts +42 -0
  533. package/types/projects.d.ts.map +1 -0
  534. package/types/projects.js +4 -0
  535. package/types/projects.js.map +1 -0
  536. package/types/scheduledTasks.d.ts +164 -0
  537. package/types/scheduledTasks.d.ts.map +1 -0
  538. package/types/scheduledTasks.js +17 -0
  539. package/types/scheduledTasks.js.map +1 -0
  540. package/types/skills.d.ts +91 -0
  541. package/types/skills.d.ts.map +1 -0
  542. package/types/skills.js +6 -0
  543. package/types/skills.js.map +1 -0
  544. package/types/slack.d.ts +97 -0
  545. package/types/slack.d.ts.map +1 -0
  546. package/types/slack.js +8 -0
  547. package/types/slack.js.map +1 -0
  548. package/types/streaming.d.ts +12 -0
  549. package/types/streaming.d.ts.map +1 -0
  550. package/types/streaming.js +8 -0
  551. package/types/streaming.js.map +1 -0
  552. package/types/subagents.d.ts +26 -0
  553. package/types/subagents.d.ts.map +1 -0
  554. package/types/subagents.js +3 -0
  555. package/types/subagents.js.map +1 -0
  556. package/utils/__tests__/claudeUtils.test.d.ts +5 -0
  557. package/utils/__tests__/claudeUtils.test.d.ts.map +1 -0
  558. package/utils/__tests__/claudeUtils.test.js +282 -0
  559. package/utils/__tests__/claudeUtils.test.js.map +1 -0
  560. package/utils/__tests__/sessionUtils.test.d.ts +5 -0
  561. package/utils/__tests__/sessionUtils.test.d.ts.map +1 -0
  562. package/utils/__tests__/sessionUtils.test.js +295 -0
  563. package/utils/__tests__/sessionUtils.test.js.map +1 -0
  564. package/utils/agentCardCache.d.ts +93 -0
  565. package/utils/agentCardCache.d.ts.map +1 -0
  566. package/utils/agentCardCache.js +212 -0
  567. package/utils/agentCardCache.js.map +1 -0
  568. package/utils/claudeUtils.d.ts +54 -0
  569. package/utils/claudeUtils.d.ts.map +1 -0
  570. package/utils/claudeUtils.js +387 -0
  571. package/utils/claudeUtils.js.map +1 -0
  572. package/utils/fileUtils.d.ts +2 -0
  573. package/utils/fileUtils.d.ts.map +1 -0
  574. package/utils/fileUtils.js +11 -0
  575. package/utils/fileUtils.js.map +1 -0
  576. package/utils/jwt.d.ts +30 -0
  577. package/utils/jwt.d.ts.map +1 -0
  578. package/utils/jwt.js +95 -0
  579. package/utils/jwt.js.map +1 -0
  580. package/utils/sessionUtils.d.ts +64 -0
  581. package/utils/sessionUtils.d.ts.map +1 -0
  582. package/utils/sessionUtils.js +266 -0
  583. package/utils/sessionUtils.js.map +1 -0
  584. package/README.zh-CN.md +0 -525
  585. package/backend/dist/bin/agentstudio.js +0 -120
  586. package/backend/dist/bin/agentstudio.js.map +0 -1
  587. package/backend/dist/frontend/assets/AgentsPage-Dqb_aqAA.js +0 -1
  588. package/backend/dist/frontend/assets/ChatPage-L8Paywyc.js +0 -91
  589. package/backend/dist/frontend/assets/CommandForm-DLl7EIMS.js +0 -7
  590. package/backend/dist/frontend/assets/CommandsPage-Bzavq0Ec.js +0 -1
  591. package/backend/dist/frontend/assets/DashboardPage-B3o4AYFT.js +0 -15
  592. package/backend/dist/frontend/assets/FileBrowser-DL3ayaqb.js +0 -1
  593. package/backend/dist/frontend/assets/GeneralSettingsPage-CBN_de-V.js +0 -1
  594. package/backend/dist/frontend/assets/LandingPage-Dl4ioKos.js +0 -1
  595. package/backend/dist/frontend/assets/LoginPage-4QqRdiSi.js +0 -12
  596. package/backend/dist/frontend/assets/McpPage-CY3tYiqj.js +0 -39
  597. package/backend/dist/frontend/assets/MemorySettingsPage-DGxrok5K.js +0 -1
  598. package/backend/dist/frontend/assets/ProjectSelector-hgmGYVFh.js +0 -1
  599. package/backend/dist/frontend/assets/ProjectsPage-D399IM0c.js +0 -14
  600. package/backend/dist/frontend/assets/SettingsLayout-CL_K-lzJ.js +0 -1
  601. package/backend/dist/frontend/assets/SubagentsPage-Chbhj8p2.js +0 -1
  602. package/backend/dist/frontend/assets/UnifiedToolSelector-CsM9qBvs.js +0 -1
  603. package/backend/dist/frontend/assets/VersionSettingsPage-74Q-LVgA.js +0 -5
  604. package/backend/dist/frontend/assets/agents-ClAzIJTw.js +0 -1
  605. package/backend/dist/frontend/assets/authFetch-BATQyPG5.js +0 -1
  606. package/backend/dist/frontend/assets/index-B9YHa7XT.css +0 -1
  607. package/backend/dist/frontend/assets/index-B_CTNvca.js +0 -268
  608. package/backend/dist/frontend/assets/monaco-editor-C7Z4sOhS.js +0 -19
  609. package/backend/dist/frontend/assets/tabManager-DV8urRBM.js +0 -30
  610. package/backend/dist/frontend/assets/tools-C4EPanYi.js +0 -1
  611. package/backend/dist/frontend/assets/useAgents-DwnOE1_k.js +0 -2
  612. package/backend/dist/frontend/assets/useClaudeVersions-CQdGnCqv.js +0 -1
  613. package/backend/dist/frontend/assets/useCommands-CCVaurbt.js +0 -1
  614. package/backend/dist/index.d.ts +0 -3
  615. package/backend/dist/index.d.ts.map +0 -1
  616. package/backend/dist/index.js +0 -157
  617. package/backend/dist/index.js.map +0 -1
  618. package/backend/dist/middleware/auth.d.ts.map +0 -1
  619. package/backend/dist/middleware/auth.js +0 -21
  620. package/backend/dist/middleware/auth.js.map +0 -1
  621. package/backend/dist/routes/agents.js +0 -803
  622. package/backend/dist/routes/agents.js.map +0 -1
  623. package/backend/dist/routes/auth.js +0 -60
  624. package/backend/dist/routes/auth.js.map +0 -1
  625. package/backend/dist/routes/commands.js.map +0 -1
  626. package/backend/dist/routes/files.js.map +0 -1
  627. package/backend/dist/routes/mcp.d.ts.map +0 -1
  628. package/backend/dist/routes/mcp.js.map +0 -1
  629. package/backend/dist/routes/media.d.ts.map +0 -1
  630. package/backend/dist/routes/media.js.map +0 -1
  631. package/backend/dist/routes/projects.js +0 -528
  632. package/backend/dist/routes/projects.js.map +0 -1
  633. package/backend/dist/routes/sessions.js.map +0 -1
  634. package/backend/dist/routes/settings.js.map +0 -1
  635. package/backend/dist/routes/slides.js.map +0 -1
  636. package/backend/dist/routes/subagents.js.map +0 -1
  637. package/backend/dist/services/claudeSession.d.ts.map +0 -1
  638. package/backend/dist/services/claudeSession.js.map +0 -1
  639. package/backend/dist/services/messageQueue.js.map +0 -1
  640. package/backend/dist/services/sessionManager.d.ts.map +0 -1
  641. package/backend/dist/services/sessionManager.js.map +0 -1
  642. package/backend/dist/utils/jwt.d.ts +0 -15
  643. package/backend/dist/utils/jwt.d.ts.map +0 -1
  644. package/backend/dist/utils/jwt.js +0 -28
  645. package/backend/dist/utils/jwt.js.map +0 -1
  646. /package/{backend/dist/bin → bin}/agentstudio.d.ts +0 -0
  647. /package/{backend/dist/bin → bin}/agentstudio.d.ts.map +0 -0
  648. /package/{backend/dist/frontend → public}/assets/ChatPage-BvQmXfcP.css +0 -0
  649. /package/{backend/dist/frontend → public}/assets/agents-DwCY2K8p.css +0 -0
  650. /package/{backend/dist/frontend → public}/assets/dateFormat-CXa8VnEC.js +0 -0
  651. /package/{backend/dist/frontend → public}/cc-studio.png +0 -0
  652. /package/{backend/dist/frontend → public}/vite.svg +0 -0
  653. /package/{backend/dist/routes → routes}/agents.d.ts +0 -0
  654. /package/{backend/dist/routes → routes}/auth.d.ts +0 -0
  655. /package/{backend/dist/routes → routes}/commands.d.ts +0 -0
  656. /package/{backend/dist/routes → routes}/files.d.ts +0 -0
  657. /package/{backend/dist/routes → routes}/media.d.ts +0 -0
  658. /package/{backend/dist/routes → routes}/projects.d.ts +0 -0
  659. /package/{backend/dist/routes → routes}/sessions.d.ts +0 -0
  660. /package/{backend/dist/routes → routes}/settings.d.ts +0 -0
  661. /package/{backend/dist/routes → routes}/slides.d.ts +0 -0
  662. /package/{backend/dist/routes → routes}/subagents.d.ts +0 -0
  663. /package/{backend/dist/routes → routes}/subagents.d.ts.map +0 -0
  664. /package/{backend/dist/services → services}/messageQueue.d.ts +0 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Claude Utils - Shared utilities for Claude Code SDK integration
3
+ *
4
+ * This module provides common functions for interacting with Claude Code SDK,
5
+ * used by both the main agents API and Slack integration.
6
+ */
7
+ import { Options } from '@anthropic-ai/claude-agent-sdk';
8
+ import { SessionRef } from '../services/askUserQuestion/askUserQuestionIntegration.js';
9
+ export type { SessionRef };
10
+ /**
11
+ * Get the path to the system-installed Claude executable
12
+ * Only used when user explicitly wants to use system installation
13
+ *
14
+ * Note: When no executable path is specified, SDK will automatically
15
+ * use its bundled CLI which is always compatible with the SDK version.
16
+ */
17
+ export declare function getSystemClaudeExecutablePath(): Promise<string | null>;
18
+ /**
19
+ * @deprecated Use SDK's bundled CLI by not passing pathToClaudeCodeExecutable
20
+ * This function is kept for backward compatibility when user explicitly configures a path
21
+ */
22
+ export declare function getClaudeExecutablePath(): Promise<string | null>;
23
+ /**
24
+ * Read MCP (Model Context Protocol) configuration
25
+ */
26
+ export declare function readMcpConfig(): {
27
+ mcpServers: Record<string, any>;
28
+ };
29
+ /**
30
+ * Get default Claude version environment variables
31
+ */
32
+ export declare function getDefaultClaudeVersionEnv(): Promise<Record<string, string> | null>;
33
+ /**
34
+ * Build query options for Claude Code SDK
35
+ * This is the enhanced version from agents.ts with full MCP support
36
+ *
37
+ * @param agent - Agent configuration
38
+ * @param projectPath - Optional project path override
39
+ * @param mcpTools - Optional MCP tools to enable
40
+ * @param permissionMode - Optional permission mode override
41
+ * @param model - Optional model override
42
+ * @param claudeVersion - Optional Claude version ID
43
+ * @param defaultEnv - Optional default environment variables (used by Slack integration)
44
+ * @param userEnv - Optional user-provided environment variables (from chat interface)
45
+ * @param sessionIdForAskUser - Optional session ID for AskUserQuestion MCP tool(用于路由用户通知)
46
+ * @param agentIdForAskUser - Optional agent ID for AskUserQuestion MCP tool
47
+ * @returns Query options and optional sessionRef for dynamic session ID updates
48
+ */
49
+ export interface BuildQueryOptionsResult {
50
+ queryOptions: Options;
51
+ askUserSessionRef: SessionRef | null;
52
+ }
53
+ export declare function buildQueryOptions(agent: any, projectPath?: string, mcpTools?: string[], permissionMode?: string, model?: string, claudeVersion?: string, defaultEnv?: Record<string, string>, userEnv?: Record<string, string>, sessionIdForAskUser?: string, agentIdForAskUser?: string): Promise<BuildQueryOptionsResult>;
54
+ //# sourceMappingURL=claudeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/claudeUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,OAAO,EAAqC,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAE1H,YAAY,EAAE,UAAU,EAAE,CAAC;AAK3B;;;;;;GAMG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6B5E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEtE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAUnE;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CA8CzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,UAAU,GAAG,IAAI,CAAC;CACtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,GAAG,EACV,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAwOlC"}
@@ -0,0 +1,387 @@
1
+ "use strict";
2
+ /**
3
+ * Claude Utils - Shared utilities for Claude Code SDK integration
4
+ *
5
+ * This module provides common functions for interacting with Claude Code SDK,
6
+ * used by both the main agents API and Slack integration.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getSystemClaudeExecutablePath = getSystemClaudeExecutablePath;
43
+ exports.getClaudeExecutablePath = getClaudeExecutablePath;
44
+ exports.readMcpConfig = readMcpConfig;
45
+ exports.getDefaultClaudeVersionEnv = getDefaultClaudeVersionEnv;
46
+ exports.buildQueryOptions = buildQueryOptions;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ const child_process_1 = require("child_process");
50
+ const util_1 = require("util");
51
+ const claudeVersionStorage_js_1 = require("../services/claudeVersionStorage.js");
52
+ const a2aIntegration_js_1 = require("../services/a2a/a2aIntegration.js");
53
+ const askUserQuestionIntegration_js_1 = require("../services/askUserQuestion/askUserQuestionIntegration.js");
54
+ const paths_js_1 = require("../config/paths.js");
55
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
56
+ /**
57
+ * Get the path to the system-installed Claude executable
58
+ * Only used when user explicitly wants to use system installation
59
+ *
60
+ * Note: When no executable path is specified, SDK will automatically
61
+ * use its bundled CLI which is always compatible with the SDK version.
62
+ */
63
+ async function getSystemClaudeExecutablePath() {
64
+ try {
65
+ const { stdout: claudePath } = await execAsync('which claude');
66
+ if (!claudePath)
67
+ return null;
68
+ const cleanPath = claudePath.trim();
69
+ // Skip local node_modules paths - we want global installation
70
+ if (cleanPath.includes('node_modules/.bin')) {
71
+ try {
72
+ const { stdout: allClaudes } = await execAsync('which -a claude');
73
+ const claudes = allClaudes.trim().split('\n');
74
+ // Find the first non-local installation
75
+ for (const claudePathOption of claudes) {
76
+ if (!claudePathOption.includes('node_modules/.bin')) {
77
+ return claudePathOption.trim();
78
+ }
79
+ }
80
+ }
81
+ catch (error) {
82
+ // Fallback to the first path found
83
+ }
84
+ }
85
+ return cleanPath;
86
+ }
87
+ catch (error) {
88
+ console.error('Failed to get system claude executable path:', error);
89
+ return null;
90
+ }
91
+ }
92
+ /**
93
+ * @deprecated Use SDK's bundled CLI by not passing pathToClaudeCodeExecutable
94
+ * This function is kept for backward compatibility when user explicitly configures a path
95
+ */
96
+ async function getClaudeExecutablePath() {
97
+ return getSystemClaudeExecutablePath();
98
+ }
99
+ /**
100
+ * Read MCP (Model Context Protocol) configuration
101
+ */
102
+ function readMcpConfig() {
103
+ if (fs.existsSync(paths_js_1.MCP_SERVER_CONFIG_FILE)) {
104
+ try {
105
+ return JSON.parse(fs.readFileSync(paths_js_1.MCP_SERVER_CONFIG_FILE, 'utf-8'));
106
+ }
107
+ catch (error) {
108
+ console.error('Failed to parse MCP configuration:', error);
109
+ return { mcpServers: {} };
110
+ }
111
+ }
112
+ return { mcpServers: {} };
113
+ }
114
+ /**
115
+ * Get default Claude version environment variables
116
+ */
117
+ async function getDefaultClaudeVersionEnv() {
118
+ try {
119
+ const defaultVersionId = await (0, claudeVersionStorage_js_1.getDefaultVersionId)();
120
+ if (defaultVersionId) {
121
+ console.log(`🔍 Found default Claude version: ${defaultVersionId}`);
122
+ const allVersions = await (0, claudeVersionStorage_js_1.getAllVersionsInternal)();
123
+ const defaultVersion = allVersions.find(v => v.id === defaultVersionId);
124
+ if (defaultVersion && defaultVersion.environmentVariables) {
125
+ console.log(`🎯 Using default Claude version: ${defaultVersion.name} (${defaultVersion.alias})`);
126
+ // Log all environment variables
127
+ const envKeys = Object.keys(defaultVersion.environmentVariables);
128
+ console.log(`📝 Environment variables from default version:`, envKeys);
129
+ // Log proxy-related variables
130
+ const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
131
+ const configuredProxyVars = proxyVars.filter(key => defaultVersion.environmentVariables[key]);
132
+ if (configuredProxyVars.length > 0) {
133
+ console.log(`🌐 Proxy variables in default version:`, configuredProxyVars.reduce((acc, key) => {
134
+ acc[key] = defaultVersion.environmentVariables[key];
135
+ return acc;
136
+ }, {}));
137
+ }
138
+ // Check if this version has API keys configured
139
+ const hasApiKey = defaultVersion.environmentVariables.ANTHROPIC_API_KEY ||
140
+ defaultVersion.environmentVariables.OPENAI_API_KEY ||
141
+ defaultVersion.environmentVariables.ANTHROPIC_AUTH_TOKEN;
142
+ if (hasApiKey) {
143
+ console.log(`✅ Default Claude version has API key configured`);
144
+ return defaultVersion.environmentVariables;
145
+ }
146
+ else {
147
+ console.log(`⚠️ No API keys found in default version environment variables`);
148
+ }
149
+ }
150
+ }
151
+ console.log(`⚠️ No default Claude version with API keys found`);
152
+ return null;
153
+ }
154
+ catch (error) {
155
+ console.error('❌ Error getting default Claude version:', error);
156
+ return null;
157
+ }
158
+ }
159
+ async function buildQueryOptions(agent, projectPath, mcpTools, permissionMode, model, claudeVersion, defaultEnv, userEnv, sessionIdForAskUser, agentIdForAskUser) {
160
+ // Determine working directory
161
+ let cwd = process.cwd();
162
+ if (projectPath) {
163
+ cwd = projectPath;
164
+ }
165
+ else if (agent.workingDirectory) {
166
+ cwd = path.resolve(process.cwd(), agent.workingDirectory);
167
+ }
168
+ // Determine permission mode: request > agent config > default
169
+ let finalPermissionMode = 'default';
170
+ if (permissionMode) {
171
+ finalPermissionMode = permissionMode;
172
+ }
173
+ else if (agent.permissionMode) {
174
+ finalPermissionMode = agent.permissionMode;
175
+ }
176
+ // Determine model: request > agent config > default (sonnet)
177
+ let finalModel = 'sonnet';
178
+ if (model) {
179
+ finalModel = model;
180
+ }
181
+ else if (agent.model) {
182
+ finalModel = agent.model;
183
+ }
184
+ // Build allowed tools list from agent configuration
185
+ const allowedTools = agent.allowedTools
186
+ .filter((tool) => tool.enabled)
187
+ .map((tool) => tool.name);
188
+ // Add MCP tools if provided
189
+ if (mcpTools && mcpTools.length > 0) {
190
+ allowedTools.push(...mcpTools);
191
+ }
192
+ // Get Claude executable path and environment variables based on version
193
+ // Note: If no executablePath is explicitly configured, we don't pass pathToClaudeCodeExecutable
194
+ // to the SDK, allowing it to use its bundled CLI which is always compatible.
195
+ let executablePath = null;
196
+ let environmentVariables = {};
197
+ try {
198
+ // First check if agent has a specific Claude version
199
+ const agentClaudeVersion = claudeVersion || agent.claudeVersionId;
200
+ if (agentClaudeVersion) {
201
+ // Use specified version
202
+ const selectedVersion = await (0, claudeVersionStorage_js_1.getVersionByIdInternal)(agentClaudeVersion);
203
+ if (selectedVersion) {
204
+ // Only use executablePath if explicitly configured in the version
205
+ if (selectedVersion.executablePath) {
206
+ executablePath = selectedVersion.executablePath.trim();
207
+ console.log(`🎯 Using specified Claude version: ${selectedVersion.alias} (custom path: ${executablePath})`);
208
+ }
209
+ else {
210
+ console.log(`🎯 Using specified Claude version: ${selectedVersion.alias} (SDK bundled CLI)`);
211
+ }
212
+ environmentVariables = selectedVersion.environmentVariables || {};
213
+ }
214
+ else {
215
+ console.warn(`⚠️ Specified Claude version not found: ${agentClaudeVersion}, using SDK bundled CLI`);
216
+ }
217
+ }
218
+ else {
219
+ // Use default version or provided default environment
220
+ if (defaultEnv) {
221
+ // Slack integration or other callers can provide default env
222
+ console.log(`🎯 Using provided default environment variables (SDK bundled CLI)`);
223
+ environmentVariables = defaultEnv;
224
+ }
225
+ else {
226
+ // Standard flow: get default version from configuration
227
+ const defaultVersionId = await (0, claudeVersionStorage_js_1.getDefaultVersionId)();
228
+ if (defaultVersionId) {
229
+ const defaultVersion = await (0, claudeVersionStorage_js_1.getVersionByIdInternal)(defaultVersionId);
230
+ if (defaultVersion) {
231
+ // Only use executablePath if explicitly configured in the version
232
+ if (defaultVersion.executablePath) {
233
+ executablePath = defaultVersion.executablePath;
234
+ console.log(`🎯 Using default Claude version: ${defaultVersion.alias} (custom path: ${executablePath})`);
235
+ }
236
+ else {
237
+ console.log(`🎯 Using default Claude version: ${defaultVersion.alias} (SDK bundled CLI)`);
238
+ }
239
+ environmentVariables = defaultVersion.environmentVariables || {};
240
+ // Log environment variables details
241
+ const envVarKeys = Object.keys(environmentVariables);
242
+ if (envVarKeys.length > 0) {
243
+ console.log(`📝 Environment variables loaded from version config:`, envVarKeys);
244
+ // Log proxy-related variables specifically
245
+ const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
246
+ const loadedProxyVars = proxyVars.filter(key => environmentVariables[key]);
247
+ if (loadedProxyVars.length > 0) {
248
+ console.log(`🌐 Proxy variables detected:`, loadedProxyVars.reduce((acc, key) => {
249
+ acc[key] = environmentVariables[key];
250
+ return acc;
251
+ }, {}));
252
+ }
253
+ else {
254
+ console.log(`🌐 No proxy variables found in environment variables`);
255
+ }
256
+ }
257
+ else {
258
+ console.log(`⚠️ No environment variables configured for this version`);
259
+ }
260
+ }
261
+ else {
262
+ console.log(`📦 Using SDK bundled CLI (no default version configured)`);
263
+ }
264
+ }
265
+ else {
266
+ console.log(`📦 Using SDK bundled CLI (no default version configured)`);
267
+ }
268
+ }
269
+ }
270
+ }
271
+ catch (error) {
272
+ console.error('Failed to get Claude version config:', error);
273
+ console.log(`📦 Using SDK bundled CLI (fallback due to error)`);
274
+ }
275
+ if (executablePath) {
276
+ console.log(`🎯 Custom Claude executable path: ${executablePath}`);
277
+ }
278
+ else {
279
+ console.log(`📦 No custom path specified, SDK will use bundled CLI`);
280
+ }
281
+ const queryOptions = {
282
+ systemPrompt: agent.systemPrompt, // 直接使用 Agent 配置中的 systemPrompt
283
+ allowedTools,
284
+ maxTurns: agent.maxTurns,
285
+ cwd,
286
+ permissionMode: finalPermissionMode,
287
+ model: finalModel,
288
+ settingSources: ["user", "project"],
289
+ };
290
+ // Only add pathToClaudeCodeExecutable if we have a valid path
291
+ if (executablePath) {
292
+ queryOptions.pathToClaudeCodeExecutable = executablePath;
293
+ }
294
+ // Always merge environment variables with process.env
295
+ // This ensures critical variables like PATH, etc. are available
296
+ // Priority: userEnv > environmentVariables (from version/default) > process.env
297
+ queryOptions.env = { ...process.env, ...environmentVariables, ...userEnv };
298
+ // Normalize proxy variables: if uppercase is set, also set lowercase (and vice versa)
299
+ // This ensures proxy settings work regardless of which form the client library checks first
300
+ const proxyNormalizations = [
301
+ ['HTTP_PROXY', 'http_proxy'],
302
+ ['HTTPS_PROXY', 'https_proxy'],
303
+ ['NO_PROXY', 'no_proxy'],
304
+ ['ALL_PROXY', 'all_proxy']
305
+ ];
306
+ for (const [upper, lower] of proxyNormalizations) {
307
+ if (environmentVariables[upper] && !environmentVariables[lower]) {
308
+ // If uppercase is configured but lowercase isn't, set lowercase to match
309
+ queryOptions.env[lower] = environmentVariables[upper];
310
+ }
311
+ else if (environmentVariables[lower] && !environmentVariables[upper]) {
312
+ // If lowercase is configured but uppercase isn't, set uppercase to match
313
+ queryOptions.env[upper] = environmentVariables[lower];
314
+ }
315
+ }
316
+ if (Object.keys(environmentVariables).length > 0) {
317
+ // Log final proxy configuration that will be used
318
+ const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
319
+ const finalProxyVars = proxyVars.filter(key => queryOptions.env?.[key]);
320
+ // Log API keys presence (but not values)
321
+ const apiKeys = ['ANTHROPIC_API_KEY', 'OPENAI_API_KEY', 'ANTHROPIC_AUTH_TOKEN'];
322
+ const configuredApiKeys = apiKeys.filter(key => queryOptions.env?.[key]);
323
+ if (configuredApiKeys.length > 0) {
324
+ console.log(`🔑 API keys configured:`, configuredApiKeys);
325
+ }
326
+ }
327
+ else {
328
+ console.log(`🌍 Using process environment variables (no custom variables defined)`);
329
+ }
330
+ // Add MCP configuration if MCP tools are selected
331
+ if (mcpTools && mcpTools.length > 0) {
332
+ try {
333
+ const mcpConfigContent = readMcpConfig();
334
+ // Extract unique server names from mcpTools
335
+ const serverNames = new Set();
336
+ for (const tool of mcpTools) {
337
+ // Tool format: mcp__serverName__toolName or mcp__serverName
338
+ const parts = tool.split('__');
339
+ if (parts.length >= 2 && parts[0] === 'mcp') {
340
+ serverNames.add(parts[1]);
341
+ }
342
+ }
343
+ // Build mcpServers configuration
344
+ const mcpServers = {};
345
+ for (const serverName of serverNames) {
346
+ const serverConfig = mcpConfigContent.mcpServers?.[serverName];
347
+ if (serverConfig && serverConfig.status === 'active') {
348
+ if (serverConfig.type === 'http') {
349
+ mcpServers[serverName] = {
350
+ type: 'http',
351
+ url: serverConfig.url
352
+ };
353
+ }
354
+ else if (serverConfig.type === 'stdio') {
355
+ mcpServers[serverName] = {
356
+ type: 'stdio',
357
+ command: serverConfig.command,
358
+ args: serverConfig.args || [],
359
+ env: serverConfig.env || {}
360
+ };
361
+ }
362
+ }
363
+ }
364
+ if (Object.keys(mcpServers).length > 0) {
365
+ queryOptions.mcpServers = mcpServers;
366
+ console.log('🔧 MCP Servers configured:', Object.keys(mcpServers));
367
+ }
368
+ }
369
+ catch (error) {
370
+ console.error('Failed to parse MCP configuration:', error);
371
+ }
372
+ }
373
+ // Integrate A2A SDK MCP server
374
+ // We use the determined project path or current working directory
375
+ const currentProjectId = projectPath || cwd;
376
+ await (0, a2aIntegration_js_1.integrateA2AMcpServer)(queryOptions, currentProjectId);
377
+ // Integrate AskUserQuestion SDK MCP server
378
+ // This provides user interaction capability for web channel
379
+ // Only integrate if sessionId and agentId are provided
380
+ let askUserSessionRef = null;
381
+ if (sessionIdForAskUser && agentIdForAskUser) {
382
+ const integration = await (0, askUserQuestionIntegration_js_1.integrateAskUserQuestionMcpServer)(queryOptions, sessionIdForAskUser, agentIdForAskUser);
383
+ askUserSessionRef = integration.sessionRef;
384
+ }
385
+ return { queryOptions, askUserSessionRef };
386
+ }
387
+ //# sourceMappingURL=claudeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claudeUtils.js","sourceRoot":"","sources":["../../src/utils/claudeUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function ensureDir(dirPath: string): Promise<void>;
2
+ //# sourceMappingURL=fileUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAEA,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,iBAE9C"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ensureDir = ensureDir;
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
+ async function ensureDir(dirPath) {
9
+ await promises_1.default.mkdir(dirPath, { recursive: true });
10
+ }
11
+ //# sourceMappingURL=fileUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":";;;;;AAEA,8BAEC;AAJD,2DAA6B;AAEtB,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,kBAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC"}
package/utils/jwt.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ export declare function getJwtConfig(): Promise<{
2
+ secret: string;
3
+ expiresIn: string;
4
+ refreshThreshold: string;
5
+ }>;
6
+ export interface JWTPayload {
7
+ authenticated: true;
8
+ iat?: number;
9
+ exp?: number;
10
+ issuedAt?: number;
11
+ expiresAt?: number;
12
+ }
13
+ /**
14
+ * Generate a JWT token for authentication
15
+ */
16
+ export declare function generateToken(): Promise<string>;
17
+ /**
18
+ * Check if token should be refreshed (within threshold of expiration)
19
+ */
20
+ export declare function shouldRefreshToken(payload: JWTPayload): Promise<boolean>;
21
+ /**
22
+ * Get remaining time in seconds before token expires
23
+ */
24
+ export declare function getTokenRemainingTime(payload: JWTPayload): number;
25
+ /**
26
+ * Verify and decode a JWT token
27
+ * @returns Decoded payload if valid, null if invalid
28
+ */
29
+ export declare function verifyToken(token: string): Promise<JWTPayload | null>;
30
+ //# sourceMappingURL=jwt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY;YAFH,MAAM;eAAa,MAAM;sBAAoB,MAAM;GAejF;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAcrD;AAsBD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAKjE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ3E"}
package/utils/jwt.js ADDED
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getJwtConfig = getJwtConfig;
7
+ exports.generateToken = generateToken;
8
+ exports.shouldRefreshToken = shouldRefreshToken;
9
+ exports.getTokenRemainingTime = getTokenRemainingTime;
10
+ exports.verifyToken = verifyToken;
11
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
12
+ const index_1 = require("../config/index");
13
+ // Cache config values to avoid repeated loading
14
+ let cachedJwtConfig = null;
15
+ async function getJwtConfig() {
16
+ if (cachedJwtConfig) {
17
+ return cachedJwtConfig;
18
+ }
19
+ const config = await (0, index_1.loadConfig)();
20
+ cachedJwtConfig = {
21
+ secret: config.jwtSecret || 'your-secret-key-change-this-in-production',
22
+ expiresIn: config.jwtExpiresIn || '7d',
23
+ refreshThreshold: config.tokenRefreshThreshold || '24h'
24
+ };
25
+ return cachedJwtConfig;
26
+ }
27
+ /**
28
+ * Generate a JWT token for authentication
29
+ */
30
+ async function generateToken() {
31
+ const now = Math.floor(Date.now() / 1000);
32
+ const jwtConfig = await getJwtConfig();
33
+ const expiresIn = getExpirationSeconds(jwtConfig.expiresIn);
34
+ const payload = {
35
+ authenticated: true,
36
+ issuedAt: now,
37
+ expiresAt: now + expiresIn,
38
+ };
39
+ return jsonwebtoken_1.default.sign(payload, jwtConfig.secret, {
40
+ expiresIn: jwtConfig.expiresIn,
41
+ });
42
+ }
43
+ /**
44
+ * Parse expiration string to seconds
45
+ */
46
+ function getExpirationSeconds(expireStr) {
47
+ const match = expireStr.match(/^(\d+)([hdwmy])$/);
48
+ if (!match)
49
+ return 7 * 24 * 60 * 60; // Default to 7 days
50
+ const value = parseInt(match[1]);
51
+ const unit = match[2];
52
+ switch (unit) {
53
+ case 'h': return value * 60 * 60;
54
+ case 'd': return value * 24 * 60 * 60;
55
+ case 'w': return value * 7 * 24 * 60 * 60;
56
+ case 'm': return value * 30 * 24 * 60 * 60;
57
+ case 'y': return value * 365 * 24 * 60 * 60;
58
+ default: return 7 * 24 * 60 * 60;
59
+ }
60
+ }
61
+ /**
62
+ * Check if token should be refreshed (within threshold of expiration)
63
+ */
64
+ async function shouldRefreshToken(payload) {
65
+ if (!payload.expiresAt)
66
+ return true;
67
+ const now = Math.floor(Date.now() / 1000);
68
+ const jwtConfig = await getJwtConfig();
69
+ const threshold = getExpirationSeconds(jwtConfig.refreshThreshold);
70
+ return payload.expiresAt - now <= threshold;
71
+ }
72
+ /**
73
+ * Get remaining time in seconds before token expires
74
+ */
75
+ function getTokenRemainingTime(payload) {
76
+ if (!payload.expiresAt)
77
+ return 0;
78
+ const now = Math.floor(Date.now() / 1000);
79
+ return Math.max(0, payload.expiresAt - now);
80
+ }
81
+ /**
82
+ * Verify and decode a JWT token
83
+ * @returns Decoded payload if valid, null if invalid
84
+ */
85
+ async function verifyToken(token) {
86
+ try {
87
+ const jwtConfig = await getJwtConfig();
88
+ const decoded = jsonwebtoken_1.default.verify(token, jwtConfig.secret);
89
+ return decoded;
90
+ }
91
+ catch (error) {
92
+ return null;
93
+ }
94
+ }
95
+ //# sourceMappingURL=jwt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"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"}