@codingame/monaco-vscode-chat-service-override 28.4.1 → 29.0.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 (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +22 -15
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -1,15 +1,24 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Action } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
3
4
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
4
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
8
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
5
9
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
6
10
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
7
11
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
8
12
  import '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification';
9
13
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
14
+ import { ProgressLocation } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress';
15
+ import { IProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
16
+ import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
10
17
  import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service';
11
- import { PluginSourceKind } from '../common/plugins/pluginMarketplaceService.js';
18
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
19
+ import { PluginSourceKind, MarketplaceType, hasSourceChanged } from '../common/plugins/pluginMarketplaceService.js';
12
20
  import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service';
21
+ import { parseMarketplaceReference, MarketplaceReferenceKind, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
13
22
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
14
23
 
15
24
  let PluginInstallService = class PluginInstallService {
@@ -19,7 +28,11 @@ let PluginInstallService = class PluginInstallService {
19
28
  _fileService,
20
29
  _notificationService,
21
30
  _dialogService,
22
- _logService
31
+ _logService,
32
+ _progressService,
33
+ _commandService,
34
+ _quickInputService,
35
+ _configurationService
23
36
  ) {
24
37
  this._pluginRepositoryService = _pluginRepositoryService;
25
38
  this._pluginMarketplaceService = _pluginMarketplaceService;
@@ -27,6 +40,10 @@ let PluginInstallService = class PluginInstallService {
27
40
  this._notificationService = _notificationService;
28
41
  this._dialogService = _dialogService;
29
42
  this._logService = _logService;
43
+ this._progressService = _progressService;
44
+ this._commandService = _commandService;
45
+ this._quickInputService = _quickInputService;
46
+ this._configurationService = _configurationService;
30
47
  }
31
48
  async installPlugin(plugin) {
32
49
  if (!(await this._ensureMarketplaceTrusted(plugin))) {
@@ -37,14 +54,189 @@ let PluginInstallService = class PluginInstallService {
37
54
  return this._installRelativePathPlugin(plugin);
38
55
  }
39
56
  if (kind === PluginSourceKind.Npm || kind === PluginSourceKind.Pip) {
40
- return this._installPackagePlugin(plugin);
57
+ await this._installPackagePlugin(plugin);
58
+ return;
41
59
  }
42
60
  return this._installGitPlugin(plugin);
43
61
  }
44
- async updatePlugin(plugin) {
62
+ async installPluginFromSource(source) {
63
+ const reference = parseMarketplaceReference(source);
64
+ if (!reference) {
65
+ this._notificationService.notify({
66
+ severity: Severity.Error,
67
+ message: ( localize(
68
+ 6380,
69
+ "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
70
+ source
71
+ ))
72
+ });
73
+ return;
74
+ }
75
+ if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
76
+ this._notificationService.notify({
77
+ severity: Severity.Error,
78
+ message: ( localize(
79
+ 6381,
80
+ "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
81
+ ))
82
+ });
83
+ return;
84
+ }
85
+ const result = await this._doInstallFromSource(reference);
86
+ if (!result.success && result.message) {
87
+ this._notificationService.notify({
88
+ severity: Severity.Error,
89
+ message: result.message
90
+ });
91
+ }
92
+ }
93
+ validatePluginSource(source) {
94
+ const reference = parseMarketplaceReference(source);
95
+ if (!reference) {
96
+ return localize(
97
+ 6380,
98
+ "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
99
+ source
100
+ );
101
+ }
102
+ if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
103
+ return localize(
104
+ 6381,
105
+ "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
106
+ );
107
+ }
108
+ return undefined;
109
+ }
110
+ async installPluginFromValidatedSource(source) {
111
+ const reference = parseMarketplaceReference(source);
112
+ if (!reference) {
113
+ return {
114
+ success: false,
115
+ message: ( localize(
116
+ 6380,
117
+ "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
118
+ source
119
+ ))
120
+ };
121
+ }
122
+ if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
123
+ return {
124
+ success: false,
125
+ message: ( localize(
126
+ 6381,
127
+ "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
128
+ ))
129
+ };
130
+ }
131
+ return this._doInstallFromSource(reference);
132
+ }
133
+ async _doInstallFromSource(reference) {
134
+ const sourceDescriptor = reference.kind === MarketplaceReferenceKind.GitHubShorthand ? {
135
+ kind: PluginSourceKind.GitHub,
136
+ repo: reference.githubRepo
137
+ } : {
138
+ kind: PluginSourceKind.GitUrl,
139
+ url: reference.cloneUrl
140
+ };
141
+ const tempPlugin = {
142
+ name: reference.displayLabel,
143
+ description: "",
144
+ version: "",
145
+ source: "",
146
+ sourceDescriptor,
147
+ marketplace: reference.displayLabel,
148
+ marketplaceReference: reference,
149
+ marketplaceType: MarketplaceType.OpenPlugin
150
+ };
151
+ if (!(await this._ensureMarketplaceTrusted(tempPlugin))) {
152
+ return {
153
+ success: false
154
+ };
155
+ }
156
+ let repoDir;
157
+ try {
158
+ repoDir = await this._pluginRepositoryService.ensurePluginSource(tempPlugin, {
159
+ progressTitle: ( localize(6382, "Cloning plugin source '{0}'...", reference.displayLabel)),
160
+ failureLabel: reference.displayLabel,
161
+ marketplaceType: MarketplaceType.OpenPlugin
162
+ });
163
+ } catch (e) {
164
+ const detail = e instanceof Error ? e.message : String(e);
165
+ return {
166
+ success: false,
167
+ message: ( localize(
168
+ 6383,
169
+ "Failed to clone plugin source '{0}': {1}",
170
+ reference.displayLabel,
171
+ detail
172
+ ))
173
+ };
174
+ }
175
+ const repoExists = await this._fileService.exists(repoDir);
176
+ if (!repoExists) {
177
+ return {
178
+ success: false,
179
+ message: ( localize(6384, "Failed to clone plugin source '{0}'.", reference.displayLabel))
180
+ };
181
+ }
182
+ const discoveredPlugins = await this._pluginMarketplaceService.readPluginsFromDirectory(repoDir, reference);
183
+ if (discoveredPlugins.length === 0) {
184
+ void this._pluginRepositoryService.cleanupPluginSource(tempPlugin);
185
+ return {
186
+ success: false,
187
+ message: ( localize(
188
+ 6385,
189
+ "No plugins found in '{0}'. This does not appear to be a valid plugin marketplace.",
190
+ reference.displayLabel
191
+ ))
192
+ };
193
+ }
194
+ if (discoveredPlugins.length === 1) {
195
+ const plugin = discoveredPlugins[0];
196
+ const pluginDir = plugin.source ? URI.joinPath(repoDir, plugin.source) : repoDir;
197
+ this._pluginMarketplaceService.addInstalledPlugin(pluginDir, plugin);
198
+ this._addMarketplaceToConfig(reference);
199
+ return {
200
+ success: true
201
+ };
202
+ }
203
+ const picks = ( discoveredPlugins.map(p => ({
204
+ label: p.name,
205
+ description: p.description,
206
+ plugin: p
207
+ })));
208
+ const selected = await this._quickInputService.pick(picks, {
209
+ placeHolder: ( localize(6386, "Select a plugin to install from '{0}'", reference.displayLabel)),
210
+ canPickMany: false
211
+ });
212
+ if (!selected) {
213
+ return {
214
+ success: false
215
+ };
216
+ }
217
+ const plugin = selected.plugin;
218
+ const pluginDir = plugin.source ? URI.joinPath(repoDir, plugin.source) : repoDir;
219
+ this._pluginMarketplaceService.addInstalledPlugin(pluginDir, plugin);
220
+ this._addMarketplaceToConfig(reference);
221
+ return {
222
+ success: true
223
+ };
224
+ }
225
+ _addMarketplaceToConfig(reference) {
226
+ const currentValues = this._configurationService.getValue(ChatConfiguration.PluginMarketplaces) ?? [];
227
+ const existingRefs = parseMarketplaceReferences(currentValues);
228
+ if (( existingRefs.some(r => r.canonicalId === reference.canonicalId))) {
229
+ return;
230
+ }
231
+ this._configurationService.updateValue(
232
+ ChatConfiguration.PluginMarketplaces,
233
+ [...currentValues, reference.rawValue]
234
+ );
235
+ }
236
+ async updatePlugin(plugin, silent) {
45
237
  const kind = plugin.sourceDescriptor.kind;
46
238
  if (kind === PluginSourceKind.Npm || kind === PluginSourceKind.Pip) {
47
- return this._installPackagePlugin(plugin);
239
+ return this._installPackagePlugin(plugin, silent);
48
240
  }
49
241
  return this._pluginRepositoryService.updatePluginSource(plugin, {
50
242
  pluginName: plugin.name,
@@ -52,6 +244,155 @@ let PluginInstallService = class PluginInstallService {
52
244
  marketplaceType: plugin.marketplaceType
53
245
  });
54
246
  }
247
+ async updateAllPlugins(options, token) {
248
+ const installed = this._pluginMarketplaceService.installedPlugins.get().filter(e => e.enabled);
249
+ if (installed.length === 0) {
250
+ return {
251
+ updatedNames: [],
252
+ failedNames: []
253
+ };
254
+ }
255
+ const updatedNames = [];
256
+ const failedNames = [];
257
+ const doUpdate = async () => {
258
+ const gitTasks = [];
259
+ const packagePlugins = [];
260
+ const seenMarketplaces = ( new Set());
261
+ for (const entry of installed) {
262
+ const ref = entry.plugin.marketplaceReference;
263
+ if (( seenMarketplaces.has(ref.canonicalId))) {
264
+ continue;
265
+ }
266
+ seenMarketplaces.add(ref.canonicalId);
267
+ gitTasks.push((async () => {
268
+ if (token.isCancellationRequested) {
269
+ return;
270
+ }
271
+ try {
272
+ const changed = await this._pluginRepositoryService.pullRepository(ref, {
273
+ pluginName: ref.displayLabel,
274
+ failureLabel: ref.displayLabel,
275
+ marketplaceType: entry.plugin.marketplaceType,
276
+ silent: options.silent
277
+ });
278
+ if (changed) {
279
+ updatedNames.push(ref.displayLabel);
280
+ }
281
+ } catch (err) {
282
+ this._logService.error(
283
+ `[PluginInstallService] Failed to pull marketplace '${ref.displayLabel}':`,
284
+ err
285
+ );
286
+ failedNames.push(ref.displayLabel);
287
+ }
288
+ })());
289
+ }
290
+ await Promise.all(gitTasks);
291
+ const marketplacePlugins = await this._pluginMarketplaceService.fetchMarketplacePlugins(token);
292
+ const marketplaceByKey = ( new Map());
293
+ for (const mp of marketplacePlugins) {
294
+ marketplaceByKey.set(`${mp.marketplaceReference.canonicalId}::${mp.name}`, mp);
295
+ }
296
+ const independentGitTasks = [];
297
+ for (const entry of installed) {
298
+ if (entry.plugin.sourceDescriptor.kind === PluginSourceKind.RelativePath) {
299
+ continue;
300
+ }
301
+ const livePlugin = marketplaceByKey.get(`${entry.plugin.marketplaceReference.canonicalId}::${entry.plugin.name}`);
302
+ if (!livePlugin || !hasSourceChanged(entry.plugin.sourceDescriptor, livePlugin.sourceDescriptor)) {
303
+ continue;
304
+ }
305
+ const desc = livePlugin.sourceDescriptor;
306
+ if (desc.kind === PluginSourceKind.Npm || desc.kind === PluginSourceKind.Pip) {
307
+ if (!options.force && !desc.version) {
308
+ continue;
309
+ }
310
+ packagePlugins.push({
311
+ installed: entry.plugin,
312
+ marketplace: livePlugin
313
+ });
314
+ continue;
315
+ }
316
+ independentGitTasks.push((async () => {
317
+ if (token.isCancellationRequested) {
318
+ return;
319
+ }
320
+ try {
321
+ const changed = await this._pluginRepositoryService.updatePluginSource(livePlugin, {
322
+ pluginName: livePlugin.name,
323
+ failureLabel: livePlugin.name,
324
+ marketplaceType: livePlugin.marketplaceType,
325
+ silent: options.silent
326
+ });
327
+ if (changed) {
328
+ updatedNames.push(livePlugin.name);
329
+ this._pluginMarketplaceService.addInstalledPlugin(entry.pluginUri, livePlugin);
330
+ }
331
+ } catch (err) {
332
+ this._logService.error(
333
+ `[PluginInstallService] Failed to update plugin '${livePlugin.name}':`,
334
+ err
335
+ );
336
+ failedNames.push(livePlugin.name);
337
+ }
338
+ })());
339
+ }
340
+ await Promise.all(independentGitTasks);
341
+ for (const {
342
+ installed: _installed,
343
+ marketplace
344
+ } of packagePlugins) {
345
+ if (token.isCancellationRequested) {
346
+ return;
347
+ }
348
+ try {
349
+ const changed = await this.updatePlugin(marketplace, options?.silent);
350
+ if (changed) {
351
+ updatedNames.push(marketplace.name);
352
+ const pluginUri = this._pluginRepositoryService.getPluginSourceInstallUri(marketplace.sourceDescriptor);
353
+ this._pluginMarketplaceService.addInstalledPlugin(pluginUri, marketplace);
354
+ }
355
+ } catch (err) {
356
+ this._logService.error(
357
+ `[PluginInstallService] Failed to update plugin '${marketplace.name}':`,
358
+ err
359
+ );
360
+ failedNames.push(marketplace.name);
361
+ }
362
+ }
363
+ };
364
+ if (options.silent) {
365
+ await doUpdate();
366
+ } else {
367
+ await this._progressService.withProgress({
368
+ location: ProgressLocation.Notification,
369
+ title: ( localize(6387, "Updating plugins..."))
370
+ }, doUpdate);
371
+ }
372
+ if (failedNames.length > 0) {
373
+ this._notificationService.notify({
374
+ severity: Severity.Error,
375
+ message: ( localize(6388, "Failed to update: {0}", failedNames.join(", "))),
376
+ actions: {
377
+ primary: [( new Action("showGitOutput", ( localize(6389, "Show Output")), undefined, true, () => {
378
+ this._commandService.executeCommand("git.showOutput");
379
+ }))]
380
+ }
381
+ });
382
+ } else if (updatedNames.length > 0) {
383
+ this._pluginMarketplaceService.clearUpdatesAvailable();
384
+ this._notificationService.notify({
385
+ severity: Severity.Info,
386
+ message: ( localize(6390, "Updated plugins: {0}", updatedNames.join(", ")))
387
+ });
388
+ } else if (!token.isCancellationRequested) {
389
+ this._pluginMarketplaceService.clearUpdatesAvailable();
390
+ }
391
+ return {
392
+ updatedNames,
393
+ failedNames
394
+ };
395
+ }
55
396
  getPluginInstallUri(plugin) {
56
397
  if (plugin.sourceDescriptor.kind === PluginSourceKind.RelativePath) {
57
398
  return this._pluginRepositoryService.getPluginInstallUri(plugin);
@@ -67,16 +408,16 @@ let PluginInstallService = class PluginInstallService {
67
408
  } = await this._dialogService.confirm({
68
409
  type: "question",
69
410
  message: ( localize(
70
- 6241,
411
+ 6391,
71
412
  "Trust Plugins from '{0}'?",
72
413
  plugin.marketplaceReference.displayLabel
73
414
  )),
74
415
  detail: ( localize(
75
- 6242,
416
+ 6392,
76
417
  "Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
77
418
  plugin.marketplaceReference.rawValue
78
419
  )),
79
- primaryButton: ( localize(6243, "&&Trust")),
420
+ primaryButton: ( localize(6393, "&&Trust")),
80
421
  custom: {
81
422
  icon: Codicon.shield
82
423
  }
@@ -90,7 +431,7 @@ let PluginInstallService = class PluginInstallService {
90
431
  async _installRelativePathPlugin(plugin) {
91
432
  try {
92
433
  await this._pluginRepositoryService.ensureRepository(plugin.marketplaceReference, {
93
- progressTitle: ( localize(6244, "Installing plugin '{0}'...", plugin.name)),
434
+ progressTitle: ( localize(6394, "Installing plugin '{0}'...", plugin.name)),
94
435
  failureLabel: plugin.name,
95
436
  marketplaceType: plugin.marketplaceType
96
437
  });
@@ -104,7 +445,7 @@ let PluginInstallService = class PluginInstallService {
104
445
  this._notificationService.notify({
105
446
  severity: Severity.Error,
106
447
  message: ( localize(
107
- 6245,
448
+ 6395,
108
449
  "Plugin source directory '{0}' is invalid for repository '{1}'.",
109
450
  plugin.source,
110
451
  plugin.marketplace
@@ -117,7 +458,7 @@ let PluginInstallService = class PluginInstallService {
117
458
  this._notificationService.notify({
118
459
  severity: Severity.Error,
119
460
  message: ( localize(
120
- 6246,
461
+ 6396,
121
462
  "Plugin source directory '{0}' not found in repository '{1}'.",
122
463
  plugin.source,
123
464
  plugin.marketplace
@@ -132,7 +473,7 @@ let PluginInstallService = class PluginInstallService {
132
473
  let pluginDir;
133
474
  try {
134
475
  pluginDir = await this._pluginRepositoryService.ensurePluginSource(plugin, {
135
- progressTitle: ( localize(6244, "Installing plugin '{0}'...", plugin.name)),
476
+ progressTitle: ( localize(6394, "Installing plugin '{0}'...", plugin.name)),
136
477
  failureLabel: plugin.name,
137
478
  marketplaceType: plugin.marketplaceType
138
479
  });
@@ -144,7 +485,7 @@ let PluginInstallService = class PluginInstallService {
144
485
  this._notificationService.notify({
145
486
  severity: Severity.Error,
146
487
  message: ( localize(
147
- 6247,
488
+ 6397,
148
489
  "Plugin source '{0}' not found after cloning.",
149
490
  repo.getLabel(plugin.sourceDescriptor)
150
491
  ))
@@ -153,23 +494,26 @@ let PluginInstallService = class PluginInstallService {
153
494
  }
154
495
  this._pluginMarketplaceService.addInstalledPlugin(pluginDir, plugin);
155
496
  }
156
- async _installPackagePlugin(plugin) {
497
+ async _installPackagePlugin(plugin, silent) {
157
498
  const repo = this._pluginRepositoryService.getPluginSource(plugin.sourceDescriptor.kind);
158
499
  if (!repo.runInstall) {
159
500
  this._logService.error(
160
501
  `[PluginInstallService] Expected package repository for kind '${plugin.sourceDescriptor.kind}'`
161
502
  );
162
- return;
503
+ return false;
163
504
  }
164
505
  const installDir = await this._pluginRepositoryService.ensurePluginSource(plugin);
165
506
  const pluginDir = this._pluginRepositoryService.getPluginSourceInstallUri(plugin.sourceDescriptor);
166
- const result = await repo.runInstall(installDir, pluginDir, plugin);
507
+ const result = await repo.runInstall(installDir, pluginDir, plugin, {
508
+ silent
509
+ });
167
510
  if (!result) {
168
- return;
511
+ return false;
169
512
  }
170
513
  this._pluginMarketplaceService.addInstalledPlugin(result.pluginDir, plugin);
514
+ return true;
171
515
  }
172
516
  };
173
- PluginInstallService = ( __decorate([( __param(0, IAgentPluginRepositoryService)), ( __param(1, IPluginMarketplaceService)), ( __param(2, IFileService)), ( __param(3, INotificationService)), ( __param(4, IDialogService)), ( __param(5, ILogService))], PluginInstallService));
517
+ PluginInstallService = ( __decorate([( __param(0, IAgentPluginRepositoryService)), ( __param(1, IPluginMarketplaceService)), ( __param(2, IFileService)), ( __param(3, INotificationService)), ( __param(4, IDialogService)), ( __param(5, ILogService)), ( __param(6, IProgressService)), ( __param(7, ICommandService)), ( __param(8, IQuickInputService)), ( __param(9, IConfigurationService))], PluginInstallService));
174
518
 
175
519
  export { PluginInstallService };
@@ -22,8 +22,14 @@ declare abstract class AbstractGitPluginSource implements IPluginSource {
22
22
  protected abstract _cloneUrl(descriptor: IPluginSourceDescriptor): string;
23
23
  protected abstract _displayLabel(descriptor: IPluginSourceDescriptor): string;
24
24
  getCleanupTarget(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI | undefined;
25
+ /**
26
+ * Returns the on-disk directory of the cloned repository. Subclasses that
27
+ * support a sub-path within a repository should override this to return the
28
+ * repository root, while {@link getInstallUri} returns root + sub-path.
29
+ */
30
+ protected _getRepoDir(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
25
31
  ensure(cacheRoot: URI, plugin: IMarketplacePlugin, options?: IEnsureRepositoryOptions): Promise<URI>;
26
- update(cacheRoot: URI, plugin: IMarketplacePlugin, options?: IPullRepositoryOptions): Promise<void>;
32
+ update(cacheRoot: URI, plugin: IMarketplacePlugin, options?: IPullRepositoryOptions): Promise<boolean>;
27
33
  private _cloneRepository;
28
34
  private _checkoutRevision;
29
35
  }
@@ -31,13 +37,16 @@ export declare class RelativePathPluginSource implements IPluginSource {
31
37
  readonly kind = PluginSourceKind.RelativePath;
32
38
  getInstallUri(_cacheRoot: URI, _descriptor: IPluginSourceDescriptor): URI;
33
39
  ensure(_cacheRoot: URI, _plugin: IMarketplacePlugin, _options?: IEnsureRepositoryOptions): Promise<URI>;
34
- update(_cacheRoot: URI, _plugin: IMarketplacePlugin, _options?: IPullRepositoryOptions): Promise<void>;
40
+ update(_cacheRoot: URI, _plugin: IMarketplacePlugin, _options?: IPullRepositoryOptions): Promise<boolean>;
35
41
  getCleanupTarget(_cacheRoot: URI, _descriptor: IPluginSourceDescriptor): URI | undefined;
36
42
  getLabel(descriptor: IPluginSourceDescriptor): string;
37
43
  }
38
44
  export declare class GitHubPluginSource extends AbstractGitPluginSource {
39
45
  readonly kind = PluginSourceKind.GitHub;
46
+ /** Returns the URI where the plugin content lives (repo root + optional sub-path). */
40
47
  getInstallUri(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
48
+ /** Returns the cloned repository root (without sub-path). */
49
+ protected _getRepoDir(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
41
50
  getLabel(descriptor: IPluginSourceDescriptor): string;
42
51
  protected _cloneUrl(descriptor: IPluginSourceDescriptor): string;
43
52
  protected _displayLabel(descriptor: IPluginSourceDescriptor): string;
@@ -72,8 +81,10 @@ export declare abstract class AbstractPackagePluginSource implements IPluginSour
72
81
  /** Human-readable package manager name for messages. */
73
82
  protected abstract get _managerName(): string;
74
83
  ensure(cacheRoot: URI, plugin: IMarketplacePlugin, _options?: IEnsureRepositoryOptions): Promise<URI>;
75
- update(cacheRoot: URI, plugin: IMarketplacePlugin, _options?: IPullRepositoryOptions): Promise<void>;
76
- runInstall(installDir: URI, pluginDir: URI, plugin: IMarketplacePlugin): Promise<{
84
+ update(cacheRoot: URI, plugin: IMarketplacePlugin, _options?: IPullRepositoryOptions): Promise<boolean>;
85
+ runInstall(installDir: URI, pluginDir: URI, plugin: IMarketplacePlugin, options?: {
86
+ silent?: boolean;
87
+ }): Promise<{
77
88
  pluginDir: URI;
78
89
  } | undefined>;
79
90
  private _confirmTerminalCommand;