@codingame/monaco-vscode-chat-service-override 26.2.2 → 28.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 (356) hide show
  1. package/index.js +35 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +15 -0
  4. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +53 -0
  5. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +219 -0
  6. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +89 -0
  7. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +251 -0
  8. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +123 -0
  9. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +278 -0
  10. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +76 -0
  11. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +299 -0
  12. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +67 -0
  13. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +263 -0
  14. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +85 -0
  15. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +397 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -2
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +27 -40
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +9 -3
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +74 -18
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.d.ts +1 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +54 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +87 -53
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +71 -15
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +43 -21
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +13 -5
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +22 -3
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +154 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +53 -43
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +4 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +85 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.d.ts +8 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +33 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +18 -32
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +13 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -17
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +49 -13
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +58 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +537 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.d.ts +17 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +55 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +26 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.js +9 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/media/agentPluginEditor.css +32 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +48 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +282 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +55 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +634 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +10 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -67
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +7 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +27 -18
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.d.ts +1 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +4 -2
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -5
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +2 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +90 -51
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +20 -5
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +43 -27
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +7 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +3 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +84 -22
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.d.ts → localAgentSessionsController.d.ts} +7 -4
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/{localAgentSessionsProvider.js → localAgentSessionsController.js} +24 -17
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +171 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +52 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +20 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +179 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +987 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +246 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +56 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +26 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +130 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +878 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +22 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +38 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +1 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +83 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +45 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +165 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +75 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +692 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +936 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +62 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +702 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +2 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +30 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.d.ts +32 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.js +26 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +36 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +622 -391
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +18 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +419 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +12 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +46 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +34 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +198 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +55 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +314 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.d.ts +23 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +64 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +5 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +84 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +27 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +110 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +46 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +170 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +71 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +611 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +125 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +504 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.d.ts +10 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +914 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +19 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +128 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +61 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +467 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +31 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +113 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +14 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +126 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +38 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +279 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +18 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +122 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +47 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +85 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +788 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.d.ts +2 -5
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +32 -36
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +6 -24
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +2 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +12 -12
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +16 -15
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +63 -76
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +26 -15
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +24 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +40 -413
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +10 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +38 -6
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +5 -1
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +56 -46
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +15 -11
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +52 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +138 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +11 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +166 -41
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +6 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +37 -23
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +17 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +394 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +118 -63
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +28 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.d.ts +66 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +245 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +78 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.js +234 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +88 -14
  188. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +624 -68
  189. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.d.ts +41 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipStorageKeys.js +22 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.d.ts +5 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +88 -24
  193. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +28 -19
  194. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.d.ts +14 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/createSlashCommandsUsageTracker.js +62 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +36 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +110 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.d.ts +10 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/exploreAgentDefaultModel.js +39 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +6 -6
  202. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.d.ts +10 -0
  203. package/vscode/src/vs/workbench/contrib/chat/browser/planAgentDefaultModel.js +39 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +26 -0
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +175 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +99 -0
  207. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +489 -0
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.d.ts +19 -1
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +364 -279
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +18 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +69 -6
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +9 -9
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.d.ts +4 -0
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +8 -8
  218. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  219. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  220. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +4 -4
  221. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +22 -0
  222. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +76 -0
  223. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +5 -0
  224. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +30 -0
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +2 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +67 -38
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +20 -1
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +187 -74
  229. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +31 -0
  230. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +242 -0
  231. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +34 -0
  232. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +45 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  234. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +33 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +311 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +4 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +10 -1
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +29 -14
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +8 -9
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +126 -30
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +9 -5
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +2 -2
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.d.ts +15 -4
  247. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +46 -9
  248. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +8 -1
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +65 -37
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +6 -5
  251. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -20
  252. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +15 -6
  253. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +40 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +28 -0
  255. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +190 -0
  256. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +11 -0
  257. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +44 -0
  258. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +208 -0
  259. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +19 -9
  260. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +261 -105
  261. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.d.ts +21 -2
  262. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -2
  263. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -6
  264. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +16 -8
  265. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +13 -4
  266. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +144 -11
  267. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +36 -3
  268. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  269. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +2 -2
  270. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +57 -0
  271. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +29 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +119 -0
  273. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +748 -0
  274. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +146 -0
  275. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +672 -0
  276. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +35 -16
  277. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +3 -16
  278. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +7 -50
  279. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +2 -1
  280. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +2 -2
  281. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +1 -6
  282. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +4 -8
  283. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -2
  284. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +10 -9
  285. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +26 -1
  287. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +293 -94
  288. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +10 -1
  289. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +86 -30
  290. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +121 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +1422 -0
  292. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +48 -14
  294. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +404 -132
  295. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +17 -2
  296. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +40 -28
  297. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +3 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +13 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  300. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.d.ts +14 -2
  301. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +54 -5
  302. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +12 -5
  303. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +27 -4
  304. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +265 -25
  305. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +6 -11
  306. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +18 -81
  307. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +2 -3
  308. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +10 -10
  309. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  312. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  313. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +6 -2
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +35 -26
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +0 -1
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +1 -5
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +3 -3
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +4 -1
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +13 -11
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +3 -1
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +17 -0
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +302 -69
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +3 -1
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +8 -0
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -10
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +7 -0
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +63 -21
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +8 -0
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +31 -0
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +7 -1
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +46 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +0 -72
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +0 -587
  351. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +0 -12
  352. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +0 -51
  353. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +0 -71
  354. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +0 -293
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.d.ts +0 -2
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/utils.js +0 -31
@@ -38,13 +38,14 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
38
38
  import { toToolSetVariableEntry, toToolVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
39
39
  import { ToolConfirmKind, IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
40
40
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
41
- import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
42
- import { ChatToolInvocation } from '../../common/model/chatProgressTypes/chatToolInvocation.js';
41
+ import { ChatConfiguration, isAutoApproveLevel } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
42
+ import { ChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation';
43
43
  import { chatSessionResourceToId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
44
- import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookSchema';
44
+ import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
45
45
  import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
46
46
  import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, isToolSet, createToolSchemaUri, toolMatchesModel, ToolInvocationPresentation, stringifyPromptTsxPart, ToolSetForModel, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
47
47
  import { getToolConfirmationAlert } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider';
48
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
48
49
  import { ObservableSet } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/set';
49
50
  import { derived, derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
50
51
  import { observableFromEventOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
@@ -58,9 +59,10 @@ var AutoApproveStorageKeys;
58
59
  AutoApproveStorageKeys["GlobalAutoApproveOptIn"] = "chat.tools.global.autoApprove.optIn";
59
60
  })(AutoApproveStorageKeys || (AutoApproveStorageKeys = {}));
60
61
  const SkipAutoApproveConfirmationKey = "vscode.chat.tools.global.autoApprove.testMode";
62
+ const toolIdThatCannotBeAutoApproved = "vscode_get_confirmation_with_options";
61
63
  const globalAutoApproveDescription = ( localize2(
62
- 5852,
63
- "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.**"
64
+ 6440,
65
+ "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."
64
66
  ));
65
67
  let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
66
68
  static {
@@ -79,7 +81,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
79
81
  _accessibilitySignalService,
80
82
  _storageService,
81
83
  _confirmationService,
82
- _commandService
84
+ _commandService,
85
+ _chatWidgetService
83
86
  ) {
84
87
  super();
85
88
  this._instantiationService = _instantiationService;
@@ -95,13 +98,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
95
98
  this._storageService = _storageService;
96
99
  this._confirmationService = _confirmationService;
97
100
  this._commandService = _commandService;
101
+ this._chatWidgetService = _chatWidgetService;
98
102
  this._onDidChangeTools = this._register(( new Emitter()));
99
103
  this.onDidChangeTools = this._onDidChangeTools.event;
100
104
  this._onDidPrepareToolCallBecomeUnresponsive = this._register(( new Emitter()));
101
105
  this.onDidPrepareToolCallBecomeUnresponsive = this._onDidPrepareToolCallBecomeUnresponsive.event;
102
106
  this._onDidInvokeTool = this._register(( new Emitter()));
103
107
  this.onDidInvokeTool = this._onDidInvokeTool.event;
104
- this._onDidChangeToolsScheduler = ( new RunOnceScheduler(() => this._onDidChangeTools.fire(), 750));
108
+ this._onDidChangeToolsScheduler = this._register(( new RunOnceScheduler(() => this._onDidChangeTools.fire(), 750)));
105
109
  this._tools = ( new Map());
106
110
  this._toolContextKeys = ( new Set());
107
111
  this._callsByRequestId = ( new Map());
@@ -160,25 +164,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
160
164
  this.vscodeToolSet = this._register(
161
165
  this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
162
166
  icon: ThemeIcon.fromId(Codicon.vscode.id),
163
- description: ( localize(5853, "Use VS Code features"))
167
+ description: ( localize(6441, "Use VS Code features"))
164
168
  })
165
169
  );
166
170
  this.executeToolSet = this._register(
167
171
  this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
168
172
  icon: ThemeIcon.fromId(Codicon.terminal.id),
169
- description: ( localize(5854, "Execute code and applications on your machine"))
173
+ description: ( localize(6442, "Execute code and applications on your machine"))
170
174
  })
171
175
  );
172
176
  this.readToolSet = this._register(
173
177
  this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
174
178
  icon: ThemeIcon.fromId(Codicon.book.id),
175
- description: ( localize(5855, "Read files in your workspace"))
179
+ description: ( localize(6443, "Read files in your workspace"))
176
180
  })
177
181
  );
178
182
  this.agentToolSet = this._register(
179
183
  this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
180
184
  icon: ThemeIcon.fromId(Codicon.agent.id),
181
- description: ( localize(5856, "Delegate tasks to other agents"))
185
+ description: ( localize(6444, "Delegate tasks to other agents"))
182
186
  })
183
187
  );
184
188
  }
@@ -187,6 +191,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
187
191
  if (agentModeEnabled !== false) {
188
192
  return true;
189
193
  }
194
+ if (!isToolSet(toolOrToolSet) && toolOrToolSet.canBeReferencedInPrompt === false && toolOrToolSet.source.type === "internal") {
195
+ return true;
196
+ }
190
197
  const permittedInternalToolSetIds = [SpecedToolAliases.read, SpecedToolAliases.search, SpecedToolAliases.web];
191
198
  if (isToolSet(toolOrToolSet)) {
192
199
  const permitted = toolOrToolSet.source.type === "internal" && permittedInternalToolSetIds.includes(toolOrToolSet.referenceName);
@@ -329,8 +336,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
329
336
  return undefined;
330
337
  }
331
338
  _handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
332
- const hookReason = hookResult.permissionDecisionReason ?? ( localize(5857, "Hook denied tool execution"));
333
- const reason = ( localize(5858, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
339
+ const hookReason = hookResult.permissionDecisionReason ?? ( localize(6445, "Hook denied tool execution"));
340
+ const reason = ( localize(6446, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
334
341
  this._logService.debug(
335
342
  `[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
336
343
  );
@@ -386,6 +393,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
386
393
  if (dto.context?.sessionResource) {
387
394
  model = this._chatService.getSession(dto.context.sessionResource);
388
395
  request = model?.getRequests().at(-1);
396
+ if (request?.response?.isCanceled || request?.response?.isComplete) {
397
+ this._logService.debug(
398
+ `[LanguageModelToolsService#invokeTool] Ignoring tool ${dto.toolId} for cancelled/complete request ${request.id}`
399
+ );
400
+ throw ( new CancellationError());
401
+ }
389
402
  }
390
403
  let pendingToolCallKey;
391
404
  let toolInvocation;
@@ -515,7 +528,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
515
528
  dto.toolSpecificData = toolInvocation?.toolSpecificData;
516
529
  if (preparedInvocation?.confirmationMessages?.title) {
517
530
  if (!IChatToolInvocation.executionConfirmedOrDenied(toolInvocation) && !autoConfirmed) {
518
- this.playAccessibilitySignal([toolInvocation]);
531
+ this.playAccessibilitySignal([toolInvocation], dto.context?.sessionResource);
519
532
  }
520
533
  const userConfirmed = await IChatToolInvocation.awaitConfirmation(toolInvocation, token);
521
534
  if (userConfirmed.type === ToolConfirmKind.Denied) {
@@ -530,6 +543,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
530
543
  };
531
544
  return toolResult;
532
545
  }
546
+ if (userConfirmed.type === ToolConfirmKind.UserAction && userConfirmed.selectedButton) {
547
+ dto.selectedCustomButton = userConfirmed.selectedButton;
548
+ }
533
549
  if (dto.toolSpecificData?.kind === "input") {
534
550
  dto.parameters = dto.toolSpecificData.rawInput;
535
551
  dto.toolSpecificData = undefined;
@@ -566,17 +582,15 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
566
582
  }, token);
567
583
  invocationTimeWatch.stop();
568
584
  this.ensureToolDetails(dto, toolResult, tool.data);
569
- if (toolInvocation?.didExecuteTool(toolResult).type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
570
- const autoConfirmedPost = await this.shouldAutoConfirmPostExecution(
571
- tool.data.id,
572
- tool.data.runsInWorkspace,
573
- tool.data.source,
574
- dto.parameters,
575
- dto.context?.sessionResource
576
- );
577
- if (autoConfirmedPost) {
578
- IChatToolInvocation.confirmWith(toolInvocation, autoConfirmedPost);
579
- }
585
+ const afterExecuteState = await toolInvocation?.didExecuteTool(toolResult, undefined, () => this.shouldAutoConfirmPostExecution(
586
+ tool.data.id,
587
+ tool.data.runsInWorkspace,
588
+ tool.data.source,
589
+ dto.parameters,
590
+ dto.context?.sessionResource,
591
+ dto.chatRequestId
592
+ ));
593
+ if (toolInvocation && afterExecuteState?.type === IChatToolInvocation.StateKind.WaitingForPostApproval) {
580
594
  const postConfirm = await IChatToolInvocation.awaitPostConfirmation(toolInvocation, token);
581
595
  if (postConfirm.type === ToolConfirmKind.Denied) {
582
596
  throw ( new CancellationError());
@@ -604,7 +618,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
604
618
  const result = isCancellationError(err) ? "userCancelled" : "error";
605
619
  this._telemetryService.publicLog2("languageModelToolInvoked", {
606
620
  result,
607
- chatSessionId: dto.context?.sessionId,
621
+ chatSessionId: dto.context?.sessionResource ? chatSessionResourceToId(dto.context.sessionResource) : undefined,
608
622
  toolId: tool.data.id,
609
623
  toolExtensionId: tool.data.source.type === "extension" ? tool.data.source.extensionId.value : undefined,
610
624
  toolSourceKind: tool.data.source.type,
@@ -642,7 +656,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
642
656
  async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
643
657
  let forceConfirmationReason;
644
658
  if (hookResult?.permissionDecision === "ask") {
645
- const hookMessage = ( localize(5859, "{0} required confirmation", HookType.PreToolUse));
659
+ const hookMessage = ( localize(6447, "{0} required confirmation", HookType.PreToolUse));
646
660
  forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
647
661
  }
648
662
  return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
@@ -655,7 +669,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
655
669
  return {
656
670
  autoConfirmed: {
657
671
  type: ToolConfirmKind.ConfirmationNotNeeded,
658
- reason: ( localize(5860, "Allowed by hook"))
672
+ reason: ( localize(6448, "Allowed by hook"))
659
673
  },
660
674
  preparedInvocation
661
675
  };
@@ -671,14 +685,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
671
685
  const fullReferenceName = getToolFullReferenceName(tool.data);
672
686
  const hookReason = hookResult.permissionDecisionReason;
673
687
  const hookNote = hookReason ? ( localize(
674
- 5861,
688
+ 6449,
675
689
  "{0} hook required confirmation: {1}",
676
690
  HookType.PreToolUse,
677
691
  hookReason
678
- )) : ( localize(5862, "{0} hook required confirmation", HookType.PreToolUse));
692
+ )) : ( localize(6450, "{0} hook required confirmation", HookType.PreToolUse));
679
693
  preparedInvocation.confirmationMessages = {
680
694
  ...preparedInvocation.confirmationMessages,
681
- title: ( localize(5863, "Use the '{0}' tool?", fullReferenceName)),
695
+ title: ( localize(6451, "Use the '{0}' tool?", fullReferenceName)),
682
696
  message: ( new MarkdownString(`_${hookNote}_`)),
683
697
  allowAutoConfirm: false
684
698
  };
@@ -689,11 +703,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
689
703
  } else {
690
704
  const hookReason = hookResult.permissionDecisionReason;
691
705
  const hookNote = hookReason ? ( localize(
692
- 5864,
706
+ 6452,
693
707
  "{0} hook required confirmation: {1}",
694
708
  HookType.PreToolUse,
695
709
  hookReason
696
- )) : ( localize(5865, "{0} hook required confirmation", HookType.PreToolUse));
710
+ )) : ( localize(6453, "{0} hook required confirmation", HookType.PreToolUse));
697
711
  const existing = preparedInvocation.confirmationMessages;
698
712
  if (preparedInvocation.toolSpecificData?.kind === "terminal") {
699
713
  const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
@@ -722,7 +736,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
722
736
  tool.data.runsInWorkspace,
723
737
  tool.data.source,
724
738
  dto.parameters,
725
- sessionResource
739
+ sessionResource,
740
+ dto.chatRequestId
726
741
  );
727
742
  return {
728
743
  autoConfirmed,
@@ -736,7 +751,6 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
736
751
  parameters: dto.parameters,
737
752
  toolCallId: dto.callId,
738
753
  chatRequestId: dto.chatRequestId,
739
- chatSessionId: dto.context?.sessionId,
740
754
  chatSessionResource: dto.context?.sessionResource,
741
755
  chatInteractionId: dto.chatInteractionId,
742
756
  modelId: dto.modelId,
@@ -759,10 +773,10 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
759
773
  const fullReferenceName = getToolFullReferenceName(tool.data);
760
774
  prepared.confirmationMessages = {
761
775
  ...prepared.confirmationMessages,
762
- title: ( localize(5866, "Confirm tool execution")),
763
- message: ( localize(5867, "Run the '{0}' tool?", fullReferenceName)),
764
- disclaimer: ( new MarkdownString(( localize(
765
- 5868,
776
+ title: ( localize(6454, "Confirm tool execution")),
777
+ message: ( localize(6455, "Run the '{0}' tool?", fullReferenceName)),
778
+ disclaimer: tool.data.id === toolIdThatCannotBeAutoApproved ? undefined : ( new MarkdownString(( localize(
779
+ 6456,
766
780
  "Auto approval for '{0}' is restricted via {1}.",
767
781
  getToolFullReferenceName(tool.data),
768
782
  createMarkdownCommandLink({
@@ -777,8 +791,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
777
791
  };
778
792
  }
779
793
  if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
780
- prepared.confirmationMessages.disclaimer = ( new MarkdownString(( localize(
781
- 5868,
794
+ prepared.confirmationMessages.disclaimer = tool.data.id === toolIdThatCannotBeAutoApproved ? undefined : ( new MarkdownString(( localize(
795
+ 6456,
782
796
  "Auto approval for '{0}' is restricted via {1}.",
783
797
  getToolFullReferenceName(tool.data),
784
798
  createMarkdownCommandLink({
@@ -868,11 +882,22 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
868
882
  await this._callHandleToolStream(toolEntry, invocation, toolCallId, partialInput, token);
869
883
  }
870
884
  }
871
- playAccessibilitySignal(toolInvocations) {
885
+ playAccessibilitySignal(toolInvocations, chatSessionResource) {
872
886
  const autoApproved = this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove);
873
887
  if (autoApproved) {
874
888
  return;
875
889
  }
890
+ if (chatSessionResource) {
891
+ const model = this._chatService.getSession(chatSessionResource);
892
+ const request = model?.getRequests().at(-1);
893
+ if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
894
+ return;
895
+ }
896
+ }
897
+ const pendingInvocations = toolInvocations.filter(inv => !IChatToolInvocation.executionConfirmedOrDenied(inv));
898
+ if (pendingInvocations.length === 0) {
899
+ return;
900
+ }
876
901
  const setting = this._configurationService.getValue(AccessibilitySignal.chatUserActionRequired.settingsKey);
877
902
  if (!setting) {
878
903
  return;
@@ -881,7 +906,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
881
906
  const announcementEnabled = this._accessibilityService.isScreenReaderOptimized() && setting.announcement === "auto";
882
907
  if (soundEnabled || announcementEnabled) {
883
908
  this._accessibilitySignalService.playSignal(AccessibilitySignal.chatUserActionRequired, {
884
- customAlertMessage: this._instantiationService.invokeFunction(getToolConfirmationAlert, toolInvocations),
909
+ customAlertMessage: this._instantiationService.invokeFunction(getToolConfirmationAlert, pendingInvocations),
885
910
  userGesture: true,
886
911
  modality: !soundEnabled ? "announcement" : undefined
887
912
  });
@@ -923,6 +948,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
923
948
  }
924
949
  }));
925
950
  }
951
+ _isAutoApprovePolicyRestricted() {
952
+ const inspected = this._configurationService.inspect(ChatConfiguration.GlobalAutoApprove);
953
+ return inspected.policyValue === false;
954
+ }
955
+ _isSessionLiveAutoApproveLevel(chatSessionResource) {
956
+ const widget = this._chatWidgetService.getWidgetBySessionResource(chatSessionResource) ?? this._chatWidgetService.lastFocusedWidget;
957
+ return !!widget && isAutoApproveLevel(widget.input.currentModeInfo.permissionLevel);
958
+ }
926
959
  getEligibleForAutoApprovalSpecialCase(toolData) {
927
960
  if (toolData.id === "vscode_fetchWebPage_internal") {
928
961
  return "fetch";
@@ -934,6 +967,9 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
934
967
  if (toolData.id === "copilot_fetchWebPage") {
935
968
  return true;
936
969
  }
970
+ if (toolData.id === toolIdThatCannotBeAutoApproved) {
971
+ return false;
972
+ }
937
973
  const eligibilityConfig = this._configurationService.getValue(ChatConfiguration.EligibleForAutoApproval);
938
974
  if (eligibilityConfig && typeof eligibilityConfig === "object" && fullReferenceName) {
939
975
  if (Object.prototype.hasOwnProperty.call(eligibilityConfig, fullReferenceName)) {
@@ -955,11 +991,28 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
955
991
  }
956
992
  return true;
957
993
  }
958
- async shouldAutoConfirm(toolId, runsInWorkspace, source, parameters, chatSessionResource) {
994
+ async shouldAutoConfirm(
995
+ toolId,
996
+ runsInWorkspace,
997
+ source,
998
+ parameters,
999
+ chatSessionResource,
1000
+ chatRequestId
1001
+ ) {
959
1002
  const tool = this._tools.get(toolId);
960
1003
  if (!tool) {
961
1004
  return undefined;
962
1005
  }
1006
+ if (chatSessionResource && !this._isAutoApprovePolicyRestricted()) {
1007
+ const model = this._chatService.getSession(chatSessionResource);
1008
+ const request = model?.getRequests().at(-1);
1009
+ if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
1010
+ return {
1011
+ type: ToolConfirmKind.ConfirmationNotNeeded,
1012
+ reason: "auto-approve-all"
1013
+ };
1014
+ }
1015
+ }
963
1016
  if (!this.isToolEligibleForAutoApproval(tool.data)) {
964
1017
  return undefined;
965
1018
  }
@@ -991,7 +1044,24 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
991
1044
  }
992
1045
  return undefined;
993
1046
  }
994
- async shouldAutoConfirmPostExecution(toolId, runsInWorkspace, source, parameters, chatSessionResource) {
1047
+ async shouldAutoConfirmPostExecution(
1048
+ toolId,
1049
+ runsInWorkspace,
1050
+ source,
1051
+ parameters,
1052
+ chatSessionResource,
1053
+ chatRequestId
1054
+ ) {
1055
+ if (chatSessionResource && !this._isAutoApprovePolicyRestricted()) {
1056
+ const model = this._chatService.getSession(chatSessionResource);
1057
+ const request = model?.getRequests().at(-1);
1058
+ if (isAutoApproveLevel(request?.modeInfo?.permissionLevel) || this._isSessionLiveAutoApproveLevel(chatSessionResource)) {
1059
+ return {
1060
+ type: ToolConfirmKind.ConfirmationNotNeeded,
1061
+ reason: "auto-approve-all"
1062
+ };
1063
+ }
1064
+ }
995
1065
  if (this._configurationService.getValue(ChatConfiguration.GlobalAutoApprove) && (await this._checkGlobalAutoApprove())) {
996
1066
  return {
997
1067
  type: ToolConfirmKind.Setting,
@@ -1017,35 +1087,73 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1017
1087
  if (this._contextKeyService.getContextKeyValue(SkipAutoApproveConfirmationKey) === true) {
1018
1088
  return true;
1019
1089
  }
1020
- const promptResult = await this._dialogService.prompt({
1021
- type: Severity.Warning,
1022
- message: ( localize(5869, "Enable global auto approve?")),
1023
- buttons: [{
1024
- label: ( localize(5870, "Enable")),
1025
- run: () => true
1026
- }, {
1027
- label: ( localize(5871, "Disable")),
1028
- run: () => false
1029
- }],
1030
- custom: {
1031
- icon: Codicon.warning,
1032
- disableCloseAction: true,
1033
- markdownDetails: [{
1034
- markdown: ( new MarkdownString(globalAutoApproveDescription.value))
1035
- }]
1090
+ if (this._pendingGlobalAutoApproveCheck) {
1091
+ return this._pendingGlobalAutoApproveCheck;
1092
+ }
1093
+ this._pendingGlobalAutoApproveCheck = this._doCheckGlobalAutoApprove();
1094
+ try {
1095
+ return await this._pendingGlobalAutoApproveCheck;
1096
+ } finally {
1097
+ this._pendingGlobalAutoApproveCheck = undefined;
1098
+ }
1099
+ }
1100
+ async _doCheckGlobalAutoApprove() {
1101
+ const store = ( new DisposableStore());
1102
+ try {
1103
+ const cts = ( new CancellationTokenSource());
1104
+ store.add(cts);
1105
+ store.add(this._storageService.onDidChangeValue(
1106
+ StorageScope.APPLICATION,
1107
+ AutoApproveStorageKeys.GlobalAutoApproveOptIn,
1108
+ store
1109
+ )(() => {
1110
+ if (this._storageService.getBoolean(
1111
+ AutoApproveStorageKeys.GlobalAutoApproveOptIn,
1112
+ StorageScope.APPLICATION,
1113
+ false
1114
+ )) {
1115
+ cts.cancel();
1116
+ }
1117
+ }));
1118
+ const promptResult = await this._dialogService.prompt({
1119
+ type: Severity.Warning,
1120
+ message: ( localize(6457, "Enable global auto approve?")),
1121
+ buttons: [{
1122
+ label: ( localize(6458, "Enable")),
1123
+ run: () => true
1124
+ }, {
1125
+ label: ( localize(6459, "Disable")),
1126
+ run: () => false
1127
+ }],
1128
+ custom: {
1129
+ icon: Codicon.warning,
1130
+ markdownDetails: [{
1131
+ markdown: ( new MarkdownString(globalAutoApproveDescription.value, {
1132
+ isTrusted: {
1133
+ enabledCommands: ["workbench.action.openSettings"]
1134
+ }
1135
+ }))
1136
+ }]
1137
+ },
1138
+ token: cts.token
1139
+ });
1140
+ if (cts.token.isCancellationRequested) {
1141
+ return true;
1036
1142
  }
1037
- });
1038
- if (promptResult.result !== true) {
1039
- await this._configurationService.updateValue(ChatConfiguration.GlobalAutoApprove, false);
1040
- return false;
1143
+ if (promptResult.result !== true) {
1144
+ await this._configurationService.updateValue(ChatConfiguration.GlobalAutoApprove, false);
1145
+ return false;
1146
+ }
1147
+ this._storageService.store(
1148
+ AutoApproveStorageKeys.GlobalAutoApproveOptIn,
1149
+ true,
1150
+ StorageScope.APPLICATION,
1151
+ StorageTarget.USER
1152
+ );
1153
+ return true;
1154
+ } finally {
1155
+ store.dispose();
1041
1156
  }
1042
- this._storageService.store(
1043
- AutoApproveStorageKeys.GlobalAutoApproveOptIn,
1044
- true,
1045
- StorageScope.APPLICATION,
1046
- StorageTarget.USER
1047
- );
1048
- return true;
1049
1157
  }
1050
1158
  cleanupCallDisposables(requestId, store) {
1051
1159
  if (requestId) {
@@ -1303,7 +1411,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1303
1411
  add(alias, fullReferenceName);
1304
1412
  }
1305
1413
  if (tool.legacyToolReferenceFullNames) {
1414
+ const slashIndex = fullReferenceName.lastIndexOf("/");
1415
+ const toolSetPrefix = slashIndex !== -1 ? fullReferenceName.substring(0, slashIndex + 1) : undefined;
1306
1416
  for (const legacyName of tool.legacyToolReferenceFullNames) {
1417
+ if (toolSetPrefix && !legacyName.includes("/")) {
1418
+ add(toolSetPrefix + legacyName, fullReferenceName);
1419
+ }
1307
1420
  if (legacyName.includes("/")) {
1308
1421
  const toolSetFullName = legacyName.substring(0, legacyName.lastIndexOf("/"));
1309
1422
  if (!( knownToolSetNames.has(toolSetFullName))) {
@@ -1335,7 +1448,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1335
1448
  return getToolFullReferenceName(tool, toolSet);
1336
1449
  }
1337
1450
  };
1338
- LanguageModelToolsService = LanguageModelToolsService_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IExtensionService)), ( __param(2, IContextKeyService)), ( __param(3, IChatService)), ( __param(4, IDialogService)), ( __param(5, ITelemetryService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IAccessibilityService)), ( __param(9, IAccessibilitySignalService)), ( __param(10, IStorageService)), ( __param(11, ILanguageModelToolsConfirmationService)), ( __param(12, ICommandService))], LanguageModelToolsService));
1451
+ LanguageModelToolsService = LanguageModelToolsService_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IExtensionService)), ( __param(2, IContextKeyService)), ( __param(3, IChatService)), ( __param(4, IDialogService)), ( __param(5, ITelemetryService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IAccessibilityService)), ( __param(9, IAccessibilitySignalService)), ( __param(10, IStorageService)), ( __param(11, ILanguageModelToolsConfirmationService)), ( __param(12, ICommandService)), ( __param(13, IChatWidgetService))], LanguageModelToolsService));
1339
1452
  function getToolFullReferenceName(tool, toolSet) {
1340
1453
  const toolName = tool.toolReferenceName ?? tool.displayName;
1341
1454
  if (toolSet) {
@@ -1352,4 +1465,4 @@ function getToolSetFullReferenceName(toolSet) {
1352
1465
  return toolSet.referenceName;
1353
1466
  }
1354
1467
 
1355
- export { LanguageModelToolsService, globalAutoApproveDescription };
1468
+ export { AutoApproveStorageKeys, LanguageModelToolsService, globalAutoApproveDescription };
@@ -0,0 +1,31 @@
1
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
+ import { IBulkEditService } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/bulkEditService.service";
5
+ import { ILanguageFeaturesService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/languageFeatures.service";
6
+ import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
7
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
8
+ import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
9
+ import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
10
+ import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
11
+ import { CountTokensCallback, IPreparedToolInvocation, IToolData, IToolImpl, IToolInvocation, IToolInvocationPreparationContext, IToolResult, ToolProgress } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
12
+ import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
13
+ export declare const RenameToolId = "vscode_renameSymbol";
14
+ export declare class RenameTool extends Disposable implements IToolImpl {
15
+ private readonly _languageFeaturesService;
16
+ private readonly _textModelService;
17
+ private readonly _workspaceContextService;
18
+ private readonly _chatService;
19
+ private readonly _bulkEditService;
20
+ private readonly _onDidUpdateToolData;
21
+ readonly onDidUpdateToolData: Event<void>;
22
+ constructor(_languageFeaturesService: ILanguageFeaturesService, _textModelService: ITextModelService, _workspaceContextService: IWorkspaceContextService, _chatService: IChatService, _bulkEditService: IBulkEditService);
23
+ getToolData(): IToolData;
24
+ prepareToolInvocation(context: IToolInvocationPreparationContext, _token: CancellationToken): Promise<IPreparedToolInvocation | undefined>;
25
+ invoke(invocation: IToolInvocation, _countTokens: CountTokensCallback, _progress: ToolProgress, token: CancellationToken): Promise<IToolResult>;
26
+ private _successResult;
27
+ }
28
+ export declare class RenameToolContribution extends Disposable implements IWorkbenchContribution {
29
+ static readonly ID = "chat.renameTool";
30
+ constructor(toolsService: ILanguageModelToolsService, instantiationService: IInstantiationService);
31
+ }