agentstudio 0.4.2 → 0.4.3
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.
- package/config/engineConfig.d.ts +15 -0
- package/config/engineConfig.d.ts.map +1 -1
- package/config/engineConfig.js +30 -0
- package/config/engineConfig.js.map +1 -1
- package/config/index.d.ts.map +1 -1
- package/config/index.js +14 -0
- package/config/index.js.map +1 -1
- package/config/paths.d.ts +5 -0
- package/config/paths.d.ts.map +1 -1
- package/config/paths.js +6 -1
- package/config/paths.js.map +1 -1
- package/engines/claude/__tests__/supportedModels.test.d.ts +6 -4
- package/engines/claude/__tests__/supportedModels.test.d.ts.map +1 -1
- package/engines/claude/__tests__/supportedModels.test.js +55 -13
- package/engines/claude/__tests__/supportedModels.test.js.map +1 -1
- package/engines/claude/aguiAdapter.d.ts.map +1 -1
- package/engines/claude/aguiAdapter.js +8 -0
- package/engines/claude/aguiAdapter.js.map +1 -1
- package/engines/claude/claudeEngine.d.ts +36 -3
- package/engines/claude/claudeEngine.d.ts.map +1 -1
- package/engines/claude/claudeEngine.js +132 -13
- package/engines/claude/claudeEngine.js.map +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +29 -2
- package/index.js.map +1 -1
- package/middleware/callChain.d.ts +10 -0
- package/middleware/callChain.d.ts.map +1 -0
- package/middleware/callChain.js +24 -0
- package/middleware/callChain.js.map +1 -0
- package/middleware/requestId.d.ts +8 -0
- package/middleware/requestId.d.ts.map +1 -0
- package/middleware/requestId.js +18 -0
- package/middleware/requestId.js.map +1 -0
- package/package.json +1 -1
- package/prompts/gameDevSystemPrompt.d.ts +15 -0
- package/prompts/gameDevSystemPrompt.d.ts.map +1 -0
- package/prompts/gameDevSystemPrompt.js +37 -0
- package/prompts/gameDevSystemPrompt.js.map +1 -0
- package/prompts/vibeGamingPrompt.d.ts +13 -0
- package/prompts/vibeGamingPrompt.d.ts.map +1 -0
- package/prompts/vibeGamingPrompt.js +125 -0
- package/prompts/vibeGamingPrompt.js.map +1 -0
- package/public/assets/{AgentsPage-BsZdkqzM.js → AgentsPage-CHee5mUh.js} +1 -1
- package/public/assets/{Button-CMTSYiKV.js → Button-D5qiS7CR.js} +1 -1
- package/public/assets/ChatPage-B7-rn9mH.js +478 -0
- package/public/assets/{CommandForm-DwGvE9A_.js → CommandForm-CMfgHNm5.js} +1 -1
- package/public/assets/{CommandsPage-qDWzq8xp.js → CommandsPage-B4rjtVWk.js} +1 -1
- package/public/assets/{CursorConfigPage-DpUdJzRi.js → CursorConfigPage-DQ-3b3ti.js} +1 -1
- package/public/assets/{DashboardPage-BhqKOzob.js → DashboardPage-BowdW2Xj.js} +1 -1
- package/public/assets/{EngineGate-BjHJu955.js → EngineGate-DYNvEEbW.js} +1 -1
- package/public/assets/{FileBrowser-DboOOM_v.js → FileBrowser-DHyCacM6.js} +1 -1
- package/public/assets/{FileExplorer-x5R0Tcmk.js → FileExplorer-BprfeAH_.js} +1 -1
- package/public/assets/GeneralSettingsPage-C6hJ_zTw.js +1 -0
- package/public/assets/{HooksPage-DDGc0GGV.js → HooksPage-BwE2Zm3X.js} +1 -1
- package/public/assets/{LandingPage-CvY4n9Rh.js → LandingPage-DKvwbGX1.js} +1 -1
- package/public/assets/{LoginPage-C-PZfjYC.js → LoginPage-BpZhqRAN.js} +1 -1
- package/public/assets/{McpAdminSettingsPage-CIILVzB8.js → McpAdminSettingsPage-DuvsM5TX.js} +1 -1
- package/public/assets/{McpPage-B4nQUJag.js → McpPage-Hu8vyMhX.js} +1 -1
- package/public/assets/{MemorySettingsPage-eu6tsuUh.js → MemorySettingsPage-gIWSsrES.js} +1 -1
- package/public/assets/{ModelsPage-Bb5vSsuc.js → ModelsPage-Cosb3hHI.js} +1 -1
- package/public/assets/PluginsPage-CuNui9NV.js +12 -0
- package/public/assets/{ProjectSelector-CybrDbBY.js → ProjectSelector-CyBlHb2H.js} +1 -1
- package/public/assets/{ProjectsPage-DRl-0B4G.js → ProjectsPage-DYhCvH07.js} +1 -1
- package/public/assets/{RulesPage-DUt33RkX.js → RulesPage-C32P_Aqz.js} +1 -1
- package/public/assets/{ScheduledTasksPage-CTDYYRIN.js → ScheduledTasksPage-ixn5qoiD.js} +1 -1
- package/public/assets/SettingsLayout-C_7jR0Te.js +1 -0
- package/public/assets/{SkillsPage-Lzw8I9vR.js → SkillsPage-C-WS4N1Y.js} +1 -1
- package/public/assets/{SubagentForm-BzzeWg0W.js → SubagentForm-BbxljQUp.js} +1 -1
- package/public/assets/{SubagentsPage-bX2XWdJ0.js → SubagentsPage-D66TBaeN.js} +1 -1
- package/public/assets/{SystemInfoPage-nEIQbtwG.js → SystemInfoPage-DXVUncTe.js} +1 -1
- package/public/assets/{TelemetrySettingsPage-q167I4G9.js → TelemetrySettingsPage-Cp3vOu7X.js} +1 -1
- package/public/assets/{ToastTestPage-j224d3QR.js → ToastTestPage-03up9yZR.js} +1 -1
- package/public/assets/{ToolsList-CTsQr53G.js → ToolsList-BZFBEuvQ.js} +1 -1
- package/public/assets/UnifiedToolSelector-DJN7ASu1.js +1 -0
- package/public/assets/{VersionSettingsPage-BwpwiLyl.js → VersionSettingsPage-DppWaX--.js} +1 -1
- package/public/assets/{VoiceSettingsPage-d3l9AWBn.js → VoiceSettingsPage-BWJLeedX.js} +1 -1
- package/public/assets/{WebSocketTunnelPage-BqEUE7mr.js → WebSocketTunnelPage-BPeSTgEZ.js} +1 -1
- package/public/assets/{_basePickBy-DHabY031.js → _basePickBy-0UeYrifO.js} +1 -1
- package/public/assets/{_baseUniq-B1lmu3qr.js → _baseUniq-Q0NUbuSr.js} +1 -1
- package/public/assets/{agents-KlPdWQ8K.js → agents-DR9EZMs5.js} +1 -1
- package/public/assets/{arc-6sRLTBcr.js → arc-BV8erW1-.js} +1 -1
- package/public/assets/{architectureDiagram-VXUJARFQ-kwdTmjuB.js → architectureDiagram-VXUJARFQ-BIodTu6s.js} +1 -1
- package/public/assets/{blockDiagram-VD42YOAC-CYO9EYkJ.js → blockDiagram-VD42YOAC-4H3KjsGf.js} +1 -1
- package/public/assets/{c4Diagram-YG6GDRKO-gAp3--Ee.js → c4Diagram-YG6GDRKO-J2ovCYEr.js} +1 -1
- package/public/assets/channel-gveiJv4S.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-DQVsL-J6.js → chunk-4BX2VUAB-D7Mc44O6.js} +1 -1
- package/public/assets/{chunk-55IACEB6-DVsfnY5X.js → chunk-55IACEB6-CMASo37Z.js} +1 -1
- package/public/assets/{chunk-B4BG7PRW-BNmOvuIn.js → chunk-B4BG7PRW-2T3W2IB6.js} +1 -1
- package/public/assets/{chunk-DI55MBZ5-BkucWe8Y.js → chunk-DI55MBZ5-FR9qswmO.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-BsvfEdnB.js → chunk-FMBD7UC4-Bz2LO9q3.js} +1 -1
- package/public/assets/{chunk-QN33PNHL-DSecsNtM.js → chunk-QN33PNHL-D7mfK9Pm.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-DhvrZSqy.js → chunk-QZHKN3VN-AkuNbqQU.js} +1 -1
- package/public/assets/{chunk-TZMSLE5B-BqQ674GC.js → chunk-TZMSLE5B-DtY3rhWy.js} +1 -1
- package/public/assets/classDiagram-2ON5EDUG-f-lJUj27.js +1 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-f-lJUj27.js +1 -0
- package/public/assets/clone-D5-Tsf9e.js +1 -0
- package/public/assets/{cose-bilkent-S5V4N54A-D9ZC6LmB.js → cose-bilkent-S5V4N54A-BuEw-qDX.js} +1 -1
- package/public/assets/{dagre-6UL2VRFP-s7YD2ZcY.js → dagre-6UL2VRFP-D-NrLBGh.js} +1 -1
- package/public/assets/{diagram-PSM6KHXK-C7jhP5tx.js → diagram-PSM6KHXK-BFjWOHNz.js} +1 -1
- package/public/assets/{diagram-QEK2KX5R-B348GmS1.js → diagram-QEK2KX5R-C0YlDb8t.js} +1 -1
- package/public/assets/{diagram-S2PKOQOG-Cu-zjwc9.js → diagram-S2PKOQOG-BLKbR12g.js} +1 -1
- package/public/assets/{erDiagram-Q2GNP2WA-tM4HKBpy.js → erDiagram-Q2GNP2WA-Cov6xnUk.js} +1 -1
- package/public/assets/{flowDiagram-NV44I4VS-DjCIshpi.js → flowDiagram-NV44I4VS-DTMKSJI1.js} +1 -1
- package/public/assets/{ganttDiagram-LVOFAZNH-Q6plkI5G.js → ganttDiagram-LVOFAZNH-DR0bcfHY.js} +1 -1
- package/public/assets/{gitGraphDiagram-NY62KEGX-B3Uw90Yt.js → gitGraphDiagram-NY62KEGX-CvxYSabY.js} +1 -1
- package/public/assets/{graph-Bp0jlxBT.js → graph-BYXvelIL.js} +1 -1
- package/public/assets/{index-f67nhEoX.js → index-BIGPvi1D.js} +44 -44
- package/public/assets/infoDiagram-F6ZHWCRC-CL9g-UgS.js +2 -0
- package/public/assets/{journeyDiagram-XKPGCS4Q-CgQogtHU.js → journeyDiagram-XKPGCS4Q-Df8G0pW8.js} +1 -1
- package/public/assets/{kanban-definition-3W4ZIXB7-Cv7kVxyy.js → kanban-definition-3W4ZIXB7-DhoP7TG_.js} +1 -1
- package/public/assets/{layout-6bkH32V1.js → layout-CgO4Vp_y.js} +1 -1
- package/public/assets/{linear-DWoZ6Tbm.js → linear-CaY74pOB.js} +1 -1
- package/public/assets/{mindmap-definition-VGOIOE7T-D5wd9HsH.js → mindmap-definition-VGOIOE7T-CVK2y0WQ.js} +1 -1
- package/public/assets/{pieDiagram-ADFJNKIX-8vPxErLm.js → pieDiagram-ADFJNKIX-BQt_waQk.js} +1 -1
- package/public/assets/{quadrantDiagram-AYHSOK5B-Pn0NZ9k7.js → quadrantDiagram-AYHSOK5B-DvLFoDeH.js} +1 -1
- package/public/assets/{requirementDiagram-UZGBJVZJ-C7u8MiN1.js → requirementDiagram-UZGBJVZJ-C4lqjEUP.js} +1 -1
- package/public/assets/{sankeyDiagram-TZEHDZUN-C660O4mw.js → sankeyDiagram-TZEHDZUN-BKIDyl6M.js} +1 -1
- package/public/assets/{sequenceDiagram-WL72ISMW-pXBA2_3B.js → sequenceDiagram-WL72ISMW-BeyhJ61U.js} +1 -1
- package/public/assets/{stateDiagram-FKZM4ZOC-CxZMM1Lf.js → stateDiagram-FKZM4ZOC-CKyn6eKl.js} +1 -1
- package/public/assets/stateDiagram-v2-4FDKWEC3-DogBVcJE.js +1 -0
- package/public/assets/{table-Clz57edU.js → table-BgVewkB5.js} +1 -1
- package/public/assets/{timeline-definition-IT6M3QCI-Crg44TaP.js → timeline-definition-IT6M3QCI-Cm5SIAmT.js} +1 -1
- package/public/assets/tools-crrPnehB.js +1 -0
- package/public/assets/{treemap-KMMF4GRG-bFxwBWXw.js → treemap-KMMF4GRG-CUMeoVWM.js} +1 -1
- package/public/assets/{ui-components-DjgDPiqV.js → ui-components-D1pZO0y-.js} +1 -1
- package/public/assets/{useAgents-8KXN6U61.js → useAgents-M4lcWvy0.js} +1 -1
- package/public/assets/{useClaudeVersions-DicHLV6A.js → useClaudeVersions-CKT_fq1t.js} +1 -1
- package/public/assets/{useCommands-DbSH48ba.js → useCommands-vaoVPEDI.js} +1 -1
- package/public/assets/{useProjects-Bbh6hJMM.js → useProjects-D1ElB-WS.js} +1 -1
- package/public/assets/{useSessions-DOa4-xiB.js → useSessions-Dp1kUl43.js} +1 -1
- package/public/assets/{xychartDiagram-PRI3JC2R-DG3KmjD-.js → xychartDiagram-PRI3JC2R-Cy-SHDyX.js} +1 -1
- package/public/index.html +4 -4
- package/routes/a2a.d.ts.map +1 -1
- package/routes/a2a.js +27 -7
- package/routes/a2a.js.map +1 -1
- package/routes/agents.d.ts.map +1 -1
- package/routes/agents.js +234 -38
- package/routes/agents.js.map +1 -1
- package/routes/agui.d.ts.map +1 -1
- package/routes/agui.js +44 -1
- package/routes/agui.js.map +1 -1
- package/routes/gitVersions.d.ts.map +1 -1
- package/routes/gitVersions.js +80 -1
- package/routes/gitVersions.js.map +1 -1
- package/routes/marketplaceSkills.d.ts +18 -0
- package/routes/marketplaceSkills.d.ts.map +1 -0
- package/routes/marketplaceSkills.js +190 -0
- package/routes/marketplaceSkills.js.map +1 -0
- package/routes/plugins.d.ts.map +1 -1
- package/routes/plugins.js +48 -7
- package/routes/plugins.js.map +1 -1
- package/routes/projects.d.ts.map +1 -1
- package/routes/projects.js +34 -0
- package/routes/projects.js.map +1 -1
- package/schemas/a2a.d.ts +35 -4
- package/schemas/a2a.d.ts.map +1 -1
- package/schemas/a2a.js +9 -1
- package/schemas/a2a.js.map +1 -1
- package/services/__tests__/agentImporter.test.js +197 -0
- package/services/__tests__/agentImporter.test.js.map +1 -1
- package/services/__tests__/pluginInstaller.test.js +2 -1
- package/services/__tests__/pluginInstaller.test.js.map +1 -1
- package/services/agentImporter.d.ts +7 -0
- package/services/agentImporter.d.ts.map +1 -1
- package/services/agentImporter.js +57 -4
- package/services/agentImporter.js.map +1 -1
- package/services/builtinMarketplaceService.d.ts +56 -0
- package/services/builtinMarketplaceService.d.ts.map +1 -0
- package/services/builtinMarketplaceService.js +328 -0
- package/services/builtinMarketplaceService.js.map +1 -0
- package/services/claudeSession.d.ts.map +1 -1
- package/services/claudeSession.js +15 -4
- package/services/claudeSession.js.map +1 -1
- package/services/claudeVersionStorage.js +6 -6
- package/services/claudeVersionStorage.js.map +1 -1
- package/services/gitVersionService.d.ts +22 -0
- package/services/gitVersionService.d.ts.map +1 -1
- package/services/gitVersionService.js +117 -19
- package/services/gitVersionService.js.map +1 -1
- package/services/marketplaceSkillService.d.ts +129 -0
- package/services/marketplaceSkillService.d.ts.map +1 -0
- package/services/marketplaceSkillService.js +358 -0
- package/services/marketplaceSkillService.js.map +1 -0
- package/services/marketplaceUpdateService.d.ts.map +1 -1
- package/services/marketplaceUpdateService.js +29 -2
- package/services/marketplaceUpdateService.js.map +1 -1
- package/services/pluginCopyInstall.d.ts +60 -0
- package/services/pluginCopyInstall.d.ts.map +1 -0
- package/services/pluginCopyInstall.js +290 -0
- package/services/pluginCopyInstall.js.map +1 -0
- package/services/pluginInstallStrategy.d.ts +39 -0
- package/services/pluginInstallStrategy.d.ts.map +1 -0
- package/services/pluginInstallStrategy.js +50 -0
- package/services/pluginInstallStrategy.js.map +1 -0
- package/services/pluginInstaller.d.ts +10 -0
- package/services/pluginInstaller.d.ts.map +1 -1
- package/services/pluginInstaller.js +70 -20
- package/services/pluginInstaller.js.map +1 -1
- package/services/pluginParser.d.ts +17 -1
- package/services/pluginParser.d.ts.map +1 -1
- package/services/pluginParser.js +161 -84
- package/services/pluginParser.js.map +1 -1
- package/services/pluginPaths.d.ts +3 -3
- package/services/pluginPaths.d.ts.map +1 -1
- package/services/pluginPaths.js +33 -14
- package/services/pluginPaths.js.map +1 -1
- package/services/pluginScanner.js +2 -2
- package/services/pluginScanner.js.map +1 -1
- package/services/pluginSymlink.d.ts +10 -0
- package/services/pluginSymlink.d.ts.map +1 -1
- package/services/pluginSymlink.js +117 -1
- package/services/pluginSymlink.js.map +1 -1
- package/services/preSendGuard/__tests__/preSendGuard.test.d.ts +2 -0
- package/services/preSendGuard/__tests__/preSendGuard.test.d.ts.map +1 -0
- package/services/preSendGuard/__tests__/preSendGuard.test.js +102 -0
- package/services/preSendGuard/__tests__/preSendGuard.test.js.map +1 -0
- package/services/preSendGuard/configResolver.d.ts +8 -0
- package/services/preSendGuard/configResolver.d.ts.map +1 -0
- package/services/preSendGuard/configResolver.js +181 -0
- package/services/preSendGuard/configResolver.js.map +1 -0
- package/services/preSendGuard/index.d.ts +9 -0
- package/services/preSendGuard/index.d.ts.map +1 -0
- package/services/preSendGuard/index.js +165 -0
- package/services/preSendGuard/index.js.map +1 -0
- package/services/preSendGuard/providers/httpAuditProvider.d.ts +3 -0
- package/services/preSendGuard/providers/httpAuditProvider.d.ts.map +1 -0
- package/services/preSendGuard/providers/httpAuditProvider.js +98 -0
- package/services/preSendGuard/providers/httpAuditProvider.js.map +1 -0
- package/services/preSendGuard/providers/noopProvider.d.ts +3 -0
- package/services/preSendGuard/providers/noopProvider.d.ts.map +1 -0
- package/services/preSendGuard/providers/noopProvider.js +13 -0
- package/services/preSendGuard/providers/noopProvider.js.map +1 -0
- package/services/runFinishedHooks.d.ts +29 -0
- package/services/runFinishedHooks.d.ts.map +1 -0
- package/services/runFinishedHooks.js +57 -0
- package/services/runFinishedHooks.js.map +1 -0
- package/testing/index.d.ts +18 -0
- package/testing/index.d.ts.map +1 -0
- package/testing/index.js +25 -0
- package/testing/index.js.map +1 -0
- package/testing/mockSdkQuery.d.ts +49 -0
- package/testing/mockSdkQuery.d.ts.map +1 -0
- package/testing/mockSdkQuery.js +209 -0
- package/testing/mockSdkQuery.js.map +1 -0
- package/testing/scenarioLoader.d.ts +71 -0
- package/testing/scenarioLoader.d.ts.map +1 -0
- package/testing/scenarioLoader.js +224 -0
- package/testing/scenarioLoader.js.map +1 -0
- package/types/a2a.d.ts +5 -0
- package/types/a2a.d.ts.map +1 -1
- package/types/agents.d.ts +32 -0
- package/types/agents.d.ts.map +1 -1
- package/types/agents.js +1 -0
- package/types/agents.js.map +1 -1
- package/types/engine.d.ts +6 -0
- package/types/engine.d.ts.map +1 -1
- package/types/plugins.d.ts +12 -2
- package/types/plugins.d.ts.map +1 -1
- package/types/preSendGuard.d.ts +51 -0
- package/types/preSendGuard.d.ts.map +1 -0
- package/types/preSendGuard.js +3 -0
- package/types/preSendGuard.js.map +1 -0
- package/utils/__tests__/claudeUtils.test.js +89 -1
- package/utils/__tests__/claudeUtils.test.js.map +1 -1
- package/utils/claudeUtils.d.ts +1 -1
- package/utils/claudeUtils.d.ts.map +1 -1
- package/utils/claudeUtils.js +92 -37
- package/utils/claudeUtils.js.map +1 -1
- package/public/assets/ChatPage-D8buVhfb.js +0 -478
- package/public/assets/GeneralSettingsPage-DYdwai51.js +0 -1
- package/public/assets/PluginsPage-DD92Xk6X.js +0 -12
- package/public/assets/SettingsLayout-LGC-0pQl.js +0 -1
- package/public/assets/UnifiedToolSelector-BP6fuyzG.js +0 -1
- package/public/assets/channel-D9wyZF1L.js +0 -1
- package/public/assets/classDiagram-2ON5EDUG-DwEqkkEb.js +0 -1
- package/public/assets/classDiagram-v2-WZHVMYZB-DwEqkkEb.js +0 -1
- package/public/assets/clone-3wFPaI2j.js +0 -1
- package/public/assets/infoDiagram-F6ZHWCRC-HUfwv_JT.js +0 -2
- package/public/assets/stateDiagram-v2-4FDKWEC3-CmurzrWf.js +0 -1
- package/public/assets/tools-BZTR2NP1.js +0 -1
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Marketplace Skill Service
|
|
4
|
+
*
|
|
5
|
+
* Provides skill-level management for marketplace plugins.
|
|
6
|
+
* Unlike the plugin-level enable/disable (which toggles all components at once),
|
|
7
|
+
* this service allows enabling/disabling individual skills within plugins.
|
|
8
|
+
*
|
|
9
|
+
* Key concepts:
|
|
10
|
+
* - Skills are grouped by plugin name (plugin acts as category/group)
|
|
11
|
+
* - Each skill can be independently enabled/disabled via symlink/copy management
|
|
12
|
+
* - The "enabled" state is determined by whether the skill exists in the target directory
|
|
13
|
+
*/
|
|
14
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(o, k2, desc);
|
|
21
|
+
}) : (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
o[k2] = m[k];
|
|
24
|
+
}));
|
|
25
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
+
}) : function(o, v) {
|
|
28
|
+
o["default"] = v;
|
|
29
|
+
});
|
|
30
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
+
var ownKeys = function(o) {
|
|
32
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
+
var ar = [];
|
|
34
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
return ownKeys(o);
|
|
38
|
+
};
|
|
39
|
+
return function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
})();
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
exports.marketplaceSkillService = void 0;
|
|
49
|
+
const fs = __importStar(require("fs"));
|
|
50
|
+
const path = __importStar(require("path"));
|
|
51
|
+
const pluginPaths_1 = require("./pluginPaths");
|
|
52
|
+
const pluginParser_1 = require("./pluginParser");
|
|
53
|
+
const engineConfig_1 = require("../config/engineConfig");
|
|
54
|
+
// ============================================
|
|
55
|
+
// Service Implementation
|
|
56
|
+
// ============================================
|
|
57
|
+
class MarketplaceSkillService {
|
|
58
|
+
/**
|
|
59
|
+
* Get all marketplace skills grouped by plugin.
|
|
60
|
+
* Scans all marketplaces, parses plugins, extracts skills,
|
|
61
|
+
* and checks which ones are currently installed.
|
|
62
|
+
*/
|
|
63
|
+
async getGroupedSkills(search) {
|
|
64
|
+
const marketplaceNames = pluginPaths_1.pluginPaths.listMarketplaces();
|
|
65
|
+
const groups = [];
|
|
66
|
+
let totalCount = 0;
|
|
67
|
+
let enabledCount = 0;
|
|
68
|
+
for (const marketplaceName of marketplaceNames) {
|
|
69
|
+
const pluginNames = pluginPaths_1.pluginPaths.listPlugins(marketplaceName);
|
|
70
|
+
for (const pluginName of pluginNames) {
|
|
71
|
+
try {
|
|
72
|
+
const pluginPath = pluginPaths_1.pluginPaths.getPluginPath(marketplaceName, pluginName);
|
|
73
|
+
const parsedPlugin = await pluginParser_1.pluginParser.parsePlugin(pluginPath, marketplaceName, pluginName);
|
|
74
|
+
// Skip plugins with no skills
|
|
75
|
+
if (parsedPlugin.components.skills.length === 0) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const skills = [];
|
|
79
|
+
for (const skillComponent of parsedPlugin.components.skills) {
|
|
80
|
+
const skillDir = path.dirname(skillComponent.path); // Remove SKILL.md
|
|
81
|
+
const skillName = skillComponent.name;
|
|
82
|
+
const skillId = `${marketplaceName}/${pluginName}/${skillName}`;
|
|
83
|
+
const isEnabled = this.isSkillInstalled(skillName);
|
|
84
|
+
// Apply search filter
|
|
85
|
+
if (search) {
|
|
86
|
+
const searchLower = search.toLowerCase();
|
|
87
|
+
const matchesName = skillName.toLowerCase().includes(searchLower);
|
|
88
|
+
const matchesDesc = skillComponent.description?.toLowerCase().includes(searchLower);
|
|
89
|
+
const matchesPlugin = pluginName.toLowerCase().includes(searchLower);
|
|
90
|
+
const matchesMarketplace = marketplaceName.toLowerCase().includes(searchLower);
|
|
91
|
+
if (!matchesName && !matchesDesc && !matchesPlugin && !matchesMarketplace) {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
skills.push({
|
|
96
|
+
id: skillId,
|
|
97
|
+
name: skillName,
|
|
98
|
+
description: skillComponent.description,
|
|
99
|
+
enabled: isEnabled,
|
|
100
|
+
pluginName,
|
|
101
|
+
marketplaceName,
|
|
102
|
+
sourcePath: skillDir,
|
|
103
|
+
});
|
|
104
|
+
totalCount++;
|
|
105
|
+
if (isEnabled)
|
|
106
|
+
enabledCount++;
|
|
107
|
+
}
|
|
108
|
+
// Skip groups with no matching skills (after search filter)
|
|
109
|
+
if (skills.length === 0)
|
|
110
|
+
continue;
|
|
111
|
+
// Use plugin manifest description as group name, fallback to plugin name
|
|
112
|
+
const groupName = parsedPlugin.manifest.description || parsedPlugin.manifest.name || pluginName;
|
|
113
|
+
const groupEnabledCount = skills.filter(s => s.enabled).length;
|
|
114
|
+
groups.push({
|
|
115
|
+
name: groupName,
|
|
116
|
+
pluginName,
|
|
117
|
+
marketplaceName,
|
|
118
|
+
description: parsedPlugin.manifest.description,
|
|
119
|
+
totalCount: skills.length,
|
|
120
|
+
enabledCount: groupEnabledCount,
|
|
121
|
+
skills,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(`Failed to parse plugin ${pluginName} in ${marketplaceName}:`, error);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
totalCount,
|
|
131
|
+
enabledCount,
|
|
132
|
+
groups,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Enable a single skill by creating its symlink or copying its files.
|
|
137
|
+
*/
|
|
138
|
+
async enableSkill(skillId) {
|
|
139
|
+
try {
|
|
140
|
+
const { marketplaceName, pluginName, skillName } = this.parseSkillId(skillId);
|
|
141
|
+
const skillComponent = await this.findSkillComponent(marketplaceName, pluginName, skillName);
|
|
142
|
+
if (!skillComponent) {
|
|
143
|
+
return { success: false, skillId, enabled: false, error: 'Skill not found' };
|
|
144
|
+
}
|
|
145
|
+
const skillSourceDir = path.dirname(skillComponent.path);
|
|
146
|
+
const targetDir = this.getSkillTargetPath(skillName);
|
|
147
|
+
if ((0, engineConfig_1.isCursorEngine)()) {
|
|
148
|
+
// Copy mode: copy skill directory
|
|
149
|
+
this.ensureDir(path.dirname(targetDir));
|
|
150
|
+
if (fs.existsSync(targetDir)) {
|
|
151
|
+
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
152
|
+
}
|
|
153
|
+
fs.cpSync(skillSourceDir, targetDir, { recursive: true });
|
|
154
|
+
console.log(`[MarketplaceSkillService] Skill enabled (copy): ${skillName} -> ${targetDir}`);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// Symlink mode: create symlink
|
|
158
|
+
this.ensureDir(path.dirname(targetDir));
|
|
159
|
+
if (fs.existsSync(targetDir)) {
|
|
160
|
+
const stats = fs.lstatSync(targetDir);
|
|
161
|
+
if (stats.isSymbolicLink()) {
|
|
162
|
+
fs.unlinkSync(targetDir);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
return {
|
|
166
|
+
success: false,
|
|
167
|
+
skillId,
|
|
168
|
+
enabled: false,
|
|
169
|
+
error: 'Target path exists and is not a symlink'
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
fs.symlinkSync(skillSourceDir, targetDir);
|
|
174
|
+
console.log(`[MarketplaceSkillService] Skill enabled (symlink): ${skillName} -> ${skillSourceDir}`);
|
|
175
|
+
}
|
|
176
|
+
return { success: true, skillId, enabled: true };
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
180
|
+
console.error(`[MarketplaceSkillService] Failed to enable skill ${skillId}:`, error);
|
|
181
|
+
return { success: false, skillId, enabled: false, error: errorMessage };
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Disable a single skill by removing its symlink or deleting its copied files.
|
|
186
|
+
*/
|
|
187
|
+
async disableSkill(skillId) {
|
|
188
|
+
try {
|
|
189
|
+
const { skillName } = this.parseSkillId(skillId);
|
|
190
|
+
const targetDir = this.getSkillTargetPath(skillName);
|
|
191
|
+
if (!fs.existsSync(targetDir)) {
|
|
192
|
+
// Already disabled
|
|
193
|
+
return { success: true, skillId, enabled: false };
|
|
194
|
+
}
|
|
195
|
+
if ((0, engineConfig_1.isCursorEngine)()) {
|
|
196
|
+
// Copy mode: remove directory
|
|
197
|
+
fs.rmSync(targetDir, { recursive: true, force: true });
|
|
198
|
+
console.log(`[MarketplaceSkillService] Skill disabled (removed): ${skillName}`);
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// Symlink mode: remove symlink
|
|
202
|
+
const stats = fs.lstatSync(targetDir);
|
|
203
|
+
if (stats.isSymbolicLink()) {
|
|
204
|
+
fs.unlinkSync(targetDir);
|
|
205
|
+
console.log(`[MarketplaceSkillService] Skill disabled (unlinked): ${skillName}`);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
// It's a regular directory (user-created skill), don't remove
|
|
209
|
+
return {
|
|
210
|
+
success: false,
|
|
211
|
+
skillId,
|
|
212
|
+
enabled: true,
|
|
213
|
+
error: 'Cannot disable user-created skill via marketplace API',
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return { success: true, skillId, enabled: false };
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
221
|
+
console.error(`[MarketplaceSkillService] Failed to disable skill ${skillId}:`, error);
|
|
222
|
+
return { success: false, skillId, enabled: true, error: errorMessage };
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Toggle a skill's enabled state.
|
|
227
|
+
*/
|
|
228
|
+
async toggleSkill(skillId, enabled) {
|
|
229
|
+
return enabled ? this.enableSkill(skillId) : this.disableSkill(skillId);
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Batch toggle multiple skills.
|
|
233
|
+
*/
|
|
234
|
+
async batchToggle(request) {
|
|
235
|
+
const results = [];
|
|
236
|
+
let successCount = 0;
|
|
237
|
+
let failCount = 0;
|
|
238
|
+
for (const action of request.actions) {
|
|
239
|
+
const result = await this.toggleSkill(action.skillId, action.enabled);
|
|
240
|
+
results.push(result);
|
|
241
|
+
if (result.success) {
|
|
242
|
+
successCount++;
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
failCount++;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return { results, successCount, failCount };
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Enable all skills in a plugin group.
|
|
252
|
+
*/
|
|
253
|
+
async enableAllInGroup(marketplaceName, pluginName) {
|
|
254
|
+
const skills = await this.getPluginSkills(marketplaceName, pluginName);
|
|
255
|
+
const request = {
|
|
256
|
+
actions: skills.map(s => ({ skillId: s.id, enabled: true })),
|
|
257
|
+
};
|
|
258
|
+
return this.batchToggle(request);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Disable all skills in a plugin group.
|
|
262
|
+
*/
|
|
263
|
+
async disableAllInGroup(marketplaceName, pluginName) {
|
|
264
|
+
const skills = await this.getPluginSkills(marketplaceName, pluginName);
|
|
265
|
+
const request = {
|
|
266
|
+
actions: skills.map(s => ({ skillId: s.id, enabled: false })),
|
|
267
|
+
};
|
|
268
|
+
return this.batchToggle(request);
|
|
269
|
+
}
|
|
270
|
+
// ============================================
|
|
271
|
+
// Private helpers
|
|
272
|
+
// ============================================
|
|
273
|
+
/**
|
|
274
|
+
* Parse a skill ID into its components.
|
|
275
|
+
* Format: marketplaceName/pluginName/skillName
|
|
276
|
+
*/
|
|
277
|
+
parseSkillId(skillId) {
|
|
278
|
+
const parts = skillId.split('/');
|
|
279
|
+
if (parts.length !== 3) {
|
|
280
|
+
throw new Error(`Invalid skill ID format: ${skillId}. Expected: marketplaceName/pluginName/skillName`);
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
marketplaceName: parts[0],
|
|
284
|
+
pluginName: parts[1],
|
|
285
|
+
skillName: parts[2],
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Find a specific skill component from a plugin.
|
|
290
|
+
*/
|
|
291
|
+
async findSkillComponent(marketplaceName, pluginName, skillName) {
|
|
292
|
+
try {
|
|
293
|
+
const pluginPath = pluginPaths_1.pluginPaths.getPluginPath(marketplaceName, pluginName);
|
|
294
|
+
const parsedPlugin = await pluginParser_1.pluginParser.parsePlugin(pluginPath, marketplaceName, pluginName);
|
|
295
|
+
return parsedPlugin.components.skills.find(s => s.name === skillName) || null;
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
console.error(`Failed to find skill ${skillName} in ${marketplaceName}/${pluginName}:`, error);
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Get all skills from a specific plugin.
|
|
304
|
+
*/
|
|
305
|
+
async getPluginSkills(marketplaceName, pluginName) {
|
|
306
|
+
try {
|
|
307
|
+
const pluginPath = pluginPaths_1.pluginPaths.getPluginPath(marketplaceName, pluginName);
|
|
308
|
+
const parsedPlugin = await pluginParser_1.pluginParser.parsePlugin(pluginPath, marketplaceName, pluginName);
|
|
309
|
+
return parsedPlugin.components.skills.map(skillComponent => {
|
|
310
|
+
const skillDir = path.dirname(skillComponent.path);
|
|
311
|
+
const skillName = skillComponent.name;
|
|
312
|
+
const skillId = `${marketplaceName}/${pluginName}/${skillName}`;
|
|
313
|
+
const isEnabled = this.isSkillInstalled(skillName);
|
|
314
|
+
return {
|
|
315
|
+
id: skillId,
|
|
316
|
+
name: skillName,
|
|
317
|
+
description: skillComponent.description,
|
|
318
|
+
enabled: isEnabled,
|
|
319
|
+
pluginName,
|
|
320
|
+
marketplaceName,
|
|
321
|
+
sourcePath: skillDir,
|
|
322
|
+
};
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
console.error(`Failed to get skills for ${marketplaceName}/${pluginName}:`, error);
|
|
327
|
+
return [];
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Check if a skill is currently installed in the target directory.
|
|
332
|
+
*/
|
|
333
|
+
isSkillInstalled(skillName) {
|
|
334
|
+
const targetPath = this.getSkillTargetPath(skillName);
|
|
335
|
+
return fs.existsSync(targetPath);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Get the target path where a skill should be installed.
|
|
339
|
+
*/
|
|
340
|
+
getSkillTargetPath(skillName) {
|
|
341
|
+
const paths = (0, engineConfig_1.getEnginePaths)();
|
|
342
|
+
// For cursor-cli, prefer builtinSkillsDir if available
|
|
343
|
+
const skillsDir = ((0, engineConfig_1.isCursorEngine)() && paths.builtinSkillsDir)
|
|
344
|
+
? paths.builtinSkillsDir
|
|
345
|
+
: paths.skillsDir;
|
|
346
|
+
return path.join(skillsDir, skillName);
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Ensure a directory exists.
|
|
350
|
+
*/
|
|
351
|
+
ensureDir(dirPath) {
|
|
352
|
+
if (!fs.existsSync(dirPath)) {
|
|
353
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
exports.marketplaceSkillService = new MarketplaceSkillService();
|
|
358
|
+
//# sourceMappingURL=marketplaceSkillService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplaceSkillService.js","sourceRoot":"","sources":["../../src/services/marketplaceSkillService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplaceUpdateService.d.ts","sourceRoot":"","sources":["../../src/services/marketplaceUpdateService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAMnG,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AA4BD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAmBxG;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAcvD;AAsBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAmB1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAS/D;
|
|
1
|
+
{"version":3,"file":"marketplaceUpdateService.d.ts","sourceRoot":"","sources":["../../src/services/marketplaceUpdateService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAMnG,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AA4BD;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAmBxG;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAcvD;AAsBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAmB1F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAS/D;AA6ED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iCAAiC,CAAC,CAmCrF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAoBnG;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GAAG,IAAI,CAEhG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,GAAG,IAAI,CAEnG;AAMD;;GAEG;AACH,wBAAgB,iCAAiC,IAAI;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,uBAAuB,CAAC;IAChC,eAAe,EAAE,KAAK,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,UAAU,EAAE,4BAA4B,GAAG,IAAI,CAAC;KACjD,CAAC,CAAC;CACJ,CAaA;AA8CD;;GAEG;AACH,wBAAsB,iCAAiC,CACrD,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -178,13 +178,21 @@ async function runUpdateCheck(marketplaceName) {
|
|
|
178
178
|
}
|
|
179
179
|
if (result.hasUpdate) {
|
|
180
180
|
console.info(`[MarketplaceUpdate] Update available for '${marketplaceName}': ${result.localVersion} -> ${result.remoteVersion}`);
|
|
181
|
-
// Auto-apply update if configured
|
|
182
|
-
|
|
181
|
+
// Auto-apply update if configured globally, or always for local type marketplaces
|
|
182
|
+
const metadata = await loadMarketplaceMetadataForType(marketplaceName);
|
|
183
|
+
const shouldAutoApply = config.autoApplyUpdates || metadata?.type === 'local';
|
|
184
|
+
if (shouldAutoApply) {
|
|
183
185
|
console.info(`[MarketplaceUpdate] Auto-applying update for '${marketplaceName}'`);
|
|
184
186
|
try {
|
|
185
187
|
const syncResult = await pluginInstaller_1.pluginInstaller.syncMarketplace(marketplaceName);
|
|
186
188
|
if (syncResult.success) {
|
|
187
189
|
console.info(`[MarketplaceUpdate] Successfully updated '${marketplaceName}'`);
|
|
190
|
+
// For local type, also re-install plugins
|
|
191
|
+
if (metadata?.type === 'local') {
|
|
192
|
+
const { syncBuiltinMarketplaces } = await Promise.resolve().then(() => __importStar(require('./builtinMarketplaceService')));
|
|
193
|
+
console.info(`[MarketplaceUpdate] Re-installing plugins for local marketplace '${marketplaceName}'`);
|
|
194
|
+
await syncBuiltinMarketplaces(metadata.source);
|
|
195
|
+
}
|
|
188
196
|
}
|
|
189
197
|
else {
|
|
190
198
|
console.error(`[MarketplaceUpdate] Failed to update '${marketplaceName}': ${syncResult.error}`);
|
|
@@ -308,6 +316,25 @@ function getMarketplaceUpdateServiceStatus() {
|
|
|
308
316
|
// ============================================================================
|
|
309
317
|
// Utility Functions
|
|
310
318
|
// ============================================================================
|
|
319
|
+
/**
|
|
320
|
+
* Load marketplace metadata to determine type (for auto-apply decisions).
|
|
321
|
+
* Reads the full metadata including type and source.
|
|
322
|
+
*/
|
|
323
|
+
async function loadMarketplaceMetadataForType(marketplaceName) {
|
|
324
|
+
const marketplacePath = pluginPaths_1.pluginPaths.getMarketplacePath(marketplaceName);
|
|
325
|
+
const metadataPath = path.join(marketplacePath, '.claude-plugin', '.agentstudio-metadata.json');
|
|
326
|
+
if (!fs.existsSync(metadataPath)) {
|
|
327
|
+
return null;
|
|
328
|
+
}
|
|
329
|
+
try {
|
|
330
|
+
const content = fs.readFileSync(metadataPath, 'utf-8');
|
|
331
|
+
const metadata = JSON.parse(content);
|
|
332
|
+
return { type: metadata.type, source: metadata.source };
|
|
333
|
+
}
|
|
334
|
+
catch {
|
|
335
|
+
return null;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
311
338
|
/**
|
|
312
339
|
* Load marketplace metadata for auto-update configuration
|
|
313
340
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketplaceUpdateService.js","sourceRoot":"","sources":["../../src/services/marketplaceUpdateService.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CH,gFAmBC;AAKD,4EAcC;AAyBD,kDAmBC;AAKD,8CASC;
|
|
1
|
+
{"version":3,"file":"marketplaceUpdateService.js","sourceRoot":"","sources":["../../src/services/marketplaceUpdateService.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CH,gFAmBC;AAKD,4EAcC;AAyBD,kDAmBC;AAKD,8CASC;AAgFD,gDAmCC;AAKD,wCAoBC;AASD,8CAEC;AAKD,oDAEC;AASD,8EAsBC;AAiDD,8EAsCC;AAjaD,uDAAoD;AACpD,+CAA4C;AAC5C,uCAAyB;AACzB,2CAA6B;AAqB7B,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,IAAI,MAAM,GAA4B;IACpC,OAAO,EAAE,IAAI;IACb,oBAAoB,EAAE,EAAE,EAAE,qBAAqB;IAC/C,gBAAgB,EAAE,KAAK,EAAE,2CAA2C;CACrE,CAAC;AAEF,MAAM,UAAU,GAAgC,IAAI,GAAG,EAAE,CAAC;AAC1D,MAAM,eAAe,GAAwD,IAAI,GAAG,EAAE,CAAC;AAEvF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,kCAAkC,CAAC,YAA+C;IAChG,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,yDAAyD,MAAM,CAAC,OAAO,qBAAqB,MAAM,CAAC,oBAAoB,kBAAkB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEjL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,uEAAuE;QACvE,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IAED,aAAa,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAErD,2BAA2B;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,eAAe,CAAC,KAAK,EAAE,CAAC;IAExB,aAAa,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AACxD,CAAC;AAED,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,gBAAgB,GAAG,yBAAW,CAAC,gBAAgB,EAAE,CAAC;IAExD,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,oBAAoB,CAAC;YACzF,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,eAAuB,EAAE,eAAuB;IAClF,6BAA6B;IAC7B,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;IAE/C,MAAM,GAAG,GAAmB;QAC1B,eAAe;QACf,UAAU;QACV,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;KACjB,CAAC;IAEF,2BAA2B;IAC3B,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;IAE9E,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,mDAAmD,eAAe,WAAW,eAAe,UAAU,CAAC,CAAC;AACvH,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,eAAuB;IACvD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,mDAAmD,eAAe,GAAG,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,eAAuB;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,yCAAyC,eAAe,GAAG,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,6CAA6C,eAAe,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iCAAe,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACtE,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;QAExB,mBAAmB;QACnB,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,6CAA6C,eAAe,MAAM,MAAM,CAAC,YAAY,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAEjI,kFAAkF;YAClF,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,CAAC;YAE9E,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,iDAAiD,eAAe,GAAG,CAAC,CAAC;gBAClF,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,iCAAe,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;oBAC1E,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,6CAA6C,eAAe,GAAG,CAAC,CAAC;wBAE9E,0CAA0C;wBAC1C,IAAI,QAAQ,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC/B,MAAM,EAAE,uBAAuB,EAAE,GAAG,wDAAa,6BAA6B,GAAC,CAAC;4BAChF,OAAO,CAAC,IAAI,CAAC,oEAAoE,eAAe,GAAG,CAAC,CAAC;4BACrG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,yCAAyC,eAAe,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;oBAClG,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,eAAe,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7F,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,gDAAgD,eAAe,GAAG,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,eAAe,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7F,GAAG,CAAC,UAAU,GAAG;YACf,aAAa,EAAE,eAAe;YAC9B,eAAe;YACf,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YAC/D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,kBAAkB;IACtC,MAAM,gBAAgB,GAAG,yBAAW,CAAC,gBAAgB,EAAE,CAAC;IACxD,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iCAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,gBAAgB,EAAE,CAAC;YACrB,CAAC;YAED,6BAA6B;YAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,IAAI;gBACrB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;gBAC/D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,gBAAgB;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,eAAuB;IAC1D,MAAM,MAAM,GAAG,MAAM,iCAAe,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IAEtE,6BAA6B;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,iBAAiB,CAAC,QAAwD;IACxF,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,QAAwD;IAC3F,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,iCAAiC;IAU/C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7E,eAAe,EAAE,IAAI;QACrB,eAAe,EAAE,GAAG,CAAC,UAAU,GAAG,KAAK;QACvC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI;QAC/C,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,aAAa;QACb,MAAM;QACN,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;GAGG;AACH,KAAK,UAAU,8BAA8B,CAAC,eAAuB;IACnE,MAAM,eAAe,GAAG,yBAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IAEhG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,eAAuB;IAC5D,MAAM,eAAe,GAAG,yBAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IAEhG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,iCAAiC,CACrD,eAAuB,EACvB,UAAwD;IAExD,MAAM,eAAe,GAAG,yBAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,CAAC,CAAC;IAEhG,IAAI,QAAQ,GAAQ,EAAE,CAAC;IACvB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,UAAU,GAAG;QACpB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,aAAa,EAAE,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,oBAAoB;QACtE,GAAG,QAAQ,CAAC,UAAU;KACvB,CAAC;IACF,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,0BAA0B;IAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,uBAAuB;IACvB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,mBAAmB,CAAC,eAAe,EAAE,UAAU,CAAC,aAAa,IAAI,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin Copy Install Service
|
|
3
|
+
*
|
|
4
|
+
* Installs plugin components via file copy for the cursor-cli engine.
|
|
5
|
+
* Unlike pluginSymlink.ts (which uses symlinks for claude-sdk),
|
|
6
|
+
* this service copies files directly to the target directories.
|
|
7
|
+
*
|
|
8
|
+
* Key differences from symlink approach:
|
|
9
|
+
* - Skills: copied to ~/.cursor/skills-cursor/ (or builtinSkillsDir)
|
|
10
|
+
* - MCP: accumulated and written as unified mcp.json
|
|
11
|
+
* - Rules/Commands: copied with pluginName-id naming pattern
|
|
12
|
+
* - Clean-before-install: clears target directories before installation
|
|
13
|
+
*
|
|
14
|
+
* This logic is ported from as-mate's marketplace-service.ts.
|
|
15
|
+
*/
|
|
16
|
+
import { ParsedPlugin } from '../types/plugins.js';
|
|
17
|
+
/**
|
|
18
|
+
* Plugin Copy Install Service
|
|
19
|
+
* Installs plugins via file copy (for cursor-cli engine)
|
|
20
|
+
*/
|
|
21
|
+
declare class PluginCopyInstall {
|
|
22
|
+
private mcpConfigAccumulator;
|
|
23
|
+
/**
|
|
24
|
+
* Install all components of a plugin via file copy
|
|
25
|
+
*/
|
|
26
|
+
createSymlinks(parsedPlugin: ParsedPlugin): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Remove installed plugin components
|
|
29
|
+
*/
|
|
30
|
+
removeSymlinks(parsedPlugin: ParsedPlugin): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Clean target directories before a full marketplace install.
|
|
33
|
+
* Called before installPlugins to ensure a clean state.
|
|
34
|
+
*
|
|
35
|
+
* For cursor-cli engine, this performs:
|
|
36
|
+
* - Complete removal of skills directory (user customizations should be in workspace)
|
|
37
|
+
* - Removal of marketplace-installed rules (files containing '-' with .mdc extension)
|
|
38
|
+
* - Removal of marketplace-installed commands (files containing '-' with .md extension)
|
|
39
|
+
* - Reset of MCP config accumulator
|
|
40
|
+
*/
|
|
41
|
+
cleanBeforeInstall(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Flush accumulated MCP config to mcp.json (overwrite mode).
|
|
44
|
+
* Should be called after all plugins have been installed.
|
|
45
|
+
*/
|
|
46
|
+
flushMCPConfig(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Check if copy-installed files exist for a plugin
|
|
49
|
+
*/
|
|
50
|
+
checkSymlinks(parsedPlugin: ParsedPlugin): Promise<boolean>;
|
|
51
|
+
private installCommand;
|
|
52
|
+
private installAgent;
|
|
53
|
+
private installSkill;
|
|
54
|
+
private collectMCPServer;
|
|
55
|
+
private safeRemove;
|
|
56
|
+
private safeRemoveDir;
|
|
57
|
+
}
|
|
58
|
+
export declare const pluginCopyInstall: PluginCopyInstall;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=pluginCopyInstall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginCopyInstall.d.ts","sourceRoot":"","sources":["../../src/services/pluginCopyInstall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,YAAY,EAAmB,MAAM,qBAAqB,CAAC;AAuBpE;;;GAGG;AACH,cAAM,iBAAiB;IAErB,OAAO,CAAC,oBAAoB,CAAuC;IAEnE;;OAEG;IACG,cAAc,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB/D;;OAEG;IACG,cAAc,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B/D;;;;;;;;;OASG;IACH,kBAAkB,IAAI,IAAI;IAoC1B;;;OAGG;IACH,cAAc,IAAI,IAAI;IAetB;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;YA2BnD,cAAc;YAad,YAAY;YAaZ,YAAY;YAoBZ,gBAAgB;IAoC9B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,aAAa;CAUtB;AAED,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|