@codingame/monaco-vscode-chat-service-override 32.0.2 → 33.0.5

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 (257) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +15 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +170 -24
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +372 -66
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +18 -1
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +160 -31
  8. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.d.ts +8 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemService.js +19 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.d.ts +134 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentHostSchema.js +257 -0
  12. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +84 -3
  13. package/vscode/src/vs/platform/agentHost/common/agentService.js +9 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +61 -1
  15. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +61 -1
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +3 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +1 -1
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +1 -1
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +1 -1
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +4 -4
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +1 -1
  22. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +2 -7
  23. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +8 -29
  24. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  25. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +60 -60
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +7 -7
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +10 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.d.ts +10 -1
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +180 -174
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +12 -12
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +20 -20
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.d.ts +64 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/exportAgentHostDebugLogsAction.js +330 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.d.ts +24 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/openCopilotCliStateFileAction.js +77 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +6 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +5 -5
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.d.ts +51 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostUntitledProvisionalSessionService.js +267 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +4 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +53 -53
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  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 +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +5 -4
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +30 -28
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +26 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +7 -6
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +150 -119
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +45 -44
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +0 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +58 -76
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +25 -25
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +2 -2
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +2 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +3 -3
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +2 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +88 -70
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +82 -56
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +10 -8
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +2 -6
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +89 -71
  89. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.d.ts +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +2 -2843
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.d.ts +1 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chat.shared.contribution.js +2934 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +99 -99
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +20 -20
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +22 -22
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +24 -24
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +33 -33
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +4 -4
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +53 -20
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +131 -61
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +23 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +91 -15
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -21
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -28
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +14 -14
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +203 -163
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +1 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +31 -54
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +88 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +19 -19
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  146. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +17 -4
  147. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.d.ts +8 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContext.contribution.js +91 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.d.ts +52 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/copilotCliEventsUri.js +82 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.d.ts +21 -1
  152. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +55 -18
  153. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  154. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.d.ts +51 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/hasByokModelsContribution.js +106 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +4 -2
  158. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +4 -4
  159. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +5 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.d.ts +38 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/pluginAutoUpdate.js +59 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +25 -25
  164. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  166. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  167. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +27 -27
  168. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -6
  171. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  172. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  173. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  174. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  175. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  176. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  177. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  178. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +1 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +38 -28
  180. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +5 -7
  181. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +5 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +106 -7
  183. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +6 -8
  184. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.d.ts +28 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/utilityModelContribution.js +75 -0
  186. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.d.ts → chatOutputPartStateCache.d.ts} +5 -6
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/{toolInvocationParts/chatToolOutputStateCache.js → chatOutputPartStateCache.js} +19 -11
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +58 -26
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +9 -9
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +18 -9
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  198. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +13 -5
  199. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +6 -2
  200. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +19 -18
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +1 -2
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  205. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +6 -7
  206. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +14 -15
  207. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +155 -156
  208. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.d.ts +6 -0
  209. package/vscode/src/vs/workbench/contrib/chat/common/tools/copilotToolIds.js +12 -0
  210. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.d.ts +88 -0
  211. package/vscode/src/vs/workbench/contrib/chat/common/tools/toolResultCompressor.js +25 -0
  212. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  213. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.d.ts +1 -0
  214. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarousel.contribution.js +237 -0
  215. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.d.ts +66 -0
  216. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditor.js +600 -0
  217. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.d.ts +18 -0
  218. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselEditorInput.js +47 -0
  219. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.d.ts +22 -0
  220. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/imageCarouselTypes.js +7 -0
  221. package/vscode/src/vs/workbench/contrib/imageCarousel/browser/media/imageCarousel.css +298 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +15 -15
  223. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +4 -4
  225. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  230. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +12 -1
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +78 -7
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +15 -11
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -9
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -16
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.d.ts +60 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandParser.js +286 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.d.ts +24 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCache.js +285 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +19 -12
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +415 -47
  252. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +2 -7
  253. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +1 -1
  254. package/vscode/src/vs/base/common/defaultAccount.d.ts +0 -69
  255. package/vscode/src/vs/base/common/defaultAccount.js +0 -12
  256. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +0 -15
  257. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +0 -85
@@ -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(6958, "without approval"));
19
- const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6959, "without reviewing result"));
18
+ const RUN_WITHOUT_APPROVAL = ( localize(7028, "without approval"));
19
+ const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(7029, "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(6960, "{0} in this Session", combinationLabel)),
278
+ label: ( localize(7030, "{0} in this Session", combinationLabel)),
279
279
  detail: ( localize(
280
- 6961,
280
+ 7031,
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(6962, "{0} in this Workspace", combinationLabel)),
290
+ label: ( localize(7032, "{0} in this Workspace", combinationLabel)),
291
291
  detail: ( localize(
292
- 6963,
292
+ 7033,
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(6964, "Always {0}", combinationLabel)),
301
+ label: ( localize(7034, "Always {0}", combinationLabel)),
302
302
  detail: ( localize(
303
- 6965,
303
+ 7035,
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(6966, "Allow in this Session")),
315
- detail: ( localize(6967, "Allow this tool to run in this session without confirmation.")),
314
+ label: ( localize(7036, "Allow in this Session")),
315
+ detail: ( localize(7037, "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(6968, "Allow in this Workspace")),
324
- detail: ( localize(6969, "Allow this tool to run in this workspace without confirmation.")),
323
+ label: ( localize(7038, "Allow in this Workspace")),
324
+ detail: ( localize(7039, "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(6970, "Always Allow")),
332
- detail: ( localize(6971, "Always allow this tool to run without confirmation.")),
331
+ label: ( localize(7040, "Always Allow")),
332
+ detail: ( localize(7041, "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(6972, "Allow Tools from {0} in this Session", serverLabel)),
345
+ label: ( localize(7042, "Allow Tools from {0} in this Session", serverLabel)),
346
346
  detail: ( localize(
347
- 6973,
347
+ 7043,
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(6974, "Allow Tools from {0} in this Workspace", serverLabel)),
357
+ label: ( localize(7044, "Allow Tools from {0} in this Workspace", serverLabel)),
358
358
  detail: ( localize(
359
- 6975,
359
+ 7045,
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(6976, "Always Allow Tools from {0}", serverLabel)),
368
+ label: ( localize(7046, "Always Allow Tools from {0}", serverLabel)),
369
369
  detail: ( localize(
370
- 6977,
370
+ 7047,
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(6978, "Allow Without Review in this Session")),
392
+ label: ( localize(7048, "Allow Without Review in this Session")),
393
393
  detail: ( localize(
394
- 6979,
394
+ 7049,
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(6980, "Allow Without Review in this Workspace")),
404
+ label: ( localize(7050, "Allow Without Review in this Workspace")),
405
405
  detail: ( localize(
406
- 6981,
406
+ 7051,
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(6982, "Always Allow Without Review")),
415
+ label: ( localize(7052, "Always Allow Without Review")),
416
416
  detail: ( localize(
417
- 6983,
417
+ 7053,
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(6984, "Allow Tools from {0} Without Review in this Session", serverLabel)),
432
+ label: ( localize(7054, "Allow Tools from {0} Without Review in this Session", serverLabel)),
433
433
  detail: ( localize(
434
- 6985,
434
+ 7055,
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(6986, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
444
+ label: ( localize(7056, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
445
445
  detail: ( localize(
446
- 6987,
446
+ 7057,
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(6988, "Always Allow Tools from {0} Without Review", serverLabel)),
455
+ label: ( localize(7058, "Always Allow Tools from {0} Without Review", serverLabel)),
456
456
  detail: ( localize(
457
- 6989,
457
+ 7059,
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(6990, "View Arguments"))
508
+ tooltip: ( localize(7060, "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(6991, "Continue without reviewing any tool results")),
655
+ label: ( localize(7061, "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(6992, "Run any tool without approval")),
664
+ label: ( localize(7062, "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(6993, "Configure for this workspace only")),
782
+ tooltip: ( localize(7063, "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(6994, "Configure session tool approvals"));
799
+ quickTree.placeholder = ( localize(7064, "Configure session tool approvals"));
800
800
  } else {
801
- quickTree.placeholder = currentScope === "workspace" ? ( localize(6995, "Configure workspace tool approvals")) : ( localize(6996, "Configure global tool approvals"));
801
+ quickTree.placeholder = currentScope === "workspace" ? ( localize(7065, "Configure workspace tool approvals")) : ( localize(7066, "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(6997, "Arguments")),
852
+ message: ( localize(7067, "Arguments")),
853
853
  buttons: [],
854
854
  custom: {
855
855
  markdownDetails: [{
@@ -71,6 +71,7 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
71
71
  private _pendingGlobalAutoApproveCheck;
72
72
  private readonly _isAgentModeEnabled;
73
73
  constructor(_instantiationService: IInstantiationService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _chatService: IChatService, _dialogService: IDialogService, _telemetryService: ITelemetryService, _logService: ILogService, _configurationService: IConfigurationService, _accessibilityService: IAccessibilityService, _accessibilitySignalService: IAccessibilitySignalService, _storageService: IStorageService, _confirmationService: ILanguageModelToolsConfirmationService, _commandService: ICommandService, _chatWidgetService: IChatWidgetService, _toolResultCompressor: IToolResultCompressor);
74
+ private isToolEnabledForModel;
74
75
  /**
75
76
  * Returns if the given tool or toolset is permitted in the current context.
76
77
  * When agent mode is enabled, all tools are permitted (no restriction)
@@ -45,8 +45,9 @@ import { localChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/wor
45
45
  import { ChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation';
46
46
  import { chatSessionResourceToId, getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
47
47
  import { HookType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/promptSyntax/hookTypes';
48
+ import { CopilotChatSettingId, CopilotToolId } from '../../common/tools/copilotToolIds.js';
48
49
  import { ILanguageModelToolsConfirmationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service';
49
- import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, isToolSet, createToolSchemaUri, toolMatchesModel, ToolInvocationPresentation, stringifyPromptTsxPart, ToolSetForModel, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
50
+ import { ToolDataSource, VSCodeToolReference, SpecedToolAliases, toolMatchesModel, isToolSet, createToolSchemaUri, ToolInvocationPresentation, stringifyPromptTsxPart, ToolSetForModel, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
50
51
  import { IToolResultCompressor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service';
51
52
  import { getToolConfirmationAlert } from '@codingame/monaco-vscode-katex-common/vscode/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider';
52
53
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
@@ -68,7 +69,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
68
69
  "vscode_get_modified_files_confirmation"
69
70
  ]));
70
71
  const globalAutoApproveDescription = ( localize2(
71
- 6998,
72
+ 7068,
72
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."
73
74
  ));
74
75
  let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
@@ -156,7 +157,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
156
157
  }
157
158
  }));
158
159
  this._register(this._configurationService.onDidChangeConfiguration(e => {
159
- if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled) || e.affectsConfiguration(ChatConfiguration.AgentEnabled)) {
160
+ if (e.affectsConfiguration(ChatConfiguration.ExtensionToolsEnabled) || e.affectsConfiguration(ChatConfiguration.AgentEnabled) || e.affectsConfiguration(CopilotChatSettingId.Gpt55ReadFileToolEnabled)) {
160
161
  this._onDidChangeToolsScheduler.schedule();
161
162
  }
162
163
  }));
@@ -173,28 +174,37 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
173
174
  this.vscodeToolSet = this._register(
174
175
  this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
175
176
  icon: ThemeIcon.fromId(Codicon.vscode.id),
176
- description: ( localize(6999, "Use VS Code features"))
177
+ description: ( localize(7069, "Use VS Code features"))
177
178
  })
178
179
  );
179
180
  this.executeToolSet = this._register(
180
181
  this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
181
182
  icon: ThemeIcon.fromId(Codicon.terminal.id),
182
- description: ( localize(7000, "Execute code and applications on your machine"))
183
+ description: ( localize(7070, "Execute code and applications on your machine"))
183
184
  })
184
185
  );
185
186
  this.readToolSet = this._register(
186
187
  this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
187
188
  icon: ThemeIcon.fromId(Codicon.book.id),
188
- description: ( localize(7001, "Read files in your workspace"))
189
+ description: ( localize(7071, "Read files in your workspace"))
189
190
  })
190
191
  );
191
192
  this.agentToolSet = this._register(
192
193
  this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
193
194
  icon: ThemeIcon.fromId(Codicon.agent.id),
194
- description: ( localize(7002, "Delegate tasks to other agents"))
195
+ description: ( localize(7072, "Delegate tasks to other agents"))
195
196
  })
196
197
  );
197
198
  }
199
+ isToolEnabledForModel(toolData, model) {
200
+ if (!toolMatchesModel(toolData, model)) {
201
+ return false;
202
+ }
203
+ if (toolData.id === CopilotToolId.ReadFile && model?.family.startsWith("gpt-5.5") && this._configurationService.getValue(CopilotChatSettingId.Gpt55ReadFileToolEnabled) === false) {
204
+ return false;
205
+ }
206
+ return true;
207
+ }
198
208
  isPermitted(toolOrToolSet, reader) {
199
209
  const agentModeEnabled = this._isAgentModeEnabled.read(reader);
200
210
  if (agentModeEnabled !== false) {
@@ -306,7 +316,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
306
316
  const satisfiesWhenClause = !toolData.when || this._contextKeyService.contextMatchesRules(toolData.when);
307
317
  const satisfiesExternalToolCheck = toolData.source.type !== "extension" || !!extensionToolsEnabled;
308
318
  const satisfiesPermittedCheck = this.isPermitted(toolData);
309
- const satisfiesModelFilter = toolMatchesModel(toolData, model);
319
+ const satisfiesModelFilter = this.isToolEnabledForModel(toolData, model);
310
320
  return satisfiesWhenClause && satisfiesExternalToolCheck && satisfiesPermittedCheck && satisfiesModelFilter;
311
321
  });
312
322
  }
@@ -345,8 +355,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
345
355
  return undefined;
346
356
  }
347
357
  _handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
348
- const hookReason = hookResult.permissionDecisionReason ?? ( localize(7003, "Hook denied tool execution"));
349
- const reason = ( localize(7004, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
358
+ const hookReason = hookResult.permissionDecisionReason ?? ( localize(7073, "Hook denied tool execution"));
359
+ const reason = ( localize(7074, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
350
360
  this._logService.debug(
351
361
  `[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
352
362
  );
@@ -684,7 +694,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
684
694
  async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
685
695
  let forceConfirmationReason;
686
696
  if (hookResult?.permissionDecision === "ask") {
687
- const hookMessage = ( localize(7005, "{0} required confirmation", HookType.PreToolUse));
697
+ const hookMessage = ( localize(7075, "{0} required confirmation", HookType.PreToolUse));
688
698
  forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
689
699
  }
690
700
  return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
@@ -727,7 +737,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
727
737
  return {
728
738
  autoConfirmed: {
729
739
  type: ToolConfirmKind.ConfirmationNotNeeded,
730
- reason: ( localize(7006, "Allowed by hook"))
740
+ reason: ( localize(7076, "Allowed by hook"))
731
741
  },
732
742
  preparedInvocation
733
743
  };
@@ -743,14 +753,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
743
753
  const fullReferenceName = getToolFullReferenceName(tool.data);
744
754
  const hookReason = hookResult.permissionDecisionReason;
745
755
  const hookNote = hookReason ? ( localize(
746
- 7007,
756
+ 7077,
747
757
  "{0} hook required confirmation: {1}",
748
758
  HookType.PreToolUse,
749
759
  hookReason
750
- )) : ( localize(7008, "{0} hook required confirmation", HookType.PreToolUse));
760
+ )) : ( localize(7078, "{0} hook required confirmation", HookType.PreToolUse));
751
761
  preparedInvocation.confirmationMessages = {
752
762
  ...preparedInvocation.confirmationMessages,
753
- title: ( localize(7009, "Use the '{0}' tool?", fullReferenceName)),
763
+ title: ( localize(7079, "Use the '{0}' tool?", fullReferenceName)),
754
764
  message: ( new MarkdownString(`_${hookNote}_`)),
755
765
  allowAutoConfirm: false
756
766
  };
@@ -761,11 +771,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
761
771
  } else {
762
772
  const hookReason = hookResult.permissionDecisionReason;
763
773
  const hookNote = hookReason ? ( localize(
764
- 7010,
774
+ 7080,
765
775
  "{0} hook required confirmation: {1}",
766
776
  HookType.PreToolUse,
767
777
  hookReason
768
- )) : ( localize(7011, "{0} hook required confirmation", HookType.PreToolUse));
778
+ )) : ( localize(7081, "{0} hook required confirmation", HookType.PreToolUse));
769
779
  const existing = preparedInvocation.confirmationMessages;
770
780
  if (preparedInvocation.toolSpecificData?.kind === "terminal") {
771
781
  const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
@@ -842,17 +852,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
842
852
  const fullReferenceName = getToolFullReferenceName(tool.data);
843
853
  prepared.confirmationMessages = {
844
854
  ...prepared.confirmationMessages,
845
- title: ( localize(7012, "Confirm tool execution")),
846
- message: ( localize(7013, "Run the '{0}' tool?", fullReferenceName)),
855
+ title: ( localize(7082, "Confirm tool execution")),
856
+ message: ( localize(7083, "Run the '{0}' tool?", fullReferenceName)),
847
857
  disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
848
- 7014,
858
+ 7084,
849
859
  "Auto approval for '{0}' is restricted via {1}.",
850
860
  getToolFullReferenceName(tool.data),
851
861
  createMarkdownCommandLink({
852
862
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
853
863
  id: "workbench.action.openSettings",
854
864
  arguments: [ChatConfiguration.EligibleForAutoApproval],
855
- tooltip: ( localize(7015, "Open settings to configure auto-approval"))
865
+ tooltip: ( localize(7085, "Open settings to configure auto-approval"))
856
866
  }, false)
857
867
  )), {
858
868
  isTrusted: true
@@ -862,14 +872,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
862
872
  }
863
873
  if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
864
874
  prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
865
- 7014,
875
+ 7084,
866
876
  "Auto approval for '{0}' is restricted via {1}.",
867
877
  getToolFullReferenceName(tool.data),
868
878
  createMarkdownCommandLink({
869
879
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
870
880
  id: "workbench.action.openSettings",
871
881
  arguments: [ChatConfiguration.EligibleForAutoApproval],
872
- tooltip: ( localize(7015, "Open settings to configure auto-approval"))
882
+ tooltip: ( localize(7085, "Open settings to configure auto-approval"))
873
883
  }, false)
874
884
  )), {
875
885
  isTrusted: true
@@ -1221,12 +1231,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1221
1231
  }));
1222
1232
  const promptResult = await this._dialogService.prompt({
1223
1233
  type: Severity.Warning,
1224
- message: ( localize(7016, "Enable global auto approve?")),
1234
+ message: ( localize(7086, "Enable global auto approve?")),
1225
1235
  buttons: [{
1226
- label: ( localize(7017, "Enable")),
1236
+ label: ( localize(7087, "Enable")),
1227
1237
  run: () => true
1228
1238
  }, {
1229
- label: ( localize(7018, "Disable")),
1239
+ label: ( localize(7088, "Disable")),
1230
1240
  run: () => false
1231
1241
  }],
1232
1242
  custom: {
@@ -1369,7 +1379,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1369
1379
  }
1370
1380
  }
1371
1381
  } else {
1372
- if (model && !toolMatchesModel(tool, model)) {
1382
+ if (!this.isToolEnabledForModel(tool, model)) {
1373
1383
  continue;
1374
1384
  }
1375
1385
  if (!( result.has(tool))) {
@@ -1430,7 +1440,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1430
1440
  if (!model) {
1431
1441
  return this.toolSets.read(reader);
1432
1442
  }
1433
- return ( Iterable.map(this.toolSets.read(reader), ts => ( new ToolSetForModel(ts, model))));
1443
+ return ( Iterable.map(this.toolSets.read(reader), ts => ( new ToolSetForModel(ts, model, toolData => this.isToolEnabledForModel(toolData, model)))));
1434
1444
  }
1435
1445
  getToolSet(id) {
1436
1446
  for (const toolSet of this._toolSets) {
@@ -12,7 +12,6 @@ import { ILanguageFeaturesService } from '@codingame/monaco-vscode-api/vscode/vs
12
12
  import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
13
13
  import { rename } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/rename/browser/rename';
14
14
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
15
- import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
16
15
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
17
16
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
18
17
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
@@ -53,7 +52,7 @@ let RenameTool = class RenameTool extends Disposable {
53
52
  this._bulkEditService = _bulkEditService;
54
53
  }
55
54
  getToolData() {
56
- return this._buildToolData(StaticModelDescription, ( localize(7019, "Rename a symbol across the workspace")));
55
+ return this._buildToolData(StaticModelDescription, ( localize(7089, "Rename a symbol across the workspace")));
57
56
  }
58
57
  _buildToolData(modelDescription, userDescription) {
59
58
  return {
@@ -61,11 +60,10 @@ let RenameTool = class RenameTool extends Disposable {
61
60
  toolReferenceName: "rename",
62
61
  canBeReferencedInPrompt: false,
63
62
  icon: ThemeIcon.fromId(Codicon.rename.id),
64
- displayName: ( localize(7020, "Rename Symbol")),
63
+ displayName: ( localize(7090, "Rename Symbol")),
65
64
  userDescription,
66
65
  modelDescription,
67
66
  source: ToolDataSource.Internal,
68
- when: ( ContextKeyExpr.has("config.chat.tools.renameTool.enabled")),
69
67
  inputSchema: {
70
68
  type: "object",
71
69
  properties: {
@@ -97,7 +95,7 @@ let RenameTool = class RenameTool extends Disposable {
97
95
  async prepareToolInvocation(context, _token) {
98
96
  const input = context.parameters;
99
97
  return {
100
- invocationMessage: ( localize(7021, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
98
+ invocationMessage: ( localize(7091, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
101
99
  };
102
100
  }
103
101
  async invoke(invocation, _countTokens, _progress, token) {
@@ -185,13 +183,13 @@ let RenameTool = class RenameTool extends Disposable {
185
183
  }
186
184
  _successResult(input, fileCount, editCount) {
187
185
  const text = editCount === 1 ? ( localize(
188
- 7022,
186
+ 7092,
189
187
  "Renamed `{0}` to `{1}` - 1 edit in {2} file.",
190
188
  input.symbol,
191
189
  input.newName,
192
190
  fileCount
193
191
  )) : ( localize(
194
- 7023,
192
+ 7093,
195
193
  "Renamed `{0}` to `{1}` - {2} edits across {3} files.",
196
194
  input.symbol,
197
195
  input.newName,
@@ -3,7 +3,7 @@ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
3
3
  import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
4
4
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
5
5
  import { IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
6
- import { IToolResultFilter } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/toolResultCompressor";
6
+ import { IToolResultCache, IToolResultFilter } from "../../common/tools/toolResultCompressor.js";
7
7
  import { IToolResultCompressor } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/toolResultCompressor.service";
8
8
  export declare class ToolResultCompressorService extends Disposable implements IToolResultCompressor {
9
9
  private readonly _configurationService;
@@ -11,8 +11,12 @@ export declare class ToolResultCompressorService extends Disposable implements I
11
11
  private readonly _logService;
12
12
  readonly _serviceBrand: undefined;
13
13
  private readonly _filters;
14
+ private readonly _caches;
14
15
  constructor(_configurationService: IConfigurationService, _telemetryService: ITelemetryService, _logService: ILogService);
15
16
  registerFilter(filter: IToolResultFilter): void;
17
+ registerCache(cache: IToolResultCache): void;
16
18
  maybeCompress(toolId: string, input: unknown, result: IToolResult): IToolResult | undefined;
19
+ private _buildCacheHitResult;
20
+ private _recordInCaches;
17
21
  private _sendTelemetry;
18
22
  }