@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,13 +6,13 @@ import { MouseTargetType } from '@codingame/monaco-vscode-api/vscode/vs/editor/b
6
6
  import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
7
  import { RawContextKey, ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
8
8
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
9
- import { InlineChatController } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
10
- import { CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_HAS_AGENT, ACTION_START, InlineChatConfigKeys } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
9
+ import { InlineChatController } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
10
+ import { CTX_INLINE_CHAT_VISIBLE, CTX_INLINE_CHAT_HAS_AGENT, ACTION_START, InlineChatConfigKeys } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/inlineChat/common/inlineChat';
11
11
  import { EditorAction2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorExtensions';
12
12
  import { EditOperation } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editOperation';
13
13
  import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
14
14
  import { Position } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/position';
15
- import { AbstractInline1ChatAction } from '@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatActions';
15
+ import { AbstractInline1ChatAction } from './inlineChatActions.js';
16
16
  import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
17
17
  import { TrackedRangeStickiness } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
18
18
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
@@ -21,7 +21,7 @@ import { StandardTokenType } from '@codingame/monaco-vscode-api/vscode/vs/editor
21
21
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
22
22
  import { KeyChord, KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
23
23
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
24
- import * as inlineChat from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css';
24
+ import * as inlineChat from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css';
25
25
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
26
26
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
27
27
  import { InlineCompletionsController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController';
@@ -36,8 +36,8 @@ import { createStyleSheet2 } from '@codingame/monaco-vscode-api/vscode/vs/base/b
36
36
  import { stringValue } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/cssValue';
37
37
  import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
38
38
  import { ChatAgentLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
39
- import { INSTRUCTIONS_LANGUAGE_ID, PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
40
- import { MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
39
+ import { INSTRUCTIONS_LANGUAGE_ID, PROMPT_LANGUAGE_ID } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/promptTypes';
40
+ import { MODE_FILE_EXTENSION } from '@codingame/monaco-vscode-e28ac690-06d5-5ee9-92d1-02df70296354-common/vscode/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations';
41
41
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
42
42
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
43
43
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
@@ -53,14 +53,14 @@ const IGNORED_LANGUAGE_IDS = ( new Set([
53
53
  PROMPT_LANGUAGE_ID,
54
54
  MODE_FILE_EXTENSION
55
55
  ]));
56
- const CTX_INLINE_CHAT_SHOWING_HINT = ( new RawContextKey('inlineChatShowingHint', false, ( localize(7556, "Whether inline chat shows a contextual hint"))));
56
+ const CTX_INLINE_CHAT_SHOWING_HINT = ( new RawContextKey('inlineChatShowingHint', false, ( localize(7682, "Whether inline chat shows a contextual hint"))));
57
57
  const _inlineChatActionId = 'inlineChat.startWithCurrentLine';
58
58
  class InlineChatExpandLineAction extends EditorAction2 {
59
59
  constructor() {
60
60
  super({
61
61
  id: _inlineChatActionId,
62
62
  category: AbstractInline1ChatAction.category,
63
- title: ( localize2(7557, "Start in Editor with Current Line")),
63
+ title: ( localize2(7683, "Start in Editor with Current Line")),
64
64
  f1: true,
65
65
  precondition: ( ContextKeyExpr.and(( CTX_INLINE_CHAT_VISIBLE.negate()), CTX_INLINE_CHAT_HAS_AGENT, EditorContextKeys.writable)),
66
66
  keybinding: [{
@@ -103,7 +103,7 @@ class ShowInlineChatHintAction extends EditorAction2 {
103
103
  super({
104
104
  id: 'inlineChat.showHint',
105
105
  category: AbstractInline1ChatAction.category,
106
- title: ( localize2(7558, "Show Inline Chat Hint")),
106
+ title: ( localize2(7684, "Show Inline Chat Hint")),
107
107
  f1: false,
108
108
  precondition: ( ContextKeyExpr.and(( CTX_INLINE_CHAT_VISIBLE.negate()), CTX_INLINE_CHAT_HAS_AGENT, EditorContextKeys.writable)),
109
109
  });
@@ -231,15 +231,15 @@ let InlineChatHintsController = class InlineChatHintsController extends Disposab
231
231
  this._ctxShowingHint.reset();
232
232
  return;
233
233
  }
234
- const agentName = chatAgentService.getDefaultAgent(ChatAgentLocation.Editor)?.name ?? ( localize(7559, "Chat"));
234
+ const agentName = chatAgentService.getDefaultAgent(ChatAgentLocation.Editor)?.name ?? ( localize(7685, "Chat"));
235
235
  const { position, isEol, isWhitespace, kb, model } = showData;
236
236
  const inlineClassName = ['a' , 'inline-chat-hint', 'inline-chat-hint-text'];
237
237
  let content;
238
238
  if (isWhitespace) {
239
- content = '\u00a0' + ( localize(7560, "{0} to edit with {1}", kb, agentName));
239
+ content = '\u00a0' + ( localize(7686, "{0} to edit with {1}", kb, agentName));
240
240
  }
241
241
  else if (isEol) {
242
- content = '\u00a0' + ( localize(7561, "{0} to continue with {1}", kb, agentName));
242
+ content = '\u00a0' + ( localize(7687, "{0} to continue with {1}", kb, agentName));
243
243
  }
244
244
  else {
245
245
  content = '\u200a' + kb + '\u200a';
@@ -268,7 +268,7 @@ let InlineChatHintsController = class InlineChatHintsController extends Disposab
268
268
  getActions: () => [
269
269
  toAction({
270
270
  id: 'inlineChat.disableHint',
271
- label: ( localize(7562, "Disable Inline Chat Hint")),
271
+ label: ( localize(7688, "Disable Inline Chat Hint")),
272
272
  run: async () => {
273
273
  await this._configurationService.updateValue(setting, false);
274
274
  }
@@ -296,7 +296,7 @@ class HideInlineChatHintAction extends EditorAction2 {
296
296
  constructor() {
297
297
  super({
298
298
  id: 'inlineChat.hideHint',
299
- title: ( localize2(7563, "Hide Inline Chat Hint")),
299
+ title: ( localize2(7689, "Hide Inline Chat Hint")),
300
300
  precondition: CTX_INLINE_CHAT_SHOWING_HINT,
301
301
  keybinding: {
302
302
  weight: KeybindingWeight.EditorContrib - 10,
@@ -4,7 +4,7 @@ import { illegalState } from '@codingame/monaco-vscode-api/vscode/vs/base/common
4
4
  import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
5
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
6
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
7
- import { InlineChatController } from '@codingame/monaco-vscode-3927dd53-f845-534c-9baa-1528ff3956c8-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
7
+ import { InlineChatController } from '@codingame/monaco-vscode-a793b3ee-7ba9-5176-a019-30ec806fdd95-common/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatController';
8
8
  import { IInlineChatSessionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service';
9
9
  import { INotebookEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service';
10
10
  import { CellUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
@@ -1,6 +1,6 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { CellDiffInfo } from "@codingame/monaco-vscode-e4d0fd26-1b26-5583-b3f7-582e08d7b389-common/vscode/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel";
3
- import { INotebookEditor } from "@codingame/monaco-vscode-271a23cd-c7d7-5761-ae35-a923a42987b8-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
3
+ import { INotebookEditor } from "@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser";
4
4
  export declare class NotebookModifiedCellDecorator extends Disposable {
5
5
  private readonly notebookEditor;
6
6
  private readonly decorators;
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { Disposable, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
- import { NotebookOverviewRulerLane } from '@codingame/monaco-vscode-271a23cd-c7d7-5761-ae35-a923a42987b8-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
4
- import { overviewRulerModifiedForeground } from '@codingame/monaco-vscode-f338ac19-278c-5fe1-bec8-b588de04a788-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
3
+ import { NotebookOverviewRulerLane } from '@codingame/monaco-vscode-670aae94-7f88-54d7-90ea-6fcbef423557-common/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser';
4
+ import { overviewRulerModifiedForeground } from '@codingame/monaco-vscode-bb83fe45-f4c7-5673-b9f1-5c409a63f19c-common/vscode/vs/workbench/contrib/scm/common/quickDiff';
5
5
 
6
6
  class NotebookModifiedCellDecorator extends Disposable {
7
7
  constructor(notebookEditor) {
@@ -14,42 +14,42 @@ import { IRemoteCodingAgentsService } from '@codingame/monaco-vscode-api/vscode/
14
14
  const extensionPoint = ExtensionsRegistry.registerExtensionPoint({
15
15
  extensionPoint: 'remoteCodingAgents',
16
16
  jsonSchema: {
17
- description: ( localize(9553, 'Contributes remote coding agent integrations to the chat widget.')),
17
+ description: ( localize(9710, 'Contributes remote coding agent integrations to the chat widget.')),
18
18
  type: 'array',
19
19
  items: {
20
20
  type: 'object',
21
21
  properties: {
22
22
  id: {
23
- description: ( localize(9554, 'A unique identifier for this item.')),
23
+ description: ( localize(9711, 'A unique identifier for this item.')),
24
24
  type: 'string',
25
25
  },
26
26
  command: {
27
27
  description: ( localize(
28
- 9555,
28
+ 9712,
29
29
  'Identifier of the command to execute. The command must be declared in the "commands" section.'
30
30
  )),
31
31
  type: 'string'
32
32
  },
33
33
  displayName: {
34
34
  description: ( localize(
35
- 9556,
35
+ 9713,
36
36
  'A user-friendly name for this item which is used for display in menus.'
37
37
  )),
38
38
  type: 'string'
39
39
  },
40
40
  description: {
41
- description: ( localize(9557, 'Description of the remote agent for use in menus and tooltips.')),
41
+ description: ( localize(9714, 'Description of the remote agent for use in menus and tooltips.')),
42
42
  type: 'string'
43
43
  },
44
44
  followUpRegex: {
45
45
  description: ( localize(
46
- 9558,
46
+ 9715,
47
47
  'The last occurrence of pattern in an existing chat conversation is sent to the contributing extension to facilitate follow-up responses.'
48
48
  )),
49
49
  type: 'string',
50
50
  },
51
51
  when: {
52
- description: ( localize(9559, 'Condition which must be true to show this item.')),
52
+ description: ( localize(9716, 'Condition which must be true to show this item.')),
53
53
  type: 'string'
54
54
  },
55
55
  },
@@ -0,0 +1,56 @@
1
+ .monaco-workbench .terminal-inline-chat {
2
+ position: absolute;
3
+ left: 0;
4
+ bottom: 0;
5
+ z-index: 100;
6
+ height: auto !important;
7
+ }
8
+ .monaco-workbench .terminal-inline-chat .inline-chat {
9
+ margin-top: 0 !important;
10
+ color: inherit;
11
+ border-radius: unset;
12
+ border: unset;
13
+ box-shadow: unset;
14
+ background: var(--vscode-inlineChat-background);
15
+ position: relative;
16
+ outline: none;
17
+ border-top-style: solid;
18
+ border-bottom-style: solid;
19
+ border-top-color: rgb(0, 122, 204);
20
+ border-bottom-color: rgb(0, 122, 204);
21
+ border-top-width: 1px;
22
+ border-bottom-width: 1px;
23
+ }
24
+ .monaco-workbench .terminal-inline-chat .interactive-session {
25
+ margin: initial;
26
+ }
27
+ .monaco-workbench .terminal-inline-chat.hide {
28
+ visibility: hidden;
29
+ }
30
+ .monaco-workbench .terminal-inline-chat .chatMessageContent .value {
31
+ padding-top: 10px;
32
+ }
33
+ .monaco-workbench .terminal-inline-chat .inline-chat-input .monaco-editor-background {
34
+ background-color: var(--vscode-inlineChatInput-background) !important;
35
+ }
36
+ @property --inline-chat-frame-progress {
37
+ syntax: '<percentage>';
38
+ initial-value: 0%;
39
+ inherits: false;
40
+ }
41
+ @keyframes shift {
42
+ 0% {
43
+ --inline-chat-frame-progress: 0%;
44
+ }
45
+ 50% {
46
+ --inline-chat-frame-progress: 100%;
47
+ }
48
+ 100% {
49
+ --inline-chat-frame-progress: 0%;
50
+ }
51
+ }
52
+ .monaco-workbench .terminal-inline-chat.busy .inline-chat {
53
+ --inline-chat-frame-progress: 0%;
54
+ border-image: linear-gradient(90deg, var(--vscode-editorGutter-addedBackground) var(--inline-chat-frame-progress), var(--vscode-button-background)) 1;
55
+ animation: 3s shift linear infinite;
56
+ }
@@ -0,0 +1,14 @@
1
+
2
+ import { registerTerminalContribution } from '@codingame/monaco-vscode-88141f48-1af9-57ef-a278-f4b2ff6128fa-common/vscode/vs/workbench/contrib/terminal/browser/terminalExtensions';
3
+ import { TerminalInlineChatAccessibleView } from './terminalChatAccessibleView.js';
4
+ import { TerminalChatController } from './terminalChatController.js';
5
+ import './terminalChatActions.js';
6
+ import { AccessibleViewRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry';
7
+ import { TerminalChatAccessibilityHelp } from './terminalChatAccessibilityHelp.js';
8
+ import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
9
+ import { TerminalChatEnabler } from './terminalChatEnabler.js';
10
+
11
+ registerTerminalContribution(TerminalChatController.ID, TerminalChatController, false);
12
+ AccessibleViewRegistry.register(( new TerminalInlineChatAccessibleView()));
13
+ AccessibleViewRegistry.register(( new TerminalChatAccessibilityHelp()));
14
+ registerWorkbenchContribution2(TerminalChatEnabler.Id, TerminalChatEnabler, WorkbenchPhase.AfterRestored);
@@ -0,0 +1,11 @@
1
+ import { AccessibleViewType, AccessibleContentProvider } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView";
2
+ import { IAccessibleViewImplementation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
3
+ import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ export declare class TerminalChatAccessibilityHelp implements IAccessibleViewImplementation {
5
+ readonly priority = 110;
6
+ readonly name = "terminalChat";
7
+ readonly when: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").RawContextKey<boolean>;
8
+ readonly type = AccessibleViewType.Help;
9
+ getProvider(accessor: ServicesAccessor): AccessibleContentProvider | undefined;
10
+ }
11
+ export declare function getAccessibilityHelpText(accessor: ServicesAccessor): string;
@@ -0,0 +1,111 @@
1
+
2
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
3
+ import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
4
+ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
5
+ import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
6
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
7
+ import { TerminalChatContextKeys, TerminalChatCommandId } from '@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
8
+ import { TerminalChatController } from './terminalChatController.js';
9
+
10
+ class TerminalChatAccessibilityHelp {
11
+ constructor() {
12
+ this.priority = 110;
13
+ this.name = 'terminalChat';
14
+ this.when = TerminalChatContextKeys.focused;
15
+ this.type = AccessibleViewType.Help;
16
+ }
17
+ getProvider(accessor) {
18
+ const terminalService = accessor.get(ITerminalService);
19
+ const instance = terminalService.activeInstance;
20
+ if (!instance) {
21
+ return;
22
+ }
23
+ const helpText = getAccessibilityHelpText(accessor);
24
+ return ( new AccessibleContentProvider(
25
+ AccessibleViewProviderId.TerminalChat,
26
+ { type: AccessibleViewType.Help },
27
+ () => helpText,
28
+ () => TerminalChatController.get(instance)?.terminalChatWidget?.focus(),
29
+ AccessibilityVerbositySettingId.TerminalChat
30
+ ));
31
+ }
32
+ }
33
+ function getAccessibilityHelpText(accessor) {
34
+ const keybindingService = accessor.get(IKeybindingService);
35
+ const content = [];
36
+ const openAccessibleViewKeybinding = keybindingService.lookupKeybinding('editor.action.accessibleView')?.getAriaLabel();
37
+ const runCommandKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.RunCommand)?.getAriaLabel();
38
+ const insertCommandKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.InsertCommand)?.getAriaLabel();
39
+ const makeRequestKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.MakeRequest)?.getAriaLabel();
40
+ const startChatKeybinding = keybindingService.lookupKeybinding(TerminalChatCommandId.Start)?.getAriaLabel();
41
+ const focusResponseKeybinding = keybindingService.lookupKeybinding('chat.action.focus')?.getAriaLabel();
42
+ const focusInputKeybinding = keybindingService.lookupKeybinding('workbench.action.chat.focusInput')?.getAriaLabel();
43
+ content.push(( localize(
44
+ 11224,
45
+ "Inline chat occurs within a terminal. It is useful for suggesting terminal commands. Keep in mind that AI generated code may be incorrect."
46
+ )));
47
+ content.push(( localize(
48
+ 11225,
49
+ "It can be activated using the command: Terminal: Start Chat ({0}), which will focus the input box.",
50
+ startChatKeybinding
51
+ )));
52
+ content.push(makeRequestKeybinding ? ( localize(
53
+ 11226,
54
+ "The input box is where the user can type a request and can make the request ({0}). The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus.",
55
+ makeRequestKeybinding
56
+ )) : ( localize(
57
+ 11227,
58
+ "The input box is where the user can type a request and can make the request by tabbing to the Make Request button, which is not currently triggerable via keybindings. The widget will be closed and all content will be discarded when the Escape key is pressed and the terminal will regain focus."
59
+ )));
60
+ content.push(openAccessibleViewKeybinding ? ( localize(
61
+ 11228,
62
+ 'The response can be inspected in the accessible view ({0}).',
63
+ openAccessibleViewKeybinding
64
+ )) : ( localize(
65
+ 11229,
66
+ 'With the input box focused, inspect the response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.'
67
+ )));
68
+ content.push(focusResponseKeybinding ? ( localize(
69
+ 11230,
70
+ 'Reach the response from the input box ({0}).',
71
+ focusResponseKeybinding
72
+ )) : ( localize(
73
+ 11231,
74
+ 'Reach the response from the input box by tabbing or assigning a keybinding for the command: Focus Terminal Response.'
75
+ )));
76
+ content.push(focusInputKeybinding ? ( localize(
77
+ 11232,
78
+ 'Reach the input box from the response ({0}).',
79
+ focusInputKeybinding
80
+ )) : ( localize(
81
+ 11233,
82
+ 'Reach the response from the input box by shift+tabbing or assigning a keybinding for the command: Focus Terminal Input.'
83
+ )));
84
+ content.push(runCommandKeybinding ? ( localize(
85
+ 11234,
86
+ 'With focus in the input box or command editor, the Terminal: Run Chat Command ({0}) action.',
87
+ runCommandKeybinding
88
+ )) : ( localize(
89
+ 11235,
90
+ 'Run a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
91
+ )));
92
+ content.push(insertCommandKeybinding ? ( localize(
93
+ 11236,
94
+ 'With focus in the input box command editor, the Terminal: Insert Chat Command ({0}) action.',
95
+ insertCommandKeybinding
96
+ )) : ( localize(
97
+ 11237,
98
+ 'Insert a command by tabbing to the button as the action is currently not triggerable by a keybinding.'
99
+ )));
100
+ content.push(( localize(
101
+ 11238,
102
+ "Use tab to reach conditional parts like commands, status, message responses and more."
103
+ )));
104
+ content.push(( localize(
105
+ 11239,
106
+ "Accessibility Signals can be changed via settings with a prefix of signals.chat. By default, if a request takes more than 4 seconds, you will hear a sound indicating that progress is still occurring."
107
+ )));
108
+ return content.join('\n');
109
+ }
110
+
111
+ export { TerminalChatAccessibilityHelp, getAccessibilityHelpText };
@@ -0,0 +1,10 @@
1
+ import { AccessibleViewType, AccessibleContentProvider } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView";
2
+ import { IAccessibleViewImplementation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
3
+ import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
+ export declare class TerminalInlineChatAccessibleView implements IAccessibleViewImplementation {
5
+ readonly priority = 105;
6
+ readonly name = "terminalInlineChat";
7
+ readonly type = AccessibleViewType.View;
8
+ readonly when: import("@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey").RawContextKey<boolean>;
9
+ getProvider(accessor: ServicesAccessor): AccessibleContentProvider | undefined;
10
+ }
@@ -0,0 +1,52 @@
1
+
2
+ import { AccessibleViewType, AccessibleContentProvider, AccessibleViewProviderId } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView';
3
+ import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
4
+ import { ITerminalService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
5
+ import { TerminalChatController } from './terminalChatController.js';
6
+ import { MenuItemAction } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
7
+ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
8
+ import { TerminalChatContextKeys, MENU_TERMINAL_CHAT_WIDGET_STATUS } from '@codingame/monaco-vscode-07eaa805-9dea-5ec6-a422-a4f04872424d-common/vscode/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat';
9
+ import { activeChatController } from './terminalChatControllerHolder.js';
10
+
11
+ class TerminalInlineChatAccessibleView {
12
+ constructor() {
13
+ this.priority = 105;
14
+ this.name = 'terminalInlineChat';
15
+ this.type = AccessibleViewType.View;
16
+ this.when = TerminalChatContextKeys.focused;
17
+ }
18
+ getProvider(accessor) {
19
+ const terminalService = accessor.get(ITerminalService);
20
+ const menuService = accessor.get(IMenuService);
21
+ const actions = [];
22
+ const contextKeyService = activeChatController?.scopedContextKeyService;
23
+ if (contextKeyService) {
24
+ const menuActions = menuService.getMenuActions(MENU_TERMINAL_CHAT_WIDGET_STATUS, contextKeyService);
25
+ for (const action of menuActions) {
26
+ for (const a of action[1]) {
27
+ if (a instanceof MenuItemAction) {
28
+ actions.push(a);
29
+ }
30
+ }
31
+ }
32
+ }
33
+ const controller = terminalService.activeInstance?.getContribution(TerminalChatController.ID) ?? undefined;
34
+ if (!controller?.lastResponseContent) {
35
+ return;
36
+ }
37
+ const responseContent = controller.lastResponseContent;
38
+ return ( new AccessibleContentProvider(
39
+ AccessibleViewProviderId.TerminalChat,
40
+ { type: AccessibleViewType.View },
41
+ () => { return responseContent; },
42
+ () => {
43
+ controller.focus();
44
+ },
45
+ AccessibilityVerbositySettingId.InlineChat,
46
+ undefined,
47
+ actions
48
+ ));
49
+ }
50
+ }
51
+
52
+ export { TerminalInlineChatAccessibleView };