@codingame/monaco-vscode-chat-service-override 30.0.0 → 31.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 (377) hide show
  1. package/index.js +21 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +125 -0
  4. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +393 -0
  5. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +65 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +453 -0
  7. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +28 -0
  8. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +81 -0
  9. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +75 -0
  10. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +180 -0
  11. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +202 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +182 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +282 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +303 -32
  15. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +14 -0
  16. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +1 -1
  17. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.js +9 -0
  18. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +30 -0
  19. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +662 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +12 -5
  21. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.js +9 -0
  22. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +17 -0
  23. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +5 -0
  24. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +5 -5
  25. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +14 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +42 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.js +7 -0
  28. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +118 -0
  29. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +551 -0
  30. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +22 -0
  31. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +83 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +17 -15
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +8 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +113 -9
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +81 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +47 -26
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +15 -10
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +14 -14
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +13 -14
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +15 -14
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +5 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +58 -23
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +18 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +2 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +24 -22
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +29 -20
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +16 -16
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +9 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +23 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +2 -2
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +65 -55
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +28 -28
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +10 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +80 -15
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +20 -14
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +30 -15
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +131 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +363 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +31 -76
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +374 -764
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +8 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +222 -44
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +20 -11
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +269 -123
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.d.ts +40 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePage.js +40 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +26 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +249 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +3 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +3 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +5 -17
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +14 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +113 -58
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +202 -68
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +246 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +15 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +162 -50
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +24 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +306 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +581 -257
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +15 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +245 -26
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +25 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +3 -5
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +6 -6
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +103 -28
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +3 -2
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +11 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +80 -29
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +20 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +128 -65
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +18 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +3 -3
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +6 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +10 -27
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +4 -41
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +4 -310
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +0 -12
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +3 -30
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +61 -53
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatManagementEditor.css +0 -110
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +46 -34
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +4 -4
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +17 -18
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +1 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +96 -82
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +21 -14
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +18 -18
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +15 -8
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +315 -263
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +14 -14
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +196 -24
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -17
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipEligibilityTracker.d.ts +2 -2
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +8 -4
  172. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  173. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  174. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  175. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +18 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +31 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +26 -25
  180. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +3 -1
  181. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +48 -57
  182. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  183. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  184. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  185. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.d.ts +2 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  187. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  190. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +11 -6
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +226 -36
  195. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.d.ts +23 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/telemetry/chatModelCountTelemetry.js +82 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -1
  198. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +108 -56
  199. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +24 -24
  200. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  201. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  202. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  204. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +3 -4
  205. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +9 -16
  206. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +21 -80
  207. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +26 -59
  208. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  209. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +4 -3
  210. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +9 -1
  211. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +2 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +46 -14
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  214. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.d.ts +40 -0
  215. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugEvents.js +60 -0
  216. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +32 -5
  217. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +152 -26
  218. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +5 -9
  219. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +265 -261
  220. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +28 -2
  221. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +75 -7
  222. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +9 -1
  223. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +6 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +18 -0
  225. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +32 -4
  226. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +10 -25
  227. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +7 -52
  228. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +58 -466
  229. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +3 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +36 -18
  231. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  232. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  233. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  234. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +0 -1
  235. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +168 -182
  236. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +49 -29
  237. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +491 -462
  238. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +16 -6
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +18 -12
  240. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -4
  241. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +145 -68
  242. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -2
  244. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  245. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +25 -25
  246. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +2 -4
  248. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +19 -17
  249. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -1
  250. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +3 -3
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +5 -17
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +77 -157
  253. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  254. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  256. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  257. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  258. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +17 -17
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +1 -1
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +21 -21
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +1 -1
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +4 -1
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +29 -7
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +1 -1
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -3
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +12 -14
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +4 -4
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +5 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +49 -12
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +4 -4
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +9 -8
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +2 -2
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +13 -8
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +53 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +319 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +15 -15
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +8 -8
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +15 -15
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.d.ts +1 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +2 -2
  283. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.d.ts +21 -0
  284. package/vscode/src/vs/workbench/services/agentHost/common/agentHostFileSystemService.js +35 -0
  285. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +0 -94
  286. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +0 -16
  287. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +0 -578
  288. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +0 -206
  289. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +0 -114
  290. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +0 -860
  291. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +0 -27
  292. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +0 -58
  293. package/vscode/src/vs/platform/browserElements/common/browserElements.js +0 -16
  294. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
  295. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
  296. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -85
  297. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.d.ts +0 -9
  298. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +0 -443
  299. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.d.ts +0 -17
  300. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +0 -132
  301. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatUsageWidget.css +0 -69
  302. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.d.ts +0 -65
  303. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +0 -66
  304. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +0 -8
  305. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +0 -158
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -45
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -164
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -50
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -163
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -142
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -29
  318. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -137
  319. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
  320. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
  321. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -3
  322. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -39
  323. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -32
  324. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -249
  325. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -41
  326. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -92
  327. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -40
  328. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -209
  329. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +0 -12
  330. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +0 -106
  331. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
  332. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
  333. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
  334. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
  335. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -52
  336. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
  337. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
  338. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
  339. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -19
  340. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -168
  341. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -8
  342. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -25
  343. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
  344. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
  345. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
  346. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
  347. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
  348. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
  349. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
  350. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
  351. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -21
  352. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
  353. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
  354. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
  355. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
  356. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
  357. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
  358. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -20
  359. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -8
  360. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -28
  361. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -118
  362. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -1019
  363. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -49
  364. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
  365. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
  366. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -150
  367. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -1619
  368. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
  369. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -41
  370. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
  371. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
  372. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -12
  373. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +0 -17
  374. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -25
  375. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -130
  376. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -122
  377. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -482
@@ -4,6 +4,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
4
4
  import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
5
5
  import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
6
  import { LRUCache } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
7
+ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
8
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
8
9
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -11,10 +12,11 @@ import { QuickInputButtonLocation } from '@codingame/monaco-vscode-api/vscode/vs
11
12
  import { IQuickInputService } from '@codingame/monaco-vscode-api/vscode/vs/platform/quickinput/common/quickInput.service';
12
13
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
13
14
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
15
+ import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
14
16
  import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
15
17
 
16
- const RUN_WITHOUT_APPROVAL = ( localize(6618, "without approval"));
17
- const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6619, "without reviewing result"));
18
+ const RUN_WITHOUT_APPROVAL = ( localize(6699, "without approval"));
19
+ const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6700, "without reviewing result"));
18
20
  class GenericConfirmStore extends Disposable {
19
21
  constructor(_storageKey, _instantiationService) {
20
22
  super();
@@ -28,13 +30,14 @@ class GenericConfirmStore extends Disposable {
28
30
  this._instantiationService.createInstance(ToolConfirmStore, StorageScope.PROFILE, this._storageKey)
29
31
  )));
30
32
  }
31
- setAutoConfirmation(id, scope, label) {
33
+ setAutoConfirmation(id, scope, label, args) {
32
34
  this._workspaceStore.value.setAutoConfirm(id, undefined);
33
35
  this._profileStore.value.setAutoConfirm(id, undefined);
34
36
  this._memoryStore.delete(id);
35
37
  const entry = {
36
38
  confirmed: true,
37
- label
39
+ label,
40
+ arguments: args
38
41
  };
39
42
  if (scope === "workspace") {
40
43
  this._workspaceStore.value.setAutoConfirm(id, entry);
@@ -68,6 +71,9 @@ class GenericConfirmStore extends Disposable {
68
71
  getLabel(id) {
69
72
  return this._workspaceStore.value.getAutoConfirm(id)?.label ?? this._profileStore.value.getAutoConfirm(id)?.label ?? this._memoryStore.get(id)?.label;
70
73
  }
74
+ getArguments(id) {
75
+ return this._workspaceStore.value.getAutoConfirm(id)?.arguments ?? this._profileStore.value.getAutoConfirm(id)?.arguments ?? this._memoryStore.get(id)?.arguments;
76
+ }
71
77
  reset() {
72
78
  this._workspaceStore.value.reset();
73
79
  this._profileStore.value.reset();
@@ -128,10 +134,19 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
128
134
  }
129
135
  } else if (typeof parsed === "object" && parsed !== null) {
130
136
  for (const [key, value] of Object.entries(parsed)) {
131
- this._autoConfirmTools.set(key, {
132
- confirmed: true,
133
- label: typeof value === "string" ? value : undefined
134
- });
137
+ if (typeof value === "object" && value !== null) {
138
+ const obj = value;
139
+ this._autoConfirmTools.set(key, {
140
+ confirmed: true,
141
+ label: obj.label,
142
+ arguments: obj.arguments
143
+ });
144
+ } else {
145
+ this._autoConfirmTools.set(key, {
146
+ confirmed: true,
147
+ label: typeof value === "string" ? value : undefined
148
+ });
149
+ }
135
150
  }
136
151
  }
137
152
  } catch {}
@@ -140,7 +155,14 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
140
155
  if (this._didChange) {
141
156
  const data = {};
142
157
  for (const [key, entry] of this._autoConfirmTools) {
143
- data[key] = entry.label ?? true;
158
+ if (entry.arguments) {
159
+ data[key] = {
160
+ label: entry.label,
161
+ arguments: entry.arguments
162
+ };
163
+ } else {
164
+ data[key] = entry.label ?? true;
165
+ }
144
166
  }
145
167
  this.storageService.store(this._storageKey, JSON.stringify(data), this._scope, StorageTarget.MACHINE);
146
168
  this._didChange = false;
@@ -173,10 +195,11 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
173
195
  };
174
196
  ToolConfirmStore = ( __decorate([( __param(2, IStorageService))], ToolConfirmStore));
175
197
  let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmationService extends Disposable {
176
- constructor(_instantiationService, _quickInputService) {
198
+ constructor(_instantiationService, _quickInputService, _dialogService) {
177
199
  super();
178
200
  this._instantiationService = _instantiationService;
179
201
  this._quickInputService = _quickInputService;
202
+ this._dialogService = _dialogService;
180
203
  this._contributions = ( new Map());
181
204
  this._preExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm", this._instantiationService)));
182
205
  this._postExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-post", this._instantiationService)));
@@ -248,47 +271,48 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
248
271
  if (ref.combination) {
249
272
  const {
250
273
  label: combinationLabel,
251
- key: combinationKey
274
+ key: combinationKey,
275
+ arguments: combinationArgs
252
276
  } = ref.combination;
253
277
  actions.push({
254
- label: ( localize(6620, "{0} in this Session", combinationLabel)),
278
+ label: ( localize(6701, "{0} in this Session", combinationLabel)),
255
279
  detail: ( localize(
256
- 6621,
280
+ 6702,
257
281
  "Allow this particular combination of tool and arguments in this session without confirmation."
258
282
  )),
259
283
  divider: !!actions.length,
260
284
  scope: "session",
261
285
  select: async () => {
262
- this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel);
286
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel, combinationArgs);
263
287
  return true;
264
288
  }
265
289
  }, {
266
- label: ( localize(6622, "{0} in this Workspace", combinationLabel)),
290
+ label: ( localize(6703, "{0} in this Workspace", combinationLabel)),
267
291
  detail: ( localize(
268
- 6623,
292
+ 6704,
269
293
  "Allow this particular combination of tool and arguments in this workspace without confirmation."
270
294
  )),
271
295
  scope: "workspace",
272
296
  select: async () => {
273
- this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel);
297
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel, combinationArgs);
274
298
  return true;
275
299
  }
276
300
  }, {
277
- label: ( localize(6624, "Always {0}", combinationLabel)),
301
+ label: ( localize(6705, "Always {0}", combinationLabel)),
278
302
  detail: ( localize(
279
- 6625,
303
+ 6706,
280
304
  "Always allow this particular combination of tool and arguments without confirmation."
281
305
  )),
282
306
  scope: "profile",
283
307
  select: async () => {
284
- this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel);
308
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel, combinationArgs);
285
309
  return true;
286
310
  }
287
311
  });
288
312
  }
289
313
  actions.push({
290
- label: ( localize(6626, "Allow in this Session")),
291
- detail: ( localize(6627, "Allow this tool to run in this session without confirmation.")),
314
+ label: ( localize(6707, "Allow in this Session")),
315
+ detail: ( localize(6708, "Allow this tool to run in this session without confirmation.")),
292
316
  divider: !!actions.length,
293
317
  scope: "session",
294
318
  select: async () => {
@@ -296,16 +320,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
296
320
  return true;
297
321
  }
298
322
  }, {
299
- label: ( localize(6628, "Allow in this Workspace")),
300
- detail: ( localize(6629, "Allow this tool to run in this workspace without confirmation.")),
323
+ label: ( localize(6709, "Allow in this Workspace")),
324
+ detail: ( localize(6710, "Allow this tool to run in this workspace without confirmation.")),
301
325
  scope: "workspace",
302
326
  select: async () => {
303
327
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
304
328
  return true;
305
329
  }
306
330
  }, {
307
- label: ( localize(6630, "Always Allow")),
308
- detail: ( localize(6631, "Always allow this tool to run without confirmation.")),
331
+ label: ( localize(6711, "Always Allow")),
332
+ detail: ( localize(6712, "Always allow this tool to run without confirmation.")),
309
333
  scope: "profile",
310
334
  select: async () => {
311
335
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
@@ -318,9 +342,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
318
342
  definitionId
319
343
  } = ref.source;
320
344
  actions.push({
321
- label: ( localize(6632, "Allow Tools from {0} in this Session", serverLabel)),
345
+ label: ( localize(6713, "Allow Tools from {0} in this Session", serverLabel)),
322
346
  detail: ( localize(
323
- 6633,
347
+ 6714,
324
348
  "Allow all tools from this server to run in this session without confirmation."
325
349
  )),
326
350
  divider: true,
@@ -330,9 +354,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
330
354
  return true;
331
355
  }
332
356
  }, {
333
- label: ( localize(6634, "Allow Tools from {0} in this Workspace", serverLabel)),
357
+ label: ( localize(6715, "Allow Tools from {0} in this Workspace", serverLabel)),
334
358
  detail: ( localize(
335
- 6635,
359
+ 6716,
336
360
  "Allow all tools from this server to run in this workspace without confirmation."
337
361
  )),
338
362
  scope: "workspace",
@@ -341,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
341
365
  return true;
342
366
  }
343
367
  }, {
344
- label: ( localize(6636, "Always Allow Tools from {0}", serverLabel)),
368
+ label: ( localize(6717, "Always Allow Tools from {0}", serverLabel)),
345
369
  detail: ( localize(
346
- 6637,
370
+ 6718,
347
371
  "Always allow all tools from this server to run without confirmation."
348
372
  )),
349
373
  scope: "profile",
@@ -365,9 +389,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
365
389
  return actions;
366
390
  }
367
391
  actions.push({
368
- label: ( localize(6638, "Allow Without Review in this Session")),
392
+ label: ( localize(6719, "Allow Without Review in this Session")),
369
393
  detail: ( localize(
370
- 6639,
394
+ 6720,
371
395
  "Allow results from this tool to be sent without confirmation in this session."
372
396
  )),
373
397
  divider: !!actions.length,
@@ -377,9 +401,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
377
401
  return true;
378
402
  }
379
403
  }, {
380
- label: ( localize(6640, "Allow Without Review in this Workspace")),
404
+ label: ( localize(6721, "Allow Without Review in this Workspace")),
381
405
  detail: ( localize(
382
- 6641,
406
+ 6722,
383
407
  "Allow results from this tool to be sent without confirmation in this workspace."
384
408
  )),
385
409
  scope: "workspace",
@@ -388,9 +412,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
388
412
  return true;
389
413
  }
390
414
  }, {
391
- label: ( localize(6642, "Always Allow Without Review")),
415
+ label: ( localize(6723, "Always Allow Without Review")),
392
416
  detail: ( localize(
393
- 6643,
417
+ 6724,
394
418
  "Always allow results from this tool to be sent without confirmation."
395
419
  )),
396
420
  scope: "profile",
@@ -405,9 +429,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
405
429
  definitionId
406
430
  } = ref.source;
407
431
  actions.push({
408
- label: ( localize(6644, "Allow Tools from {0} Without Review in this Session", serverLabel)),
432
+ label: ( localize(6725, "Allow Tools from {0} Without Review in this Session", serverLabel)),
409
433
  detail: ( localize(
410
- 6645,
434
+ 6726,
411
435
  "Allow results from all tools from this server to be sent without confirmation in this session."
412
436
  )),
413
437
  divider: true,
@@ -417,9 +441,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
417
441
  return true;
418
442
  }
419
443
  }, {
420
- label: ( localize(6646, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
444
+ label: ( localize(6727, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
421
445
  detail: ( localize(
422
- 6647,
446
+ 6728,
423
447
  "Allow results from all tools from this server to be sent without confirmation in this workspace."
424
448
  )),
425
449
  scope: "workspace",
@@ -428,9 +452,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
428
452
  return true;
429
453
  }
430
454
  }, {
431
- label: ( localize(6648, "Always Allow Tools from {0} Without Review", serverLabel)),
455
+ label: ( localize(6729, "Always Allow Tools from {0} Without Review", serverLabel)),
432
456
  detail: ( localize(
433
- 6649,
457
+ 6730,
434
458
  "Always allow results from all tools from this server to be sent without confirmation."
435
459
  )),
436
460
  scope: "profile",
@@ -468,15 +492,21 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
468
492
  for (const key of this._combinationConfirmStore.getAllConfirmed()) {
469
493
  if (key.startsWith(prefix) && this._combinationConfirmStore.getAutoConfirmationIn(key, scope)) {
470
494
  const label = this._combinationConfirmStore.getLabel(key) ?? key;
495
+ const args = this._combinationConfirmStore.getArguments(key);
471
496
  results.push({
472
497
  key,
473
- label
498
+ label,
499
+ arguments: args
474
500
  });
475
501
  }
476
502
  }
477
503
  return results;
478
504
  }
479
505
  manageConfirmationPreferences(tools, options) {
506
+ const viewArgsButton = {
507
+ iconClass: ThemeIcon.asClassName(Codicon.info),
508
+ tooltip: ( localize(6731, "View Arguments"))
509
+ };
480
510
  const trackServerTool = (serverId, label, toolId, serversWithTools) => {
481
511
  if (!( serversWithTools.has(serverId))) {
482
512
  serversWithTools.set(serverId, {
@@ -573,14 +603,17 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
573
603
  const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
574
604
  for (const {
575
605
  key,
576
- label
606
+ label,
607
+ arguments: args
577
608
  } of combinationApprovals) {
578
609
  toolChildren.push({
579
610
  type: "combination",
580
611
  toolId: tool.id,
581
612
  combinationKey: key,
613
+ combinationArgs: args,
582
614
  label,
583
- checked: true
615
+ checked: true,
616
+ buttons: args ? [viewArgsButton] : undefined
584
617
  });
585
618
  }
586
619
  const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
@@ -600,6 +633,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
600
633
  } else {
601
634
  continue;
602
635
  }
636
+ if (checked === false && toolChildren.length === 0 && !tool.canRequestPreApproval && !tool.canRequestPostApproval) {
637
+ continue;
638
+ }
603
639
  serverChildren.push({
604
640
  type: "tool",
605
641
  toolId: tool.id,
@@ -616,7 +652,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
616
652
  type: "server-post",
617
653
  serverId,
618
654
  iconClass: ThemeIcon.asClassName(Codicon.play),
619
- label: ( localize(6650, "Continue without reviewing any tool results")),
655
+ label: ( localize(6732, "Continue without reviewing any tool results")),
620
656
  checked: serverPostConfirmed
621
657
  });
622
658
  }
@@ -625,7 +661,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
625
661
  type: "server-pre",
626
662
  serverId,
627
663
  iconClass: ThemeIcon.asClassName(Codicon.play),
628
- label: ( localize(6651, "Run any tool without approval")),
664
+ label: ( localize(6733, "Run any tool without approval")),
629
665
  checked: serverPreConfirmed
630
666
  });
631
667
  }
@@ -693,14 +729,17 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
693
729
  const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
694
730
  for (const {
695
731
  key,
696
- label
732
+ label,
733
+ arguments: args
697
734
  } of combinationApprovals) {
698
735
  toolChildren.push({
699
736
  type: "combination",
700
737
  toolId: tool.id,
701
738
  combinationKey: key,
739
+ combinationArgs: args,
702
740
  label,
703
- checked: true
741
+ checked: true,
742
+ buttons: args ? [viewArgsButton] : undefined
704
743
  });
705
744
  }
706
745
  const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
@@ -717,6 +756,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
717
756
  checked = false;
718
757
  }
719
758
  }
759
+ if (checked === false && toolChildren.length === 0 && !tool.canRequestPreApproval && !tool.canRequestPostApproval && !( this._contributions.has(tool.id))) {
760
+ continue;
761
+ }
720
762
  treeItems.push({
721
763
  type: "tool",
722
764
  toolId: tool.id,
@@ -737,7 +779,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
737
779
  if (currentScope !== "session") {
738
780
  const scopeButton = {
739
781
  iconClass: ThemeIcon.asClassName(Codicon.folder),
740
- tooltip: ( localize(6652, "Configure for this workspace only")),
782
+ tooltip: ( localize(6734, "Configure for this workspace only")),
741
783
  toggle: {
742
784
  checked: currentScope === "workspace"
743
785
  },
@@ -754,9 +796,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
754
796
  }
755
797
  const updatePlaceholder = () => {
756
798
  if (currentScope === "session") {
757
- quickTree.placeholder = ( localize(6653, "Configure session tool approvals"));
799
+ quickTree.placeholder = ( localize(6735, "Configure session tool approvals"));
758
800
  } else {
759
- quickTree.placeholder = currentScope === "workspace" ? ( localize(6654, "Configure workspace tool approvals")) : ( localize(6655, "Configure global tool approvals"));
801
+ quickTree.placeholder = currentScope === "workspace" ? ( localize(6736, "Configure workspace tool approvals")) : ( localize(6737, "Configure global tool approvals"));
760
802
  }
761
803
  };
762
804
  updatePlaceholder();
@@ -798,13 +840,23 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
798
840
  } else if (item.type === "manage") {
799
841
  item.onDidChangeChecked?.(!!item.checked);
800
842
  } else if (item.type === "combination" && item.combinationKey) {
801
- this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState);
843
+ this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState, item.label, item.combinationArgs);
802
844
  quickTree.setItemTree(buildTreeItems());
803
845
  }
804
846
  }));
805
847
  disposables.add(quickTree.onDidTriggerItemButton(i => {
806
848
  if (i.item.type === "manage") {
807
849
  i.item.onDidTriggerItemButton?.(i.button);
850
+ } else if (i.item.type === "combination" && i.button === viewArgsButton && i.item.combinationArgs) {
851
+ this._dialogService.prompt({
852
+ message: ( localize(6738, "Arguments")),
853
+ buttons: [],
854
+ custom: {
855
+ markdownDetails: [{
856
+ markdown: ( new MarkdownString()).appendCodeblock("json", i.item.combinationArgs)
857
+ }]
858
+ }
859
+ });
808
860
  }
809
861
  }));
810
862
  disposables.add(quickTree.onDidAccept(async () => {
@@ -847,6 +899,6 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
847
899
  }
848
900
  }
849
901
  };
850
- LanguageModelToolsConfirmationService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IQuickInputService))], LanguageModelToolsConfirmationService));
902
+ LanguageModelToolsConfirmationService = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IQuickInputService)), ( __param(2, IDialogService))], LanguageModelToolsConfirmationService));
851
903
 
852
904
  export { LanguageModelToolsConfirmationService };
@@ -67,7 +67,7 @@ const toolIdsThatCannotBeAutoApproved = ( new Set([
67
67
  "vscode_get_modified_files_confirmation"
68
68
  ]));
69
69
  const globalAutoApproveDescription = ( localize2(
70
- 6656,
70
+ 6739,
71
71
  "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."
72
72
  ));
73
73
  let LanguageModelToolsService = class LanguageModelToolsService extends Disposable {
@@ -170,25 +170,25 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
170
170
  this.vscodeToolSet = this._register(
171
171
  this.createToolSet(ToolDataSource.Internal, "vscode", VSCodeToolReference.vscode, {
172
172
  icon: ThemeIcon.fromId(Codicon.vscode.id),
173
- description: ( localize(6657, "Use VS Code features"))
173
+ description: ( localize(6740, "Use VS Code features"))
174
174
  })
175
175
  );
176
176
  this.executeToolSet = this._register(
177
177
  this.createToolSet(ToolDataSource.Internal, "execute", SpecedToolAliases.execute, {
178
178
  icon: ThemeIcon.fromId(Codicon.terminal.id),
179
- description: ( localize(6658, "Execute code and applications on your machine"))
179
+ description: ( localize(6741, "Execute code and applications on your machine"))
180
180
  })
181
181
  );
182
182
  this.readToolSet = this._register(
183
183
  this.createToolSet(ToolDataSource.Internal, "read", SpecedToolAliases.read, {
184
184
  icon: ThemeIcon.fromId(Codicon.book.id),
185
- description: ( localize(6659, "Read files in your workspace"))
185
+ description: ( localize(6742, "Read files in your workspace"))
186
186
  })
187
187
  );
188
188
  this.agentToolSet = this._register(
189
189
  this.createToolSet(ToolDataSource.Internal, "agent", SpecedToolAliases.agent, {
190
190
  icon: ThemeIcon.fromId(Codicon.agent.id),
191
- description: ( localize(6660, "Delegate tasks to other agents"))
191
+ description: ( localize(6743, "Delegate tasks to other agents"))
192
192
  })
193
193
  );
194
194
  }
@@ -342,8 +342,8 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
342
342
  return undefined;
343
343
  }
344
344
  _handlePreToolUseDenial(dto, hookResult, toolData, pendingInvocation, request) {
345
- const hookReason = hookResult.permissionDecisionReason ?? ( localize(6661, "Hook denied tool execution"));
346
- const reason = ( localize(6662, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
345
+ const hookReason = hookResult.permissionDecisionReason ?? ( localize(6744, "Hook denied tool execution"));
346
+ const reason = ( localize(6745, "Denied by {0} hook: {1}", HookType.PreToolUse, hookReason));
347
347
  this._logService.debug(
348
348
  `[LanguageModelToolsService#invokeTool] Tool ${dto.toolId} denied by preToolUse hook: ${hookReason}`
349
349
  );
@@ -662,7 +662,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
662
662
  async prepareToolInvocationWithHookResult(tool, dto, hookResult, token) {
663
663
  let forceConfirmationReason;
664
664
  if (hookResult?.permissionDecision === "ask") {
665
- const hookMessage = ( localize(6663, "{0} required confirmation", HookType.PreToolUse));
665
+ const hookMessage = ( localize(6746, "{0} required confirmation", HookType.PreToolUse));
666
666
  forceConfirmationReason = hookResult.permissionDecisionReason ? `${hookMessage}: ${hookResult.permissionDecisionReason}` : hookMessage;
667
667
  }
668
668
  return this.prepareToolInvocation(tool, dto, forceConfirmationReason, token);
@@ -675,7 +675,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
675
675
  return {
676
676
  autoConfirmed: {
677
677
  type: ToolConfirmKind.ConfirmationNotNeeded,
678
- reason: ( localize(6664, "Allowed by hook"))
678
+ reason: ( localize(6747, "Allowed by hook"))
679
679
  },
680
680
  preparedInvocation
681
681
  };
@@ -691,14 +691,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
691
691
  const fullReferenceName = getToolFullReferenceName(tool.data);
692
692
  const hookReason = hookResult.permissionDecisionReason;
693
693
  const hookNote = hookReason ? ( localize(
694
- 6665,
694
+ 6748,
695
695
  "{0} hook required confirmation: {1}",
696
696
  HookType.PreToolUse,
697
697
  hookReason
698
- )) : ( localize(6666, "{0} hook required confirmation", HookType.PreToolUse));
698
+ )) : ( localize(6749, "{0} hook required confirmation", HookType.PreToolUse));
699
699
  preparedInvocation.confirmationMessages = {
700
700
  ...preparedInvocation.confirmationMessages,
701
- title: ( localize(6667, "Use the '{0}' tool?", fullReferenceName)),
701
+ title: ( localize(6750, "Use the '{0}' tool?", fullReferenceName)),
702
702
  message: ( new MarkdownString(`_${hookNote}_`)),
703
703
  allowAutoConfirm: false
704
704
  };
@@ -709,11 +709,11 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
709
709
  } else {
710
710
  const hookReason = hookResult.permissionDecisionReason;
711
711
  const hookNote = hookReason ? ( localize(
712
- 6668,
712
+ 6751,
713
713
  "{0} hook required confirmation: {1}",
714
714
  HookType.PreToolUse,
715
715
  hookReason
716
- )) : ( localize(6669, "{0} hook required confirmation", HookType.PreToolUse));
716
+ )) : ( localize(6752, "{0} hook required confirmation", HookType.PreToolUse));
717
717
  const existing = preparedInvocation.confirmationMessages;
718
718
  if (preparedInvocation.toolSpecificData?.kind === "terminal") {
719
719
  const existingDisclaimerText = existing.disclaimer ? (typeof existing.disclaimer === "string" ? existing.disclaimer : existing.disclaimer.value) : undefined;
@@ -788,17 +788,17 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
788
788
  const fullReferenceName = getToolFullReferenceName(tool.data);
789
789
  prepared.confirmationMessages = {
790
790
  ...prepared.confirmationMessages,
791
- title: ( localize(6670, "Confirm tool execution")),
792
- message: ( localize(6671, "Run the '{0}' tool?", fullReferenceName)),
791
+ title: ( localize(6753, "Confirm tool execution")),
792
+ message: ( localize(6754, "Run the '{0}' tool?", fullReferenceName)),
793
793
  disclaimer: ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
794
- 6672,
794
+ 6755,
795
795
  "Auto approval for '{0}' is restricted via {1}.",
796
796
  getToolFullReferenceName(tool.data),
797
797
  createMarkdownCommandLink({
798
798
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
799
799
  id: "workbench.action.openSettings",
800
800
  arguments: [ChatConfiguration.EligibleForAutoApproval],
801
- tooltip: ( localize(6673, "Open settings to configure auto-approval"))
801
+ tooltip: ( localize(6756, "Open settings to configure auto-approval"))
802
802
  }, false)
803
803
  )), {
804
804
  isTrusted: true
@@ -808,14 +808,14 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
808
808
  }
809
809
  if (!isEligibleForAutoApproval && prepared?.confirmationMessages?.title) {
810
810
  prepared.confirmationMessages.disclaimer = ( toolIdsThatCannotBeAutoApproved.has(tool.data.id)) ? undefined : ( new MarkdownString(( localize(
811
- 6672,
811
+ 6755,
812
812
  "Auto approval for '{0}' is restricted via {1}.",
813
813
  getToolFullReferenceName(tool.data),
814
814
  createMarkdownCommandLink({
815
815
  text: "`" + ChatConfiguration.EligibleForAutoApproval + "`",
816
816
  id: "workbench.action.openSettings",
817
817
  arguments: [ChatConfiguration.EligibleForAutoApproval],
818
- tooltip: ( localize(6673, "Open settings to configure auto-approval"))
818
+ tooltip: ( localize(6756, "Open settings to configure auto-approval"))
819
819
  }, false)
820
820
  )), {
821
821
  isTrusted: true
@@ -839,7 +839,7 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
839
839
  if (!toolEntry) {
840
840
  return undefined;
841
841
  }
842
- if (!toolEntry.impl?.handleToolStream) {
842
+ if (!options.force && !toolEntry.impl?.handleToolStream) {
843
843
  return undefined;
844
844
  }
845
845
  const invocation = ChatToolInvocation.createStreaming({
@@ -1162,12 +1162,12 @@ let LanguageModelToolsService = class LanguageModelToolsService extends Disposab
1162
1162
  }));
1163
1163
  const promptResult = await this._dialogService.prompt({
1164
1164
  type: Severity.Warning,
1165
- message: ( localize(6674, "Enable global auto approve?")),
1165
+ message: ( localize(6757, "Enable global auto approve?")),
1166
1166
  buttons: [{
1167
- label: ( localize(6675, "Enable")),
1167
+ label: ( localize(6758, "Enable")),
1168
1168
  run: () => true
1169
1169
  }, {
1170
- label: ( localize(6676, "Disable")),
1170
+ label: ( localize(6759, "Disable")),
1171
1171
  run: () => false
1172
1172
  }],
1173
1173
  custom: {
@@ -67,19 +67,19 @@ let RenameTool = class RenameTool extends Disposable {
67
67
  let userDescription;
68
68
  if (( languageIds.has("*"))) {
69
69
  modelDescription += "\n\nSupported for all languages.";
70
- userDescription = ( localize(6677, "Rename a symbol across the workspace"));
70
+ userDescription = ( localize(6760, "Rename a symbol across the workspace"));
71
71
  } else {
72
72
  const sorted = [...languageIds].sort();
73
73
  modelDescription += `\n\nCurrently supported for: ${sorted.join(", ")}.`;
74
74
  const niceNames = ( sorted.map(id => this._languageService.getLanguageName(id) ?? id));
75
- userDescription = ( localize(6678, "Rename a symbol across the workspace ({0})", niceNames.join(", ")));
75
+ userDescription = ( localize(6761, "Rename a symbol across the workspace ({0})", niceNames.join(", ")));
76
76
  }
77
77
  return {
78
78
  id: RenameToolId,
79
79
  toolReferenceName: "rename",
80
80
  canBeReferencedInPrompt: false,
81
81
  icon: ThemeIcon.fromId(Codicon.rename.id),
82
- displayName: ( localize(6679, "Rename Symbol")),
82
+ displayName: ( localize(6762, "Rename Symbol")),
83
83
  userDescription,
84
84
  modelDescription,
85
85
  source: ToolDataSource.Internal,
@@ -115,7 +115,7 @@ let RenameTool = class RenameTool extends Disposable {
115
115
  async prepareToolInvocation(context, _token) {
116
116
  const input = context.parameters;
117
117
  return {
118
- invocationMessage: ( localize(6680, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
118
+ invocationMessage: ( localize(6763, "Renaming `{0}` to `{1}`", input.symbol, input.newName))
119
119
  };
120
120
  }
121
121
  async invoke(invocation, _countTokens, _progress, token) {
@@ -203,13 +203,13 @@ let RenameTool = class RenameTool extends Disposable {
203
203
  }
204
204
  _successResult(input, fileCount, editCount) {
205
205
  const text = editCount === 1 ? ( localize(
206
- 6681,
206
+ 6764,
207
207
  "Renamed `{0}` to `{1}` - 1 edit in {2} file.",
208
208
  input.symbol,
209
209
  input.newName,
210
210
  fileCount
211
211
  )) : ( localize(
212
- 6682,
212
+ 6765,
213
213
  "Renamed `{0}` to `{1}` - {2} edits across {3} files.",
214
214
  input.symbol,
215
215
  input.newName,