@codingame/monaco-vscode-chat-service-override 19.1.4 → 20.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 (211) hide show
  1. package/index.js +20 -8
  2. package/package.json +36 -31
  3. package/vscode/src/vs/base/common/policy.d.ts +14 -0
  4. package/vscode/src/vs/base/common/policy.js +11 -0
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +53 -43
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +54 -24
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +2 -2
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +14 -14
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +15 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +37 -25
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +6 -6
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +23 -11
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +9 -9
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +83 -14
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +421 -21
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +20 -20
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +215 -104
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +3 -1
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +9 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.d.ts +3 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.js +18 -6
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.d.ts +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +4 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +20 -20
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +6 -3
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +4 -2
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +9 -6
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +11 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +5 -3
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +16 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +7 -23
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +58 -326
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.d.ts +0 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +33 -30
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.d.ts +12 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +39 -17
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.d.ts +55 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTimeline.js +380 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +3 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +5 -5
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +4 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +22 -22
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +9 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +44 -10
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +38 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +145 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +34 -34
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +7 -7
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +3 -3
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +36 -11
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.d.ts +49 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.contribution.js +407 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.d.ts +12 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions.js +738 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +142 -151
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +54 -54
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +20 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +4 -3
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +5 -4
  78. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +23 -7
  80. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.d.ts +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +3 -3
  82. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +1 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +13 -8
  84. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-dark.svg +3 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/media/apple-light.svg +3 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSessions.css +28 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.d.ts +2 -2
  89. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/attachInstructionsAction.js +14 -14
  90. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +8 -8
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/newPromptFileActions.js +10 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.d.ts +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptName.js +11 -11
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.d.ts +1 -1
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/askForPromptSourceFolder.js +19 -19
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/pickers/promptFilePickers.js +14 -14
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +3 -3
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +10 -10
  102. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +11 -11
  103. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.d.ts +1 -7
  104. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveToPromptAction.js +52 -90
  105. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +15 -15
  106. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +6 -6
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +6 -2
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +9 -6
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +11 -6
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +137 -30
  112. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceTelemetry.js +8 -0
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.d.ts +1 -1
  114. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +3 -3
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.d.ts +27 -0
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.js +44 -0
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/configMigration.js +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/filePromptContentsProvider.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/promptContentsProviderBase.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderDiagnosticsProvider.js +3 -5
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderHovers.js +14 -14
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkDiagnosticsProvider.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptPathAutocompletion.js +1 -1
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/providerInstanceManagerBase.js +2 -2
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/basePromptParser.js +1 -1
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/headerBase.js +4 -4
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/instructionsHeader.d.ts +1 -1
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/applyTo.js +3 -3
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/enum.js +1 -1
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/base/string.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/tools.js +4 -4
  134. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/modeHeader.d.ts +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.d.ts +1 -1
  136. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/promptHeader.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/topError.js +9 -9
  138. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +8 -8
  140. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +1 -1
  141. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +2 -2
  142. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +27 -27
  143. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.d.ts +1 -1
  144. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +9 -9
  146. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +1 -1
  147. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +4 -4
  148. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +104 -0
  149. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +667 -0
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +14 -14
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  154. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css +56 -0
  156. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.d.ts +1 -0
  157. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +14 -0
  158. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.d.ts +11 -0
  159. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +111 -0
  160. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.d.ts +10 -0
  161. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +52 -0
  162. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.d.ts +1 -0
  163. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +262 -0
  164. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.d.ts +35 -0
  165. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +129 -0
  166. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.d.ts +3 -0
  167. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatControllerHolder.js +8 -0
  168. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.d.ts +9 -0
  169. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +30 -0
  170. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +72 -0
  171. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +411 -0
  172. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +3 -0
  173. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +59 -0
  174. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.d.ts +51 -0
  175. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/bufferOutputPolling.js +163 -0
  176. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.d.ts +24 -0
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandLineAutoApprover.js +164 -0
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +14 -0
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +101 -0
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +16 -0
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +52 -0
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +12 -0
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +71 -0
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +14 -0
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +94 -0
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.d.ts +11 -0
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/getTerminalOutputTool.js +44 -0
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +3 -0
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +18 -0
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +3 -0
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +13 -0
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.d.ts +55 -0
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalTool.js +603 -0
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.d.ts +3 -0
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/subCommands.js +113 -0
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.d.ts +21 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/createAndRunTaskTool.js +227 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.d.ts +19 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/getTaskOutputTool.js +88 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.d.ts +21 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/runTaskTool.js +140 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.d.ts +22 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task/taskHelpers.js +80 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.d.ts +1 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/task.chatAgentTools.contribution.js +40 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +36 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +20 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +114 -0
  210. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-dark.svg +0 -3
  211. package/vscode/src/vs/workbench/contrib/chat/browser/media/google-mono-light.svg +0 -3
@@ -6,20 +6,21 @@ import { IAuthenticationAccessService } from '@codingame/monaco-vscode-api/vscod
6
6
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { INTERNAL_AUTH_PROVIDER_PREFIX } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication';
8
8
  import { IDialogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service';
9
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
9
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
10
10
  import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
11
11
  import { IExtensionsWorkbenchService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service';
12
12
  import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
13
13
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
14
14
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
15
15
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
16
+ import { ManageModelsAction } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/actions/manageModelsActions';
16
17
 
17
18
  class ManageLanguageModelAuthenticationAction extends Action2 {
18
19
  static { this.ID = 'workbench.action.chat.manageLanguageModelAuthentication'; }
19
20
  constructor() {
20
21
  super({
21
22
  id: ManageLanguageModelAuthenticationAction.ID,
22
- title: ( localize2(4572, 'Manage Language Model Access...')),
23
+ title: ( localize2(4621, 'Manage Language Model Access...')),
23
24
  category: CHAT_CATEGORY,
24
25
  precondition: ChatContextKeys.enabled,
25
26
  menu: [{
@@ -90,9 +91,9 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
90
91
  if (extensionAuth.size === 0) {
91
92
  dialogService.prompt({
92
93
  type: 'info',
93
- message: ( localize(4573, 'No language models requiring authentication found.')),
94
+ message: ( localize(4622, 'No language models requiring authentication found.')),
94
95
  detail: ( localize(
95
- 4574,
96
+ 4623,
96
97
  'There are currently no language models that require authentication.'
97
98
  ))
98
99
  });
@@ -107,10 +108,10 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
107
108
  items.push({
108
109
  type: 'separator',
109
110
  id: ownerId,
110
- label: ( localize(4575, '{0}', extension.displayName || extension.name)),
111
+ label: ( localize(4624, '{0}', extension.displayName || extension.name)),
111
112
  buttons: [{
112
113
  iconClass: ThemeIcon.asClassName(Codicon.info),
113
- tooltip: ( localize(4576, 'Open Extension')),
114
+ tooltip: ( localize(4625, 'Open Extension')),
114
115
  }]
115
116
  });
116
117
  let addedTrustedSeparator = false;
@@ -119,7 +120,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
119
120
  if (allowedExt.trusted && !addedTrustedSeparator) {
120
121
  items.push({
121
122
  type: 'separator',
122
- label: ( localize(4577, 'Trusted by Microsoft')),
123
+ label: ( localize(4626, 'Trusted by Microsoft')),
123
124
  });
124
125
  addedTrustedSeparator = true;
125
126
  }
@@ -130,14 +131,18 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
130
131
  picked: allowedExt.allowed ?? false,
131
132
  extension: allowedExt,
132
133
  disabled: allowedExt.trusted,
134
+ buttons: [{
135
+ iconClass: ThemeIcon.asClassName(Codicon.info),
136
+ tooltip: ( localize(4625, 'Open Extension')),
137
+ }]
133
138
  });
134
139
  }
135
140
  }
136
141
  else {
137
142
  items.push({
138
- label: ( localize(4578, 'No extensions have access')),
143
+ label: ( localize(4627, 'No extensions have access')),
139
144
  description: ( localize(
140
- 4579,
145
+ 4628,
141
146
  'No extensions are currently allowed to use models from {0}',
142
147
  ownerId
143
148
  )),
@@ -154,8 +159,14 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
154
159
  void extensionsWorkbenchService.open(extId);
155
160
  }
156
161
  },
157
- title: ( localize(4580, 'Manage Language Model Access')),
158
- placeHolder: ( localize(4581, 'Choose which extensions can access language models')),
162
+ onDidTriggerItemButton(context) {
163
+ const extId = context.item.id;
164
+ if (extId) {
165
+ void extensionsWorkbenchService.open(extId);
166
+ }
167
+ },
168
+ title: ( localize(4629, 'Manage Language Model Access')),
169
+ placeHolder: ( localize(4630, 'Choose which extensions can access language models')),
159
170
  });
160
171
  if (!result) {
161
172
  return;
@@ -174,6 +185,7 @@ class ManageLanguageModelAuthenticationAction extends Action2 {
174
185
  }
175
186
  function registerLanguageModelActions() {
176
187
  registerAction2(ManageLanguageModelAuthenticationAction);
188
+ registerAction2(ManageModelsAction);
177
189
  }
178
190
 
179
191
  export { registerLanguageModelActions };
@@ -12,11 +12,11 @@ import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
12
12
  import { isChatViewTitleActionContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatActions';
13
13
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
14
14
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
15
- import { ChatViewId } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/chat';
15
+ import { ChatViewId } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chat';
16
16
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
17
17
  import { ChatEditor } from '../chatEditor.js';
18
- import { ChatEditorInput } from '@codingame/monaco-vscode-9ebd6daf-8734-5a28-ad24-b238f5e5819d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
19
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
18
+ import { ChatEditorInput } from '@codingame/monaco-vscode-b994942c-360d-5b68-8a33-77d4bde6b714-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
19
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
20
20
 
21
21
  var MoveToNewLocation;
22
22
  (function (MoveToNewLocation) {
@@ -28,7 +28,7 @@ function registerMoveActions() {
28
28
  constructor() {
29
29
  super({
30
30
  id: 'workbench.action.chat.openInEditor',
31
- title: ( localize2(4582, "Open Chat in Editor")),
31
+ title: ( localize2(4631, "Open Chat in Editor")),
32
32
  category: CHAT_CATEGORY,
33
33
  precondition: ChatContextKeys.enabled,
34
34
  f1: true,
@@ -49,7 +49,7 @@ function registerMoveActions() {
49
49
  constructor() {
50
50
  super({
51
51
  id: 'workbench.action.chat.openInNewWindow',
52
- title: ( localize2(4583, "Open Chat in New Window")),
52
+ title: ( localize2(4632, "Open Chat in New Window")),
53
53
  category: CHAT_CATEGORY,
54
54
  precondition: ChatContextKeys.enabled,
55
55
  f1: true,
@@ -70,7 +70,7 @@ function registerMoveActions() {
70
70
  constructor() {
71
71
  super({
72
72
  id: 'workbench.action.chat.openInSidebar',
73
- title: ( localize2(4584, "Open Chat in Side Bar")),
73
+ title: ( localize2(4633, "Open Chat in Side Bar")),
74
74
  category: CHAT_CATEGORY,
75
75
  precondition: ChatContextKeys.enabled,
76
76
  f1: true
@@ -89,9 +89,9 @@ function registerMoveActions() {
89
89
  });
90
90
  }
91
91
  [MenuId.EditorTitle, MenuId.CompactWindowEditorTitle].forEach(id => {
92
- appendOpenChatInViewMenuItem(id, ( localize(4585, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
- appendOpenChatInViewMenuItem(id, ( localize(4586, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
- appendOpenChatInViewMenuItem(id, ( localize(4587, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
92
+ appendOpenChatInViewMenuItem(id, ( localize(4634, "Open Chat in Secondary Side Bar")), Codicon.layoutSidebarRightDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.AuxiliaryBar)));
93
+ appendOpenChatInViewMenuItem(id, ( localize(4635, "Open Chat in Primary Side Bar")), Codicon.layoutSidebarLeftDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Sidebar)));
94
+ appendOpenChatInViewMenuItem(id, ( localize(4636, "Open Chat in Panel")), Codicon.layoutPanelDock, ( ChatContextKeys.panelLocation.isEqualTo(ViewContainerLocation.Panel)));
95
95
  });
96
96
  }
97
97
  async function executeMoveToAction(accessor, moveTo, _sessionId) {
@@ -1,2 +1,2 @@
1
- export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants";
1
+ export { ASK_QUICK_QUESTION_ACTION_ID } from "@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants";
2
2
  export declare function registerQuickChatActions(): void;
@@ -5,11 +5,11 @@ import { Selection } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/
5
5
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
6
6
  import { registerAction2, Action2, MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
7
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
8
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
8
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
9
9
  import { IQuickChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
10
10
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
11
- import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
12
- export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
11
+ import { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
12
+ export { ASK_QUICK_QUESTION_ACTION_ID } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
13
13
 
14
14
  function registerQuickChatActions() {
15
15
  registerAction2(QuickChatGlobalAction);
@@ -18,7 +18,7 @@ function registerQuickChatActions() {
18
18
  constructor() {
19
19
  super({
20
20
  id: 'workbench.action.quickchat.openInChatView',
21
- title: ( localize2(4588, "Open in Chat View")),
21
+ title: ( localize2(4637, "Open in Chat View")),
22
22
  f1: false,
23
23
  category: CHAT_CATEGORY,
24
24
  icon: Codicon.commentDiscussion,
@@ -38,7 +38,7 @@ function registerQuickChatActions() {
38
38
  constructor() {
39
39
  super({
40
40
  id: 'workbench.action.quickchat.close',
41
- title: ( localize2(4589, "Close Quick Chat")),
41
+ title: ( localize2(4638, "Close Quick Chat")),
42
42
  f1: false,
43
43
  category: CHAT_CATEGORY,
44
44
  icon: Codicon.close,
@@ -59,7 +59,7 @@ class QuickChatGlobalAction extends Action2 {
59
59
  constructor() {
60
60
  super({
61
61
  id: ASK_QUICK_QUESTION_ACTION_ID,
62
- title: ( localize2(4590, 'Quick Chat')),
62
+ title: ( localize2(4639, 'Quick Chat')),
63
63
  precondition: ChatContextKeys.enabled,
64
64
  icon: Codicon.commentDiscussion,
65
65
  f1: false,
@@ -74,7 +74,7 @@ class QuickChatGlobalAction extends Action2 {
74
74
  order: 4
75
75
  },
76
76
  metadata: {
77
- description: ( localize(4591, 'Toggle the quick chat')),
77
+ description: ( localize(4640, 'Toggle the quick chat')),
78
78
  args: [{
79
79
  name: 'args',
80
80
  schema: {
@@ -84,18 +84,18 @@ class QuickChatGlobalAction extends Action2 {
84
84
  required: ['query'],
85
85
  properties: {
86
86
  query: {
87
- description: ( localize(4592, "The query to open the quick chat with")),
87
+ description: ( localize(4641, "The query to open the quick chat with")),
88
88
  type: 'string'
89
89
  },
90
90
  isPartialQuery: {
91
- description: ( localize(4593, "Whether the query is partial; it will wait for more user input")),
91
+ description: ( localize(4642, "Whether the query is partial; it will wait for more user input")),
92
92
  type: 'boolean'
93
93
  }
94
94
  },
95
95
  },
96
96
  {
97
97
  type: 'string',
98
- description: ( localize(4592, "The query to open the quick chat with"))
98
+ description: ( localize(4641, "The query to open the quick chat with"))
99
99
  }
100
100
  ]
101
101
  }
@@ -125,7 +125,7 @@ class AskQuickChatAction extends Action2 {
125
125
  super({
126
126
  id: `workbench.action.openQuickChat`,
127
127
  category: CHAT_CATEGORY,
128
- title: ( localize2(4594, "Open Quick Chat")),
128
+ title: ( localize2(4643, "Open Quick Chat")),
129
129
  precondition: ChatContextKeys.enabled,
130
130
  f1: true
131
131
  });
@@ -1,27 +1,34 @@
1
1
 
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
2
4
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
3
5
  import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
6
+ import { markAsSingleton } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
4
8
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
- import { Action2, MenuId, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
9
+ import { IActionViewItemService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/actionViewItemService.service';
10
+ import { MenuEntryActionViewItem } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
11
+ import { Action2, MenuId, MenuItemAction, registerAction2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
6
12
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
7
13
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
14
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
9
15
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
16
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
10
17
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatContextKeys';
11
- import { isResponseVM } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
18
+ import { isResponseVM } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/common/chatViewModel';
12
19
  import { ChatModeKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
13
20
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
14
21
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
15
- import { ToolsScope } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatSelectedTools';
16
- import { CHAT_CATEGORY } from '@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
17
- import { AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
22
+ import { ToolsScope } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/browser/chatSelectedTools';
23
+ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-c2deffc4-ad68-5e63-8f95-9b89e0fc6898-common/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
24
+ import { AcceptToolConfirmationActionId } from '@codingame/monaco-vscode-eda30bac-0984-5b42-9362-c68996b85232-common/vscode/vs/workbench/contrib/chat/browser/actions/chatConstants';
18
25
  import { showToolsPicker } from './chatToolPicker.js';
19
26
 
20
27
  class AcceptToolConfirmation extends Action2 {
21
28
  constructor() {
22
29
  super({
23
30
  id: AcceptToolConfirmationActionId,
24
- title: ( localize2(4605, "Accept")),
31
+ title: ( localize2(4654, "Accept")),
25
32
  f1: false,
26
33
  category: CHAT_CATEGORY,
27
34
  keybinding: {
@@ -46,16 +53,17 @@ class AcceptToolConfirmation extends Action2 {
46
53
  }
47
54
  }
48
55
  class ConfigureToolsAction extends Action2 {
56
+ static { this.ID = 'workbench.action.chat.configureTools'; }
49
57
  constructor() {
50
58
  super({
51
- id: 'workbench.action.chat.configureTools',
52
- title: ( localize(4606, "Configure Tools...")),
59
+ id: ConfigureToolsAction.ID,
60
+ title: ( localize(4655, "Configure Tools...")),
53
61
  icon: Codicon.tools,
54
62
  f1: false,
55
63
  category: CHAT_CATEGORY,
56
64
  precondition: ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)),
57
65
  menu: [{
58
- when: ( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)),
66
+ when: ( ContextKeyExpr.and(( ChatContextKeys.chatModeKind.isEqualTo(ChatModeKind.Agent)), ( ChatContextKeys.lockedToCodingAgent.negate()))),
59
67
  id: MenuId.ChatExecute,
60
68
  group: 'navigation',
61
69
  order: 1,
@@ -84,22 +92,22 @@ class ConfigureToolsAction extends Action2 {
84
92
  const { entriesScope, entriesMap } = widget.input.selectedToolsModel;
85
93
  switch (entriesScope) {
86
94
  case ToolsScope.Session:
87
- placeholder = ( localize(4607, "Select tools for this chat session"));
95
+ placeholder = ( localize(4656, "Select tools for this chat session"));
88
96
  description = ( localize(
89
- 4608,
97
+ 4657,
90
98
  "The selected tools were configured by a prompt command and only apply to this chat session."
91
99
  ));
92
100
  break;
93
101
  case ToolsScope.Mode:
94
- placeholder = ( localize(4609, "Select tools for this chat mode"));
102
+ placeholder = ( localize(4658, "Select tools for this chat mode"));
95
103
  description = ( localize(
96
- 4610,
104
+ 4659,
97
105
  "The selected tools are configured by the '{0}' chat mode. Changes to the tools will be applied to the mode file as well.",
98
106
  widget.input.currentModeObs.get().name
99
107
  ));
100
108
  break;
101
109
  case ToolsScope.Global:
102
- placeholder = ( localize(4611, "Select tools that are available to chat."));
110
+ placeholder = ( localize(4660, "Select tools that are available to chat."));
103
111
  description = undefined;
104
112
  break;
105
113
  }
@@ -116,9 +124,70 @@ class ConfigureToolsAction extends Action2 {
116
124
  });
117
125
  }
118
126
  }
127
+ let ConfigureToolsActionRendering = class ConfigureToolsActionRendering {
128
+ static { this.ID = 'chat.configureToolsActionRendering'; }
129
+ constructor(actionViewItemService) {
130
+ const disposable = actionViewItemService.register(MenuId.ChatExecute, ConfigureToolsAction.ID, (action, _opts, instantiationService) => {
131
+ if (!(action instanceof MenuItemAction)) {
132
+ return undefined;
133
+ }
134
+ return instantiationService.createInstance(class extends MenuEntryActionViewItem {
135
+ render(container) {
136
+ super.render(container);
137
+ this.warningElement = $(`.tool-warning-indicator${ThemeIcon.asCSSSelector(Codicon.warning)}`);
138
+ this.warningElement.style.display = 'none';
139
+ container.appendChild(this.warningElement);
140
+ container.style.position = 'relative';
141
+ this.updateWarningState();
142
+ this._register(this._contextKeyService.onDidChangeContext(() => {
143
+ this.updateWarningState();
144
+ }));
145
+ }
146
+ updateWarningState() {
147
+ const wasShown = this.warningElement.style.display === 'block';
148
+ const shouldBeShown = this.isAboveToolLimit();
149
+ if (!wasShown && shouldBeShown) {
150
+ this.warningElement.style.display = 'block';
151
+ this.updateTooltip();
152
+ }
153
+ else if (wasShown && !shouldBeShown) {
154
+ this.warningElement.style.display = 'none';
155
+ this.updateTooltip();
156
+ }
157
+ }
158
+ getTooltip() {
159
+ if (this.isAboveToolLimit()) {
160
+ const warningMessage = ( localize(
161
+ 4661,
162
+ 'More than {0} tools are enabled, you may experience degraded tool calling.',
163
+ this._contextKeyService.getContextKeyValue(ChatContextKeys.chatToolGroupingThreshold.key)
164
+ ));
165
+ return `${warningMessage}`;
166
+ }
167
+ return super.getTooltip();
168
+ }
169
+ isAboveToolLimit() {
170
+ const rawToolLimit = this._contextKeyService.getContextKeyValue(ChatContextKeys.chatToolGroupingThreshold.key);
171
+ const rawToolCount = this._contextKeyService.getContextKeyValue(ChatContextKeys.chatToolCount.key);
172
+ if (rawToolLimit === undefined || rawToolCount === undefined) {
173
+ return false;
174
+ }
175
+ const toolLimit = Number(rawToolLimit || 0);
176
+ const toolCount = Number(rawToolCount || 0);
177
+ return toolCount > toolLimit;
178
+ }
179
+ }, action, undefined);
180
+ });
181
+ markAsSingleton(disposable);
182
+ }
183
+ };
184
+ ConfigureToolsActionRendering = ( __decorate([
185
+ ( __param(0, IActionViewItemService))
186
+ ], ConfigureToolsActionRendering));
119
187
  function registerChatToolActions() {
120
188
  registerAction2(AcceptToolConfirmation);
121
189
  registerAction2(ConfigureToolsAction);
190
+ registerWorkbenchContribution2(ConfigureToolsActionRendering.ID, ConfigureToolsActionRendering, WorkbenchPhase.BlockRestore);
122
191
  }
123
192
 
124
193
  export { registerChatToolActions };