@codingame/monaco-vscode-chat-service-override 33.0.9 → 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
@@ -15,8 +15,8 @@ import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform
15
15
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
16
16
  import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
17
17
 
18
- const RUN_WITHOUT_APPROVAL = ( localize(7028, "without approval"));
19
- const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(7029, "without reviewing result"));
18
+ const RUN_WITHOUT_APPROVAL = ( localize(7148, "without approval"));
19
+ const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(7149, "without reviewing result"));
20
20
  class GenericConfirmStore extends Disposable {
21
21
  constructor(_storageKey, _instantiationService) {
22
22
  super();
@@ -275,9 +275,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
275
275
  arguments: combinationArgs
276
276
  } = ref.combination;
277
277
  actions.push({
278
- label: ( localize(7030, "{0} in this Session", combinationLabel)),
278
+ label: ( localize(7150, "{0} in this Session", combinationLabel)),
279
279
  detail: ( localize(
280
- 7031,
280
+ 7151,
281
281
  "Allow this particular combination of tool and arguments in this session without confirmation."
282
282
  )),
283
283
  divider: !!actions.length,
@@ -287,9 +287,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
287
287
  return true;
288
288
  }
289
289
  }, {
290
- label: ( localize(7032, "{0} in this Workspace", combinationLabel)),
290
+ label: ( localize(7152, "{0} in this Workspace", combinationLabel)),
291
291
  detail: ( localize(
292
- 7033,
292
+ 7153,
293
293
  "Allow this particular combination of tool and arguments in this workspace without confirmation."
294
294
  )),
295
295
  scope: "workspace",
@@ -298,9 +298,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
298
298
  return true;
299
299
  }
300
300
  }, {
301
- label: ( localize(7034, "Always {0}", combinationLabel)),
301
+ label: ( localize(7154, "Always {0}", combinationLabel)),
302
302
  detail: ( localize(
303
- 7035,
303
+ 7155,
304
304
  "Always allow this particular combination of tool and arguments without confirmation."
305
305
  )),
306
306
  scope: "profile",
@@ -311,8 +311,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
311
311
  });
312
312
  }
313
313
  actions.push({
314
- label: ( localize(7036, "Allow in this Session")),
315
- detail: ( localize(7037, "Allow this tool to run in this session without confirmation.")),
314
+ label: ( localize(7156, "Allow in this Session")),
315
+ detail: ( localize(7157, "Allow this tool to run in this session without confirmation.")),
316
316
  divider: !!actions.length,
317
317
  scope: "session",
318
318
  select: async () => {
@@ -320,16 +320,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
320
320
  return true;
321
321
  }
322
322
  }, {
323
- label: ( localize(7038, "Allow in this Workspace")),
324
- detail: ( localize(7039, "Allow this tool to run in this workspace without confirmation.")),
323
+ label: ( localize(7158, "Allow in this Workspace")),
324
+ detail: ( localize(7159, "Allow this tool to run in this workspace without confirmation.")),
325
325
  scope: "workspace",
326
326
  select: async () => {
327
327
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
328
328
  return true;
329
329
  }
330
330
  }, {
331
- label: ( localize(7040, "Always Allow")),
332
- detail: ( localize(7041, "Always allow this tool to run without confirmation.")),
331
+ label: ( localize(7160, "Always Allow")),
332
+ detail: ( localize(7161, "Always allow this tool to run without confirmation.")),
333
333
  scope: "profile",
334
334
  select: async () => {
335
335
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
@@ -342,9 +342,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
342
342
  definitionId
343
343
  } = ref.source;
344
344
  actions.push({
345
- label: ( localize(7042, "Allow Tools from {0} in this Session", serverLabel)),
345
+ label: ( localize(7162, "Allow Tools from {0} in this Session", serverLabel)),
346
346
  detail: ( localize(
347
- 7043,
347
+ 7163,
348
348
  "Allow all tools from this server to run in this session without confirmation."
349
349
  )),
350
350
  divider: true,
@@ -354,9 +354,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
354
354
  return true;
355
355
  }
356
356
  }, {
357
- label: ( localize(7044, "Allow Tools from {0} in this Workspace", serverLabel)),
357
+ label: ( localize(7164, "Allow Tools from {0} in this Workspace", serverLabel)),
358
358
  detail: ( localize(
359
- 7045,
359
+ 7165,
360
360
  "Allow all tools from this server to run in this workspace without confirmation."
361
361
  )),
362
362
  scope: "workspace",
@@ -365,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
365
365
  return true;
366
366
  }
367
367
  }, {
368
- label: ( localize(7046, "Always Allow Tools from {0}", serverLabel)),
368
+ label: ( localize(7166, "Always Allow Tools from {0}", serverLabel)),
369
369
  detail: ( localize(
370
- 7047,
370
+ 7167,
371
371
  "Always allow all tools from this server to run without confirmation."
372
372
  )),
373
373
  scope: "profile",
@@ -389,9 +389,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
389
389
  return actions;
390
390
  }
391
391
  actions.push({
392
- label: ( localize(7048, "Allow Without Review in this Session")),
392
+ label: ( localize(7168, "Allow Without Review in this Session")),
393
393
  detail: ( localize(
394
- 7049,
394
+ 7169,
395
395
  "Allow results from this tool to be sent without confirmation in this session."
396
396
  )),
397
397
  divider: !!actions.length,
@@ -401,9 +401,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
401
401
  return true;
402
402
  }
403
403
  }, {
404
- label: ( localize(7050, "Allow Without Review in this Workspace")),
404
+ label: ( localize(7170, "Allow Without Review in this Workspace")),
405
405
  detail: ( localize(
406
- 7051,
406
+ 7171,
407
407
  "Allow results from this tool to be sent without confirmation in this workspace."
408
408
  )),
409
409
  scope: "workspace",
@@ -412,9 +412,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
412
412
  return true;
413
413
  }
414
414
  }, {
415
- label: ( localize(7052, "Always Allow Without Review")),
415
+ label: ( localize(7172, "Always Allow Without Review")),
416
416
  detail: ( localize(
417
- 7053,
417
+ 7173,
418
418
  "Always allow results from this tool to be sent without confirmation."
419
419
  )),
420
420
  scope: "profile",
@@ -429,9 +429,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
429
429
  definitionId
430
430
  } = ref.source;
431
431
  actions.push({
432
- label: ( localize(7054, "Allow Tools from {0} Without Review in this Session", serverLabel)),
432
+ label: ( localize(7174, "Allow Tools from {0} Without Review in this Session", serverLabel)),
433
433
  detail: ( localize(
434
- 7055,
434
+ 7175,
435
435
  "Allow results from all tools from this server to be sent without confirmation in this session."
436
436
  )),
437
437
  divider: true,
@@ -441,9 +441,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
441
441
  return true;
442
442
  }
443
443
  }, {
444
- label: ( localize(7056, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
444
+ label: ( localize(7176, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
445
445
  detail: ( localize(
446
- 7057,
446
+ 7177,
447
447
  "Allow results from all tools from this server to be sent without confirmation in this workspace."
448
448
  )),
449
449
  scope: "workspace",
@@ -452,9 +452,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
452
452
  return true;
453
453
  }
454
454
  }, {
455
- label: ( localize(7058, "Always Allow Tools from {0} Without Review", serverLabel)),
455
+ label: ( localize(7178, "Always Allow Tools from {0} Without Review", serverLabel)),
456
456
  detail: ( localize(
457
- 7059,
457
+ 7179,
458
458
  "Always allow results from all tools from this server to be sent without confirmation."
459
459
  )),
460
460
  scope: "profile",
@@ -505,7 +505,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
505
505
  manageConfirmationPreferences(tools, options) {
506
506
  const viewArgsButton = {
507
507
  iconClass: ThemeIcon.asClassName(Codicon.info),
508
- tooltip: ( localize(7060, "View Arguments"))
508
+ tooltip: ( localize(7180, "View Arguments"))
509
509
  };
510
510
  const trackServerTool = (serverId, label, toolId, serversWithTools) => {
511
511
  if (!( serversWithTools.has(serverId))) {
@@ -652,7 +652,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
652
652
  type: "server-post",
653
653
  serverId,
654
654
  iconClass: ThemeIcon.asClassName(Codicon.play),
655
- label: ( localize(7061, "Continue without reviewing any tool results")),
655
+ label: ( localize(7181, "Continue without reviewing any tool results")),
656
656
  checked: serverPostConfirmed
657
657
  });
658
658
  }
@@ -661,7 +661,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
661
661
  type: "server-pre",
662
662
  serverId,
663
663
  iconClass: ThemeIcon.asClassName(Codicon.play),
664
- label: ( localize(7062, "Run any tool without approval")),
664
+ label: ( localize(7182, "Run any tool without approval")),
665
665
  checked: serverPreConfirmed
666
666
  });
667
667
  }
@@ -779,7 +779,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
779
779
  if (currentScope !== "session") {
780
780
  const scopeButton = {
781
781
  iconClass: ThemeIcon.asClassName(Codicon.folder),
782
- tooltip: ( localize(7063, "Configure for this workspace only")),
782
+ tooltip: ( localize(7183, "Configure for this workspace only")),
783
783
  toggle: {
784
784
  checked: currentScope === "workspace"
785
785
  },
@@ -796,9 +796,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
796
796
  }
797
797
  const updatePlaceholder = () => {
798
798
  if (currentScope === "session") {
799
- quickTree.placeholder = ( localize(7064, "Configure session tool approvals"));
799
+ quickTree.placeholder = ( localize(7184, "Configure session tool approvals"));
800
800
  } else {
801
- quickTree.placeholder = currentScope === "workspace" ? ( localize(7065, "Configure workspace tool approvals")) : ( localize(7066, "Configure global tool approvals"));
801
+ quickTree.placeholder = currentScope === "workspace" ? ( localize(7185, "Configure workspace tool approvals")) : ( localize(7186, "Configure global tool approvals"));
802
802
  }
803
803
  };
804
804
  updatePlaceholder();
@@ -849,7 +849,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
849
849
  i.item.onDidTriggerItemButton?.(i.button);
850
850
  } else if (i.item.type === "combination" && i.button === viewArgsButton && i.item.combinationArgs) {
851
851
  this._dialogService.prompt({
852
- message: ( localize(7067, "Arguments")),
852
+ message: ( localize(7187, "Arguments")),
853
853
  buttons: [],
854
854
  custom: {
855
855
  markdownDetails: [{
@@ -69,7 +69,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
69
69
  "vscode_get_modified_files_confirmation"
70
70
  ]));
71
71
  const globalAutoApproveDescription = ( localize2(
72
- 7068,
72
+ 7188,
73
73
  "Global auto approve also known as \"YOLO mode\" disables manual approval completely for _all tools in all workspaces_, allowing the agent to act fully autonomously. This is extremely dangerous and is *never* recommended, even containerized environments like [Codespaces](https://github.com/features/codespaces) and [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) have user keys forwarded into the container that could be compromised.\n\n**This feature disables [critical security protections](https://code.visualstudio.com/docs/copilot/security) and makes it much easier for an attacker to compromise the machine.**\n\nNote: This setting only controls tool approval and does not prevent the agent from asking questions. To automatically answer agent questions, use the [`chat.autoReply`](command:workbench.action.openSettings?%5B%22chat.autoReply%22%5D) setting."
74
74
  ));
75
75
  let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
@@ -174,25 +174,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
174
174
  this.vscodeToolSet = this._register(
175
175
  this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
176
176
  icon: ThemeIcon.fromId(Codicon.vscode.id),
177
- description: ( localize(7069, "Use VS Code features"))
177
+ description: ( localize(7189, "Use VS Code features"))
178
178
  })
179
179
  );
180
180
  this.executeToolSet = this._register(
181
181
  this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
182
182
  icon: ThemeIcon.fromId(Codicon.terminal.id),
183
- description: ( localize(7070, "Execute code and applications on your machine"))
183
+ description: ( localize(7190, "Execute code and applications on your machine"))
184
184
  })
185
185
  );
186
186
  this.readToolSet = this._register(
187
187
  this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
188
188
  icon: ThemeIcon.fromId(Codicon.book.id),
189
- description: ( localize(7071, "Read files in your workspace"))
189
+ description: ( localize(7191, "Read files in your workspace"))
190
190
  })
191
191
  );
192
192
  this.agentToolSet = this._register(
193
193
  this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
194
194
  icon: ThemeIcon.fromId(Codicon.agent.id),
195
- description: ( localize(7072, "Delegate tasks to other agents"))
195
+ description: ( localize(7192, "Delegate tasks to other agents"))
196
196
  })
197
197
  );
198
198
  }
@@ -355,8 +355,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
355
355
  return undefined;
356
356
  }
357
357
  _handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
358
- const hookReason = hookResult.permissionDecisionReason ?? ( localize(7073, "Hook denied tool execution"));
359
- const reason = ( localize(7074, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
358
+ const hookReason = hookResult.permissionDecisionReason ?? ( localize(7193, "Hook denied tool execution"));
359
+ const reason = ( localize(7194, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
360
360
  this._logService.debug(
361
361
  `[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
362
362
  );
@@ -694,7 +694,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
694
694
  async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
695
695
  let forceConfirmationReason;
696
696
  if (hookResult?.permissionDecision === "ask") {
697
- const hookMessage = ( localize(7075, "{0} required confirmation", HookType.PreToolUse));
697
+ const hookMessage = ( localize(7195, "{0} required confirmation", HookType.PreToolUse));
698
698
  forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
699
699
  }
700
700
  return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
@@ -717,6 +717,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
717
717
  const terminalData = dto.toolSpecificData?.kind === "terminal" ? dto.toolSpecificData : undefined;
718
718
  this._telemetryService.publicLog2("chat.toolApproval", {
719
719
  confirmKind: confirmKindNames[reason.type],
720
+ requestId: dto.chatRequestId,
720
721
  settingId: reason.type === ToolConfirmKind.Setting ? reason.id : undefined,
721
722
  lmServiceScope: reason.type === ToolConfirmKind.LmServicePerTool ? reason.scope : undefined,
722
723
  customButtonKind: reason.type === ToolConfirmKind.UserAction ? reason.selectedButtonKind : undefined,
@@ -737,7 +738,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
737
738
  return {
738
739
  autoConfirmed: {
739
740
  type: ToolConfirmKind.ConfirmationNotNeeded,
740
- reason: ( localize(7076, "Allowed by hook"))
741
+ reason: ( localize(7196, "Allowed by hook"))
741
742
  },
742
743
  preparedInvocation
743
744
  };
@@ -753,14 +754,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
753
754
  const fullReferenceName = getToolFullReferenceName(tool.data);
754
755
  const hookReason = hookResult.permissionDecisionReason;
755
756
  const hookNote = hookReason ? ( localize(
756
- 7077,
757
+ 7197,
757
758
  "{0} hook required confirmation: {1}",
758
759
  HookType.PreToolUse,
759
760
  hookReason
760
- )) : ( localize(7078, "{0} hook required confirmation", HookType.PreToolUse));
761
+ )) : ( localize(7198, "{0} hook required confirmation", HookType.PreToolUse));
761
762
  preparedInvocation.confirmationMessages = {
762
763
  ...preparedInvocation.confirmationMessages,
763
- title: ( localize(7079, "Use the '{0}' tool?", fullReferenceName)),
764
+ title: ( localize(7199, "Use the '{0}' tool?", fullReferenceName)),
764
765
  message: ( new MarkdownString(`_${hookNote}_`)),
765
766
  allowAutoConfirm: false
766
767
  };
@@ -771,11 +772,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
771
772
  } else {
772
773
  const hookReason = hookResult.permissionDecisionReason;
773
774
  const hookNote = hookReason ? ( localize(
774
- 7080,
775
+ 7200,
775
776
  "{0} hook required confirmation: {1}",
776
777
  HookType.PreToolUse,
777
778
  hookReason
778
- )) : ( localize(7081, "{0} hook required confirmation", HookType.PreToolUse));
779
+ )) : ( localize(7201, "{0} hook required confirmation", HookType.PreToolUse));
779
780
  const existing = preparedInvocation.confirmationMessages;
780
781
  if (preparedInvocation.toolSpecificData?.kind === "terminal") {
781
782
  const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
@@ -852,17 +853,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
852
853
  const fullReferenceName = getToolFullReferenceName(tool.data);
853
854
  prepared.confirmationMessages = {
854
855
  ...prepared.confirmationMessages,
855
- title: ( localize(7082, "Confirm tool execution")),
856
- message: ( localize(7083, "Run the '{0}' tool?", fullReferenceName)),
856
+ title: ( localize(7202, "Confirm tool execution")),
857
+ message: ( localize(7203, "Run the '{0}' tool?", fullReferenceName)),
857
858
  disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
858
- 7084,
859
+ 7204,
859
860
  "Auto approval for '{0}' is restricted via {1}.",
860
861
  getToolFullReferenceName(tool.data),
861
862
  createMarkdownCommandLink({
862
863
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
863
864
  id: "workbench.action.openSettings",
864
865
  arguments: [ChatConfiguration.EligibleForAutoApproval],
865
- tooltip: ( localize(7085, "Open settings to configure auto-approval"))
866
+ tooltip: ( localize(7205, "Open settings to configure auto-approval"))
866
867
  }, false)
867
868
  )), {
868
869
  isTrusted: true
@@ -872,14 +873,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
872
873
  }
873
874
  if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
874
875
  prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
875
- 7084,
876
+ 7204,
876
877
  "Auto approval for '{0}' is restricted via {1}.",
877
878
  getToolFullReferenceName(tool.data),
878
879
  createMarkdownCommandLink({
879
880
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
880
881
  id: "workbench.action.openSettings",
881
882
  arguments: [ChatConfiguration.EligibleForAutoApproval],
882
- tooltip: ( localize(7085, "Open settings to configure auto-approval"))
883
+ tooltip: ( localize(7205, "Open settings to configure auto-approval"))
883
884
  }, false)
884
885
  )), {
885
886
  isTrusted: true
@@ -1231,12 +1232,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1231
1232
  }));
1232
1233
  const promptResult = await this._dialogService.prompt({
1233
1234
  type: Severity.Warning,
1234
- message: ( localize(7086, "Enable global auto approve?")),
1235
+ message: ( localize(7206, "Enable global auto approve?")),
1235
1236
  buttons: [{
1236
- label: ( localize(7087, "Enable")),
1237
+ label: ( localize(7207, "Enable")),
1237
1238
  run: () => true
1238
1239
  }, {
1239
- label: ( localize(7088, "Disable")),
1240
+ label: ( localize(7208, "Disable")),
1240
1241
  run: () => false
1241
1242
  }],
1242
1243
  custom: {
@@ -52,7 +52,7 @@ let RenameTool = class RenameTool extends Disposable {
52
52
  this._bulkEditService = _bulkEditService;
53
53
  }
54
54
  getToolData() {
55
- return this._buildToolData(StaticModelDescription, ( localize(7089, "Rename a symbol across the workspace")));
55
+ return this._buildToolData(StaticModelDescription, ( localize(7209, "Rename a symbol across the workspace")));
56
56
  }
57
57
  _buildToolData(modelDescription, userDescription) {
58
58
  return {
@@ -60,7 +60,7 @@ let RenameTool = class RenameTool extends Disposable {
60
60
  toolReferenceName: "rename",
61
61
  canBeReferencedInPrompt: false,
62
62
  icon: ThemeIcon.fromId(Codicon.rename.id),
63
- displayName: ( localize(7090, "Rename Symbol")),
63
+ displayName: ( localize(7210, "Rename Symbol")),
64
64
  userDescription,
65
65
  modelDescription,
66
66
  source: ToolDataSource.Internal,
@@ -95,7 +95,7 @@ let RenameTool = class RenameTool extends Disposable {
95
95
  async prepareToolInvocation(context, _token) {
96
96
  const input = context.parameters;
97
97
  return {
98
- invocationMessage: ( localize(7091, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
98
+ invocationMessage: ( localize(7211, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
99
99
  };
100
100
  }
101
101
  async invoke(invocation, _countTokens, _progress, token) {
@@ -183,13 +183,13 @@ let RenameTool = class RenameTool extends Disposable {
183
183
  }
184
184
  _successResult(input, fileCount, editCount) {
185
185
  const text = editCount === 1 ? ( localize(
186
- 7092,
186
+ 7212,
187
187
  "Renamed `{0}` to `{1}` - 1 edit in {2} file.",
188
188
  input.symbol,
189
189
  input.newName,
190
190
  fileCount
191
191
  )) : ( localize(
192
- 7093,
192
+ 7213,
193
193
  "Renamed `{0}` to `{1}` - {2} edits across {3} files.",
194
194
  input.symbol,
195
195
  input.newName,
@@ -1,6 +1,10 @@
1
1
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
2
2
  import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
3
+ import type { ITerminalSandboxPrecheckInputs } from "../../../../../platform/sandbox/common/terminalSandboxService.js";
3
4
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
5
+ import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service";
6
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
7
+ import { ChatPermissionLevel } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
4
8
  import { IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
5
9
  export interface ISymbolToolInput {
6
10
  symbol: string;
@@ -14,6 +18,20 @@ export interface ISymbolToolInput {
14
18
  * (agents window), relative paths are resolved against it first.
15
19
  */
16
20
  export declare function resolveToolUri(input: ISymbolToolInput, workspaceContextService: IWorkspaceContextService, workingDirectory?: URI): URI | undefined;
21
+ /**
22
+ * Gets the chat permission level that should apply to a tool invocation.
23
+ *
24
+ * When a request id is available, the request-stamped permission level is the
25
+ * source of truth for that invocation. If the request cannot be resolved (for
26
+ * example during early streaming), fall back to the live session widget and then
27
+ * the latest request in the chat model.
28
+ */
29
+ export declare function getChatPermissionLevelForToolInvocation(chatSessionResource: URI | undefined, chatRequestId: string | undefined, chatWidgetService: IChatWidgetService, chatService: IChatService): ChatPermissionLevel | undefined;
30
+ /**
31
+ * Translates the chat permission level for a tool invocation into the
32
+ * platform-neutral sandbox precheck inputs.
33
+ */
34
+ export declare function getSandboxPrecheckInputsForToolInvocation(chatSessionResource: URI | undefined, chatRequestId: string | undefined, chatWidgetService: IChatWidgetService, chatService: IChatService): ITerminalSandboxPrecheckInputs | undefined;
17
35
  /**
18
36
  * Finds the line number in the model that matches the given line content.
19
37
  * Whitespace is normalized so that extra spaces in the input still match.
@@ -2,6 +2,7 @@
2
2
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
3
3
  import { escapeRegExpCharacters } from '@codingame/monaco-vscode-api/vscode/vs/base/common/strings';
4
4
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
5
+ import { ChatPermissionLevel, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
5
6
  import { createToolSimpleTextResult } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/builtinTools/toolHelpers';
6
7
  import { WorkingDirectory } from '../../common/workingDirectory.js';
7
8
 
@@ -15,6 +16,27 @@ function resolveToolUri(input, workspaceContextService, workingDirectory) {
15
16
  }
16
17
  return undefined;
17
18
  }
19
+ function getChatPermissionLevelForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService) {
20
+ if (!chatSessionResource) {
21
+ return undefined;
22
+ }
23
+ const model = chatService.getSession(chatSessionResource);
24
+ const request = chatRequestId ? model?.getRequests().find(request => request.id === chatRequestId) : undefined;
25
+ if (request) {
26
+ return request.modeInfo?.permissionLevel ?? ChatPermissionLevel.Default;
27
+ }
28
+ const widget = chatWidgetService.getWidgetBySessionResource(chatSessionResource);
29
+ if (widget) {
30
+ return widget.input.currentModeInfo.permissionLevel ?? ChatPermissionLevel.Default;
31
+ }
32
+ return model?.getRequests().at(-1)?.modeInfo?.permissionLevel ?? ChatPermissionLevel.Default;
33
+ }
34
+ function getSandboxPrecheckInputsForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService) {
35
+ const chatPermissionLevel = getChatPermissionLevelForToolInvocation(chatSessionResource, chatRequestId, chatWidgetService, chatService);
36
+ return chatPermissionLevel === undefined ? undefined : {
37
+ isDefaultApprovalPermissionEnabled: !isAutoApproveLevel(chatPermissionLevel)
38
+ };
39
+ }
18
40
  function findLineNumber(model, lineContent) {
19
41
  const parts = lineContent.trim().split(/\s+/);
20
42
  const pattern = ( parts.map(escapeRegExpCharacters)).join("\\s+");
@@ -38,4 +60,4 @@ function errorResult(message) {
38
60
  return result;
39
61
  }
40
62
 
41
- export { errorResult, findLineNumber, findSymbolColumn, resolveToolUri };
63
+ export { errorResult, findLineNumber, findSymbolColumn, getChatPermissionLevelForToolInvocation, getSandboxPrecheckInputsForToolInvocation, resolveToolUri };
@@ -54,7 +54,7 @@ let UsagesTool = class UsagesTool extends Disposable {
54
54
  this._workspaceContextService = _workspaceContextService;
55
55
  }
56
56
  getToolData() {
57
- return this._buildToolData(StaticModelDescription, ( localize(7107, "Find references, definitions, and implementations of a symbol")));
57
+ return this._buildToolData(StaticModelDescription, ( localize(7227, "Find references, definitions, and implementations of a symbol")));
58
58
  }
59
59
  _buildToolData(modelDescription, userDescription) {
60
60
  return {
@@ -62,7 +62,7 @@ let UsagesTool = class UsagesTool extends Disposable {
62
62
  toolReferenceName: "usages",
63
63
  canBeReferencedInPrompt: false,
64
64
  icon: ThemeIcon.fromId(Codicon.references.id),
65
- displayName: ( localize(7108, "List Code Usages")),
65
+ displayName: ( localize(7228, "List Code Usages")),
66
66
  userDescription,
67
67
  modelDescription,
68
68
  source: ToolDataSource.Internal,
@@ -93,7 +93,7 @@ let UsagesTool = class UsagesTool extends Disposable {
93
93
  async prepareToolInvocation(context, _token) {
94
94
  const input = context.parameters;
95
95
  return {
96
- invocationMessage: ( localize(7109, "Analyzing usages of `{0}`", input.symbol))
96
+ invocationMessage: ( localize(7229, "Analyzing usages of `{0}`", input.symbol))
97
97
  };
98
98
  }
99
99
  async invoke(invocation, _countTokens, _progress, token) {
@@ -146,7 +146,7 @@ let UsagesTool = class UsagesTool extends Disposable {
146
146
  )]);
147
147
  if (references.length === 0) {
148
148
  const result = createToolSimpleTextResult(`No usages found for \`${input.symbol}\`.`);
149
- result.toolResultMessage = ( new MarkdownString(( localize(7110, "Analyzed usages of `{0}`, no results", input.symbol))));
149
+ result.toolResultMessage = ( new MarkdownString(( localize(7230, "Analyzed usages of `{0}`, no results", input.symbol))));
150
150
  return result;
151
151
  }
152
152
  const previews = await this._getLinePreviews(input.symbol, references, token);
@@ -167,8 +167,8 @@ let UsagesTool = class UsagesTool extends Disposable {
167
167
  }
168
168
  const text = lines.join("\n");
169
169
  const result = createToolSimpleTextResult(text);
170
- result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7111, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
171
- 7112,
170
+ result.toolResultMessage = references.length === 1 ? ( new MarkdownString(( localize(7231, "Analyzed usages of `{0}`, 1 result", input.symbol)))) : ( new MarkdownString(( localize(
171
+ 7232,
172
172
  "Analyzed usages of `{0}`, {1} results",
173
173
  input.symbol,
174
174
  references.length
@@ -4,11 +4,12 @@ import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log
4
4
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
5
  import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
6
6
  import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
7
+ import { COPILOT_VENDOR_ID } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
7
8
  import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
8
9
  import { createDefaultModelArrays, DefaultModelContribution } from './defaultModelContribution.js';
9
10
 
10
- const defaultEntryLabel = ( localize(7113, "Default"));
11
- const defaultEntryDescription = ( localize(7114, "Use the built-in default utility model"));
11
+ const defaultEntryLabel = ( localize(7233, "Default"));
12
+ const defaultEntryDescription = ( localize(7234, "Use the built-in default utility model"));
12
13
  const utilityArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
13
14
  const utilitySmallArrays = createDefaultModelArrays(defaultEntryLabel, defaultEntryDescription);
14
15
  let UtilityModelContribution = class UtilityModelContribution extends DefaultModelContribution {
@@ -29,6 +30,7 @@ let UtilityModelContribution = class UtilityModelContribution extends DefaultMod
29
30
  configKey: ChatConfiguration.UtilityModel,
30
31
  configSectionId: "chatSidebar",
31
32
  logPrefix: "[UtilityModel]",
33
+ filter: metadata => metadata.vendor !== COPILOT_VENDOR_ID,
32
34
  storageFormat: "vendorAndId",
33
35
  defaultEntryLabel,
34
36
  defaultEntryDescription
@@ -54,6 +56,7 @@ let UtilitySmallModelContribution = class UtilitySmallModelContribution extends
54
56
  configKey: ChatConfiguration.UtilitySmallModel,
55
57
  configSectionId: "chatSidebar",
56
58
  logPrefix: "[UtilitySmallModel]",
59
+ filter: metadata => metadata.vendor !== COPILOT_VENDOR_ID,
57
60
  storageFormat: "vendorAndId",
58
61
  defaultEntryLabel,
59
62
  defaultEntryDescription
@@ -17,29 +17,29 @@ const chatViewsWelcomeJsonSchema = {
17
17
  properties: {
18
18
  icon: {
19
19
  type: "string",
20
- description: ( localize(7115, "The icon for the welcome message."))
20
+ description: ( localize(7235, "The icon for the welcome message."))
21
21
  },
22
22
  title: {
23
23
  type: "string",
24
- description: ( localize(7116, "The title of the welcome message."))
24
+ description: ( localize(7236, "The title of the welcome message."))
25
25
  },
26
26
  content: {
27
27
  type: "string",
28
28
  description: ( localize(
29
- 7117,
29
+ 7237,
30
30
  "The content of the welcome message. The first command link will be rendered as a button."
31
31
  ))
32
32
  },
33
33
  when: {
34
34
  type: "string",
35
- description: ( localize(7118, "Condition when the welcome message is shown."))
35
+ description: ( localize(7238, "Condition when the welcome message is shown."))
36
36
  }
37
37
  }
38
38
  };
39
39
  const chatViewsWelcomeExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
40
40
  extensionPoint: "chatViewsWelcome",
41
41
  jsonSchema: {
42
- description: ( localize(7119, "Contributes a welcome message to a chat view")),
42
+ description: ( localize(7239, "Contributes a welcome message to a chat view")),
43
43
  type: "array",
44
44
  items: chatViewsWelcomeJsonSchema
45
45
  }