agentstudio 0.3.4 → 0.4.0

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 +312 -28
  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
@@ -0,0 +1,538 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor Configuration Service
4
+ *
5
+ * Provides read access to Cursor CLI configuration files:
6
+ * - MCP servers: ~/.cursor/mcp.json
7
+ * - Rules: ~/.cursor/rules/*.mdc
8
+ * - Commands: ~/.cursor/commands/*.md
9
+ * - Skills: ~/.cursor/skills/ and ~/.cursor/skills-cursor/
10
+ * - Plugins: ~/.cursor/plugins/
11
+ * - Project data: ~/.cursor/projects/<hash>/
12
+ *
13
+ * This service is read-only for Cursor configurations.
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ var __importDefault = (this && this.__importDefault) || function (mod) {
49
+ return (mod && mod.__esModule) ? mod : { "default": mod };
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.readMcpConfig = readMcpConfig;
53
+ exports.getMcpServers = getMcpServers;
54
+ exports.getRules = getRules;
55
+ exports.getProjectRules = getProjectRules;
56
+ exports.getCommands = getCommands;
57
+ exports.getProjectCommands = getProjectCommands;
58
+ exports.getSkills = getSkills;
59
+ exports.getProjectSkills = getProjectSkills;
60
+ exports.getPluginsConfig = getPluginsConfig;
61
+ exports.getMarketplacesConfig = getMarketplacesConfig;
62
+ exports.getProjectMcpTools = getProjectMcpTools;
63
+ exports.getProjectDataSummary = getProjectDataSummary;
64
+ exports.getAllCursorConfig = getAllCursorConfig;
65
+ const fs = __importStar(require("fs/promises"));
66
+ const path = __importStar(require("path"));
67
+ const fs_1 = require("fs");
68
+ const gray_matter_1 = __importDefault(require("gray-matter"));
69
+ const engineConfig_js_1 = require("../config/engineConfig.js");
70
+ // =============================================================================
71
+ // MCP Configuration
72
+ // =============================================================================
73
+ /**
74
+ * Read MCP configuration from ~/.cursor/mcp.json
75
+ */
76
+ async function readMcpConfig() {
77
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
78
+ const mcpPath = paths.mcpConfigPath;
79
+ try {
80
+ if (!(0, fs_1.existsSync)(mcpPath)) {
81
+ return null;
82
+ }
83
+ const content = await fs.readFile(mcpPath, 'utf-8');
84
+ return JSON.parse(content);
85
+ }
86
+ catch (error) {
87
+ console.error('Error reading MCP config:', error);
88
+ return null;
89
+ }
90
+ }
91
+ /**
92
+ * Get list of MCP servers
93
+ */
94
+ async function getMcpServers() {
95
+ const config = await readMcpConfig();
96
+ if (!config?.mcpServers) {
97
+ return [];
98
+ }
99
+ return Object.entries(config.mcpServers).map(([name, server]) => ({
100
+ name,
101
+ ...server,
102
+ }));
103
+ }
104
+ // =============================================================================
105
+ // Rules Configuration
106
+ // =============================================================================
107
+ /**
108
+ * Parse rule frontmatter from .mdc file content
109
+ */
110
+ function parseRuleFrontmatter(content) {
111
+ try {
112
+ const parsed = (0, gray_matter_1.default)(content);
113
+ return {
114
+ frontmatter: {
115
+ description: parsed.data.description,
116
+ alwaysApply: parsed.data.alwaysApply,
117
+ globs: parsed.data.globs,
118
+ },
119
+ body: parsed.content,
120
+ };
121
+ }
122
+ catch {
123
+ return {
124
+ frontmatter: {},
125
+ body: content,
126
+ };
127
+ }
128
+ }
129
+ /**
130
+ * Read all rules from a directory
131
+ */
132
+ async function readRulesFromDir(dirPath, scope) {
133
+ const rules = [];
134
+ try {
135
+ if (!(0, fs_1.existsSync)(dirPath)) {
136
+ return rules;
137
+ }
138
+ const files = await fs.readdir(dirPath);
139
+ for (const file of files) {
140
+ if (!file.endsWith('.mdc') && !file.endsWith('.md')) {
141
+ continue;
142
+ }
143
+ const filePath = path.join(dirPath, file);
144
+ const stat = await fs.stat(filePath);
145
+ if (!stat.isFile()) {
146
+ continue;
147
+ }
148
+ const content = await fs.readFile(filePath, 'utf-8');
149
+ const { frontmatter, body } = parseRuleFrontmatter(content);
150
+ const name = file.replace(/\.(mdc|md)$/, '');
151
+ rules.push({
152
+ name,
153
+ path: filePath,
154
+ scope,
155
+ frontmatter,
156
+ content: body,
157
+ });
158
+ }
159
+ }
160
+ catch (error) {
161
+ console.error(`Error reading rules from ${dirPath}:`, error);
162
+ }
163
+ return rules;
164
+ }
165
+ /**
166
+ * Get all rules (global scope only for Cursor)
167
+ */
168
+ async function getRules() {
169
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
170
+ return readRulesFromDir(paths.rulesDir, 'global');
171
+ }
172
+ /**
173
+ * Get rules for a specific project (reads from .cursor/rules in project)
174
+ */
175
+ async function getProjectRules(projectPath) {
176
+ const projectRulesDir = path.join(projectPath, '.cursor', 'rules');
177
+ return readRulesFromDir(projectRulesDir, 'project');
178
+ }
179
+ // =============================================================================
180
+ // Commands Configuration
181
+ // =============================================================================
182
+ /**
183
+ * Read all commands from a directory
184
+ */
185
+ async function readCommandsFromDir(dirPath, scope) {
186
+ const commands = [];
187
+ try {
188
+ if (!(0, fs_1.existsSync)(dirPath)) {
189
+ return commands;
190
+ }
191
+ const files = await fs.readdir(dirPath);
192
+ for (const file of files) {
193
+ if (!file.endsWith('.md')) {
194
+ continue;
195
+ }
196
+ const filePath = path.join(dirPath, file);
197
+ const stat = await fs.stat(filePath);
198
+ if (!stat.isFile()) {
199
+ continue;
200
+ }
201
+ const content = await fs.readFile(filePath, 'utf-8');
202
+ const name = file.replace(/\.md$/, '');
203
+ commands.push({
204
+ name,
205
+ path: filePath,
206
+ scope,
207
+ content,
208
+ });
209
+ }
210
+ }
211
+ catch (error) {
212
+ console.error(`Error reading commands from ${dirPath}:`, error);
213
+ }
214
+ return commands;
215
+ }
216
+ /**
217
+ * Get all commands (global scope)
218
+ */
219
+ async function getCommands() {
220
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
221
+ return readCommandsFromDir(paths.commandsDir, 'global');
222
+ }
223
+ /**
224
+ * Get commands for a specific project
225
+ */
226
+ async function getProjectCommands(projectPath) {
227
+ const projectCommandsDir = path.join(projectPath, '.cursor', 'commands');
228
+ return readCommandsFromDir(projectCommandsDir, 'project');
229
+ }
230
+ // =============================================================================
231
+ // Skills Configuration
232
+ // =============================================================================
233
+ /**
234
+ * Parse skill SKILL.md frontmatter
235
+ */
236
+ function parseSkillFrontmatter(content) {
237
+ try {
238
+ const parsed = (0, gray_matter_1.default)(content);
239
+ return {
240
+ frontmatter: {
241
+ name: parsed.data.name || '',
242
+ description: parsed.data.description || '',
243
+ },
244
+ body: parsed.content,
245
+ };
246
+ }
247
+ catch {
248
+ return {
249
+ frontmatter: { name: '', description: '' },
250
+ body: content,
251
+ };
252
+ }
253
+ }
254
+ /**
255
+ * Read skills from a directory
256
+ */
257
+ async function readSkillsFromDir(dirPath, scope, isBuiltin = false) {
258
+ const skills = [];
259
+ try {
260
+ if (!(0, fs_1.existsSync)(dirPath)) {
261
+ return skills;
262
+ }
263
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
264
+ for (const entry of entries) {
265
+ if (!entry.isDirectory()) {
266
+ continue;
267
+ }
268
+ const skillDir = path.join(dirPath, entry.name);
269
+ const skillMdPath = path.join(skillDir, 'SKILL.md');
270
+ if (!(0, fs_1.existsSync)(skillMdPath)) {
271
+ continue;
272
+ }
273
+ const content = await fs.readFile(skillMdPath, 'utf-8');
274
+ const { frontmatter, body } = parseSkillFrontmatter(content);
275
+ // Get supporting files
276
+ const allFiles = await fs.readdir(skillDir);
277
+ const supportingFiles = allFiles.filter(f => f !== 'SKILL.md');
278
+ skills.push({
279
+ name: frontmatter.name || entry.name,
280
+ path: skillDir,
281
+ scope,
282
+ isBuiltin,
283
+ frontmatter,
284
+ content: body,
285
+ supportingFiles: supportingFiles.length > 0 ? supportingFiles : undefined,
286
+ });
287
+ }
288
+ }
289
+ catch (error) {
290
+ console.error(`Error reading skills from ${dirPath}:`, error);
291
+ }
292
+ return skills;
293
+ }
294
+ /**
295
+ * Get all skills (user-created and built-in)
296
+ */
297
+ async function getSkills() {
298
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
299
+ const skills = [];
300
+ // User-created skills
301
+ const userSkills = await readSkillsFromDir(paths.skillsDir, 'user', false);
302
+ skills.push(...userSkills);
303
+ // Built-in skills (skills-cursor directory)
304
+ if (paths.builtinSkillsDir) {
305
+ const builtinSkills = await readSkillsFromDir(paths.builtinSkillsDir, 'user', true);
306
+ skills.push(...builtinSkills);
307
+ }
308
+ return skills;
309
+ }
310
+ /**
311
+ * Get project-level skills
312
+ */
313
+ async function getProjectSkills(projectPath) {
314
+ const projectSkillsDir = path.join(projectPath, '.cursor', 'skills');
315
+ return readSkillsFromDir(projectSkillsDir, 'project', false);
316
+ }
317
+ // =============================================================================
318
+ // Plugins Configuration
319
+ // =============================================================================
320
+ /**
321
+ * Read plugins configuration
322
+ */
323
+ async function getPluginsConfig() {
324
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
325
+ if (!paths.pluginsDir) {
326
+ return null;
327
+ }
328
+ const installedPath = path.join(paths.pluginsDir, 'installed.json');
329
+ try {
330
+ if (!(0, fs_1.existsSync)(installedPath)) {
331
+ return null;
332
+ }
333
+ const content = await fs.readFile(installedPath, 'utf-8');
334
+ return JSON.parse(content);
335
+ }
336
+ catch (error) {
337
+ console.error('Error reading plugins config:', error);
338
+ return null;
339
+ }
340
+ }
341
+ /**
342
+ * Read marketplaces configuration
343
+ */
344
+ async function getMarketplacesConfig() {
345
+ const paths = (0, engineConfig_js_1.getEnginePaths)();
346
+ if (!paths.pluginsDir) {
347
+ return null;
348
+ }
349
+ const marketplacesPath = path.join(paths.pluginsDir, 'marketplaces.json');
350
+ try {
351
+ if (!(0, fs_1.existsSync)(marketplacesPath)) {
352
+ return null;
353
+ }
354
+ const content = await fs.readFile(marketplacesPath, 'utf-8');
355
+ return JSON.parse(content);
356
+ }
357
+ catch (error) {
358
+ console.error('Error reading marketplaces config:', error);
359
+ return null;
360
+ }
361
+ }
362
+ // =============================================================================
363
+ // Project Data
364
+ // =============================================================================
365
+ /**
366
+ * Get project MCP tools from ~/.cursor/projects/<hash>/mcps/
367
+ */
368
+ async function getProjectMcpTools(projectPath) {
369
+ const projectDataDir = (0, engineConfig_js_1.getProjectDataDir)(projectPath);
370
+ const mcpsDir = path.join(projectDataDir, 'mcps');
371
+ const servers = [];
372
+ try {
373
+ if (!(0, fs_1.existsSync)(mcpsDir)) {
374
+ return servers;
375
+ }
376
+ const serverDirs = await fs.readdir(mcpsDir, { withFileTypes: true });
377
+ for (const serverDir of serverDirs) {
378
+ if (!serverDir.isDirectory()) {
379
+ continue;
380
+ }
381
+ const serverPath = path.join(mcpsDir, serverDir.name);
382
+ const metadataPath = path.join(serverPath, 'SERVER_METADATA.json');
383
+ const toolsDir = path.join(serverPath, 'tools');
384
+ let serverIdentifier = serverDir.name;
385
+ let serverName = serverDir.name;
386
+ let instructions;
387
+ let status;
388
+ // Read server metadata
389
+ if ((0, fs_1.existsSync)(metadataPath)) {
390
+ try {
391
+ const metadataContent = await fs.readFile(metadataPath, 'utf-8');
392
+ const metadata = JSON.parse(metadataContent);
393
+ serverIdentifier = metadata.serverIdentifier || serverDir.name;
394
+ serverName = metadata.serverName || serverDir.name;
395
+ }
396
+ catch {
397
+ // Ignore metadata read errors
398
+ }
399
+ }
400
+ // Read instructions
401
+ const instructionsPath = path.join(serverPath, 'INSTRUCTIONS.md');
402
+ if ((0, fs_1.existsSync)(instructionsPath)) {
403
+ try {
404
+ instructions = await fs.readFile(instructionsPath, 'utf-8');
405
+ }
406
+ catch {
407
+ // Ignore read errors
408
+ }
409
+ }
410
+ // Read status
411
+ const statusPath = path.join(serverPath, 'STATUS.md');
412
+ if ((0, fs_1.existsSync)(statusPath)) {
413
+ try {
414
+ status = await fs.readFile(statusPath, 'utf-8');
415
+ }
416
+ catch {
417
+ // Ignore read errors
418
+ }
419
+ }
420
+ // Read tools
421
+ const tools = [];
422
+ if ((0, fs_1.existsSync)(toolsDir)) {
423
+ const toolFiles = await fs.readdir(toolsDir);
424
+ for (const toolFile of toolFiles) {
425
+ if (!toolFile.endsWith('.json')) {
426
+ continue;
427
+ }
428
+ try {
429
+ const toolContent = await fs.readFile(path.join(toolsDir, toolFile), 'utf-8');
430
+ const tool = JSON.parse(toolContent);
431
+ tools.push(tool);
432
+ }
433
+ catch {
434
+ // Ignore tool read errors
435
+ }
436
+ }
437
+ }
438
+ servers.push({
439
+ serverIdentifier,
440
+ serverName,
441
+ instructions,
442
+ status,
443
+ tools,
444
+ });
445
+ }
446
+ }
447
+ catch (error) {
448
+ console.error(`Error reading project MCP tools for ${projectPath}:`, error);
449
+ }
450
+ return servers;
451
+ }
452
+ /**
453
+ * Get project data summary
454
+ */
455
+ async function getProjectDataSummary(projectPath) {
456
+ const hash = (0, engineConfig_js_1.projectPathToHash)(projectPath);
457
+ const projectDataDir = (0, engineConfig_js_1.getProjectDataDir)(projectPath);
458
+ if (!(0, fs_1.existsSync)(projectDataDir)) {
459
+ return null;
460
+ }
461
+ const transcriptsDir = path.join(projectDataDir, 'agent-transcripts');
462
+ const terminalsDir = path.join(projectDataDir, 'terminals');
463
+ const assetsDir = path.join(projectDataDir, 'assets');
464
+ const transcripts = [];
465
+ const terminals = [];
466
+ const assets = [];
467
+ try {
468
+ if ((0, fs_1.existsSync)(transcriptsDir)) {
469
+ const files = await fs.readdir(transcriptsDir);
470
+ transcripts.push(...files.filter(f => f.endsWith('.txt')));
471
+ }
472
+ if ((0, fs_1.existsSync)(terminalsDir)) {
473
+ const files = await fs.readdir(terminalsDir);
474
+ terminals.push(...files.filter(f => f.endsWith('.txt')));
475
+ }
476
+ if ((0, fs_1.existsSync)(assetsDir)) {
477
+ const files = await fs.readdir(assetsDir);
478
+ assets.push(...files);
479
+ }
480
+ }
481
+ catch (error) {
482
+ console.error(`Error reading project data for ${projectPath}:`, error);
483
+ }
484
+ const mcpTools = await getProjectMcpTools(projectPath);
485
+ const mcpToolsRecord = {};
486
+ for (const server of mcpTools) {
487
+ mcpToolsRecord[server.serverIdentifier] = server;
488
+ }
489
+ return {
490
+ hash,
491
+ projectPath,
492
+ mcpTools: mcpToolsRecord,
493
+ transcripts,
494
+ terminals,
495
+ assets,
496
+ };
497
+ }
498
+ // =============================================================================
499
+ // Convenience Functions
500
+ // =============================================================================
501
+ /**
502
+ * Get all configuration for display
503
+ */
504
+ async function getAllCursorConfig(projectPath) {
505
+ const [mcp, globalRules, globalCommands, skills, plugins, marketplaces] = await Promise.all([
506
+ getMcpServers(),
507
+ getRules(),
508
+ getCommands(),
509
+ getSkills(),
510
+ getPluginsConfig(),
511
+ getMarketplacesConfig(),
512
+ ]);
513
+ let rules = globalRules;
514
+ let commands = globalCommands;
515
+ let projectData = null;
516
+ if (projectPath) {
517
+ const [projectRules, projectCommands, projectSkills, projData] = await Promise.all([
518
+ getProjectRules(projectPath),
519
+ getProjectCommands(projectPath),
520
+ getProjectSkills(projectPath),
521
+ getProjectDataSummary(projectPath),
522
+ ]);
523
+ rules = [...globalRules, ...projectRules];
524
+ commands = [...globalCommands, ...projectCommands];
525
+ skills.push(...projectSkills);
526
+ projectData = projData;
527
+ }
528
+ return {
529
+ mcp,
530
+ rules,
531
+ commands,
532
+ skills,
533
+ plugins,
534
+ marketplaces,
535
+ projectData,
536
+ };
537
+ }
538
+ //# sourceMappingURL=cursorConfigService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursorConfigService.js","sourceRoot":"","sources":["../../src/services/cursorConfigService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Git Version Service
3
+ *
4
+ * Provides Git-based version management for AgentStudio projects.
5
+ * Each project gets its own Git repository (lazy-initialized on first version save).
6
+ * Versions are stored as Git tags (v1, v2, ...) with user-provided descriptions as commit messages.
7
+ */
8
+ export interface VersionInfo {
9
+ tag: string;
10
+ message: string;
11
+ date: string;
12
+ hash: string;
13
+ isCurrent: boolean;
14
+ }
15
+ export interface VersionStatus {
16
+ initialized: boolean;
17
+ currentVersion: string | null;
18
+ isDirty: boolean;
19
+ untrackedFiles: number;
20
+ modifiedFiles: number;
21
+ totalVersions: number;
22
+ }
23
+ export interface CreateVersionResult {
24
+ tag: string;
25
+ hash: string;
26
+ message: string;
27
+ }
28
+ /**
29
+ * Check if a directory is a git repository
30
+ */
31
+ export declare function isGitInitialized(projectPath: string): Promise<boolean>;
32
+ /**
33
+ * Create a new version (git add + commit + tag)
34
+ */
35
+ export declare function createVersion(projectPath: string, message: string): Promise<CreateVersionResult>;
36
+ /**
37
+ * List all versions (tags) for a project
38
+ */
39
+ export declare function listVersions(projectPath: string): Promise<VersionInfo[]>;
40
+ /**
41
+ * Get the current version status of a project
42
+ */
43
+ export declare function getVersionStatus(projectPath: string): Promise<VersionStatus>;
44
+ /**
45
+ * Checkout a specific version
46
+ */
47
+ export declare function checkoutVersion(projectPath: string, tag: string, force?: boolean): Promise<void>;
48
+ /**
49
+ * Delete a version tag (does not delete the commit)
50
+ */
51
+ export declare function deleteVersion(projectPath: string, tag: string): Promise<void>;
52
+ //# sourceMappingURL=gitVersionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitVersionService.d.ts","sourceRoot":"","sources":["../../src/services/gitVersionService.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA2BD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5E;AAuCD;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAgD9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA0D9E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DlF;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAoBf"}