@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
@@ -0,0 +1,22 @@
1
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
2
+ import { Task } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/tasks";
3
+ import { ITaskService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/tasks/common/taskService.service";
4
+ export declare function getTaskDefinition(id: string): {
5
+ taskLabel: string;
6
+ taskType: string;
7
+ };
8
+ export declare function getTaskRepresentation(task: IConfiguredTask | Task): string;
9
+ export declare function getTaskForTool(id: string | undefined, taskDefinition: {
10
+ taskLabel?: string;
11
+ taskType?: string;
12
+ }, workspaceFolder: string, configurationService: IConfigurationService, taskService: ITaskService): Promise<Task | undefined>;
13
+ export interface IConfiguredTask {
14
+ label?: string;
15
+ type?: string;
16
+ script?: string;
17
+ command?: string;
18
+ args?: string[];
19
+ isBackground?: boolean;
20
+ problemMatcher?: string[];
21
+ group?: string;
22
+ }
@@ -0,0 +1,80 @@
1
+
2
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
3
+
4
+ function getTaskDefinition(id) {
5
+ const idx = id.indexOf(': ');
6
+ const taskType = id.substring(0, idx);
7
+ let taskLabel = idx > 0 ? id.substring(idx + 2) : id;
8
+ if (/^\d+$/.test(taskLabel)) {
9
+ taskLabel = id;
10
+ }
11
+ return { taskLabel, taskType };
12
+ }
13
+ function getTaskRepresentation(task) {
14
+ if ('label' in task && task.label) {
15
+ return task.label;
16
+ }
17
+ else if ('script' in task && task.script) {
18
+ return task.script;
19
+ }
20
+ else if ('command' in task && task.command) {
21
+ return typeof task.command === 'string' ? task.command : task.command.name?.toString() || '';
22
+ }
23
+ return '';
24
+ }
25
+ async function getTaskForTool(id, taskDefinition, workspaceFolder, configurationService, taskService) {
26
+ let index = 0;
27
+ let task;
28
+ const workspaceFolderToTaskMap = await taskService.getWorkspaceTasks();
29
+ let configTasks = [];
30
+ for (const folder of ( workspaceFolderToTaskMap.keys())) {
31
+ const tasksConfig = configurationService.getValue('tasks', { resource: ( URI.parse(folder)) });
32
+ if (tasksConfig?.tasks) {
33
+ configTasks = configTasks.concat(tasksConfig.tasks);
34
+ }
35
+ }
36
+ for (const configTask of configTasks) {
37
+ if (!configTask.type || 'hide' in configTask && configTask.hide) {
38
+ continue;
39
+ }
40
+ if ((configTask.type && taskDefinition.taskType ? configTask.type === taskDefinition.taskType : true) &&
41
+ ((getTaskRepresentation(configTask) === taskDefinition?.taskLabel) || (id === configTask.label))) {
42
+ task = configTask;
43
+ break;
44
+ }
45
+ else if (!configTask.label && id === `${configTask.type}: ${index}`) {
46
+ task = configTask;
47
+ break;
48
+ }
49
+ index++;
50
+ }
51
+ if (!task) {
52
+ return;
53
+ }
54
+ let tasksForWorkspace;
55
+ const workspaceFolderPath = URI.file(workspaceFolder).path;
56
+ for (const [folder, tasks] of workspaceFolderToTaskMap) {
57
+ if (( URI.parse(folder)).path === workspaceFolderPath) {
58
+ tasksForWorkspace = tasks;
59
+ break;
60
+ }
61
+ }
62
+ if (!tasksForWorkspace) {
63
+ return;
64
+ }
65
+ const configuringTasks = tasksForWorkspace.configurations?.byIdentifier;
66
+ const configuredTask = ( Object.values(configuringTasks ?? {})).find(t => {
67
+ return t.type === task.type && (t._label === task.label || t._label === `${task.type}: ${getTaskRepresentation(task)}` || t._label === getTaskRepresentation(task));
68
+ });
69
+ let resolvedTask;
70
+ if (configuredTask) {
71
+ resolvedTask = await taskService.tryResolveTask(configuredTask);
72
+ }
73
+ if (!resolvedTask) {
74
+ const customTasks = tasksForWorkspace.set?.tasks;
75
+ resolvedTask = customTasks?.find(t => task.label === t._label || task.label === t._label);
76
+ }
77
+ return resolvedTask;
78
+ }
79
+
80
+ export { getTaskDefinition, getTaskForTool, getTaskRepresentation };
@@ -0,0 +1,40 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
5
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
6
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
7
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
8
+ import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
9
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
10
+ import { CreateAndRunTaskTool, CreateAndRunTaskToolData } from './task/createAndRunTaskTool.js';
11
+ import { GetTaskOutputTool, GetTaskOutputToolData } from './task/getTaskOutputTool.js';
12
+ import { RunTaskTool, RunTaskToolData } from './task/runTaskTool.js';
13
+
14
+ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Disposable {
15
+ static { this.ID = 'task.chatAgentTools'; }
16
+ constructor(configurationService, instantiationService, toolsService) {
17
+ super();
18
+ const runTaskTool = instantiationService.createInstance(RunTaskTool);
19
+ this._register(toolsService.registerToolData(RunTaskToolData));
20
+ this._register(toolsService.registerToolImplementation(RunTaskToolData.id, runTaskTool));
21
+ const getTaskOutputTool = instantiationService.createInstance(GetTaskOutputTool);
22
+ this._register(toolsService.registerToolData(GetTaskOutputToolData));
23
+ this._register(toolsService.registerToolImplementation(GetTaskOutputToolData.id, getTaskOutputTool));
24
+ const createAndRunTaskTool = instantiationService.createInstance(CreateAndRunTaskTool);
25
+ this._register(toolsService.registerToolData(CreateAndRunTaskToolData));
26
+ this._register(toolsService.registerToolImplementation(CreateAndRunTaskToolData.id, createAndRunTaskTool));
27
+ const toolSet = this._register(toolsService.createToolSet(ToolDataSource.Internal, 'runTasks', 'runTasks', {
28
+ description: ( localize(11265, 'Runs tasks and gets their output for your workspace'))
29
+ }));
30
+ toolSet.addTool(RunTaskToolData);
31
+ toolSet.addTool(GetTaskOutputToolData);
32
+ toolSet.addTool(CreateAndRunTaskToolData);
33
+ }
34
+ };
35
+ ChatAgentToolsContribution = ( __decorate([
36
+ ( __param(0, IConfigurationService)),
37
+ ( __param(1, IInstantiationService)),
38
+ ( __param(2, ILanguageModelToolsService))
39
+ ], ChatAgentToolsContribution));
40
+ registerWorkbenchContribution2(ChatAgentToolsContribution.ID, ChatAgentToolsContribution, WorkbenchPhase.AfterRestored);
@@ -0,0 +1,36 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
6
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
8
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
9
+ import { ToolDataSource } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService';
10
+ import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModelToolsService.service';
11
+ import { GetTerminalOutputTool, GetTerminalOutputToolData } from './getTerminalOutputTool.js';
12
+ import { RunInTerminalTool, RunInTerminalToolData } from './runInTerminalTool.js';
13
+
14
+ let ChatAgentToolsContribution = class ChatAgentToolsContribution extends Disposable {
15
+ static { this.ID = 'terminal.chatAgentTools'; }
16
+ constructor(instantiationService, toolsService) {
17
+ super();
18
+ const runInTerminalTool = instantiationService.createInstance(RunInTerminalTool);
19
+ this._register(toolsService.registerToolData(RunInTerminalToolData));
20
+ this._register(toolsService.registerToolImplementation(RunInTerminalToolData.id, runInTerminalTool));
21
+ const getTerminalOutputTool = instantiationService.createInstance(GetTerminalOutputTool);
22
+ this._register(toolsService.registerToolData(GetTerminalOutputToolData));
23
+ this._register(toolsService.registerToolImplementation(GetTerminalOutputToolData.id, getTerminalOutputTool));
24
+ const toolSet = this._register(toolsService.createToolSet(ToolDataSource.Internal, 'runCommands', 'runCommands', {
25
+ icon: ThemeIcon.fromId(Codicon.terminal.id),
26
+ description: ( localize(11301, 'Runs commands in the terminal'))
27
+ }));
28
+ toolSet.addTool(RunInTerminalToolData);
29
+ toolSet.addTool(GetTerminalOutputToolData);
30
+ }
31
+ };
32
+ ChatAgentToolsContribution = ( __decorate([
33
+ ( __param(0, IInstantiationService)),
34
+ ( __param(1, ILanguageModelToolsService))
35
+ ], ChatAgentToolsContribution));
36
+ registerWorkbenchContribution2(ChatAgentToolsContribution.ID, ChatAgentToolsContribution, WorkbenchPhase.AfterRestored);
@@ -0,0 +1,20 @@
1
+ import type { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
+ import { type ITerminalInstance } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal";
3
+ import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service";
4
+ export declare enum ShellIntegrationQuality {
5
+ None = "none",
6
+ Basic = "basic",
7
+ Rich = "rich"
8
+ }
9
+ export interface IToolTerminal {
10
+ instance: ITerminalInstance;
11
+ shellIntegrationQuality: ShellIntegrationQuality;
12
+ }
13
+ export declare class ToolTerminalCreator {
14
+ private readonly _terminalService;
15
+ private static _lastSuccessfulShell;
16
+ constructor(_terminalService: ITerminalService);
17
+ createTerminal(token: CancellationToken): Promise<IToolTerminal>;
18
+ private _createCopilotTerminal;
19
+ private _waitForShellIntegration;
20
+ }
@@ -0,0 +1,114 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { DeferredPromise, disposableTimeout, timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
+ import { CancellationError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
6
+ import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
8
+ import { TerminalCapability } from '@codingame/monaco-vscode-a9da9abe-278d-5ce6-9418-99c7c07c5c37-common/vscode/vs/platform/terminal/common/capabilities/capabilities';
9
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
10
+
11
+ var ToolTerminalCreator_1;
12
+ var ShellLaunchType;
13
+ (function (ShellLaunchType) {
14
+ ShellLaunchType[ShellLaunchType["Unknown"] = 0] = "Unknown";
15
+ ShellLaunchType[ShellLaunchType["Default"] = 1] = "Default";
16
+ ShellLaunchType[ShellLaunchType["Fallback"] = 2] = "Fallback";
17
+ })(ShellLaunchType || (ShellLaunchType = {}));
18
+ var ShellIntegrationQuality;
19
+ (function (ShellIntegrationQuality) {
20
+ ShellIntegrationQuality["None"] = "none";
21
+ ShellIntegrationQuality["Basic"] = "basic";
22
+ ShellIntegrationQuality["Rich"] = "rich";
23
+ })(ShellIntegrationQuality || (ShellIntegrationQuality = {}));
24
+ let ToolTerminalCreator = class ToolTerminalCreator {
25
+ static { ToolTerminalCreator_1 = this; }
26
+ static { this._lastSuccessfulShell = ShellLaunchType.Unknown; }
27
+ constructor(_terminalService) {
28
+ this._terminalService = _terminalService;
29
+ }
30
+ async createTerminal(token) {
31
+ const instance = await this._createCopilotTerminal();
32
+ const toolTerminal = {
33
+ instance,
34
+ shellIntegrationQuality: ShellIntegrationQuality.None,
35
+ };
36
+ if (ToolTerminalCreator_1._lastSuccessfulShell <= ShellLaunchType.Default) {
37
+ const shellIntegrationQuality = await this._waitForShellIntegration(instance, 5000);
38
+ if (token.isCancellationRequested) {
39
+ instance.dispose();
40
+ throw ( new CancellationError());
41
+ }
42
+ if (shellIntegrationQuality !== ShellIntegrationQuality.None) {
43
+ ToolTerminalCreator_1._lastSuccessfulShell = ShellLaunchType.Default;
44
+ toolTerminal.shellIntegrationQuality = shellIntegrationQuality;
45
+ return toolTerminal;
46
+ }
47
+ }
48
+ ToolTerminalCreator_1._lastSuccessfulShell = ShellLaunchType.Fallback;
49
+ return toolTerminal;
50
+ }
51
+ _createCopilotTerminal() {
52
+ return this._terminalService.createTerminal({
53
+ config: {
54
+ icon: ThemeIcon.fromId(Codicon.chatSparkle.id),
55
+ hideFromUser: true,
56
+ env: {
57
+ GIT_PAGER: 'cat',
58
+ },
59
+ },
60
+ });
61
+ }
62
+ _waitForShellIntegration(instance, timeoutMs) {
63
+ const dataFinished = ( new DeferredPromise());
64
+ const deferred = ( new DeferredPromise());
65
+ const timer = disposableTimeout(() => deferred.complete(ShellIntegrationQuality.None), timeoutMs);
66
+ if (instance.capabilities.get(TerminalCapability.CommandDetection)?.hasRichCommandDetection) {
67
+ timer.dispose();
68
+ deferred.complete(ShellIntegrationQuality.Rich);
69
+ }
70
+ else {
71
+ const onSetRichCommandDetection = this._terminalService.createOnInstanceCapabilityEvent(TerminalCapability.CommandDetection, e => e.onSetRichCommandDetection);
72
+ const richCommandDetectionListener = onSetRichCommandDetection.event((e) => {
73
+ if (e.instance !== instance) {
74
+ return;
75
+ }
76
+ deferred.complete(ShellIntegrationQuality.Rich);
77
+ });
78
+ const store = ( new DisposableStore());
79
+ const commandDetection = instance.capabilities.get(TerminalCapability.CommandDetection);
80
+ if (commandDetection) {
81
+ timer.dispose();
82
+ Promise.race([
83
+ dataFinished.p,
84
+ timeout(200)
85
+ ]).then(() => {
86
+ if (!deferred.isResolved) {
87
+ deferred.complete(ShellIntegrationQuality.Basic);
88
+ }
89
+ });
90
+ }
91
+ else {
92
+ store.add(instance.capabilities.onDidAddCapabilityType(e => {
93
+ if (e === TerminalCapability.CommandDetection) {
94
+ timer.dispose();
95
+ Promise.race([
96
+ dataFinished.p,
97
+ timeout(200)
98
+ ]).then(() => deferred.complete(ShellIntegrationQuality.Basic));
99
+ }
100
+ }));
101
+ }
102
+ deferred.p.finally(() => {
103
+ store.dispose();
104
+ richCommandDetectionListener.dispose();
105
+ });
106
+ }
107
+ return deferred.p;
108
+ }
109
+ };
110
+ ToolTerminalCreator = ToolTerminalCreator_1 = ( __decorate([
111
+ ( __param(0, ITerminalService))
112
+ ], ToolTerminalCreator));
113
+
114
+ export { ShellIntegrationQuality, ToolTerminalCreator };
@@ -1,3 +0,0 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M8 0C10.1563 1.22707e-05 11.967 0.793114 13.3525 2.08398L11.0576 4.37793C10.2286 3.58545 9.17429 3.18165 8 3.18164C5.91632 3.18164 4.15256 4.58959 3.52344 6.48047L3.41699 6.8457C3.32391 7.21717 3.27246 7.60448 3.27246 8C3.27246 8.52711 3.36354 9.03967 3.52344 9.51953C4.15267 11.4102 5.91647 12.8184 8 12.8184C9.07626 12.8184 9.99268 12.5346 10.709 12.0547L10.8643 11.9453C11.6252 11.3811 12.1318 10.5773 12.3057 9.63965H8V6.5459H15.5342C15.6286 7.0694 15.6797 7.61457 15.6797 8.18164C15.6797 10.6178 14.8074 12.6688 13.2949 14.0615H13.2939C11.9704 15.2833 10.16 16 8 16C4.97035 16 2.33693 14.3173 0.978516 11.835L0.850586 11.5928L0.65918 11.1816C0.236933 10.2065 0 9.12972 0 8C1.14184e-06 6.70915 0.308848 5.48721 0.850586 4.40723C2.16699 1.79267 4.87272 0 8 0Z" fill="white"/>
3
- </svg>
@@ -1,3 +0,0 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M8 0C10.1563 1.22707e-05 11.967 0.793114 13.3525 2.08398L11.0576 4.37793C10.2286 3.58545 9.17429 3.18165 8 3.18164C5.91632 3.18164 4.15256 4.58959 3.52344 6.48047L3.41699 6.8457C3.32391 7.21717 3.27246 7.60448 3.27246 8C3.27246 8.52711 3.36354 9.03967 3.52344 9.51953V9.52051C4.15267 11.4112 5.91647 12.8184 8 12.8184C9.07626 12.8184 9.99268 12.5346 10.709 12.0547L10.8643 11.9453C11.6252 11.3811 12.1318 10.5773 12.3057 9.63965H8V6.5459H15.5342C15.6286 7.0694 15.6797 7.61457 15.6797 8.18164C15.6797 10.6178 14.8074 12.6688 13.2949 14.0615H13.2939C11.9704 15.2833 10.16 16 8 16C4.97035 16 2.33693 14.3173 0.978516 11.835L0.850586 11.5928L0.65918 11.1816C0.236933 10.2065 0 9.12972 0 8C1.14184e-06 6.70915 0.308848 5.48721 0.850586 4.40723C2.16699 1.79267 4.87272 0 8 0Z" fill="black"/>
3
- </svg>