@codingame/monaco-vscode-chat-service-override 28.4.0 → 29.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 (339) hide show
  1. package/index.js +18 -12
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +300 -0
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +31 -0
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +84 -0
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +16 -0
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +488 -0
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +424 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +50 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +202 -0
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/notifications.d.ts +114 -0
  12. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +723 -0
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +33 -0
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +40 -0
  15. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +22 -0
  16. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +13 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  18. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +29 -15
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +3 -3
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +76 -10
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +11 -11
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +162 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +167 -4
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +52 -20
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +82 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +195 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.d.ts +5 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +97 -88
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +4 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +5 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +78 -35
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +7 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +174 -170
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +7 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +12 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +118 -52
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +7 -7
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.d.ts +5 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +13 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +0 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +5 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +9 -10
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +23 -25
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +341 -196
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +79 -7
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -4
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +22 -10
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +2 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +4 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +15 -14
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +85 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +668 -214
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +10 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +306 -39
  81. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +84 -4
  82. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +651 -81
  83. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +2 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +31 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +9 -20
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.d.ts +11 -1
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -142
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.d.ts +43 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationGroupHeaderRenderer.js +63 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +11 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +44 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +25 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +297 -123
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +153 -31
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +17 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +111 -171
  98. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +1 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +5 -30
  100. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +277 -186
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.d.ts +4 -2
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +31 -23
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.d.ts +3 -7
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCollapsible.js +4 -16
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.d.ts +18 -2
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +112 -17
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +3 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +16 -27
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +41 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.d.ts +7 -1
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +35 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.d.ts +1 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +8 -51
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.d.ts +1 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +13 -8
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +29 -36
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowLayout.js +14 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.d.ts +5 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +79 -26
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.d.ts +19 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +125 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.d.ts +11 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +113 -82
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.d.ts +18 -7
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +54 -15
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.d.ts +8 -3
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +103 -28
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +48 -37
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.d.ts +28 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +62 -20
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +21 -37
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +4 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +17 -4
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +5 -5
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +4 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +43 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.d.ts +59 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +194 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -10
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +13 -13
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.d.ts +2 -1
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +8 -4
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +11 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +81 -50
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +4 -4
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +32 -32
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +23 -18
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.d.ts +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +9 -7
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +19 -27
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +2 -4
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +105 -172
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +80 -65
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +12 -12
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +56 -27
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  178. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.d.ts +16 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +70 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  181. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.d.ts +20 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +40 -0
  183. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.d.ts +31 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +53 -0
  185. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +33 -2
  186. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +21 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +362 -18
  188. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.d.ts +15 -4
  189. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +90 -43
  190. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +35 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +146 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  193. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  194. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  195. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  196. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -9
  198. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  199. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  201. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.d.ts +1 -1
  202. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +33 -5
  203. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.d.ts +3 -0
  204. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +200 -55
  205. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +7 -0
  206. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +90 -45
  207. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +4 -2
  208. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +21 -10
  209. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +22 -16
  210. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +4 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +28 -13
  212. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  213. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  214. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  215. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +20 -16
  216. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +68 -5
  217. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  219. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  221. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +57 -20
  222. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  223. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +21 -5
  224. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +171 -57
  225. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +7 -5
  226. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +206 -35
  227. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +4 -3
  228. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -7
  229. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +7 -1
  230. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +11 -3
  231. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +44 -22
  232. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +450 -301
  233. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.d.ts +23 -0
  234. package/vscode/src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.js +165 -0
  235. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +34 -20
  236. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +209 -144
  237. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.d.ts +20 -0
  238. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.js +205 -0
  239. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +17 -17
  240. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +33 -0
  241. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +47 -0
  242. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +30 -0
  243. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  244. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  245. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  246. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +1 -1
  247. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +191 -159
  248. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +6 -7
  249. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +210 -233
  250. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +19 -26
  251. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +183 -193
  252. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +24 -0
  253. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +75 -0
  254. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +8 -5
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -0
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +97 -35
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +16 -0
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +67 -0
  261. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +2 -2
  262. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +62 -23
  263. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +10 -10
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  268. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +8 -8
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +2 -2
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +3 -1
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +23 -9
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +1 -1
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +2 -2
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +3 -1
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +50 -9
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +3 -1
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +21 -7
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +20 -1
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +124 -1
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +20 -5
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +5 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +10 -7
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.d.ts +2 -1
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +46 -31
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +18 -1
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +74 -37
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +1 -0
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +24 -14
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +3 -2
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +2 -0
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +5 -1
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +1 -2
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +66 -64
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +1 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.d.ts +1 -0
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +5 -2
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +32 -2
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +390 -114
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +14 -0
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +21 -11
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +70 -51
  313. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +61 -51
  314. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +94 -76
  315. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +19 -1
  317. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +112 -21
  318. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.d.ts +0 -53
  319. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.js +0 -219
  320. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.d.ts +0 -89
  321. package/vscode/src/vs/sessions/contrib/chat/browser/aiCustomizationWorkspaceService.js +0 -251
  322. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.d.ts +0 -123
  323. package/vscode/src/vs/sessions/contrib/chat/browser/newSession.js +0 -278
  324. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.d.ts +0 -76
  325. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.js +0 -299
  326. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +0 -67
  327. package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +0 -263
  328. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.d.ts +0 -85
  329. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.js +0 -397
  330. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +0 -56
  331. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +0 -26
  332. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.d.ts +0 -5
  333. package/vscode/src/vs/workbench/contrib/chat/browser/sessionResourceMatching.js +0 -30
  334. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +0 -40
  335. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +0 -28
  336. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +0 -190
  337. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +0 -11
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -16
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -20
@@ -13,14 +13,14 @@ import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode
13
13
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
14
14
  import { ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
15
15
 
16
- const RUN_WITHOUT_APPROVAL = ( localize(6408, "without approval"));
17
- const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6409, "without reviewing result"));
16
+ const RUN_WITHOUT_APPROVAL = ( localize(6567, "without approval"));
17
+ const CONTINUE_WITHOUT_REVIEWING_RESULTS = ( localize(6568, "without reviewing result"));
18
18
  class GenericConfirmStore extends Disposable {
19
19
  constructor(_storageKey, _instantiationService) {
20
20
  super();
21
21
  this._storageKey = _storageKey;
22
22
  this._instantiationService = _instantiationService;
23
- this._memoryStore = ( new Set());
23
+ this._memoryStore = ( new Map());
24
24
  this._workspaceStore = ( new Lazy(() => this._register(
25
25
  this._instantiationService.createInstance(ToolConfirmStore, StorageScope.WORKSPACE, this._storageKey)
26
26
  )));
@@ -28,16 +28,20 @@ class GenericConfirmStore extends Disposable {
28
28
  this._instantiationService.createInstance(ToolConfirmStore, StorageScope.PROFILE, this._storageKey)
29
29
  )));
30
30
  }
31
- setAutoConfirmation(id, scope) {
32
- this._workspaceStore.value.setAutoConfirm(id, false);
33
- this._profileStore.value.setAutoConfirm(id, false);
31
+ setAutoConfirmation(id, scope, label) {
32
+ this._workspaceStore.value.setAutoConfirm(id, undefined);
33
+ this._profileStore.value.setAutoConfirm(id, undefined);
34
34
  this._memoryStore.delete(id);
35
+ const entry = {
36
+ confirmed: true,
37
+ label
38
+ };
35
39
  if (scope === "workspace") {
36
- this._workspaceStore.value.setAutoConfirm(id, true);
40
+ this._workspaceStore.value.setAutoConfirm(id, entry);
37
41
  } else if (scope === "profile") {
38
- this._profileStore.value.setAutoConfirm(id, true);
42
+ this._profileStore.value.setAutoConfirm(id, entry);
39
43
  } else if (scope === "session") {
40
- this._memoryStore.add(id);
44
+ this._memoryStore.set(id, entry);
41
45
  }
42
46
  }
43
47
  getAutoConfirmation(id) {
@@ -54,13 +58,16 @@ class GenericConfirmStore extends Disposable {
54
58
  }
55
59
  getAutoConfirmationIn(id, scope) {
56
60
  if (scope === "workspace") {
57
- return this._workspaceStore.value.getAutoConfirm(id);
61
+ return !!this._workspaceStore.value.getAutoConfirm(id);
58
62
  } else if (scope === "profile") {
59
- return this._profileStore.value.getAutoConfirm(id);
63
+ return !!this._profileStore.value.getAutoConfirm(id);
60
64
  } else {
61
65
  return ( this._memoryStore.has(id));
62
66
  }
63
67
  }
68
+ getLabel(id) {
69
+ return this._workspaceStore.value.getAutoConfirm(id)?.label ?? this._profileStore.value.getAutoConfirm(id)?.label ?? this._memoryStore.get(id)?.label;
70
+ }
64
71
  reset() {
65
72
  this._workspaceStore.value.reset();
66
73
  this._profileStore.value.reset();
@@ -95,7 +102,7 @@ class GenericConfirmStore extends Disposable {
95
102
  for (const key of this._profileStore.value.getAll()) {
96
103
  all.add(key);
97
104
  }
98
- for (const key of this._memoryStore) {
105
+ for (const key of ( this._memoryStore.keys())) {
99
106
  all.add(key);
100
107
  }
101
108
  return all;
@@ -109,15 +116,33 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
109
116
  this.storageService = storageService;
110
117
  this._autoConfirmTools = ( new LRUCache(100));
111
118
  this._didChange = false;
112
- const stored = storageService.getObject(this._storageKey, this._scope);
113
- if (stored) {
114
- for (const key of stored) {
115
- this._autoConfirmTools.set(key, true);
116
- }
119
+ const raw = storageService.get(this._storageKey, this._scope);
120
+ if (raw) {
121
+ try {
122
+ const parsed = JSON.parse(raw);
123
+ if (Array.isArray(parsed)) {
124
+ for (const key of parsed) {
125
+ this._autoConfirmTools.set(key, {
126
+ confirmed: true
127
+ });
128
+ }
129
+ } else if (typeof parsed === "object" && parsed !== null) {
130
+ for (const [key, value] of Object.entries(parsed)) {
131
+ this._autoConfirmTools.set(key, {
132
+ confirmed: true,
133
+ label: typeof value === "string" ? value : undefined
134
+ });
135
+ }
136
+ }
137
+ } catch {}
117
138
  }
118
139
  this._register(storageService.onWillSaveState(() => {
119
140
  if (this._didChange) {
120
- this.storageService.store(this._storageKey, [...( this._autoConfirmTools.keys())], this._scope, StorageTarget.MACHINE);
141
+ const data = {};
142
+ for (const [key, entry] of this._autoConfirmTools) {
143
+ data[key] = entry.label ?? true;
144
+ }
145
+ this.storageService.store(this._storageKey, JSON.stringify(data), this._scope, StorageTarget.MACHINE);
121
146
  this._didChange = false;
122
147
  }
123
148
  }));
@@ -127,17 +152,18 @@ let ToolConfirmStore = class ToolConfirmStore extends Disposable {
127
152
  this._didChange = true;
128
153
  }
129
154
  getAutoConfirm(id) {
130
- if (this._autoConfirmTools.get(id)) {
155
+ const entry = this._autoConfirmTools.get(id);
156
+ if (entry) {
131
157
  this._didChange = true;
132
- return true;
158
+ return entry;
133
159
  }
134
- return false;
160
+ return undefined;
135
161
  }
136
- setAutoConfirm(id, autoConfirm) {
137
- if (autoConfirm) {
138
- this._autoConfirmTools.set(id, true);
139
- } else {
162
+ setAutoConfirm(id, entry) {
163
+ if (!entry) {
140
164
  this._autoConfirmTools.delete(id);
165
+ } else {
166
+ this._autoConfirmTools.set(id, entry);
141
167
  }
142
168
  this._didChange = true;
143
169
  }
@@ -156,6 +182,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
156
182
  this._postExecutionToolConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-post", this._instantiationService)));
157
183
  this._preExecutionServerConfirmStore = this._register(( new GenericConfirmStore("chat/servers/autoconfirm", this._instantiationService)));
158
184
  this._postExecutionServerConfirmStore = this._register(( new GenericConfirmStore("chat/servers/autoconfirm-post", this._instantiationService)));
185
+ this._combinationConfirmStore = this._register(( new GenericConfirmStore("chat/autoconfirm-combination", this._instantiationService)));
159
186
  }
160
187
  getPreConfirmAction(ref) {
161
188
  const contribution = this._contributions.get(ref.toolId);
@@ -168,6 +195,12 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
168
195
  if (contribution && contribution.canUseDefaultApprovals === false) {
169
196
  return undefined;
170
197
  }
198
+ if (ref.combination) {
199
+ const combinationResult = this._combinationConfirmStore.checkAutoConfirmation(ref.combination.key);
200
+ if (combinationResult) {
201
+ return combinationResult;
202
+ }
203
+ }
171
204
  const toolResult = this._preExecutionToolConfirmStore.checkAutoConfirmation(ref.toolId);
172
205
  if (toolResult) {
173
206
  return toolResult;
@@ -212,9 +245,50 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
212
245
  if (contribution && contribution.canUseDefaultApprovals === false) {
213
246
  return actions;
214
247
  }
248
+ if (ref.combination) {
249
+ const {
250
+ label: combinationLabel,
251
+ key: combinationKey
252
+ } = ref.combination;
253
+ actions.push({
254
+ label: ( localize(6569, "{0} in this Session", combinationLabel)),
255
+ detail: ( localize(
256
+ 6570,
257
+ "Allow this particular combination of tool and arguments in this session without confirmation."
258
+ )),
259
+ divider: !!actions.length,
260
+ scope: "session",
261
+ select: async () => {
262
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "session", combinationLabel);
263
+ return true;
264
+ }
265
+ }, {
266
+ label: ( localize(6571, "{0} in this Workspace", combinationLabel)),
267
+ detail: ( localize(
268
+ 6572,
269
+ "Allow this particular combination of tool and arguments in this workspace without confirmation."
270
+ )),
271
+ scope: "workspace",
272
+ select: async () => {
273
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "workspace", combinationLabel);
274
+ return true;
275
+ }
276
+ }, {
277
+ label: ( localize(6573, "Always {0}", combinationLabel)),
278
+ detail: ( localize(
279
+ 6574,
280
+ "Always allow this particular combination of tool and arguments without confirmation."
281
+ )),
282
+ scope: "profile",
283
+ select: async () => {
284
+ this._combinationConfirmStore.setAutoConfirmation(combinationKey, "profile", combinationLabel);
285
+ return true;
286
+ }
287
+ });
288
+ }
215
289
  actions.push({
216
- label: ( localize(6410, "Allow in this Session")),
217
- detail: ( localize(6411, "Allow this tool to run in this session without confirmation.")),
290
+ label: ( localize(6575, "Allow in this Session")),
291
+ detail: ( localize(6576, "Allow this tool to run in this session without confirmation.")),
218
292
  divider: !!actions.length,
219
293
  scope: "session",
220
294
  select: async () => {
@@ -222,16 +296,16 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
222
296
  return true;
223
297
  }
224
298
  }, {
225
- label: ( localize(6412, "Allow in this Workspace")),
226
- detail: ( localize(6413, "Allow this tool to run in this workspace without confirmation.")),
299
+ label: ( localize(6577, "Allow in this Workspace")),
300
+ detail: ( localize(6578, "Allow this tool to run in this workspace without confirmation.")),
227
301
  scope: "workspace",
228
302
  select: async () => {
229
303
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "workspace");
230
304
  return true;
231
305
  }
232
306
  }, {
233
- label: ( localize(6414, "Always Allow")),
234
- detail: ( localize(6415, "Always allow this tool to run without confirmation.")),
307
+ label: ( localize(6579, "Always Allow")),
308
+ detail: ( localize(6580, "Always allow this tool to run without confirmation.")),
235
309
  scope: "profile",
236
310
  select: async () => {
237
311
  this._preExecutionToolConfirmStore.setAutoConfirmation(ref.toolId, "profile");
@@ -244,9 +318,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
244
318
  definitionId
245
319
  } = ref.source;
246
320
  actions.push({
247
- label: ( localize(6416, "Allow Tools from {0} in this Session", serverLabel)),
321
+ label: ( localize(6581, "Allow Tools from {0} in this Session", serverLabel)),
248
322
  detail: ( localize(
249
- 6417,
323
+ 6582,
250
324
  "Allow all tools from this server to run in this session without confirmation."
251
325
  )),
252
326
  divider: true,
@@ -256,9 +330,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
256
330
  return true;
257
331
  }
258
332
  }, {
259
- label: ( localize(6418, "Allow Tools from {0} in this Workspace", serverLabel)),
333
+ label: ( localize(6583, "Allow Tools from {0} in this Workspace", serverLabel)),
260
334
  detail: ( localize(
261
- 6419,
335
+ 6584,
262
336
  "Allow all tools from this server to run in this workspace without confirmation."
263
337
  )),
264
338
  scope: "workspace",
@@ -267,9 +341,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
267
341
  return true;
268
342
  }
269
343
  }, {
270
- label: ( localize(6420, "Always Allow Tools from {0}", serverLabel)),
344
+ label: ( localize(6585, "Always Allow Tools from {0}", serverLabel)),
271
345
  detail: ( localize(
272
- 6421,
346
+ 6586,
273
347
  "Always allow all tools from this server to run without confirmation."
274
348
  )),
275
349
  scope: "profile",
@@ -291,9 +365,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
291
365
  return actions;
292
366
  }
293
367
  actions.push({
294
- label: ( localize(6422, "Allow Without Review in this Session")),
368
+ label: ( localize(6587, "Allow Without Review in this Session")),
295
369
  detail: ( localize(
296
- 6423,
370
+ 6588,
297
371
  "Allow results from this tool to be sent without confirmation in this session."
298
372
  )),
299
373
  divider: !!actions.length,
@@ -303,9 +377,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
303
377
  return true;
304
378
  }
305
379
  }, {
306
- label: ( localize(6424, "Allow Without Review in this Workspace")),
380
+ label: ( localize(6589, "Allow Without Review in this Workspace")),
307
381
  detail: ( localize(
308
- 6425,
382
+ 6590,
309
383
  "Allow results from this tool to be sent without confirmation in this workspace."
310
384
  )),
311
385
  scope: "workspace",
@@ -314,9 +388,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
314
388
  return true;
315
389
  }
316
390
  }, {
317
- label: ( localize(6426, "Always Allow Without Review")),
391
+ label: ( localize(6591, "Always Allow Without Review")),
318
392
  detail: ( localize(
319
- 6427,
393
+ 6592,
320
394
  "Always allow results from this tool to be sent without confirmation."
321
395
  )),
322
396
  scope: "profile",
@@ -331,9 +405,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
331
405
  definitionId
332
406
  } = ref.source;
333
407
  actions.push({
334
- label: ( localize(6428, "Allow Tools from {0} Without Review in this Session", serverLabel)),
408
+ label: ( localize(6593, "Allow Tools from {0} Without Review in this Session", serverLabel)),
335
409
  detail: ( localize(
336
- 6429,
410
+ 6594,
337
411
  "Allow results from all tools from this server to be sent without confirmation in this session."
338
412
  )),
339
413
  divider: true,
@@ -343,9 +417,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
343
417
  return true;
344
418
  }
345
419
  }, {
346
- label: ( localize(6430, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
420
+ label: ( localize(6595, "Allow Tools from {0} Without Review in this Workspace", serverLabel)),
347
421
  detail: ( localize(
348
- 6431,
422
+ 6596,
349
423
  "Allow results from all tools from this server to be sent without confirmation in this workspace."
350
424
  )),
351
425
  scope: "workspace",
@@ -354,9 +428,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
354
428
  return true;
355
429
  }
356
430
  }, {
357
- label: ( localize(6432, "Always Allow Tools from {0} Without Review", serverLabel)),
431
+ label: ( localize(6597, "Always Allow Tools from {0} Without Review", serverLabel)),
358
432
  detail: ( localize(
359
- 6433,
433
+ 6598,
360
434
  "Always allow results from all tools from this server to be sent without confirmation."
361
435
  )),
362
436
  scope: "profile",
@@ -377,7 +451,30 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
377
451
  };
378
452
  }
379
453
  toolCanManageConfirmation(tool) {
380
- return !!tool.canRequestPreApproval || !!tool.canRequestPostApproval || ( this._contributions.has(tool.id)) || !!this._preExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || !!this._postExecutionToolConfirmStore.checkAutoConfirmation(tool.id);
454
+ return !!tool.canRequestPreApproval || !!tool.canRequestPostApproval || ( this._contributions.has(tool.id)) || !!this._preExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || !!this._postExecutionToolConfirmStore.checkAutoConfirmation(tool.id) || this._hasCombinationApprovalsForTool(tool.id);
455
+ }
456
+ _hasCombinationApprovalsForTool(toolId) {
457
+ const prefix = toolId + ":combination:";
458
+ for (const key of this._combinationConfirmStore.getAllConfirmed()) {
459
+ if (key.startsWith(prefix)) {
460
+ return true;
461
+ }
462
+ }
463
+ return false;
464
+ }
465
+ _getCombinationApprovalsForTool(toolId, scope) {
466
+ const prefix = toolId + ":combination:";
467
+ const results = [];
468
+ for (const key of this._combinationConfirmStore.getAllConfirmed()) {
469
+ if (key.startsWith(prefix) && this._combinationConfirmStore.getAutoConfirmationIn(key, scope)) {
470
+ const label = this._combinationConfirmStore.getLabel(key) ?? key;
471
+ results.push({
472
+ key,
473
+ label
474
+ });
475
+ }
476
+ }
477
+ return results;
381
478
  }
382
479
  manageConfirmationPreferences(tools, options) {
383
480
  const trackServerTool = (serverId, label, toolId, serversWithTools) => {
@@ -427,6 +524,12 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
427
524
  }
428
525
  }
429
526
  }
527
+ for (const tool of tools) {
528
+ if (!( relevantTools.has(tool.id)) && this._hasCombinationApprovalsForTool(tool.id)) {
529
+ relevantTools.add(tool.id);
530
+ addServerToolFromSource(tool.source, tool.id, serversWithTools);
531
+ }
532
+ }
430
533
  if (relevantTools.size === 0) {
431
534
  return;
432
535
  }
@@ -467,6 +570,19 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
467
570
  checked: this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope)
468
571
  });
469
572
  }
573
+ const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
574
+ for (const {
575
+ key,
576
+ label
577
+ } of combinationApprovals) {
578
+ toolChildren.push({
579
+ type: "combination",
580
+ toolId: tool.id,
581
+ combinationKey: key,
582
+ label,
583
+ checked: true
584
+ });
585
+ }
470
586
  const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
471
587
  const postApproval = this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
472
588
  let checked;
@@ -479,6 +595,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
479
595
  } else if (hasPost) {
480
596
  checked = postApproval;
481
597
  description = CONTINUE_WITHOUT_REVIEWING_RESULTS;
598
+ } else if (toolChildren.length > 0) {
599
+ checked = false;
482
600
  } else {
483
601
  continue;
484
602
  }
@@ -498,7 +616,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
498
616
  type: "server-post",
499
617
  serverId,
500
618
  iconClass: ThemeIcon.asClassName(Codicon.play),
501
- label: ( localize(6434, "Continue without reviewing any tool results")),
619
+ label: ( localize(6599, "Continue without reviewing any tool results")),
502
620
  checked: serverPostConfirmed
503
621
  });
504
622
  }
@@ -507,7 +625,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
507
625
  type: "server-pre",
508
626
  serverId,
509
627
  iconClass: ThemeIcon.asClassName(Codicon.play),
510
- label: ( localize(6435, "Run any tool without approval")),
628
+ label: ( localize(6600, "Run any tool without approval")),
511
629
  checked: serverPreConfirmed
512
630
  });
513
631
  }
@@ -572,6 +690,19 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
572
690
  checked: this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope)
573
691
  });
574
692
  }
693
+ const combinationApprovals = this._getCombinationApprovalsForTool(tool.id, currentScope);
694
+ for (const {
695
+ key,
696
+ label
697
+ } of combinationApprovals) {
698
+ toolChildren.push({
699
+ type: "combination",
700
+ toolId: tool.id,
701
+ combinationKey: key,
702
+ label,
703
+ checked: true
704
+ });
705
+ }
575
706
  const preApproval = this._preExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
576
707
  const postApproval = this._postExecutionToolConfirmStore.getAutoConfirmationIn(tool.id, currentScope);
577
708
  if (hasPre && hasPost) {
@@ -606,7 +737,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
606
737
  if (currentScope !== "session") {
607
738
  const scopeButton = {
608
739
  iconClass: ThemeIcon.asClassName(Codicon.folder),
609
- tooltip: ( localize(6436, "Configure for this workspace only")),
740
+ tooltip: ( localize(6601, "Configure for this workspace only")),
610
741
  toggle: {
611
742
  checked: currentScope === "workspace"
612
743
  },
@@ -623,9 +754,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
623
754
  }
624
755
  const updatePlaceholder = () => {
625
756
  if (currentScope === "session") {
626
- quickTree.placeholder = ( localize(6437, "Configure session tool approvals"));
757
+ quickTree.placeholder = ( localize(6602, "Configure session tool approvals"));
627
758
  } else {
628
- quickTree.placeholder = currentScope === "workspace" ? ( localize(6438, "Configure workspace tool approvals")) : ( localize(6439, "Configure global tool approvals"));
759
+ quickTree.placeholder = currentScope === "workspace" ? ( localize(6603, "Configure workspace tool approvals")) : ( localize(6604, "Configure global tool approvals"));
629
760
  }
630
761
  };
631
762
  updatePlaceholder();
@@ -646,6 +777,14 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
646
777
  if (tool?.canRequestPreApproval || newState === "never") {
647
778
  this._preExecutionToolConfirmStore.setAutoConfirmation(item.toolId, newState);
648
779
  }
780
+ if (newState === "never") {
781
+ for (const key of this._combinationConfirmStore.getAllConfirmed()) {
782
+ if (key.startsWith(item.toolId + ":combination:")) {
783
+ this._combinationConfirmStore.setAutoConfirmation(key, "never");
784
+ }
785
+ }
786
+ }
787
+ quickTree.setItemTree(buildTreeItems());
649
788
  } else if (item.type === "tool-pre" && item.toolId) {
650
789
  this._preExecutionToolConfirmStore.setAutoConfirmation(item.toolId, newState);
651
790
  } else if (item.type === "tool-post" && item.toolId) {
@@ -658,6 +797,9 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
658
797
  quickTree.setItemTree(buildTreeItems());
659
798
  } else if (item.type === "manage") {
660
799
  item.onDidChangeChecked?.(!!item.checked);
800
+ } else if (item.type === "combination" && item.combinationKey) {
801
+ this._combinationConfirmStore.setAutoConfirmation(item.combinationKey, newState);
802
+ quickTree.setItemTree(buildTreeItems());
661
803
  }
662
804
  }));
663
805
  disposables.add(quickTree.onDidTriggerItemButton(i => {
@@ -671,6 +813,8 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
671
813
  quickTree.hide();
672
814
  await manageItem.onDidOpen?.();
673
815
  this.manageConfirmationPreferences(tools, options);
816
+ } else {
817
+ quickTree.hide();
674
818
  }
675
819
  }));
676
820
  disposables.add(quickTree.onDidHide(() => {
@@ -697,6 +841,7 @@ let LanguageModelToolsConfirmationService = class LanguageModelToolsConfirmation
697
841
  this._postExecutionToolConfirmStore.reset();
698
842
  this._preExecutionServerConfirmStore.reset();
699
843
  this._postExecutionServerConfirmStore.reset();
844
+ this._combinationConfirmStore.reset();
700
845
  for (const contribution of ( this._contributions.values())) {
701
846
  contribution.reset?.();
702
847
  }
@@ -111,6 +111,13 @@ export declare class LanguageModelToolsService extends Disposable implements ILa
111
111
  updateToolStream(toolCallId: string, partialInput: unknown, token: CancellationToken): Promise<void>;
112
112
  private playAccessibilitySignal;
113
113
  private ensureToolDetails;
114
+ private toolResultHasImages;
115
+ /**
116
+ * Returns true if the tool result message (or falling back to the tool invocation's
117
+ * pastTenseMessage from streaming) contains empty markdown links pointing to image
118
+ * files (the `[](imageUri)` pattern) that will be rendered as file pills by renderFileWidgets.
119
+ */
120
+ private toolResultMessageHasImageFileWidgets;
114
121
  private formatToolInput;
115
122
  private toolResultToIO;
116
123
  /**