@codingame/monaco-vscode-chat-service-override 33.0.8 → 34.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 (403) hide show
  1. package/index.js +19 -5
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.d.ts +32 -0
  4. package/vscode/src/vs/platform/agentHost/browser/agentHostIpcChannelTransport.js +77 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +84 -17
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +235 -190
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +3 -2
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +23 -4
  9. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.d.ts +1 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHost.config.contribution.js +22 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +107 -8
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +272 -49
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +2 -2
  14. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.d.ts → agentHostResourceService.d.ts} +26 -0
  15. package/vscode/src/vs/platform/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +11 -1
  16. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +13 -0
  17. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +26 -18
  18. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.d.ts +1 -0
  19. package/vscode/src/vs/platform/agentHost/common/agentHostStarter.config.contribution.js +119 -0
  20. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +135 -19
  21. package/vscode/src/vs/platform/agentHost/common/agentService.js +8 -2
  22. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +5 -1
  23. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +85 -22
  24. package/vscode/src/vs/platform/agentHost/common/customAgents.d.ts +36 -0
  25. package/vscode/src/vs/platform/agentHost/common/customAgents.js +12 -0
  26. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.d.ts +81 -0
  27. package/vscode/src/vs/platform/agentHost/common/sandboxConfigSchema.js +103 -0
  28. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +86 -10
  29. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +129 -37
  30. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.d.ts +12 -0
  31. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-changeset/reducer.js +72 -0
  32. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.d.ts +6 -0
  33. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-root/reducer.js +30 -0
  34. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.d.ts +6 -0
  35. package/vscode/src/vs/platform/agentHost/common/state/protocol/{reducers.js → channels-session/reducer.js} +99 -168
  36. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.d.ts +6 -0
  37. package/vscode/src/vs/platform/agentHost/common/state/protocol/channels-terminal/reducer.js +110 -0
  38. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.d.ts → common/errors.d.ts} +13 -2
  39. package/vscode/src/vs/platform/agentHost/common/state/protocol/{errors.js → common/errors.js} +1 -2
  40. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.d.ts +17 -0
  41. package/vscode/src/vs/platform/agentHost/common/state/protocol/common/reducer-helpers.js +9 -0
  42. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +33 -8
  43. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +2 -3
  44. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +36 -5
  45. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +6 -3
  46. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  47. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  48. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +3 -3
  49. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  50. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  51. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +4 -1
  52. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +9 -0
  53. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +21 -0
  54. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +28 -0
  55. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.d.ts +31 -0
  56. package/vscode/src/vs/platform/sandbox/common/terminalSandboxCommandRules.js +49 -0
  57. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.d.ts +182 -0
  58. package/vscode/src/vs/platform/sandbox/common/terminalSandboxEngine.js +784 -0
  59. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.d.ts +18 -0
  60. package/vscode/src/vs/platform/sandbox/common/terminalSandboxReadAllowList.js +305 -0
  61. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +7 -0
  62. package/vscode/src/vs/platform/sandbox/common/terminalSandboxRuntimeConfigurationPerOperation.js +120 -0
  63. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +100 -0
  64. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  67. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  68. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  69. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  71. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  72. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  73. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +106 -8
  74. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +22 -36
  76. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  78. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +21 -13
  80. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  81. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +38 -18
  82. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  83. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  84. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  86. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +3 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +9 -9
  89. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +10 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +40 -11
  92. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +15 -9
  93. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  94. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +0 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +23 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  97. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.d.ts +24 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentCustomizationSyncProvider.js +55 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.d.ts +30 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostActiveClientService.js +119 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.d.ts +13 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostCustomizationService.js +32 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.d.ts +55 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostLocalCustomizations.js +104 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.d.ts +1 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostModeSynchronizer.js +177 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +3 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +11 -11
  109. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostToolUtils.js +14 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +3 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +44 -5
  113. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.d.ts +60 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/syncedCustomizationBundler.js +103 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  116. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +70 -62
  117. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +9 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +38 -28
  124. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +22 -31
  128. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -16
  130. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +8 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +112 -113
  133. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +62 -68
  134. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +3 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +149 -145
  136. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +3 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  139. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +8 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +13 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +8 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +15 -13
  146. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +1 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +78 -55
  148. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +140 -67
  149. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +11 -21
  150. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +3 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +59 -57
  152. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +440 -357
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.d.ts +21 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatGoalSummaryService.js +115 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +5 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -8
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +6 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +28 -1
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +3 -1
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +187 -106
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +41 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  195. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.d.ts +66 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotaNotification.js +346 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +3 -2
  198. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -2
  199. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +72 -29
  200. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  201. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +26 -26
  203. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +5 -1
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +144 -67
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +126 -80
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -0
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +32 -31
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +4 -0
  211. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +11 -0
  212. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +40 -33
  213. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +5 -1
  214. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +25 -24
  215. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  216. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  217. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +5 -5
  218. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +5 -5
  219. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  220. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  221. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +1 -19
  222. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +12 -22
  223. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +14 -6
  224. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +6 -3
  225. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +56 -18
  226. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  227. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  228. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +3 -3
  229. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +5 -6
  230. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  231. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +33 -36
  232. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +31 -16
  234. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +4 -4
  235. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +16 -13
  236. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  237. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  238. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +1 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  243. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  245. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  246. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  247. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  248. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -23
  249. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -5
  250. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +18 -0
  251. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +23 -1
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -6
  253. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +5 -2
  254. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  255. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  256. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +22 -13
  257. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +2 -2
  258. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  260. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +14 -3
  262. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +55 -24
  263. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  264. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.d.ts +38 -0
  265. package/vscode/src/vs/workbench/contrib/chat/common/chatSelectedModel.js +47 -0
  266. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +54 -12
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +1 -0
  268. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  269. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +39 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +40 -4
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +30 -8
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +205 -46
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +4 -3
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +8 -3
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +57 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +153 -38
  277. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +12 -7
  278. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +70 -37
  279. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +6 -28
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +150 -150
  285. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +10 -10
  287. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +10 -10
  288. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  289. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  290. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  291. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  296. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -0
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +21 -1
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.d.ts +55 -0
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/agentHostSandboxForwarder.js +122 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +52 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +232 -0
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +65 -0
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +225 -0
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +143 -0
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +37 -0
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +205 -0
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +52 -0
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +260 -0
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +44 -0
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +98 -0
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -7
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +226 -0
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +54 -0
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +27 -0
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +177 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +42 -0
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +102 -0
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +28 -0
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +15 -0
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +55 -0
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +3 -0
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +31 -9
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +177 -0
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +518 -0
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -1
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +3 -3
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +297 -0
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2961 -0
  378. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +29 -0
  379. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +63 -0
  380. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +14 -14
  381. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  382. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  383. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  384. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  385. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  386. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  387. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  388. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  389. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  390. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +58 -0
  391. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +223 -0
  392. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.d.ts +20 -0
  393. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/sandboxSettingsReader.js +81 -0
  394. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +63 -0
  395. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +349 -0
  396. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.d.ts +75 -0
  397. package/vscode/src/vs/workbench/services/agentHost/browser/editorRemoteAgentHostServiceClient.js +192 -0
  398. package/vscode/src/vs/workbench/services/agentHost/common/agentHostResourceService.d.ts +89 -0
  399. package/vscode/src/vs/workbench/services/agentHost/common/{agentHostPermissionService.js → agentHostResourceService.js} +226 -9
  400. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +0 -30
  401. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +0 -119
  402. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +0 -552
  403. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +0 -83
@@ -18,7 +18,7 @@ import { IAgentPluginRepositoryService } from '@codingame/monaco-vscode-api/vsco
18
18
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
19
19
  import { PluginSourceKind, MarketplaceType, hasSourceChanged } from '../common/plugins/pluginMarketplaceService.js';
20
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';
21
+ import { parseMarketplaceReference, MarketplaceReferenceKind, readConfiguredMarketplaces, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
22
22
  import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
23
23
 
24
24
  let PluginInstallService = class PluginInstallService {
@@ -65,7 +65,7 @@ let PluginInstallService = class PluginInstallService {
65
65
  this._notificationService.notify({
66
66
  severity: Severity.Error,
67
67
  message: ( localize(
68
- 6814,
68
+ 6933,
69
69
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
70
70
  source
71
71
  ))
@@ -76,7 +76,7 @@ let PluginInstallService = class PluginInstallService {
76
76
  this._notificationService.notify({
77
77
  severity: Severity.Error,
78
78
  message: ( localize(
79
- 6815,
79
+ 6934,
80
80
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
81
81
  ))
82
82
  });
@@ -94,14 +94,14 @@ let PluginInstallService = class PluginInstallService {
94
94
  const reference = parseMarketplaceReference(source);
95
95
  if (!reference) {
96
96
  return localize(
97
- 6814,
97
+ 6933,
98
98
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
99
99
  source
100
100
  );
101
101
  }
102
102
  if (reference.kind === MarketplaceReferenceKind.LocalFileUri) {
103
103
  return localize(
104
- 6815,
104
+ 6934,
105
105
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
106
106
  );
107
107
  }
@@ -113,7 +113,7 @@ let PluginInstallService = class PluginInstallService {
113
113
  return {
114
114
  success: false,
115
115
  message: ( localize(
116
- 6814,
116
+ 6933,
117
117
  "'{0}' is not a valid plugin source. Enter a GitHub repository (owner/repo) or a git clone URL.",
118
118
  source
119
119
  ))
@@ -123,7 +123,7 @@ let PluginInstallService = class PluginInstallService {
123
123
  return {
124
124
  success: false,
125
125
  message: ( localize(
126
- 6815,
126
+ 6934,
127
127
  "Local file paths are not supported. Enter a GitHub repository (owner/repo) or a git clone URL."
128
128
  ))
129
129
  };
@@ -156,7 +156,7 @@ let PluginInstallService = class PluginInstallService {
156
156
  let repoDir;
157
157
  try {
158
158
  repoDir = await this._pluginRepositoryService.ensurePluginSource(tempPlugin, {
159
- progressTitle: ( localize(6816, "Cloning plugin source '{0}'...", reference.displayLabel)),
159
+ progressTitle: ( localize(6935, "Cloning plugin source '{0}'...", reference.displayLabel)),
160
160
  failureLabel: reference.displayLabel,
161
161
  marketplaceType: MarketplaceType.OpenPlugin
162
162
  });
@@ -165,7 +165,7 @@ let PluginInstallService = class PluginInstallService {
165
165
  return {
166
166
  success: false,
167
167
  message: ( localize(
168
- 6817,
168
+ 6936,
169
169
  "Failed to clone plugin source '{0}': {1}",
170
170
  reference.displayLabel,
171
171
  detail
@@ -176,7 +176,7 @@ let PluginInstallService = class PluginInstallService {
176
176
  if (!repoExists) {
177
177
  return {
178
178
  success: false,
179
- message: ( localize(6818, "Failed to clone plugin source '{0}'.", reference.displayLabel))
179
+ message: ( localize(6937, "Failed to clone plugin source '{0}'.", reference.displayLabel))
180
180
  };
181
181
  }
182
182
  const discoveredPlugins = await this._pluginMarketplaceService.readPluginsFromDirectory(repoDir, reference);
@@ -187,7 +187,7 @@ let PluginInstallService = class PluginInstallService {
187
187
  return {
188
188
  success: false,
189
189
  message: ( localize(
190
- 6819,
190
+ 6938,
191
191
  "Plugin '{0}' not found in '{1}'.",
192
192
  options.plugin,
193
193
  reference.displayLabel
@@ -206,7 +206,7 @@ let PluginInstallService = class PluginInstallService {
206
206
  return {
207
207
  success: false,
208
208
  message: ( localize(
209
- 6820,
209
+ 6939,
210
210
  "No plugins found in '{0}'. This does not appear to be a valid plugin marketplace.",
211
211
  reference.displayLabel
212
212
  ))
@@ -218,7 +218,7 @@ let PluginInstallService = class PluginInstallService {
218
218
  return {
219
219
  success: false,
220
220
  message: ( localize(
221
- 6819,
221
+ 6938,
222
222
  "Plugin '{0}' not found in '{1}'.",
223
223
  options.plugin,
224
224
  reference.displayLabel
@@ -245,7 +245,7 @@ let PluginInstallService = class PluginInstallService {
245
245
  plugin: p
246
246
  })));
247
247
  const selected = await this._quickInputService.pick(picks, {
248
- placeHolder: ( localize(6821, "Select a plugin to install from '{0}'", reference.displayLabel)),
248
+ placeHolder: ( localize(6940, "Select a plugin to install from '{0}'", reference.displayLabel)),
249
249
  canPickMany: false
250
250
  });
251
251
  if (!selected) {
@@ -260,15 +260,15 @@ let PluginInstallService = class PluginInstallService {
260
260
  };
261
261
  }
262
262
  _addMarketplaceToConfig(reference) {
263
- const currentValues = this._configurationService.getValue(ChatConfiguration.PluginMarketplaces) ?? [];
264
- const existingRefs = parseMarketplaceReferences(currentValues);
263
+ const {
264
+ userValues,
265
+ effectiveValues
266
+ } = readConfiguredMarketplaces(this._configurationService);
267
+ const existingRefs = parseMarketplaceReferences(effectiveValues);
265
268
  if (( existingRefs.some(r => r.canonicalId === reference.canonicalId))) {
266
269
  return;
267
270
  }
268
- return this._configurationService.updateValue(
269
- ChatConfiguration.PluginMarketplaces,
270
- [...currentValues, reference.rawValue]
271
- );
271
+ return this._configurationService.updateValue(ChatConfiguration.PluginMarketplaces, [...userValues, reference.rawValue]);
272
272
  }
273
273
  async updatePlugin(plugin, silent) {
274
274
  const kind = plugin.sourceDescriptor.kind;
@@ -403,15 +403,15 @@ let PluginInstallService = class PluginInstallService {
403
403
  } else {
404
404
  await this._progressService.withProgress({
405
405
  location: ProgressLocation.Notification,
406
- title: ( localize(6822, "Updating plugins..."))
406
+ title: ( localize(6941, "Updating plugins..."))
407
407
  }, doUpdate);
408
408
  }
409
409
  if (failedNames.length > 0) {
410
410
  this._notificationService.notify({
411
411
  severity: Severity.Error,
412
- message: ( localize(6823, "Failed to update: {0}", failedNames.join(", "))),
412
+ message: ( localize(6942, "Failed to update: {0}", failedNames.join(", "))),
413
413
  actions: {
414
- primary: [( new Action("showGitOutput", ( localize(6824, "Show Output")), undefined, true, () => {
414
+ primary: [( new Action("showGitOutput", ( localize(6943, "Show Output")), undefined, true, () => {
415
415
  this._commandService.executeCommand("git.showOutput");
416
416
  }))]
417
417
  }
@@ -420,7 +420,7 @@ let PluginInstallService = class PluginInstallService {
420
420
  this._pluginMarketplaceService.clearUpdatesAvailable();
421
421
  this._notificationService.notify({
422
422
  severity: Severity.Info,
423
- message: ( localize(6825, "Updated plugins: {0}", updatedNames.join(", ")))
423
+ message: ( localize(6944, "Updated plugins: {0}", updatedNames.join(", ")))
424
424
  });
425
425
  } else if (!token.isCancellationRequested) {
426
426
  this._pluginMarketplaceService.clearUpdatesAvailable();
@@ -431,10 +431,7 @@ let PluginInstallService = class PluginInstallService {
431
431
  };
432
432
  }
433
433
  getPluginInstallUri(plugin) {
434
- if (plugin.sourceDescriptor.kind === PluginSourceKind.RelativePath) {
435
- return this._pluginRepositoryService.getPluginInstallUri(plugin);
436
- }
437
- return this._pluginRepositoryService.getPluginSourceInstallUri(plugin.sourceDescriptor);
434
+ return this._pluginRepositoryService.getPluginInstallUri(plugin);
438
435
  }
439
436
  async _ensureMarketplaceTrusted(plugin) {
440
437
  if (this._pluginMarketplaceService.isMarketplaceTrusted(plugin.marketplaceReference)) {
@@ -445,16 +442,16 @@ let PluginInstallService = class PluginInstallService {
445
442
  } = await this._dialogService.confirm({
446
443
  type: "question",
447
444
  message: ( localize(
448
- 6826,
445
+ 6945,
449
446
  "Trust Plugins from '{0}'?",
450
447
  plugin.marketplaceReference.displayLabel
451
448
  )),
452
449
  detail: ( localize(
453
- 6827,
450
+ 6946,
454
451
  "Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
455
452
  plugin.marketplaceReference.rawValue
456
453
  )),
457
- primaryButton: ( localize(6828, "&&Trust")),
454
+ primaryButton: ( localize(6947, "&&Trust")),
458
455
  custom: {
459
456
  icon: Codicon.shield
460
457
  }
@@ -468,7 +465,7 @@ let PluginInstallService = class PluginInstallService {
468
465
  async _installRelativePathPlugin(plugin) {
469
466
  try {
470
467
  await this._pluginRepositoryService.ensureRepository(plugin.marketplaceReference, {
471
- progressTitle: ( localize(6829, "Installing plugin '{0}'...", plugin.name)),
468
+ progressTitle: ( localize(6948, "Installing plugin '{0}'...", plugin.name)),
472
469
  failureLabel: plugin.name,
473
470
  marketplaceType: plugin.marketplaceType
474
471
  });
@@ -482,7 +479,7 @@ let PluginInstallService = class PluginInstallService {
482
479
  this._notificationService.notify({
483
480
  severity: Severity.Error,
484
481
  message: ( localize(
485
- 6830,
482
+ 6949,
486
483
  "Plugin source directory '{0}' is invalid for repository '{1}'.",
487
484
  plugin.source,
488
485
  plugin.marketplace
@@ -495,7 +492,7 @@ let PluginInstallService = class PluginInstallService {
495
492
  this._notificationService.notify({
496
493
  severity: Severity.Error,
497
494
  message: ( localize(
498
- 6831,
495
+ 6950,
499
496
  "Plugin source directory '{0}' not found in repository '{1}'.",
500
497
  plugin.source,
501
498
  plugin.marketplace
@@ -510,7 +507,7 @@ let PluginInstallService = class PluginInstallService {
510
507
  let pluginDir;
511
508
  try {
512
509
  pluginDir = await this._pluginRepositoryService.ensurePluginSource(plugin, {
513
- progressTitle: ( localize(6829, "Installing plugin '{0}'...", plugin.name)),
510
+ progressTitle: ( localize(6948, "Installing plugin '{0}'...", plugin.name)),
514
511
  failureLabel: plugin.name,
515
512
  marketplaceType: plugin.marketplaceType
516
513
  });
@@ -522,7 +519,7 @@ let PluginInstallService = class PluginInstallService {
522
519
  this._notificationService.notify({
523
520
  severity: Severity.Error,
524
521
  message: ( localize(
525
- 6832,
522
+ 6951,
526
523
  "Plugin source '{0}' not found after cloning.",
527
524
  repo.getLabel(plugin.sourceDescriptor)
528
525
  ))
@@ -55,7 +55,10 @@ export declare class GitHubPluginSource extends AbstractGitPluginSource {
55
55
  }
56
56
  export declare class GitUrlPluginSource extends AbstractGitPluginSource {
57
57
  readonly kind = PluginSourceKind.GitUrl;
58
+ /** Returns the URI where the plugin content lives (repo root + optional sub-path). */
58
59
  getInstallUri(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
60
+ /** Returns the cloned repository root (without sub-path). */
61
+ protected _getRepoDir(cacheRoot: URI, descriptor: IPluginSourceDescriptor): URI;
59
62
  getLabel(descriptor: IPluginSourceDescriptor): string;
60
63
  protected _cloneUrl(descriptor: IPluginSourceDescriptor): string;
61
64
  protected _displayLabel(descriptor: IPluginSourceDescriptor): string;
@@ -76,7 +76,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
76
76
  await this._checkoutRevision(repoDir, descriptor, options?.failureLabel ?? label);
77
77
  return this.getInstallUri(cacheRoot, descriptor);
78
78
  }
79
- const progressTitle = options?.progressTitle ?? ( localize(6833, "Cloning plugin source '{0}'...", label));
79
+ const progressTitle = options?.progressTitle ?? ( localize(6952, "Cloning plugin source '{0}'...", label));
80
80
  const failureLabel = options?.failureLabel ?? label;
81
81
  const ref = descriptor.ref;
82
82
  await this._cloneRepository(repoDir, this._cloneUrl(descriptor), progressTitle, failureLabel, ref);
@@ -118,7 +118,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
118
118
  try {
119
119
  return await this._progressService.withProgress({
120
120
  location: ProgressLocation.Notification,
121
- title: ( localize(6834, "Updating plugin '{0}'...", updateLabel)),
121
+ title: ( localize(6953, "Updating plugin '{0}'...", updateLabel)),
122
122
  cancellable: true
123
123
  }, () => doUpdate(cts), () => cts.dispose(true));
124
124
  } finally {
@@ -130,7 +130,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
130
130
  this._notificationService.notify({
131
131
  severity: Severity.Error,
132
132
  message: ( localize(
133
- 6835,
133
+ 6954,
134
134
  "Failed to update plugin '{0}': {1}",
135
135
  failureLabel,
136
136
  err?.message ?? String(err)
@@ -156,7 +156,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
156
156
  this._notificationService.notify({
157
157
  severity: Severity.Error,
158
158
  message: ( localize(
159
- 6836,
159
+ 6955,
160
160
  "Failed to install plugin '{0}': {1}",
161
161
  failureLabel,
162
162
  err?.message ?? String(err)
@@ -183,7 +183,7 @@ let AbstractGitPluginSource = class AbstractGitPluginSource {
183
183
  this._notificationService.notify({
184
184
  severity: Severity.Error,
185
185
  message: ( localize(
186
- 6837,
186
+ 6956,
187
187
  "Failed to checkout plugin '{0}' to requested revision: {1}",
188
188
  failureLabel,
189
189
  err?.message ?? String(err)
@@ -261,12 +261,27 @@ class GitUrlPluginSource extends AbstractGitPluginSource {
261
261
  this.kind = PluginSourceKind.GitUrl;
262
262
  }
263
263
  getInstallUri(cacheRoot, descriptor) {
264
+ const repoDir = this._getRepoDir(cacheRoot, descriptor);
265
+ const git = descriptor;
266
+ if (git.path) {
267
+ const normalizedPath = git.path.trim().replace(/^\.?\/+|\/+$/g, "");
268
+ if (normalizedPath) {
269
+ const target = joinPath(repoDir, normalizedPath);
270
+ if (isEqualOrParent(target, repoDir)) {
271
+ return target;
272
+ }
273
+ }
274
+ }
275
+ return repoDir;
276
+ }
277
+ _getRepoDir(cacheRoot, descriptor) {
264
278
  const git = descriptor;
265
279
  const segments = this._gitUrlCacheSegments(git.url, git.ref, git.sha);
266
280
  return joinPath(cacheRoot, ...segments);
267
281
  }
268
282
  getLabel(descriptor) {
269
- return descriptor.url;
283
+ const git = descriptor;
284
+ return git.path ? `${git.url}/${git.path}` : git.url;
270
285
  }
271
286
  _cloneUrl(descriptor) {
272
287
  return descriptor.url;
@@ -329,7 +344,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
329
344
  if (!confirmed) {
330
345
  return undefined;
331
346
  }
332
- const progressTitle = ( localize(6838, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
347
+ const progressTitle = ( localize(6957, "Installing {0} plugin '{1}'...", this._managerName, plugin.name));
333
348
  const {
334
349
  success,
335
350
  terminal
@@ -342,7 +357,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
342
357
  this._notificationService.notify({
343
358
  severity: Severity.Error,
344
359
  message: ( localize(
345
- 6839,
360
+ 6958,
346
361
  "{0} package '{1}' was not found after installation.",
347
362
  this._managerName,
348
363
  this.getLabel(plugin.sourceDescriptor)
@@ -360,9 +375,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
360
375
  return (new Promise(resolve => {
361
376
  const n = this._notificationService.notify({
362
377
  severity: Severity.Info,
363
- message: ( localize(6840, "Plugin '{0}' wants to run: {1}", pluginName, command)),
378
+ message: ( localize(6959, "Plugin '{0}' wants to run: {1}", pluginName, command)),
364
379
  actions: {
365
- primary: [( new Action("installPlugin", ( localize(6841, "Install")), undefined, true, async () => resolve(true)))]
380
+ primary: [( new Action("installPlugin", ( localize(6960, "Install")), undefined, true, async () => resolve(true)))]
366
381
  }
367
382
  });
368
383
  Event.once(n.onDidClose)(() => resolve(false));
@@ -372,9 +387,9 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
372
387
  confirmed
373
388
  } = await this._dialogService.confirm({
374
389
  type: "question",
375
- message: ( localize(6842, "Install Plugin '{0}'?", pluginName)),
376
- detail: ( localize(6843, "This will run the following command in a terminal:\n\n{0}", command)),
377
- primaryButton: ( localize(6844, "&&Install"))
390
+ message: ( localize(6961, "Install Plugin '{0}'?", pluginName)),
391
+ detail: ( localize(6962, "This will run the following command in a terminal:\n\n{0}", command)),
392
+ primaryButton: ( localize(6963, "&&Install"))
378
393
  });
379
394
  return confirmed;
380
395
  }
@@ -388,7 +403,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
388
403
  }, async () => {
389
404
  terminal = await this._terminalService.createTerminal({
390
405
  config: {
391
- name: ( localize(6845, "Plugin Install")),
406
+ name: ( localize(6964, "Plugin Install")),
392
407
  forceShellIntegration: true,
393
408
  isTransient: true,
394
409
  isFeatureTerminal: true
@@ -400,7 +415,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
400
415
  await terminal.runCommand(command, true);
401
416
  const exitCode = await commandResultPromise;
402
417
  if (exitCode !== 0) {
403
- throw ( new Error(( localize(6846, "Command exited with code {0}", exitCode))));
418
+ throw ( new Error(( localize(6965, "Command exited with code {0}", exitCode))));
404
419
  }
405
420
  });
406
421
  return {
@@ -412,7 +427,7 @@ let AbstractPackagePluginSource = class AbstractPackagePluginSource {
412
427
  this._notificationService.notify({
413
428
  severity: Severity.Error,
414
429
  message: ( localize(
415
- 6847,
430
+ 6966,
416
431
  "Plugin installation command failed: {0}",
417
432
  err?.message ?? String(err)
418
433
  ))
@@ -16,10 +16,10 @@ import { IPluginInstallService } from "@codingame/monaco-vscode-api/vscode/vs/wo
16
16
  * `vscode://chat-plugin/add-marketplace?ref=<base64>` URLs.
17
17
  *
18
18
  * The `source` / `ref` query parameter is a base64-encoded `owner/repo` or
19
- * git clone URL. When `plugin` is provided on the `/install` route, the handler
20
- * targets that specific plugin within the marketplace, installs it, and opens
21
- * its details in the editor. Otherwise, a confirmation dialog is shown before
22
- * any action.
19
+ * git clone URL. A confirmation dialog is always shown before any install
20
+ * action, regardless of whether `plugin` is provided. When `plugin` is given
21
+ * on the `/install` route, the handler targets that specific plugin within the
22
+ * marketplace and opens its details in the editor after install.
23
23
  */
24
24
  export declare class PluginUrlHandler extends Disposable implements IWorkbenchContribution, IURLHandler {
25
25
  private readonly _pluginInstallService;
@@ -17,7 +17,7 @@ import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode
17
17
  import { AgentPluginEditorInput } from './agentPluginEditor/agentPluginEditorInput.js';
18
18
  import { AgentPluginItemKind } from './agentPluginEditor/agentPluginItems.js';
19
19
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
20
- import { parseMarketplaceReference, MarketplaceReferenceKind, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
20
+ import { parseMarketplaceReference, MarketplaceReferenceKind, readConfiguredMarketplaces, parseMarketplaceReferences } from '../common/plugins/marketplaceReference.js';
21
21
  import { IPluginInstallService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service';
22
22
 
23
23
  let PluginUrlHandler = class PluginUrlHandler extends Disposable {
@@ -76,20 +76,17 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
76
76
  }
77
77
  await this._hostService.focus(mainWindow);
78
78
  const pluginName = this._decodeStringParam(uri, "plugin");
79
- if (pluginName) {
80
- return this._handleInstallTargetedPlugin(source, ref.displayLabel, pluginName);
81
- }
82
79
  const {
83
80
  confirmed
84
81
  } = await this._dialogService.confirm({
85
82
  type: "question",
86
- message: ( localize(6848, "Install Plugin from '{0}'?", ref.displayLabel)),
83
+ message: pluginName ? ( localize(6967, "Install Plugin '{0}' from '{1}'?", pluginName, ref.displayLabel)) : ( localize(6968, "Install Plugin from '{0}'?", ref.displayLabel)),
87
84
  detail: ( localize(
88
- 6849,
85
+ 6969,
89
86
  "An external application wants to install a plugin from this source. Plugins can run code on your machine. Only install plugins from sources you trust.\n\nSource: {0}",
90
87
  ref.rawValue
91
88
  )),
92
- primaryButton: ( localize(6850, "&&Install")),
89
+ primaryButton: ( localize(6970, "&&Install")),
93
90
  custom: {
94
91
  icon: Codicon.shield
95
92
  }
@@ -97,6 +94,9 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
97
94
  if (!confirmed) {
98
95
  return true;
99
96
  }
97
+ if (pluginName) {
98
+ return this._handleInstallTargetedPlugin(source, ref.displayLabel, pluginName);
99
+ }
100
100
  await this._pluginInstallService.installPluginFromSource(source);
101
101
  this._extensionsWorkbenchService.openSearch(`@agentPlugins ${ref.displayLabel}`);
102
102
  return true;
@@ -148,13 +148,13 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
148
148
  confirmed
149
149
  } = await this._dialogService.confirm({
150
150
  type: "question",
151
- message: ( localize(6851, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
151
+ message: ( localize(6971, "Add Plugin Marketplace '{0}'?", ref.displayLabel)),
152
152
  detail: ( localize(
153
- 6852,
153
+ 6972,
154
154
  "An external application wants to add a plugin marketplace. Plugins from this marketplace will appear in the plugin catalog and can be installed.\n\nSource: {0}",
155
155
  ref.rawValue
156
156
  )),
157
- primaryButton: ( localize(6853, "&&Add Marketplace")),
157
+ primaryButton: ( localize(6973, "&&Add Marketplace")),
158
158
  custom: {
159
159
  icon: Codicon.shield
160
160
  }
@@ -162,12 +162,15 @@ let PluginUrlHandler = class PluginUrlHandler extends Disposable {
162
162
  if (!confirmed) {
163
163
  return true;
164
164
  }
165
- const existing = this._configurationService.getValue(ChatConfiguration.PluginMarketplaces) ?? [];
166
- const existingRefs = parseMarketplaceReferences(existing);
165
+ const {
166
+ userValues,
167
+ effectiveValues
168
+ } = readConfiguredMarketplaces(this._configurationService);
169
+ const existingRefs = parseMarketplaceReferences(effectiveValues);
167
170
  if (!( existingRefs.some(e => e.canonicalId === ref.canonicalId))) {
168
171
  await this._configurationService.updateValue(
169
172
  ChatConfiguration.PluginMarketplaces,
170
- [...existing, refValue],
173
+ [...userValues, refValue],
171
174
  ConfigurationTarget.USER
172
175
  );
173
176
  }
@@ -17,7 +17,7 @@ class ConfigAgentActionImpl extends Action2 {
17
17
  const openerService = accessor.get(IOpenerService);
18
18
  const pickers = instaService.createInstance(PromptFilePickers);
19
19
  const placeholder = ( localize(
20
- 6860,
20
+ 6980,
21
21
  "Select the custom agents to open and configure visibility in the agent picker"
22
22
  ));
23
23
  const result = await pickers.selectPromptFile({
@@ -35,8 +35,8 @@ const PICKER_CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.picker.customag
35
35
  function createPickerConfigureAgentsActionConfig(disabled) {
36
36
  const config = {
37
37
  id: disabled ? PICKER_CONFIGURE_AGENTS_ACTION_ID + ".disabled" : PICKER_CONFIGURE_AGENTS_ACTION_ID,
38
- title: ( localize2(6861, "Configure Custom Agents...")),
39
- tooltip: disabled ? ( localize(6862, "Managed by your organization")) : undefined,
38
+ title: ( localize2(6981, "Configure Custom Agents...")),
39
+ tooltip: disabled ? ( localize(6982, "Managed by your organization")) : undefined,
40
40
  icon: disabled ? Codicon.lock : undefined,
41
41
  category: CHAT_CATEGORY,
42
42
  f1: false,
@@ -62,8 +62,8 @@ const CONFIGURE_AGENTS_ACTION_ID = "workbench.action.chat.configure.customagents
62
62
  function createManageAgentsActionConfig(disabled) {
63
63
  const base = {
64
64
  id: disabled ? CONFIGURE_AGENTS_ACTION_ID + ".disabled" : CONFIGURE_AGENTS_ACTION_ID,
65
- title: ( localize2(6863, "Configure Custom Agents...")),
66
- shortTitle: ( localize(6864, "Custom Agents")),
65
+ title: ( localize2(6983, "Configure Custom Agents...")),
66
+ shortTitle: ( localize(6984, "Custom Agents")),
67
67
  icon: disabled ? Codicon.lock : Codicon.bookmark,
68
68
  f1: !disabled,
69
69
  precondition: disabled ? ( ContextKeyExpr.false()) : ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ChatContextKeys.Modes.agentModeDisabledByPolicy.negate()))),
@@ -77,7 +77,7 @@ function createManageAgentsActionConfig(disabled) {
77
77
  };
78
78
  return disabled ? {
79
79
  ...base,
80
- tooltip: ( localize(6862, "Managed by your organization"))
80
+ tooltip: ( localize(6982, "Managed by your organization"))
81
81
  } : base;
82
82
  }
83
83
  class ManageAgentsAction extends ConfigAgentActionImpl {