@codingame/monaco-vscode-chat-service-override 33.0.9 → 34.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -65,7 +65,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
65
65
  await this.handleNotebookEditor(activeNotebookEditor, context);
66
66
  } else {
67
67
  this.notify(( localize(
68
- 5128,
68
+ 5191,
69
69
  "To insert the code block, open a code editor or notebook editor and set the cursor at the location where to insert the code block."
70
70
  )));
71
71
  }
@@ -99,7 +99,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
99
99
  }
100
100
  async handleNotebookEditor(notebookEditor, codeBlockContext) {
101
101
  if (notebookEditor.isReadOnly) {
102
- this.notify(( localize(5129, "Cannot insert the code block to read-only notebook editor.")));
102
+ this.notify(( localize(5192, "Cannot insert the code block to read-only notebook editor.")));
103
103
  return false;
104
104
  }
105
105
  const focusRange = notebookEditor.getFocus();
@@ -118,7 +118,7 @@ let InsertCodeBlockOperation = class InsertCodeBlockOperation {
118
118
  async handleTextEditor(codeEditor, codeBlockContext) {
119
119
  const activeModel = codeEditor.getModel();
120
120
  if (isReadOnly(activeModel, this.textFileService)) {
121
- this.notify(( localize(5130, "Cannot insert the code block to read-only code editor.")));
121
+ this.notify(( localize(5193, "Cannot insert the code block to read-only code editor.")));
122
122
  return false;
123
123
  }
124
124
  const range = codeEditor.getSelection() ?? ( new Range(activeModel.getLineCount(), 1, activeModel.getLineCount(), 1));
@@ -180,7 +180,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
180
180
  this.tryToRevealCodeBlock(codeEditor, context.code);
181
181
  activeEditorControl = codeEditor;
182
182
  } else {
183
- this.notify(( localize(5131, "Failed to open {0} in a code editor.", (codemapperUri.toString()))));
183
+ this.notify(( localize(5194, "Failed to open {0} in a code editor.", (codemapperUri.toString()))));
184
184
  return;
185
185
  }
186
186
  } catch (e) {
@@ -212,7 +212,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
212
212
  if (activeNotebookEditor) {
213
213
  result = await this.handleNotebookEditor(activeNotebookEditor, context.chatSessionResource, context.code);
214
214
  } else {
215
- this.notify(( localize(5132, "To apply this code block, open a code or notebook editor.")));
215
+ this.notify(( localize(5195, "To apply this code block, open a code or notebook editor.")));
216
216
  }
217
217
  }
218
218
  if (isResponseVM(context.element)) {
@@ -236,7 +236,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
236
236
  }
237
237
  const activeEditorOption = activeEditorControl?.getModel().uri ? {
238
238
  label: ( localize(
239
- 5133,
239
+ 5196,
240
240
  "Active editor '{0}'",
241
241
  this.labelService.getUriLabel(activeEditorControl.getModel().uri, {
242
242
  relative: true
@@ -245,13 +245,13 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
245
245
  id: "activeEditor"
246
246
  } : undefined;
247
247
  const untitledEditorOption = {
248
- label: ( localize(5134, "New untitled editor")),
248
+ label: ( localize(5197, "New untitled editor")),
249
249
  id: "newUntitledFile"
250
250
  };
251
251
  const options = [];
252
252
  if (resource) {
253
253
  options.push({
254
- label: ( localize(5135, "New file '{0}'", this.labelService.getUriLabel(resource, {
254
+ label: ( localize(5198, "New file '{0}'", this.labelService.getUriLabel(resource, {
255
255
  relative: true
256
256
  }))),
257
257
  id: "createFile"
@@ -267,7 +267,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
267
267
  options.push(untitledEditorOption);
268
268
  }
269
269
  const selected = options.length > 1 ? await this.quickInputService.pick(options, {
270
- placeHolder: ( localize(5136, "Select where to apply the code block"))
270
+ placeHolder: ( localize(5199, "Select where to apply the code block"))
271
271
  }) : options[0];
272
272
  if (selected) {
273
273
  switch (selected.id) {
@@ -276,7 +276,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
276
276
  try {
277
277
  await this.fileService.writeFile(resource, VSBuffer.fromString(""));
278
278
  } catch (error) {
279
- this.notify(( localize(5137, "Failed to create file: {0}", error.message)));
279
+ this.notify(( localize(5200, "Failed to create file: {0}", error.message)));
280
280
  return ( URI.from({
281
281
  scheme: "untitled",
282
282
  path: resource.path
@@ -297,7 +297,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
297
297
  }
298
298
  async handleNotebookEditor(notebookEditor, chatSessionResource, code) {
299
299
  if (notebookEditor.isReadOnly) {
300
- this.notify(( localize(5138, "Cannot apply code block to read-only notebook editor.")));
300
+ this.notify(( localize(5201, "Cannot apply code block to read-only notebook editor.")));
301
301
  return undefined;
302
302
  }
303
303
  const uri = notebookEditor.textModel.uri;
@@ -308,7 +308,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
308
308
  };
309
309
  const codeMapper = this.codeMapperService.providers[0]?.displayName;
310
310
  if (!codeMapper) {
311
- this.notify(( localize(5139, "No code mapper available.")));
311
+ this.notify(( localize(5202, "No code mapper available.")));
312
312
  return undefined;
313
313
  }
314
314
  let editsProposed = false;
@@ -321,7 +321,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
321
321
  cancellable: true
322
322
  }, async progress => {
323
323
  progress.report({
324
- message: ( localize(5140, "Applying code block using {0}...", codeMapper))
324
+ message: ( localize(5203, "Applying code block using {0}...", codeMapper))
325
325
  });
326
326
  const editsIterable = this.getNotebookEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
327
327
  return await this.waitForFirstElement(editsIterable);
@@ -329,7 +329,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
329
329
  editsProposed = await this.applyNotebookEditsWithInlinePreview(iterable, uri, cancellationTokenSource);
330
330
  } catch (e) {
331
331
  if (!isCancellationError(e)) {
332
- this.notify(( localize(5141, "Failed to apply code block: {0}", e.message)));
332
+ this.notify(( localize(5204, "Failed to apply code block: {0}", e.message)));
333
333
  }
334
334
  } finally {
335
335
  cancellationTokenSource.dispose();
@@ -342,7 +342,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
342
342
  async handleTextEditor(codeEditor, chatSessionResource, code, applyCodeBlockSuggestionId) {
343
343
  const activeModel = codeEditor.getModel();
344
344
  if (isReadOnly(activeModel, this.textFileService)) {
345
- this.notify(( localize(5142, "Cannot apply code block to read-only file.")));
345
+ this.notify(( localize(5205, "Cannot apply code block to read-only file.")));
346
346
  return undefined;
347
347
  }
348
348
  const codeBlock = {
@@ -353,7 +353,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
353
353
  };
354
354
  const codeMapper = this.codeMapperService.providers[0]?.displayName;
355
355
  if (!codeMapper) {
356
- this.notify(( localize(5139, "No code mapper available.")));
356
+ this.notify(( localize(5202, "No code mapper available.")));
357
357
  return undefined;
358
358
  }
359
359
  let editsProposed = false;
@@ -366,7 +366,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
366
366
  cancellable: true
367
367
  }, async progress => {
368
368
  progress.report({
369
- message: ( localize(5140, "Applying code block using {0}...", codeMapper))
369
+ message: ( localize(5203, "Applying code block using {0}...", codeMapper))
370
370
  });
371
371
  const editsIterable = this.getTextEdits(codeBlock, chatSessionResource, cancellationTokenSource.token);
372
372
  return await this.waitForFirstElement(editsIterable);
@@ -374,7 +374,7 @@ let ApplyCodeBlockOperation = class ApplyCodeBlockOperation {
374
374
  editsProposed = await this.applyWithInlinePreview(iterable, codeEditor, cancellationTokenSource, applyCodeBlockSuggestionId);
375
375
  } catch (e) {
376
376
  if (!isCancellationError(e)) {
377
- this.notify(( localize(5141, "Failed to apply code block: {0}", e.message)));
377
+ this.notify(( localize(5204, "Failed to apply code block: {0}", e.message)));
378
378
  }
379
379
  } finally {
380
380
  cancellationTokenSource.dispose();
@@ -28,19 +28,19 @@ const VALID_PLUGIN_NAME = /^[a-z0-9]([a-z0-9\-.]*[a-z0-9])?$/;
28
28
  const INVALID_CONSECUTIVE = /--|[.][.]/;
29
29
  function validatePluginName(name) {
30
30
  if (!name) {
31
- return localize(5143, "Plugin name is required.");
31
+ return localize(5206, "Plugin name is required.");
32
32
  }
33
33
  if (name.length > 64) {
34
- return localize(5144, "Plugin name must be at most 64 characters.");
34
+ return localize(5207, "Plugin name must be at most 64 characters.");
35
35
  }
36
36
  if (!VALID_PLUGIN_NAME.test(name)) {
37
37
  return localize(
38
- 5145,
38
+ 5208,
39
39
  "Plugin name must contain only lowercase alphanumeric characters, hyphens, and periods, and must start and end with an alphanumeric character."
40
40
  );
41
41
  }
42
42
  if (INVALID_CONSECUTIVE.test(name)) {
43
- return localize(5146, "Plugin name must not contain consecutive hyphens or periods.");
43
+ return localize(5209, "Plugin name must not contain consecutive hyphens or periods.");
44
44
  }
45
45
  return undefined;
46
46
  }
@@ -72,7 +72,7 @@ class CreatePluginAction extends Action2 {
72
72
  constructor() {
73
73
  super({
74
74
  id: CreatePluginAction.ID,
75
- title: ( localize2(5147, "Create Plugin")),
75
+ title: ( localize2(5210, "Create Plugin")),
76
76
  category: CHAT_CATEGORY,
77
77
  f1: true,
78
78
  precondition: ChatContextKeys.enabled,
@@ -132,11 +132,11 @@ class CreatePluginAction extends Action2 {
132
132
  children
133
133
  });
134
134
  };
135
- addGroup(instructions, "instruction", ( localize(5148, "Instructions")), Codicon.book);
136
- addGroup(prompts, "prompt", ( localize(5149, "Prompts")), Codicon.comment);
137
- addGroup(agents, "agent", ( localize(5150, "Agents")), Codicon.copilot);
138
- addGroup(skills, "skill", ( localize(5151, "Skills")), Codicon.lightbulb);
139
- addGroup(hooks, "hook", ( localize(5152, "Hooks")), Codicon.zap);
135
+ addGroup(instructions, "instruction", ( localize(5211, "Instructions")), Codicon.book);
136
+ addGroup(prompts, "prompt", ( localize(5212, "Prompts")), Codicon.comment);
137
+ addGroup(agents, "agent", ( localize(5213, "Agents")), Codicon.copilot);
138
+ addGroup(skills, "skill", ( localize(5214, "Skills")), Codicon.lightbulb);
139
+ addGroup(hooks, "hook", ( localize(5215, "Hooks")), Codicon.zap);
140
140
  const mcpChildren = [];
141
141
  for (const collection of mcpCollections) {
142
142
  if (!showAll && !isUserDefinedMcpCollection(collection)) {
@@ -158,7 +158,7 @@ class CreatePluginAction extends Action2 {
158
158
  }
159
159
  if (mcpChildren.length > 0) {
160
160
  groups.push({
161
- label: ( localize(5153, "MCP Servers")),
161
+ label: ( localize(5216, "MCP Servers")),
162
162
  iconClass: ThemeIcon.asClassName(Codicon.mcp),
163
163
  checked: undefined,
164
164
  collapsed: false,
@@ -170,15 +170,15 @@ class CreatePluginAction extends Action2 {
170
170
  };
171
171
  const disposables = ( new DisposableStore());
172
172
  const tree = disposables.add(quickInputService.createQuickTree());
173
- tree.placeholder = ( localize(5154, "Select resources to include in the plugin"));
173
+ tree.placeholder = ( localize(5217, "Select resources to include in the plugin"));
174
174
  tree.matchOnDescription = true;
175
175
  tree.matchOnLabel = true;
176
176
  tree.sortByLabel = false;
177
- tree.title = ( localize(5155, "Create Plugin"));
177
+ tree.title = ( localize(5218, "Create Plugin"));
178
178
  tree.setItemTree(buildTree());
179
179
  const toggleButton = {
180
180
  iconClass: ThemeIcon.asClassName(Codicon.filter),
181
- tooltip: ( localize(5156, "Show Built-in, Extension, and Plugin Resources"))
181
+ tooltip: ( localize(5219, "Show Built-in, Extension, and Plugin Resources"))
182
182
  };
183
183
  tree.buttons = [toggleButton];
184
184
  disposables.add(tree.onDidTriggerButton(button => {
@@ -203,7 +203,7 @@ class CreatePluginAction extends Action2 {
203
203
  }
204
204
  const selected = selectedItems.filter(i => !!i.resourceType);
205
205
  const pluginName = await quickInputService.input({
206
- prompt: ( localize(5157, "Enter a name for the plugin")),
206
+ prompt: ( localize(5220, "Enter a name for the plugin")),
207
207
  placeHolder: "my-plugin",
208
208
  validateInput: async value => validatePluginName(value)
209
209
  });
@@ -214,8 +214,8 @@ class CreatePluginAction extends Action2 {
214
214
  canSelectFiles: false,
215
215
  canSelectFolders: true,
216
216
  canSelectMany: false,
217
- title: ( localize(5158, "Select Plugin Save Location")),
218
- openLabel: ( localize(5159, "Select Folder"))
217
+ title: ( localize(5221, "Select Plugin Save Location")),
218
+ openLabel: ( localize(5222, "Select Folder"))
219
219
  });
220
220
  if (!folderUris || folderUris.length === 0) {
221
221
  return;
@@ -224,7 +224,7 @@ class CreatePluginAction extends Action2 {
224
224
  const pluginRoot = joinPath(targetDir, pluginName);
225
225
  if (await fileService.exists(pluginRoot)) {
226
226
  notificationService.error(( localize(
227
- 5160,
227
+ 5223,
228
228
  "A directory named '{0}' already exists at this location. Please choose a different name or location.",
229
229
  pluginName
230
230
  )));
@@ -236,9 +236,9 @@ class CreatePluginAction extends Action2 {
236
236
  try {
237
237
  await commandService.executeCommand("revealFileInOS", pluginRoot);
238
238
  } catch {}
239
- notificationService.info(( localize(5161, "Plugin '{0}' created successfully.", pluginName)));
239
+ notificationService.info(( localize(5224, "Plugin '{0}' created successfully.", pluginName)));
240
240
  } catch (err) {
241
- notificationService.error(( localize(5162, "Failed to create plugin: {0}", String(err))));
241
+ notificationService.error(( localize(5225, "Failed to create plugin: {0}", String(err))));
242
242
  }
243
243
  }
244
244
  }
@@ -36,8 +36,9 @@ export declare class BrowserAgentHostDebugLogsExportService implements IAgentHos
36
36
  }
37
37
  /**
38
38
  * Shared implementation of "Export Agent Host Debug Logs". Collects the
39
- * Copilot CLI session events file (if available), the window/shared/agent-host
40
- * output channel logs, and the AHP transport JSONL logs.
39
+ * Copilot CLI session events file (if available), the window/shared/local
40
+ * agent-host output channel logs, remote forwarded logs, and the AHP
41
+ * transport JSONL logs.
41
42
  *
42
43
  * Both the workbench-side action (resolves the active session via
43
44
  * `IChatWidgetService`) and the sessions-app-side action (resolves it via
@@ -10,8 +10,10 @@ import { Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions
10
10
  import { agentHostAuthority, toAgentHostUri } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentHostUri';
11
11
  import { AgentHostEnabledSettingId } from '../../../../../platform/agentHost/common/agentService.js';
12
12
  import { IAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/agentService.service';
13
+ import { remoteAgentHostLogOutputChannelId } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService';
13
14
  import { IRemoteAgentHostService } from '@codingame/monaco-vscode-api/vscode/vs/platform/agentHost/common/remoteAgentHostService.service';
14
15
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
16
+ import { IsWebContext } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkeys';
15
17
  import { IFileDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
16
18
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
17
19
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
@@ -66,20 +68,18 @@ async function collectAgentHostDebugLogs(accessor, activeSession) {
66
68
  if (activeSession) {
67
69
  if (activeSession.isLocal) {
68
70
  channelIds.add(AGENT_HOST_LOGGER_CHANNEL_ID);
69
- channelIds.add(`agenthost.${agentHostService.clientId}`);
70
71
  const localClientId = sanitizeFilePart(agentHostService.clientId);
71
72
  ahpLogNameFilter = name => name.includes(localClientId);
72
73
  } else {
73
74
  remoteConnection = getRemoteConnectionForSession(activeSession.resource, remoteAgentHostService.connections);
74
75
  if (remoteConnection) {
75
- channelIds.add(`agenthost.${remoteConnection.clientId}`);
76
+ channelIds.add(remoteAgentHostLogOutputChannelId(remoteConnection.address));
76
77
  }
77
78
  }
78
79
  } else {
79
80
  channelIds.add(AGENT_HOST_LOGGER_CHANNEL_ID);
80
- channelIds.add(`agenthost.${agentHostService.clientId}`);
81
81
  for (const connection of remoteAgentHostService.connections) {
82
- channelIds.add(`agenthost.${connection.clientId}`);
82
+ channelIds.add(remoteAgentHostLogOutputChannelId(connection.address));
83
83
  }
84
84
  }
85
85
  channelIds.add(WINDOW_LOG_CHANNEL_ID);
@@ -151,7 +151,7 @@ async function collectAgentHostDebugLogs(accessor, activeSession) {
151
151
  if (files.length === 0) {
152
152
  notificationService.notify({
153
153
  severity: Severity.Warning,
154
- message: activeSession ? ( localize(5163, "No log files were found for the active Agent Host session.")) : ( localize(5164, "No Agent Host log files were found for the current window."))
154
+ message: activeSession ? ( localize(5226, "No log files were found for the active Agent Host session.")) : ( localize(5227, "No Agent Host log files were found for the current window."))
155
155
  });
156
156
  return undefined;
157
157
  }
@@ -174,7 +174,7 @@ async function exportAgentHostDebugLogs(accessor, activeSession) {
174
174
  notificationService.notify({
175
175
  severity: Severity.Error,
176
176
  message: ( localize(
177
- 5165,
177
+ 5228,
178
178
  "Failed to save debug logs: {0}",
179
179
  error instanceof Error ? error.message : String(error)
180
180
  ))
@@ -188,10 +188,10 @@ class ExportAgentHostDebugLogsAction extends Action2 {
188
188
  constructor() {
189
189
  super({
190
190
  id: ExportAgentHostDebugLogsAction.ID,
191
- title: ( localize2(5166, "Export Agent Host Debug Logs...")),
191
+ title: ( localize2(5229, "Export Agent Host Debug Logs...")),
192
192
  f1: true,
193
193
  category: Categories.Developer,
194
- precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( ContextKeyExpr.equals(`config.${AgentHostEnabledSettingId}`, true))))
194
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsWebContext.negate()), ( ContextKeyExpr.equals(`config.${AgentHostEnabledSettingId}`, true))))
195
195
  });
196
196
  }
197
197
  async run(accessor) {
@@ -229,7 +229,7 @@ function sanitizeFilePart(value) {
229
229
  }
230
230
  async function exportFilesToLocalFolder(fileDialogService, fileService, exportName, files) {
231
231
  const folders = await fileDialogService.showOpenDialog({
232
- title: ( localize(5167, "Select Folder for Agent Host Debug Logs")),
232
+ title: ( localize(5230, "Select Folder for Agent Host Debug Logs")),
233
233
  canSelectFiles: false,
234
234
  canSelectFolders: true,
235
235
  canSelectMany: false,
@@ -33,21 +33,21 @@ async function openCopilotCliStateFile(accessor, sessionResource) {
33
33
  });
34
34
  return;
35
35
  case "no-session":
36
- notificationService.info(( localize(5168, "No Copilot CLI session is active.")));
36
+ notificationService.info(( localize(5231, "No Copilot CLI session is active.")));
37
37
  return;
38
38
  case "unsupported-scheme":
39
- notificationService.info(( localize(5169, "The active chat session is not a Copilot CLI session.")));
39
+ notificationService.info(( localize(5232, "The active chat session is not a Copilot CLI session.")));
40
40
  return;
41
41
  case "remote-not-connected":
42
42
  notificationService.warn(( localize(
43
- 5170,
43
+ 5233,
44
44
  "No active connection found for remote agent host '{0}'.",
45
45
  result.authority
46
46
  )));
47
47
  return;
48
48
  case "remote-no-home":
49
49
  notificationService.warn(( localize(
50
- 5171,
50
+ 5234,
51
51
  "Remote agent host '{0}' did not report a home directory.",
52
52
  result.authority
53
53
  )));
@@ -61,7 +61,7 @@ class OpenCopilotCliStateFileAction extends Action2 {
61
61
  constructor() {
62
62
  super({
63
63
  id: OpenCopilotCliStateFileAction.ID,
64
- title: ( localize2(5172, "Open Copilot CLI State File")),
64
+ title: ( localize2(5235, "Open Copilot CLI State File")),
65
65
  f1: true,
66
66
  category: Categories.Developer,
67
67
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ( IsSessionsWindowContext.negate())))
@@ -4,6 +4,7 @@ import { IActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/b
4
4
  import { ActionWithDropdownActionViewItem, IActionWithDropdownActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem";
5
5
  import { IContextMenuProvider } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/contextmenu";
6
6
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
7
+ import { INotificationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service";
7
8
  import { IOpenerService } from "@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service";
8
9
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
9
10
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
@@ -23,6 +24,15 @@ export declare class OpenPluginFolderAction extends Action {
23
24
  export declare class OpenPluginReadmeAction extends Action {
24
25
  constructor(readmeUri: import("@codingame/monaco-vscode-api/vscode/vs/base/common/uri").URI, openerService: IOpenerService);
25
26
  }
27
+ /** Whether the plugin is blocked by enterprise policy and cannot be enabled by the user. */
28
+ export declare function isPluginPolicyBlocked(plugin: IAgentPlugin): boolean;
29
+ /** Notifies the user that a plugin is managed by their organization and cannot be enabled. */
30
+ export declare function notifyPluginPolicyBlocked(notificationService: INotificationService, pluginName: string): void;
31
+ /**
32
+ * An "Enable" action for a policy-blocked plugin: instead of enabling, it
33
+ * explains via a notification that the plugin is managed by the organization.
34
+ */
35
+ export declare function createPolicyBlockedEnableAction(plugin: IAgentPlugin, notificationService: INotificationService): Action;
26
36
  /**
27
37
  * Builds the standard context menu action groups for an installed plugin.
28
38
  */
@@ -5,6 +5,7 @@ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/even
5
5
  import { ActionWithDropdownActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem';
6
6
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
8
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
8
9
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
9
10
  import { WorkbenchState } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
10
11
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
@@ -17,7 +18,7 @@ import { hasKey } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types
17
18
 
18
19
  let InstallPluginAction = class InstallPluginAction extends Action {
19
20
  constructor(item, pluginInstallService) {
20
- super("agentPlugin.install", ( localize(5173, "Install")), "extension-action label prominent install", true, () => pluginInstallService.installPlugin({
21
+ super("agentPlugin.install", ( localize(5236, "Install")), "extension-action label prominent install", true, () => pluginInstallService.installPlugin({
21
22
  name: item.name,
22
23
  description: item.description,
23
24
  version: "",
@@ -33,15 +34,15 @@ let InstallPluginAction = class InstallPluginAction extends Action {
33
34
  InstallPluginAction = ( __decorate([( __param(1, IPluginInstallService))], InstallPluginAction));
34
35
  class UninstallPluginAction extends Action {
35
36
  constructor(plugin) {
36
- super("agentPlugin.uninstall", ( localize(5174, "Uninstall")), "extension-action label uninstall", true, () => {
37
- plugin.remove();
37
+ super("agentPlugin.uninstall", ( localize(5237, "Uninstall")), "extension-action label uninstall", true, () => {
38
+ plugin.remove?.();
38
39
  return Promise.resolve();
39
40
  });
40
41
  }
41
42
  }
42
43
  let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
43
44
  constructor(plugin, commandService, openerService) {
44
- super("agentPlugin.openFolder", ( localize(5175, "Open Plugin Folder")), undefined, true, async () => {
45
+ super("agentPlugin.openFolder", ( localize(5238, "Open Plugin Folder")), undefined, true, async () => {
45
46
  try {
46
47
  await commandService.executeCommand("revealFileInOS", plugin.uri);
47
48
  } catch {
@@ -53,16 +54,44 @@ let OpenPluginFolderAction = class OpenPluginFolderAction extends Action {
53
54
  OpenPluginFolderAction = ( __decorate([( __param(1, ICommandService)), ( __param(2, IOpenerService))], OpenPluginFolderAction));
54
55
  let OpenPluginReadmeAction = class OpenPluginReadmeAction extends Action {
55
56
  constructor(readmeUri, openerService) {
56
- super("agentPlugin.openReadme", ( localize(5176, "Open README")), undefined, true, () => openerService.open(readmeUri));
57
+ super("agentPlugin.openReadme", ( localize(5239, "Open README")), undefined, true, () => openerService.open(readmeUri));
57
58
  }
58
59
  };
59
60
  OpenPluginReadmeAction = ( __decorate([( __param(1, IOpenerService))], OpenPluginReadmeAction));
61
+ function isPluginPolicyBlocked(plugin) {
62
+ return plugin.policyBlocked?.get() === true;
63
+ }
64
+ function notifyPluginPolicyBlocked(notificationService, pluginName) {
65
+ notificationService.warn(( localize(
66
+ 5240,
67
+ "The plugin \"{0}\" has been disabled by your organization and cannot be enabled.",
68
+ pluginName
69
+ )));
70
+ }
71
+ function createPolicyBlockedEnableAction(plugin, notificationService) {
72
+ return (new Action(
73
+ "agentPlugin.enableBlocked",
74
+ localize(5241, "Enable"),
75
+ undefined,
76
+ true,
77
+ () => {
78
+ notifyPluginPolicyBlocked(notificationService, plugin.label);
79
+ return Promise.resolve();
80
+ }
81
+ ));
82
+ }
60
83
  function getInstalledPluginContextMenuActions(plugin, instantiationService) {
61
84
  return instantiationService.invokeFunction(accessor => {
62
85
  const agentPluginService = accessor.get(IAgentPluginService);
63
86
  const workspaceService = accessor.get(IWorkspaceContextService);
64
87
  const groups = [];
65
- groups.push(buildEnablementContextMenuGroup(plugin.enablement.get(), ( plugin.uri.toString()), agentPluginService.enablementModel, workspaceService, "agentPlugin"));
88
+ if (isPluginPolicyBlocked(plugin)) {
89
+ groups.push([
90
+ createPolicyBlockedEnableAction(plugin, accessor.get(INotificationService))
91
+ ]);
92
+ } else {
93
+ groups.push(buildEnablementContextMenuGroup(plugin.enablement.get(), ( plugin.uri.toString()), agentPluginService.enablementModel, workspaceService, "agentPlugin"));
94
+ }
66
95
  groups.push([
67
96
  instantiationService.createInstance(OpenPluginFolderAction, plugin),
68
97
  instantiationService.createInstance(OpenPluginReadmeAction, joinPath(plugin.uri, "README.md"))
@@ -168,11 +197,11 @@ class EnablementDropdownActionViewItem extends ActionWithDropdownActionViewItem
168
197
  function createEnablePluginDropDown(plugin, enablementModel, workspaceContextService) {
169
198
  const key = ( plugin.uri.toString());
170
199
  const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
171
- const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(5177, "Enable")), "extension-action label prominent", isContributionDisabled(plugin.enablement.get()), () => {
200
+ const enable = ( new EnablementSubAction("agentPlugin.enable", ( localize(5241, "Enable")), "extension-action label prominent", isContributionDisabled(plugin.enablement.get()), () => {
172
201
  enablementModel.setEnabled(key, ContributionEnablementState.EnabledProfile);
173
202
  return Promise.resolve();
174
203
  }));
175
- const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(5178, "Enable (Workspace)")), "extension-action label", isContributionDisabled(plugin.enablement.get()) && hasWorkspace, () => {
204
+ const enableWorkspace = ( new EnablementSubAction("agentPlugin.enableForWorkspace", ( localize(5242, "Enable (Workspace)")), "extension-action label", isContributionDisabled(plugin.enablement.get()) && hasWorkspace, () => {
176
205
  enablementModel.setEnabled(key, ContributionEnablementState.EnabledWorkspace);
177
206
  return Promise.resolve();
178
207
  }));
@@ -181,15 +210,15 @@ function createEnablePluginDropDown(plugin, enablementModel, workspaceContextSer
181
210
  function createDisablePluginDropDown(plugin, enablementModel, workspaceContextService) {
182
211
  const key = ( plugin.uri.toString());
183
212
  const hasWorkspace = workspaceContextService.getWorkbenchState() !== WorkbenchState.EMPTY;
184
- const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(5179, "Disable")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()), () => {
213
+ const disable = ( new EnablementSubAction("agentPlugin.disable", ( localize(5243, "Disable")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()), () => {
185
214
  enablementModel.setEnabled(key, ContributionEnablementState.DisabledProfile);
186
215
  return Promise.resolve();
187
216
  }));
188
- const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(5180, "Disable (Workspace)")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()) && hasWorkspace, () => {
217
+ const disableWorkspace = ( new EnablementSubAction("agentPlugin.disableForWorkspace", ( localize(5244, "Disable (Workspace)")), "extension-action label disable", isContributionEnabled(plugin.enablement.get()) && hasWorkspace, () => {
189
218
  enablementModel.setEnabled(key, ContributionEnablementState.DisabledWorkspace);
190
219
  return Promise.resolve();
191
220
  }));
192
221
  return ( new EnablementDropDownAction("agentPlugin.disableDropdown", [disable, disableWorkspace]));
193
222
  }
194
223
 
195
- export { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, OpenPluginFolderAction, OpenPluginReadmeAction, UninstallPluginAction, createDisablePluginDropDown, createEnablePluginDropDown, getInstalledPluginContextMenuActions };
224
+ export { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, OpenPluginFolderAction, OpenPluginReadmeAction, UninstallPluginAction, createDisablePluginDropDown, createEnablePluginDropDown, createPolicyBlockedEnableAction, getInstalledPluginContextMenuActions, isPluginPolicyBlocked, notifyPluginPolicyBlocked };
@@ -21,6 +21,7 @@ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/fi
21
21
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
22
22
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
23
23
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
24
+ import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
24
25
  import { IOpenerService } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/common/opener.service';
25
26
  import { asText } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request';
26
27
  import { IRequestService } from '@codingame/monaco-vscode-api/vscode/vs/platform/request/common/request.service';
@@ -38,7 +39,7 @@ import { IPluginMarketplaceService } from '@codingame/monaco-vscode-api/vscode/v
38
39
  import { AgentPluginItemKind } from './agentPluginItems.js';
39
40
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
40
41
  import { EnablementStatusWidget, pluginEnablementLabels } from '../enablementStatusWidget.js';
41
- import { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, createEnablePluginDropDown, createDisablePluginDropDown, UninstallPluginAction } from '../agentPluginActions.js';
42
+ import { EnablementDropDownAction, EnablementDropdownActionViewItem, InstallPluginAction, isPluginPolicyBlocked, createPolicyBlockedEnableAction, createEnablePluginDropDown, createDisablePluginDropDown, UninstallPluginAction } from '../agentPluginActions.js';
42
43
  import * as agentPluginEditor from './media/agentPluginEditor.css';
43
44
  import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
44
45
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -286,12 +287,17 @@ let AgentPluginEditor = class AgentPluginEditor extends EditorPane {
286
287
  );
287
288
  }
288
289
  }
289
- actions.push(
290
- createEnablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
291
- );
292
- actions.push(
293
- createDisablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
294
- );
290
+ if (isPluginPolicyBlocked(item.plugin)) {
291
+ const notificationService = this.instantiationService.invokeFunction(a => a.get(INotificationService));
292
+ actions.push(createPolicyBlockedEnableAction(item.plugin, notificationService));
293
+ } else {
294
+ actions.push(
295
+ createEnablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
296
+ );
297
+ actions.push(
298
+ createDisablePluginDropDown(item.plugin, this.agentPluginService.enablementModel, workspaceService)
299
+ );
300
+ }
295
301
  actions.push(( new UninstallPluginAction(item.plugin)));
296
302
  return actions;
297
303
  }
@@ -357,7 +363,7 @@ let AgentPluginEditor = class AgentPluginEditor extends EditorPane {
357
363
  this.contentDisposables.add(toDisposable(insert(this.layoutParticipants, {
358
364
  layout
359
365
  })));
360
- return this.openMarkdown(this.pluginReadme.get(), ( localize(5181, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(5182, "Readme")), token);
366
+ return this.openMarkdown(this.pluginReadme.get(), ( localize(5245, "No README available.")), readmeContainer, WebviewIndex.Readme, ( localize(5246, "Readme")), token);
361
367
  }
362
368
  async openMarkdown(cacheResult, noContentCopy, container, webviewIndex, title, token) {
363
369
  try {
@@ -529,7 +535,7 @@ let UpdatePluginEditorAction = class UpdatePluginEditorAction extends Action {
529
535
  pluginInstallService,
530
536
  pluginMarketplaceService
531
537
  ) {
532
- super(UpdatePluginEditorAction_1.ID, ( localize(5183, "Update")), "extension-action label prominent install");
538
+ super(UpdatePluginEditorAction_1.ID, ( localize(5247, "Update")), "extension-action label prominent install");
533
539
  this.plugin = plugin;
534
540
  this.liveMarketplacePlugin = liveMarketplacePlugin;
535
541
  this.pluginInstallService = pluginInstallService;
@@ -8,7 +8,7 @@ import { EditorInputCapabilities } from '@codingame/monaco-vscode-api/vscode/vs/
8
8
  import { EditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor/editorInput';
9
9
  import { AgentPluginItemKind } from './agentPluginItems.js';
10
10
 
11
- const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(5184, "Icon of the Agent Plugin editor.")));
11
+ const AgentPluginEditorIcon = registerIcon("agent-plugin-editor-icon", Codicon.extensions, ( localize(5248, "Icon of the Agent Plugin editor.")));
12
12
  function getPluginId(item) {
13
13
  if (item.kind === AgentPluginItemKind.Installed) {
14
14
  return ( item.plugin.uri.toString());
@@ -39,7 +39,7 @@ class AgentPluginEditorInput extends EditorInput {
39
39
  return this._item;
40
40
  }
41
41
  getName() {
42
- return localize(5185, "Plugin: {0}", this._item.name);
42
+ return localize(5249, "Plugin: {0}", this._item.name);
43
43
  }
44
44
  getIcon() {
45
45
  return AgentPluginEditorIcon;
@@ -39,7 +39,6 @@ export declare class AgentPluginRepositoryService implements IAgentPluginReposit
39
39
  private _updateMarketplaceIndex;
40
40
  private _saveMarketplaceIndex;
41
41
  private _cloneRepository;
42
- private _getPluginDir;
43
42
  getPluginSourceInstallUri(sourceDescriptor: IPluginSourceDescriptor): URI;
44
43
  ensurePluginSource(plugin: IMarketplacePlugin, options?: IEnsureRepositoryOptions): Promise<URI>;
45
44
  updatePluginSource(plugin: IMarketplacePlugin, options?: IPullRepositoryOptions): Promise<boolean>;