agentstudio 0.3.4 → 0.4.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 (360) hide show
  1. package/bin/agentstudio.js +44 -4
  2. package/bin/agentstudio.js.map +1 -1
  3. package/bin/serviceManager.d.ts.map +1 -1
  4. package/bin/serviceManager.js +344 -38
  5. package/bin/serviceManager.js.map +1 -1
  6. package/config/engineConfig.d.ts +96 -0
  7. package/config/engineConfig.d.ts.map +1 -0
  8. package/config/engineConfig.js +429 -0
  9. package/config/engineConfig.js.map +1 -0
  10. package/engines/claude/__tests__/supportedModels.test.d.ts +10 -0
  11. package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -0
  12. package/engines/claude/__tests__/supportedModels.test.js +89 -0
  13. package/engines/claude/__tests__/supportedModels.test.js.map +1 -0
  14. package/engines/claude/aguiAdapter.d.ts +101 -0
  15. package/engines/claude/aguiAdapter.d.ts.map +1 -0
  16. package/engines/claude/aguiAdapter.js +382 -0
  17. package/engines/claude/aguiAdapter.js.map +1 -0
  18. package/engines/claude/claudeEngine.d.ts +42 -0
  19. package/engines/claude/claudeEngine.d.ts.map +1 -0
  20. package/engines/claude/claudeEngine.js +325 -0
  21. package/engines/claude/claudeEngine.js.map +1 -0
  22. package/engines/claude/index.d.ts +8 -0
  23. package/engines/claude/index.d.ts.map +1 -0
  24. package/engines/claude/index.js +14 -0
  25. package/engines/claude/index.js.map +1 -0
  26. package/engines/cursor/__tests__/a2aAdapter.test.d.ts +6 -0
  27. package/engines/cursor/__tests__/a2aAdapter.test.d.ts.map +1 -0
  28. package/engines/cursor/__tests__/a2aAdapter.test.js +376 -0
  29. package/engines/cursor/__tests__/a2aAdapter.test.js.map +1 -0
  30. package/engines/cursor/a2aAdapter.d.ts +180 -0
  31. package/engines/cursor/a2aAdapter.d.ts.map +1 -0
  32. package/engines/cursor/a2aAdapter.js +405 -0
  33. package/engines/cursor/a2aAdapter.js.map +1 -0
  34. package/engines/cursor/aguiAdapter.d.ts +97 -0
  35. package/engines/cursor/aguiAdapter.d.ts.map +1 -0
  36. package/engines/cursor/aguiAdapter.js +507 -0
  37. package/engines/cursor/aguiAdapter.js.map +1 -0
  38. package/engines/cursor/cursorEngine.d.ts +68 -0
  39. package/engines/cursor/cursorEngine.d.ts.map +1 -0
  40. package/engines/cursor/cursorEngine.js +465 -0
  41. package/engines/cursor/cursorEngine.js.map +1 -0
  42. package/engines/cursor/index.d.ts +11 -0
  43. package/engines/cursor/index.d.ts.map +1 -0
  44. package/engines/cursor/index.js +21 -0
  45. package/engines/cursor/index.js.map +1 -0
  46. package/engines/engineManager.d.ts +80 -0
  47. package/engines/engineManager.d.ts.map +1 -0
  48. package/engines/engineManager.js +137 -0
  49. package/engines/engineManager.js.map +1 -0
  50. package/engines/index.d.ts +26 -0
  51. package/engines/index.d.ts.map +1 -0
  52. package/engines/index.js +81 -0
  53. package/engines/index.js.map +1 -0
  54. package/engines/types.d.ts +319 -0
  55. package/engines/types.d.ts.map +1 -0
  56. package/engines/types.js +69 -0
  57. package/engines/types.js.map +1 -0
  58. package/index.d.ts.map +1 -1
  59. package/index.js +139 -16
  60. package/index.js.map +1 -1
  61. package/middleware/auth.d.ts.map +1 -1
  62. package/middleware/auth.js +4 -0
  63. package/middleware/auth.js.map +1 -1
  64. package/package.json +7 -1
  65. package/public/assets/AgentsPage-D462iGRy.js +10 -0
  66. package/public/assets/{Button-BoiVlafj.js → Button-B_6lGF64.js} +1 -1
  67. package/public/assets/ChatPage-NjuRQPaL.js +478 -0
  68. package/public/assets/{CommandForm-Se4iemMp.js → CommandForm-DwGvE9A_.js} +1 -1
  69. package/public/assets/CommandsPage-DeUS8fhJ.js +1 -0
  70. package/public/assets/CursorConfigPage-Bl1Blrbr.js +1 -0
  71. package/public/assets/{DashboardPage-DbCVzPKz.js → DashboardPage-DH-2iuqf.js} +1 -1
  72. package/public/assets/EngineGate-DxTYx9wb.js +1 -0
  73. package/public/assets/{FileBrowser-DcoBWzKK.js → FileBrowser-CeGsJnUL.js} +5 -5
  74. package/public/assets/{FileExplorer-B41BB0LM.js → FileExplorer-x5R0Tcmk.js} +1 -1
  75. package/public/assets/GeneralSettingsPage-lhNEJQD_.js +1 -0
  76. package/public/assets/HooksPage-9fingjdz.js +1 -0
  77. package/public/assets/LandingPage-BAzi8PDo.js +1 -0
  78. package/public/assets/LoginPage-kQ_NWy8p.js +16 -0
  79. package/public/assets/McpAdminSettingsPage-DQHpWHRC.js +7 -0
  80. package/public/assets/McpPage-DLHfmhSJ.js +20 -0
  81. package/public/assets/{MemorySettingsPage-DYSuz-hU.js → MemorySettingsPage-CRIPja9X.js} +1 -1
  82. package/public/assets/ModelsPage-Bb5vSsuc.js +1 -0
  83. package/public/assets/PluginsPage-BhKM7gV7.js +12 -0
  84. package/public/assets/ProjectSelector-Cbct6pnn.js +1 -0
  85. package/public/assets/ProjectsPage-lQo7-7dt.js +21 -0
  86. package/public/assets/RulesPage-BRnB7__3.js +1 -0
  87. package/public/assets/ScheduledTasksPage-CZiABTSb.js +1 -0
  88. package/public/assets/SettingsLayout-BfG7ftoT.js +1 -0
  89. package/public/assets/SkillsPage-CL6MKxQ9.js +18 -0
  90. package/public/assets/{SubagentForm-C0R084ja.js → SubagentForm-BzzeWg0W.js} +2 -2
  91. package/public/assets/{SubagentsPage-BKFNmqxg.js → SubagentsPage-DhFP2kDE.js} +1 -1
  92. package/public/assets/SystemInfoPage-CFHUN3j8.js +1 -0
  93. package/public/assets/{TelemetrySettingsPage-Ck2btMol.js → TelemetrySettingsPage-BcZFVBXN.js} +1 -1
  94. package/public/assets/{ToastTestPage-B79DFhqI.js → ToastTestPage-BtGnZdyk.js} +1 -1
  95. package/public/assets/{ToolsList-Kfxwp80g.js → ToolsList-CTsQr53G.js} +1 -1
  96. package/public/assets/{UnifiedToolSelector-CkafUbz3.js → UnifiedToolSelector-BP6fuyzG.js} +1 -1
  97. package/public/assets/VersionSettingsPage-DjOjyL3X.js +5 -0
  98. package/public/assets/VoiceSettingsPage-d3l9AWBn.js +1 -0
  99. package/public/assets/WebSocketTunnelPage-CfHtJR9r.js +1 -0
  100. package/public/assets/_basePickBy-Bac3af5O.js +1 -0
  101. package/public/assets/{_baseUniq-COj5YnAO.js → _baseUniq-Dvh9sZ-T.js} +1 -1
  102. package/public/assets/{agents-3mB536QF.js → agents-KlPdWQ8K.js} +1 -1
  103. package/public/assets/arc-CRR5EPpK.js +1 -0
  104. package/public/assets/{architectureDiagram-VXUJARFQ-DD1BwT1T.js → architectureDiagram-VXUJARFQ-Ct1p8kmV.js} +1 -1
  105. package/public/assets/{blockDiagram-VD42YOAC-DFKUIZc6.js → blockDiagram-VD42YOAC-CX_8YiYn.js} +1 -1
  106. package/public/assets/{c4Diagram-YG6GDRKO-B0VVIIvh.js → c4Diagram-YG6GDRKO-BIBVWIY4.js} +1 -1
  107. package/public/assets/channel-CPs-2Y_m.js +1 -0
  108. package/public/assets/{chunk-4BX2VUAB-DM8J7YO9.js → chunk-4BX2VUAB-CQNNXsb5.js} +1 -1
  109. package/public/assets/{chunk-55IACEB6-BjhdmGlM.js → chunk-55IACEB6-N_ZrGhOu.js} +1 -1
  110. package/public/assets/{chunk-B4BG7PRW-1RJ6n2xv.js → chunk-B4BG7PRW-CI6DkhbM.js} +1 -1
  111. package/public/assets/{chunk-DI55MBZ5-1-EHSO67.js → chunk-DI55MBZ5-Dgj-Eo9U.js} +1 -1
  112. package/public/assets/{chunk-FMBD7UC4-DV3SMJK_.js → chunk-FMBD7UC4-o4B0HzSK.js} +1 -1
  113. package/public/assets/{chunk-QN33PNHL-IlsCTdDq.js → chunk-QN33PNHL-DXlfdPIk.js} +1 -1
  114. package/public/assets/{chunk-QZHKN3VN-DJXs-Fqo.js → chunk-QZHKN3VN-ZCBUGD7e.js} +1 -1
  115. package/public/assets/{chunk-TZMSLE5B-BxHO9wa1.js → chunk-TZMSLE5B-N3lZ106d.js} +1 -1
  116. package/public/assets/classDiagram-2ON5EDUG-DCwNRxvC.js +1 -0
  117. package/public/assets/classDiagram-v2-WZHVMYZB-DCwNRxvC.js +1 -0
  118. package/public/assets/clone-C3DcKvhB.js +1 -0
  119. package/public/assets/{cose-bilkent-S5V4N54A-BVJXoW_K.js → cose-bilkent-S5V4N54A-Crc39J9q.js} +1 -1
  120. package/public/assets/{dagre-6UL2VRFP-DHDnVshA.js → dagre-6UL2VRFP-nC3WLCf7.js} +1 -1
  121. package/public/assets/{diagram-PSM6KHXK-40qGxDeg.js → diagram-PSM6KHXK-B5DQIDQ3.js} +1 -1
  122. package/public/assets/diagram-QEK2KX5R-BccDOQuz.js +43 -0
  123. package/public/assets/{diagram-S2PKOQOG-D7AX72a5.js → diagram-S2PKOQOG-D-Cv16WE.js} +1 -1
  124. package/public/assets/{erDiagram-Q2GNP2WA-BHsgeBpL.js → erDiagram-Q2GNP2WA-Dr0ZgvnS.js} +1 -1
  125. package/public/assets/{flowDiagram-NV44I4VS-BYqChOSE.js → flowDiagram-NV44I4VS-DGbbfVi5.js} +1 -1
  126. package/public/assets/{ganttDiagram-LVOFAZNH-CZFFSLKX.js → ganttDiagram-LVOFAZNH-C-3Wnf96.js} +1 -1
  127. package/public/assets/{gitGraphDiagram-NY62KEGX-C5Bgrf0J.js → gitGraphDiagram-NY62KEGX--Q8whT5z.js} +1 -1
  128. package/public/assets/{graph-BP5lFRBg.js → graph-CO1DMS2E.js} +1 -1
  129. package/public/assets/{index-BEPv9Bqe.js → index-B5hSSnK3.js} +58 -58
  130. package/public/assets/index-gbHlIp96.css +1 -0
  131. package/public/assets/infoDiagram-F6ZHWCRC-DSR9cM2B.js +2 -0
  132. package/public/assets/{journeyDiagram-XKPGCS4Q--abC1RHz.js → journeyDiagram-XKPGCS4Q-Cc00zHNt.js} +1 -1
  133. package/public/assets/{kanban-definition-3W4ZIXB7-BJeChfWu.js → kanban-definition-3W4ZIXB7-BF_gHshF.js} +6 -6
  134. package/public/assets/{layout-DjAix4WK.js → layout-BxoLV88o.js} +1 -1
  135. package/public/assets/{linear-Cw0z8VNY.js → linear-Y8e2e012.js} +1 -1
  136. package/public/assets/{mindmap-definition-VGOIOE7T-U_T9xIUk.js → mindmap-definition-VGOIOE7T-CzpuQA4p.js} +1 -1
  137. package/public/assets/{pieDiagram-ADFJNKIX-B0mT9OgH.js → pieDiagram-ADFJNKIX-B22MhIcy.js} +2 -2
  138. package/public/assets/{quadrantDiagram-AYHSOK5B-BWdlgO0u.js → quadrantDiagram-AYHSOK5B-CTT9bIA8.js} +1 -1
  139. package/public/assets/{requirementDiagram-UZGBJVZJ-B-8LxsGB.js → requirementDiagram-UZGBJVZJ-B_vjXDH9.js} +1 -1
  140. package/public/assets/{sankeyDiagram-TZEHDZUN-OXuxkgGA.js → sankeyDiagram-TZEHDZUN-CKfZ4633.js} +1 -1
  141. package/public/assets/{sequenceDiagram-WL72ISMW-Bt5twlzi.js → sequenceDiagram-WL72ISMW-BmTPN6j6.js} +1 -1
  142. package/public/assets/{stateDiagram-FKZM4ZOC-Dmph7TeW.js → stateDiagram-FKZM4ZOC-y2fQE1C7.js} +1 -1
  143. package/public/assets/stateDiagram-v2-4FDKWEC3-C4CM6z52.js +1 -0
  144. package/public/assets/{table-DjMdAdjH.js → table-BJUz-ck5.js} +1 -1
  145. package/public/assets/{timeline-definition-IT6M3QCI-CcV8nyIH.js → timeline-definition-IT6M3QCI-DsXlR68n.js} +1 -1
  146. package/public/assets/{tools-BAI9XHGS.js → tools-BZTR2NP1.js} +1 -1
  147. package/public/assets/{treemap-KMMF4GRG-DBuwkj4f.js → treemap-KMMF4GRG-Cecs9uxX.js} +1 -1
  148. package/public/assets/{ui-components-DaGtjl0g.js → ui-components-DjgDPiqV.js} +153 -128
  149. package/public/assets/useAgents-8KXN6U61.js +2 -0
  150. package/public/assets/{useClaudeVersions-Cy71v4HE.js → useClaudeVersions-DicHLV6A.js} +1 -1
  151. package/public/assets/useCommands-DbSH48ba.js +1 -0
  152. package/public/assets/{useProjects-XgfgISgV.js → useProjects-Bbh6hJMM.js} +1 -1
  153. package/public/assets/{useSessions-CQgq4d84.js → useSessions-DOa4-xiB.js} +1 -1
  154. package/public/assets/{xychartDiagram-PRI3JC2R-Bo9K-U2S.js → xychartDiagram-PRI3JC2R-C2IWhyM7.js} +1 -1
  155. package/public/index.html +5 -5
  156. package/public/wechat-qr-code.png +0 -0
  157. package/routes/a2a.d.ts +7 -0
  158. package/routes/a2a.d.ts.map +1 -1
  159. package/routes/a2a.js +193 -21
  160. package/routes/a2a.js.map +1 -1
  161. package/routes/agents.d.ts.map +1 -1
  162. package/routes/agents.js +45 -2
  163. package/routes/agents.js.map +1 -1
  164. package/routes/agui.d.ts +16 -0
  165. package/routes/agui.d.ts.map +1 -0
  166. package/routes/agui.js +520 -0
  167. package/routes/agui.js.map +1 -0
  168. package/routes/commands.d.ts.map +1 -1
  169. package/routes/commands.js +35 -3
  170. package/routes/commands.js.map +1 -1
  171. package/routes/cursorA2a.d.ts +18 -0
  172. package/routes/cursorA2a.d.ts.map +1 -0
  173. package/routes/cursorA2a.js +393 -0
  174. package/routes/cursorA2a.js.map +1 -0
  175. package/routes/engine.d.ts +12 -0
  176. package/routes/engine.d.ts.map +1 -0
  177. package/routes/engine.js +178 -0
  178. package/routes/engine.js.map +1 -0
  179. package/routes/gitVersions.d.ts +10 -0
  180. package/routes/gitVersions.d.ts.map +1 -0
  181. package/routes/gitVersions.js +147 -0
  182. package/routes/gitVersions.js.map +1 -0
  183. package/routes/hooks.d.ts +11 -0
  184. package/routes/hooks.d.ts.map +1 -0
  185. package/routes/hooks.js +303 -0
  186. package/routes/hooks.js.map +1 -0
  187. package/routes/mcp.d.ts.map +1 -1
  188. package/routes/mcp.js +28 -3
  189. package/routes/mcp.js.map +1 -1
  190. package/routes/plugins.d.ts.map +1 -1
  191. package/routes/plugins.js +317 -4
  192. package/routes/plugins.js.map +1 -1
  193. package/routes/rules.d.ts +9 -0
  194. package/routes/rules.d.ts.map +1 -0
  195. package/routes/rules.js +470 -0
  196. package/routes/rules.js.map +1 -0
  197. package/routes/sessions.d.ts.map +1 -1
  198. package/routes/sessions.js +64 -30
  199. package/routes/sessions.js.map +1 -1
  200. package/routes/speechToText.d.ts +8 -0
  201. package/routes/speechToText.d.ts.map +1 -0
  202. package/routes/speechToText.js +216 -0
  203. package/routes/speechToText.js.map +1 -0
  204. package/schemas/a2a.d.ts +2 -2
  205. package/services/__tests__/agentImporter.test.d.ts +5 -0
  206. package/services/__tests__/agentImporter.test.d.ts.map +1 -0
  207. package/services/__tests__/agentImporter.test.js +379 -0
  208. package/services/__tests__/agentImporter.test.js.map +1 -0
  209. package/services/__tests__/marketplaceUpdateService.test.d.ts +5 -0
  210. package/services/__tests__/marketplaceUpdateService.test.d.ts.map +1 -0
  211. package/services/__tests__/marketplaceUpdateService.test.js +227 -0
  212. package/services/__tests__/marketplaceUpdateService.test.js.map +1 -0
  213. package/services/__tests__/pluginInstaller.test.js +172 -0
  214. package/services/__tests__/pluginInstaller.test.js.map +1 -1
  215. package/services/a2a/__tests__/agentCardService.test.js +224 -0
  216. package/services/a2a/__tests__/agentCardService.test.js.map +1 -1
  217. package/services/a2a/__tests__/cursorA2aService.test.d.ts +6 -0
  218. package/services/a2a/__tests__/cursorA2aService.test.d.ts.map +1 -0
  219. package/services/a2a/__tests__/cursorA2aService.test.js +359 -0
  220. package/services/a2a/__tests__/cursorA2aService.test.js.map +1 -0
  221. package/services/a2a/agentCardService.d.ts +22 -0
  222. package/services/a2a/agentCardService.d.ts.map +1 -1
  223. package/services/a2a/agentCardService.js +246 -0
  224. package/services/a2a/agentCardService.js.map +1 -1
  225. package/services/a2a/cursorA2aService.d.ts +126 -0
  226. package/services/a2a/cursorA2aService.d.ts.map +1 -0
  227. package/services/a2a/cursorA2aService.js +336 -0
  228. package/services/a2a/cursorA2aService.js.map +1 -0
  229. package/services/agentImporter.d.ts +62 -0
  230. package/services/agentImporter.d.ts.map +1 -0
  231. package/services/agentImporter.js +335 -0
  232. package/services/agentImporter.js.map +1 -0
  233. package/services/cursorConfigService.d.ts +75 -0
  234. package/services/cursorConfigService.d.ts.map +1 -0
  235. package/services/cursorConfigService.js +538 -0
  236. package/services/cursorConfigService.js.map +1 -0
  237. package/services/gitVersionService.d.ts +52 -0
  238. package/services/gitVersionService.d.ts.map +1 -0
  239. package/services/gitVersionService.js +377 -0
  240. package/services/gitVersionService.js.map +1 -0
  241. package/services/marketplaceUpdateService.d.ts +66 -0
  242. package/services/marketplaceUpdateService.d.ts.map +1 -0
  243. package/services/marketplaceUpdateService.js +364 -0
  244. package/services/marketplaceUpdateService.js.map +1 -0
  245. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts +5 -0
  246. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.d.ts.map +1 -0
  247. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js +429 -0
  248. package/services/mcpAdmin/__tests__/scheduledTaskTools.test.js.map +1 -0
  249. package/services/mcpAdmin/tools/index.d.ts +1 -0
  250. package/services/mcpAdmin/tools/index.d.ts.map +1 -1
  251. package/services/mcpAdmin/tools/index.js +5 -1
  252. package/services/mcpAdmin/tools/index.js.map +1 -1
  253. package/services/mcpAdmin/tools/scheduledTaskTools.d.ts +64 -0
  254. package/services/mcpAdmin/tools/scheduledTaskTools.d.ts.map +1 -0
  255. package/services/mcpAdmin/tools/scheduledTaskTools.js +1002 -0
  256. package/services/mcpAdmin/tools/scheduledTaskTools.js.map +1 -0
  257. package/services/mcpAdmin/types.d.ts +1 -1
  258. package/services/mcpAdmin/types.d.ts.map +1 -1
  259. package/services/pluginInstaller.d.ts +55 -1
  260. package/services/pluginInstaller.d.ts.map +1 -1
  261. package/services/pluginInstaller.js +437 -13
  262. package/services/pluginInstaller.js.map +1 -1
  263. package/services/sessionEventBus.d.ts +67 -0
  264. package/services/sessionEventBus.d.ts.map +1 -0
  265. package/services/sessionEventBus.js +106 -0
  266. package/services/sessionEventBus.js.map +1 -0
  267. package/services/speechToText/__tests__/speechToText.test.d.ts +5 -0
  268. package/services/speechToText/__tests__/speechToText.test.d.ts.map +1 -0
  269. package/services/speechToText/__tests__/speechToText.test.js +208 -0
  270. package/services/speechToText/__tests__/speechToText.test.js.map +1 -0
  271. package/services/speechToText/index.d.ts +25 -0
  272. package/services/speechToText/index.d.ts.map +1 -0
  273. package/services/speechToText/index.js +228 -0
  274. package/services/speechToText/index.js.map +1 -0
  275. package/services/speechToText/providers/aliyun.d.ts +22 -0
  276. package/services/speechToText/providers/aliyun.d.ts.map +1 -0
  277. package/services/speechToText/providers/aliyun.js +185 -0
  278. package/services/speechToText/providers/aliyun.js.map +1 -0
  279. package/services/speechToText/providers/google.d.ts +24 -0
  280. package/services/speechToText/providers/google.d.ts.map +1 -0
  281. package/services/speechToText/providers/google.js +205 -0
  282. package/services/speechToText/providers/google.js.map +1 -0
  283. package/services/speechToText/providers/openaiCompatible.d.ts +22 -0
  284. package/services/speechToText/providers/openaiCompatible.d.ts.map +1 -0
  285. package/services/speechToText/providers/openaiCompatible.js +198 -0
  286. package/services/speechToText/providers/openaiCompatible.js.map +1 -0
  287. package/services/speechToText/providers/tencent.d.ts +23 -0
  288. package/services/speechToText/providers/tencent.d.ts.map +1 -0
  289. package/services/speechToText/providers/tencent.js +215 -0
  290. package/services/speechToText/providers/tencent.js.map +1 -0
  291. package/services/speechToText/types.d.ts +102 -0
  292. package/services/speechToText/types.d.ts.map +1 -0
  293. package/services/speechToText/types.js +43 -0
  294. package/services/speechToText/types.js.map +1 -0
  295. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts +8 -2
  296. package/services/taskExecutor/__tests__/mcp-tools-integration.test.d.ts.map +1 -1
  297. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js +215 -72
  298. package/services/taskExecutor/__tests__/mcp-tools-integration.test.js.map +1 -1
  299. package/services/taskExecutor/taskWorker.js +9 -1
  300. package/services/taskExecutor/taskWorker.js.map +1 -1
  301. package/services/telemetry.js +1 -1
  302. package/types/a2a.d.ts +20 -0
  303. package/types/a2a.d.ts.map +1 -1
  304. package/types/engine.d.ts +314 -0
  305. package/types/engine.d.ts.map +1 -0
  306. package/types/engine.js +14 -0
  307. package/types/engine.js.map +1 -0
  308. package/types/hooks.d.ts +45 -0
  309. package/types/hooks.d.ts.map +1 -0
  310. package/types/hooks.js +9 -0
  311. package/types/hooks.js.map +1 -0
  312. package/types/plugins.d.ts +86 -2
  313. package/types/plugins.d.ts.map +1 -1
  314. package/types/plugins.js +1 -0
  315. package/types/plugins.js.map +1 -1
  316. package/types/rules.d.ts +51 -0
  317. package/types/rules.d.ts.map +1 -0
  318. package/types/rules.js +9 -0
  319. package/types/rules.js.map +1 -0
  320. package/utils/__tests__/cursorIdeAgentParser.test.d.ts +7 -0
  321. package/utils/__tests__/cursorIdeAgentParser.test.d.ts.map +1 -0
  322. package/utils/__tests__/cursorIdeAgentParser.test.js +289 -0
  323. package/utils/__tests__/cursorIdeAgentParser.test.js.map +1 -0
  324. package/utils/cursorCliHistoryParser.d.ts +58 -0
  325. package/utils/cursorCliHistoryParser.d.ts.map +1 -0
  326. package/utils/cursorCliHistoryParser.js +664 -0
  327. package/utils/cursorCliHistoryParser.js.map +1 -0
  328. package/utils/cursorIdeAgentParser.d.ts +49 -0
  329. package/utils/cursorIdeAgentParser.d.ts.map +1 -0
  330. package/utils/cursorIdeAgentParser.js +332 -0
  331. package/utils/cursorIdeAgentParser.js.map +1 -0
  332. package/public/assets/AgentsPage-gSnkPp2k.js +0 -10
  333. package/public/assets/ChatPage-BMrfVkpt.js +0 -471
  334. package/public/assets/CommandsPage-B6u4IO7L.js +0 -1
  335. package/public/assets/GeneralSettingsPage-BbEbWJUQ.js +0 -1
  336. package/public/assets/LandingPage-DFPm2d4Y.js +0 -1
  337. package/public/assets/LoginPage-D5kZJqhk.js +0 -16
  338. package/public/assets/McpAdminSettingsPage-D32iUEjH.js +0 -7
  339. package/public/assets/McpPage-QT4qs391.js +0 -20
  340. package/public/assets/PluginsPage-BotzuK9f.js +0 -1
  341. package/public/assets/ProjectSelector-DujNObqr.js +0 -1
  342. package/public/assets/ProjectsPage-CRWe6HPl.js +0 -21
  343. package/public/assets/ScheduledTasksPage-Beeurg-w.js +0 -1
  344. package/public/assets/SettingsLayout-BfkBUyI_.js +0 -1
  345. package/public/assets/SkillsPage-B59bAr6W.js +0 -18
  346. package/public/assets/SystemInfoPage-D89s7PjE.js +0 -1
  347. package/public/assets/VersionSettingsPage-CaB4PH6h.js +0 -5
  348. package/public/assets/WebSocketTunnelPage-Cbru_-hL.js +0 -1
  349. package/public/assets/_basePickBy-5fAM04Ra.js +0 -1
  350. package/public/assets/arc-C2gTU2ZR.js +0 -1
  351. package/public/assets/channel-DcVTcy-S.js +0 -1
  352. package/public/assets/classDiagram-2ON5EDUG-BXVT6Q7h.js +0 -1
  353. package/public/assets/classDiagram-v2-WZHVMYZB-BXVT6Q7h.js +0 -1
  354. package/public/assets/clone-Bp6orjIq.js +0 -1
  355. package/public/assets/diagram-QEK2KX5R-BfMGeeRo.js +0 -43
  356. package/public/assets/index-BgR-BTTw.css +0 -1
  357. package/public/assets/infoDiagram-F6ZHWCRC-C6OApgqf.js +0 -2
  358. package/public/assets/stateDiagram-v2-4FDKWEC3-DyE8O3Kx.js +0 -1
  359. package/public/assets/useAgents-D5EDAc_E.js +0 -2
  360. package/public/assets/useCommands-BgoCfyuu.js +0 -1
@@ -190,18 +190,58 @@ commander_1.program
190
190
  console.log('ℹ️ Detected system service installation');
191
191
  }
192
192
  console.log('\n📦 Upgrading to the latest version...');
193
- // Detect package manager and upgrade
194
- const npmUserAgent = process.env.npm_config_user_agent || '';
193
+ // Detect package manager from installation path
194
+ // Priority: 1. Current executable path, 2. Service plist path, 3. npm_config_user_agent, 4. default npm
195
+ const detectPackageManager = () => {
196
+ // Check current executable path (most reliable)
197
+ const execPath = process.argv[1] || '';
198
+ if (execPath.includes('/pnpm/') || execPath.includes('\\pnpm\\')) {
199
+ return 'pnpm';
200
+ }
201
+ if (execPath.includes('/yarn/') || execPath.includes('\\yarn\\')) {
202
+ return 'yarn';
203
+ }
204
+ // Check service plist path if on macOS
205
+ if ((0, os_1.platform)() === 'darwin') {
206
+ try {
207
+ const plistPath = path_1.default.join((0, os_1.homedir)(), 'Library', 'LaunchAgents', `cc.${SERVICE_NAME}.plist`);
208
+ if ((0, fs_1.existsSync)(plistPath)) {
209
+ const plistContent = (0, fs_1.readFileSync)(plistPath, 'utf8');
210
+ if (plistContent.includes('/pnpm/')) {
211
+ return 'pnpm';
212
+ }
213
+ if (plistContent.includes('/yarn/')) {
214
+ return 'yarn';
215
+ }
216
+ }
217
+ }
218
+ catch {
219
+ // Ignore plist read errors
220
+ }
221
+ }
222
+ // Check npm_config_user_agent (works when run via package manager)
223
+ const npmUserAgent = process.env.npm_config_user_agent || '';
224
+ if (npmUserAgent.includes('pnpm')) {
225
+ return 'pnpm';
226
+ }
227
+ if (npmUserAgent.includes('yarn')) {
228
+ return 'yarn';
229
+ }
230
+ // Default to npm
231
+ return 'npm';
232
+ };
233
+ const packageManager = detectPackageManager();
195
234
  let upgradeCommand;
196
- if (npmUserAgent.includes('pnpm')) {
235
+ if (packageManager === 'pnpm') {
197
236
  upgradeCommand = 'pnpm add -g agentstudio@latest';
198
237
  }
199
- else if (npmUserAgent.includes('yarn')) {
238
+ else if (packageManager === 'yarn') {
200
239
  upgradeCommand = 'yarn global add agentstudio@latest';
201
240
  }
202
241
  else {
203
242
  upgradeCommand = 'npm install -g agentstudio@latest';
204
243
  }
244
+ console.log(` Detected package manager: ${packageManager}`);
205
245
  console.log(` Running: ${upgradeCommand}`);
206
246
  const child = (0, child_process_1.spawn)(upgradeCommand, {
207
247
  shell: true,
@@ -1 +1 @@
1
- {"version":3,"file":"agentstudio.js","sourceRoot":"","sources":["../../src/bin/agentstudio.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentstudio.js","sourceRoot":"","sources":["../../src/bin/agentstudio.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serviceManager.d.ts","sourceRoot":"","sources":["../../src/bin/serviceManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuWH,wBAAgB,cAAc,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CA0CtF;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAmBvC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAwBlD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAW5C"}
1
+ {"version":3,"file":"serviceManager.d.ts","sourceRoot":"","sources":["../../src/bin/serviceManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4pBH,wBAAgB,cAAc,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CA0CtF;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAmBvC;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAwBlD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAe5C"}
@@ -42,6 +42,26 @@ function getExecutablePath() {
42
42
  return 'agentstudio';
43
43
  }
44
44
  }
45
+ // Check if a file is a shell script (e.g., pnpm wrapper)
46
+ function isShellScript(filePath) {
47
+ try {
48
+ const content = (0, fs_1.readFileSync)(filePath, 'utf8');
49
+ return content.startsWith('#!/bin/sh') || content.startsWith('#!/usr/bin/env sh') || content.startsWith('#!/bin/bash');
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }
55
+ // Get the launch arguments for the agentstudio executable
56
+ // Returns [program, ...args] where program is either node (for JS files) or /bin/sh (for shell wrappers)
57
+ function getLaunchArgs(execPath) {
58
+ if (isShellScript(execPath)) {
59
+ // pnpm creates shell script wrappers - run them with /bin/sh
60
+ return { program: '/bin/sh', script: execPath };
61
+ }
62
+ // npm/yarn creates JS files or symlinks - run them with node
63
+ return { program: getNodePath(), script: execPath };
64
+ }
45
65
  // Get Node.js path
46
66
  function getNodePath() {
47
67
  return process.execPath;
@@ -54,7 +74,7 @@ function getLaunchdPlistPath() {
54
74
  }
55
75
  function generateLaunchdPlist(config) {
56
76
  const execPath = getExecutablePath();
57
- const nodePath = getNodePath();
77
+ const { program, script } = getLaunchArgs(execPath);
58
78
  const logDir = (0, path_1.join)((0, os_1.homedir)(), '.agentstudio', 'logs');
59
79
  // Ensure log directory exists
60
80
  if (!(0, fs_1.existsSync)(logDir)) {
@@ -69,8 +89,8 @@ function generateLaunchdPlist(config) {
69
89
 
70
90
  <key>ProgramArguments</key>
71
91
  <array>
72
- <string>${nodePath}</string>
73
- <string>${execPath}</string>
92
+ <string>${program}</string>
93
+ <string>${script}</string>
74
94
  <string>start</string>
75
95
  <string>--port</string>
76
96
  <string>${config.port}</string>
@@ -215,14 +235,14 @@ function getSystemdServicePath() {
215
235
  }
216
236
  function generateSystemdService(config) {
217
237
  const execPath = getExecutablePath();
218
- const nodePath = getNodePath();
238
+ const { program, script } = getLaunchArgs(execPath);
219
239
  return `[Unit]
220
240
  Description=${SERVICE_DESCRIPTION}
221
241
  After=network.target
222
242
 
223
243
  [Service]
224
244
  Type=simple
225
- ExecStart=${nodePath} ${execPath} start --port ${config.port} --data-dir ${config.dataDir}
245
+ ExecStart=${program} ${script} start --port ${config.port} --data-dir ${config.dataDir}
226
246
  Restart=always
227
247
  RestartSec=10
228
248
  StandardOutput=journal
@@ -235,6 +255,91 @@ WorkingDirectory=${(0, os_1.homedir)()}
235
255
  WantedBy=default.target
236
256
  `;
237
257
  }
258
+ function generateStartScript(config) {
259
+ const execPath = getExecutablePath();
260
+ const { program, script } = getLaunchArgs(execPath);
261
+ const logDir = (0, path_1.join)(config.dataDir, 'logs');
262
+ return `#!/bin/bash
263
+ # AgentStudio start script
264
+ # Generated by agentstudio install
265
+
266
+ LOGDIR="${logDir}"
267
+ PIDFILE="${config.dataDir}/agentstudio.pid"
268
+
269
+ mkdir -p "$LOGDIR"
270
+
271
+ # Check if already running
272
+ if [ -f "$PIDFILE" ]; then
273
+ PID=$(cat "$PIDFILE")
274
+ if kill -0 "$PID" 2>/dev/null; then
275
+ echo "AgentStudio is already running (PID: $PID)"
276
+ exit 0
277
+ fi
278
+ fi
279
+
280
+ # Start the service
281
+ nohup ${program} ${script} start --port ${config.port} --data-dir ${config.dataDir} \\
282
+ > "$LOGDIR/stdout.log" 2> "$LOGDIR/stderr.log" &
283
+
284
+ echo $! > "$PIDFILE"
285
+ echo "AgentStudio started (PID: $!)"
286
+ echo "Logs: $LOGDIR"
287
+ `;
288
+ }
289
+ function generateStopScript(config) {
290
+ return `#!/bin/bash
291
+ # AgentStudio stop script
292
+
293
+ PIDFILE="${config.dataDir}/agentstudio.pid"
294
+
295
+ if [ -f "$PIDFILE" ]; then
296
+ PID=$(cat "$PIDFILE")
297
+ if kill -0 "$PID" 2>/dev/null; then
298
+ kill "$PID"
299
+ rm -f "$PIDFILE"
300
+ echo "AgentStudio stopped"
301
+ else
302
+ rm -f "$PIDFILE"
303
+ echo "AgentStudio is not running (stale pid file removed)"
304
+ fi
305
+ else
306
+ echo "AgentStudio is not running"
307
+ fi
308
+ `;
309
+ }
310
+ // Check if systemd user session is available
311
+ function isSystemdUserAvailable() {
312
+ try {
313
+ // First, try to detect if XDG_RUNTIME_DIR is set
314
+ const uid = process.getuid?.() || (0, child_process_1.execSync)('id -u', { encoding: 'utf8' }).trim();
315
+ const xdgRuntime = process.env.XDG_RUNTIME_DIR || `/run/user/${uid}`;
316
+ // Check if the runtime directory exists
317
+ if (!(0, fs_1.existsSync)(xdgRuntime)) {
318
+ return false;
319
+ }
320
+ // Try a simple systemctl --user command
321
+ const result = (0, child_process_1.spawnSync)('systemctl', ['--user', 'show-environment'], {
322
+ encoding: 'utf8',
323
+ env: { ...process.env, XDG_RUNTIME_DIR: xdgRuntime },
324
+ timeout: 5000,
325
+ });
326
+ return result.status === 0;
327
+ }
328
+ catch {
329
+ return false;
330
+ }
331
+ }
332
+ // Get environment for systemd user commands
333
+ function getSystemdUserEnv() {
334
+ const uid = process.getuid?.() || (0, child_process_1.execSync)('id -u', { encoding: 'utf8' }).trim();
335
+ const xdgRuntime = process.env.XDG_RUNTIME_DIR || `/run/user/${uid}`;
336
+ const dbusAddress = process.env.DBUS_SESSION_BUS_ADDRESS || `unix:path=${xdgRuntime}/bus`;
337
+ return {
338
+ ...process.env,
339
+ XDG_RUNTIME_DIR: xdgRuntime,
340
+ DBUS_SESSION_BUS_ADDRESS: dbusAddress,
341
+ };
342
+ }
238
343
  function installLinuxService(config) {
239
344
  const servicePath = getSystemdServicePath();
240
345
  const serviceDir = (0, path_1.dirname)(servicePath);
@@ -242,34 +347,107 @@ function installLinuxService(config) {
242
347
  if (!(0, fs_1.existsSync)(serviceDir)) {
243
348
  (0, fs_1.mkdirSync)(serviceDir, { recursive: true });
244
349
  }
245
- // Write service file
350
+ // Write service file (always create it for future use)
246
351
  const serviceContent = generateSystemdService(config);
247
352
  (0, fs_1.writeFileSync)(servicePath, serviceContent);
248
353
  console.log(`✅ Created service file: ${servicePath}`);
249
- // Reload systemd and enable service
354
+ // Check if systemd user session is available
355
+ const systemdAvailable = isSystemdUserAvailable();
356
+ if (systemdAvailable) {
357
+ // Try with proper environment
358
+ const env = getSystemdUserEnv();
359
+ try {
360
+ (0, child_process_1.execSync)('systemctl --user daemon-reload', { env });
361
+ (0, child_process_1.execSync)(`systemctl --user enable ${SERVICE_NAME}`, { env });
362
+ (0, child_process_1.execSync)(`systemctl --user start ${SERVICE_NAME}`, { env });
363
+ console.log('✅ Service enabled and started');
364
+ return;
365
+ }
366
+ catch (error) {
367
+ console.log('⚠️ systemd --user commands failed, falling back to script mode');
368
+ }
369
+ }
370
+ // Fallback: Create start/stop scripts
371
+ console.log('\n⚠️ systemd user session not available (common in SSH sessions)');
372
+ console.log(' Creating shell scripts as fallback...\n');
373
+ const scriptsDir = (0, path_1.join)(config.dataDir, 'scripts');
374
+ if (!(0, fs_1.existsSync)(scriptsDir)) {
375
+ (0, fs_1.mkdirSync)(scriptsDir, { recursive: true });
376
+ }
377
+ const startScriptPath = (0, path_1.join)(scriptsDir, 'start.sh');
378
+ const stopScriptPath = (0, path_1.join)(scriptsDir, 'stop.sh');
379
+ (0, fs_1.writeFileSync)(startScriptPath, generateStartScript(config), { mode: 0o755 });
380
+ (0, fs_1.writeFileSync)(stopScriptPath, generateStopScript(config), { mode: 0o755 });
381
+ console.log(`✅ Created start script: ${startScriptPath}`);
382
+ console.log(`✅ Created stop script: ${stopScriptPath}`);
383
+ // Try to start the service using the script
384
+ console.log('\n📦 Starting AgentStudio...');
250
385
  try {
251
- (0, child_process_1.execSync)('systemctl --user daemon-reload');
252
- (0, child_process_1.execSync)(`systemctl --user enable ${SERVICE_NAME}`);
253
- (0, child_process_1.execSync)(`systemctl --user start ${SERVICE_NAME}`);
254
- console.log('✅ Service enabled and started');
386
+ (0, child_process_1.execSync)(startScriptPath, { stdio: 'inherit' });
255
387
  }
256
388
  catch (error) {
257
- console.error('❌ Failed to enable service:', error);
389
+ console.error('❌ Failed to start service:', error);
258
390
  throw error;
259
391
  }
392
+ console.log('\n💡 Tips for enabling systemd user service:');
393
+ console.log(' If you want to use systemd (auto-start on boot), run these commands:');
394
+ console.log('');
395
+ console.log(' # Enable lingering (allows user services to run without login)');
396
+ console.log(` sudo loginctl enable-linger ${process.env.USER || 'your-username'}`);
397
+ console.log('');
398
+ console.log(' # Then log out and log back in (to get a proper user session)');
399
+ console.log(' # Or set the environment manually:');
400
+ console.log(` export XDG_RUNTIME_DIR=/run/user/$(id -u)`);
401
+ console.log(' systemctl --user daemon-reload');
402
+ console.log(` systemctl --user enable ${SERVICE_NAME}`);
403
+ console.log(` systemctl --user start ${SERVICE_NAME}`);
260
404
  }
261
405
  function uninstallLinuxService() {
262
406
  const servicePath = getSystemdServicePath();
263
- try {
264
- (0, child_process_1.execSync)(`systemctl --user stop ${SERVICE_NAME}`);
265
- (0, child_process_1.execSync)(`systemctl --user disable ${SERVICE_NAME}`);
407
+ const dataDir = (0, path_1.join)((0, os_1.homedir)(), '.agentstudio');
408
+ const scriptsDir = (0, path_1.join)(dataDir, 'scripts');
409
+ const stopScriptPath = (0, path_1.join)(scriptsDir, 'stop.sh');
410
+ const startScriptPath = (0, path_1.join)(scriptsDir, 'start.sh');
411
+ // Try to stop via systemd first
412
+ if (isSystemdUserAvailable()) {
413
+ const env = getSystemdUserEnv();
414
+ try {
415
+ (0, child_process_1.execSync)(`systemctl --user stop ${SERVICE_NAME}`, { env });
416
+ (0, child_process_1.execSync)(`systemctl --user disable ${SERVICE_NAME}`, { env });
417
+ }
418
+ catch {
419
+ // Service might not be running
420
+ }
266
421
  }
267
- catch {
268
- // Service might not be running
422
+ // Try to stop via script as fallback
423
+ if ((0, fs_1.existsSync)(stopScriptPath)) {
424
+ try {
425
+ (0, child_process_1.execSync)(stopScriptPath, { stdio: 'inherit' });
426
+ }
427
+ catch {
428
+ // Script might fail if not running
429
+ }
430
+ // Clean up scripts
431
+ try {
432
+ (0, fs_1.unlinkSync)(startScriptPath);
433
+ (0, fs_1.unlinkSync)(stopScriptPath);
434
+ }
435
+ catch {
436
+ // Scripts might not exist
437
+ }
269
438
  }
439
+ // Remove service file
270
440
  if ((0, fs_1.existsSync)(servicePath)) {
271
441
  (0, fs_1.unlinkSync)(servicePath);
272
- (0, child_process_1.execSync)('systemctl --user daemon-reload');
442
+ if (isSystemdUserAvailable()) {
443
+ const env = getSystemdUserEnv();
444
+ try {
445
+ (0, child_process_1.execSync)('systemctl --user daemon-reload', { env });
446
+ }
447
+ catch {
448
+ // Ignore reload errors
449
+ }
450
+ }
273
451
  console.log('✅ Service uninstalled');
274
452
  }
275
453
  else {
@@ -277,33 +455,155 @@ function uninstallLinuxService() {
277
455
  }
278
456
  }
279
457
  function linuxServiceAction(action) {
458
+ const dataDir = (0, path_1.join)((0, os_1.homedir)(), '.agentstudio');
459
+ const scriptsDir = (0, path_1.join)(dataDir, 'scripts');
460
+ const startScriptPath = (0, path_1.join)(scriptsDir, 'start.sh');
461
+ const stopScriptPath = (0, path_1.join)(scriptsDir, 'stop.sh');
462
+ const pidFile = (0, path_1.join)(dataDir, 'agentstudio.pid');
463
+ const logDir = (0, path_1.join)(dataDir, 'logs');
464
+ const useSystemd = isSystemdUserAvailable();
465
+ const hasScripts = (0, fs_1.existsSync)(startScriptPath) && (0, fs_1.existsSync)(stopScriptPath);
466
+ // Helper to check script-mode process status
467
+ const getScriptModeStatus = () => {
468
+ if ((0, fs_1.existsSync)(pidFile)) {
469
+ const pid = (0, fs_1.readFileSync)(pidFile, 'utf8').trim();
470
+ try {
471
+ process.kill(parseInt(pid), 0);
472
+ return { running: true, pid };
473
+ }
474
+ catch {
475
+ return { running: false };
476
+ }
477
+ }
478
+ return { running: false };
479
+ };
280
480
  switch (action) {
281
481
  case 'start':
282
- (0, child_process_1.execSync)(`systemctl --user start ${SERVICE_NAME}`);
283
- console.log('✅ Service started');
482
+ if (useSystemd) {
483
+ const env = getSystemdUserEnv();
484
+ try {
485
+ (0, child_process_1.execSync)(`systemctl --user start ${SERVICE_NAME}`, { env });
486
+ console.log('✅ Service started');
487
+ return;
488
+ }
489
+ catch {
490
+ console.log('⚠️ systemd start failed, trying script mode...');
491
+ }
492
+ }
493
+ if (hasScripts) {
494
+ (0, child_process_1.execSync)(startScriptPath, { stdio: 'inherit' });
495
+ }
496
+ else {
497
+ console.log('❌ No start method available. Run "agentstudio install" first.');
498
+ }
284
499
  break;
285
500
  case 'stop':
286
- (0, child_process_1.execSync)(`systemctl --user stop ${SERVICE_NAME}`);
287
- console.log('✅ Service stopped');
501
+ if (useSystemd) {
502
+ const env = getSystemdUserEnv();
503
+ try {
504
+ (0, child_process_1.execSync)(`systemctl --user stop ${SERVICE_NAME}`, { env });
505
+ console.log('✅ Service stopped');
506
+ return;
507
+ }
508
+ catch {
509
+ console.log('⚠️ systemd stop failed, trying script mode...');
510
+ }
511
+ }
512
+ if (hasScripts) {
513
+ (0, child_process_1.execSync)(stopScriptPath, { stdio: 'inherit' });
514
+ }
515
+ else if ((0, fs_1.existsSync)(pidFile)) {
516
+ // Direct kill if no script but pid file exists
517
+ const pid = (0, fs_1.readFileSync)(pidFile, 'utf8').trim();
518
+ try {
519
+ process.kill(parseInt(pid));
520
+ (0, fs_1.unlinkSync)(pidFile);
521
+ console.log('✅ Service stopped');
522
+ }
523
+ catch {
524
+ console.log('⚪ Service is not running');
525
+ }
526
+ }
527
+ else {
528
+ console.log('⚪ Service is not running');
529
+ }
288
530
  break;
289
531
  case 'restart':
290
- (0, child_process_1.execSync)(`systemctl --user restart ${SERVICE_NAME}`);
291
- console.log('✅ Service restarted');
532
+ if (useSystemd) {
533
+ const env = getSystemdUserEnv();
534
+ try {
535
+ (0, child_process_1.execSync)(`systemctl --user restart ${SERVICE_NAME}`, { env });
536
+ console.log('✅ Service restarted');
537
+ return;
538
+ }
539
+ catch {
540
+ console.log('⚠️ systemd restart failed, trying script mode...');
541
+ }
542
+ }
543
+ if (hasScripts) {
544
+ try {
545
+ (0, child_process_1.execSync)(stopScriptPath, { stdio: 'inherit' });
546
+ }
547
+ catch { /* ignore */ }
548
+ (0, child_process_1.execSync)(startScriptPath, { stdio: 'inherit' });
549
+ }
550
+ else {
551
+ console.log('❌ No restart method available. Run "agentstudio install" first.');
552
+ }
292
553
  break;
293
554
  case 'status':
294
- try {
295
- (0, child_process_1.execSync)(`systemctl --user status ${SERVICE_NAME}`, { stdio: 'inherit' });
555
+ if (useSystemd) {
556
+ const env = getSystemdUserEnv();
557
+ try {
558
+ (0, child_process_1.execSync)(`systemctl --user status ${SERVICE_NAME}`, { stdio: 'inherit', env });
559
+ return;
560
+ }
561
+ catch {
562
+ // Status might fail, fall through to script mode check
563
+ }
296
564
  }
297
- catch {
298
- // Status command returns non-zero for stopped services
565
+ // Script mode status check
566
+ const status = getScriptModeStatus();
567
+ if (status.running) {
568
+ console.log(`✅ AgentStudio is running (PID: ${status.pid})`);
569
+ }
570
+ else {
571
+ console.log('⚪ AgentStudio is not running');
299
572
  }
300
573
  break;
301
574
  case 'logs':
302
- try {
303
- (0, child_process_1.execSync)(`journalctl --user -u ${SERVICE_NAME} -n 50 --no-pager`, { stdio: 'inherit' });
575
+ if (useSystemd) {
576
+ const env = getSystemdUserEnv();
577
+ try {
578
+ (0, child_process_1.execSync)(`journalctl --user -u ${SERVICE_NAME} -n 50 --no-pager`, { stdio: 'inherit', env });
579
+ return;
580
+ }
581
+ catch {
582
+ console.log('⚠️ journalctl failed, trying log files...');
583
+ }
304
584
  }
305
- catch (error) {
306
- console.error('Failed to get logs:', error);
585
+ // Script mode logs
586
+ const stdoutLog = (0, path_1.join)(logDir, 'stdout.log');
587
+ const stderrLog = (0, path_1.join)(logDir, 'stderr.log');
588
+ console.log('\n📋 Standard Output (last 50 lines):');
589
+ if ((0, fs_1.existsSync)(stdoutLog)) {
590
+ try {
591
+ (0, child_process_1.execSync)(`tail -50 "${stdoutLog}"`, { stdio: 'inherit' });
592
+ }
593
+ catch { /* ignore */ }
594
+ }
595
+ else {
596
+ console.log('(no logs yet)');
597
+ }
598
+ console.log('\n📋 Standard Error (last 20 lines):');
599
+ if ((0, fs_1.existsSync)(stderrLog)) {
600
+ try {
601
+ (0, child_process_1.execSync)(`tail -20 "${stderrLog}"`, { stdio: 'inherit' });
602
+ }
603
+ catch { /* ignore */ }
604
+ }
605
+ else {
606
+ console.log('(no errors)');
307
607
  }
308
608
  break;
309
609
  }
@@ -312,6 +612,8 @@ function linuxServiceAction(action) {
312
612
  // Windows Support (basic instructions)
313
613
  // =============================================================================
314
614
  function installWindowsService(config) {
615
+ const execPath = getExecutablePath();
616
+ const { program, script } = getLaunchArgs(execPath);
315
617
  console.log('\n📘 Windows Service Installation\n');
316
618
  console.log('Windows service installation requires additional tools.');
317
619
  console.log('Here are your options:\n');
@@ -322,19 +624,19 @@ function installWindowsService(config) {
322
624
  console.log('3. Name: AgentStudio');
323
625
  console.log(`4. Trigger: "When the computer starts"`);
324
626
  console.log(`5. Action: Start a program`);
325
- console.log(` Program: ${getNodePath()}`);
326
- console.log(` Arguments: ${getExecutablePath()} start --port ${config.port}`);
627
+ console.log(` Program: ${program}`);
628
+ console.log(` Arguments: ${script} start --port ${config.port}`);
327
629
  console.log(` Start in: ${(0, os_1.homedir)()}\n`);
328
630
  console.log('Option 2: Use NSSM (Non-Sucking Service Manager)');
329
631
  console.log('------------------------------------------------');
330
632
  console.log('1. Download NSSM from https://nssm.cc/');
331
633
  console.log('2. Run: nssm install AgentStudio');
332
- console.log(`3. Path: ${getNodePath()}`);
333
- console.log(`4. Arguments: ${getExecutablePath()} start --port ${config.port}\n`);
634
+ console.log(`3. Path: ${program}`);
635
+ console.log(`4. Arguments: ${script} start --port ${config.port}\n`);
334
636
  console.log('Option 3: Use pm2 (Cross-platform process manager)');
335
637
  console.log('--------------------------------------------------');
336
638
  console.log('npm install -g pm2');
337
- console.log(`pm2 start ${getExecutablePath()} -- start --port ${config.port}`);
639
+ console.log(`pm2 start ${script} -- start --port ${config.port}`);
338
640
  console.log('pm2 save');
339
641
  console.log('pm2 startup\n');
340
642
  }
@@ -426,7 +728,11 @@ function isServiceInstalled() {
426
728
  case 'darwin':
427
729
  return (0, fs_1.existsSync)(getLaunchdPlistPath());
428
730
  case 'linux':
429
- return (0, fs_1.existsSync)(getSystemdServicePath());
731
+ // Check both systemd service file and script-mode installation
732
+ const hasServiceFile = (0, fs_1.existsSync)(getSystemdServicePath());
733
+ const scriptsDir = (0, path_1.join)((0, os_1.homedir)(), '.agentstudio', 'scripts');
734
+ const hasScripts = (0, fs_1.existsSync)((0, path_1.join)(scriptsDir, 'start.sh'));
735
+ return hasServiceFile || hasScripts;
430
736
  default:
431
737
  return false;
432
738
  }