@codingame/monaco-vscode-api 1.85.0 → 1.85.1

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 (239) hide show
  1. package/README.md +19 -10
  2. package/contributions.js +1 -0
  3. package/missing-services.js +91 -5
  4. package/monaco-editor-treemending.patch +957 -950
  5. package/package.json +6 -6
  6. package/vscode/src/vs/base/common/jsonFormatter.js +8 -1
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +128 -0
  8. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -1
  9. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +58 -0
  10. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +56 -1
  11. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +186 -4
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +191 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +238 -2
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +205 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +168 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +35 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +340 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +1195 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +115 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +81 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +4 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +62 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +583 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +4 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +290 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +167 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +4 -0
  29. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +6 -1
  30. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +562 -0
  31. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +31 -1
  32. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +24 -1
  33. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +193 -0
  34. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +22 -1
  35. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +52 -1
  36. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +258 -0
  37. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +37 -0
  38. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +25 -0
  39. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +4 -0
  40. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +388 -0
  41. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +61 -0
  42. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +49 -0
  43. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +647 -0
  44. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +300 -0
  45. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +60 -0
  46. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
  47. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +107 -0
  48. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +333 -0
  49. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +4 -0
  50. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +99 -0
  51. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +55 -0
  52. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +2 -0
  53. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +20 -0
  54. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +855 -0
  55. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +410 -0
  56. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +1591 -0
  57. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +178 -0
  58. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
  59. package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
  60. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +1485 -0
  61. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +125 -0
  62. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +29 -0
  63. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +41 -0
  64. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +102 -0
  65. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +4 -0
  66. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +988 -0
  67. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +431 -0
  68. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +417 -0
  69. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +806 -0
  70. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +915 -0
  71. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +19 -0
  72. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +129 -10
  73. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +205 -0
  74. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +150 -0
  75. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +480 -0
  76. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +5 -0
  77. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +90 -0
  78. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +54 -0
  79. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +108 -0
  80. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +258 -0
  81. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +614 -0
  82. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +307 -0
  83. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +44 -0
  84. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +165 -0
  85. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +78 -0
  86. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +169 -0
  87. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +64 -0
  88. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/cellOutputClipboard.js +49 -0
  89. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +70 -0
  90. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +120 -0
  91. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +416 -0
  92. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +4 -0
  93. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +663 -0
  94. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +593 -0
  95. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +72 -0
  96. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +326 -0
  97. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +539 -0
  98. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +265 -0
  99. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +348 -0
  100. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +4 -0
  101. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +4 -0
  102. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellEditorHint.css.js +4 -0
  103. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellInsertToolbar.css.js +4 -0
  104. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellOutput.css.js +4 -0
  105. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellStatusBar.css.js +4 -0
  106. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellTitleToolbar.css.js +4 -0
  107. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookDnd.css.js +4 -0
  108. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +4 -0
  109. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFocusIndicator.css.js +4 -0
  110. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +4 -0
  111. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookKernelActionViewItem.css.js +4 -0
  112. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +4 -0
  113. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +4 -0
  114. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +95 -3
  115. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +437 -0
  116. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +29 -0
  117. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +2730 -0
  118. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +139 -0
  119. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +17 -0
  120. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +564 -0
  121. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookViewEvents.js +27 -0
  122. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +119 -0
  123. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +27 -0
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +135 -0
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +178 -0
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.js +35 -0
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +377 -0
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +97 -0
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +194 -0
  130. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +71 -0
  131. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.js +20 -0
  132. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +85 -0
  133. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +652 -0
  134. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +59 -0
  135. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +303 -0
  136. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +24 -0
  137. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +228 -0
  138. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +302 -0
  139. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +438 -0
  140. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +45 -0
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +435 -0
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +95 -0
  143. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +107 -0
  144. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.js +29 -0
  145. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +59 -0
  146. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +67 -0
  147. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +430 -0
  148. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +54 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +1131 -0
  150. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +21 -0
  151. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1591 -0
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +341 -0
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2155 -0
  154. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +65 -0
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +95 -0
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +507 -0
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +85 -0
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +47 -0
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +40 -0
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +435 -0
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +31 -0
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +257 -0
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +239 -0
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +103 -0
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +211 -0
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +808 -0
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/viewContext.js +8 -0
  168. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +381 -0
  169. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +527 -0
  170. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +163 -0
  171. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +651 -0
  172. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +173 -0
  173. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +98 -0
  174. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +62 -0
  175. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +101 -0
  176. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +346 -0
  177. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +152 -1
  178. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +39 -0
  179. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +296 -0
  180. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +261 -0
  181. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.js +3 -1
  182. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
  183. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.js +3 -0
  184. package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.js +3 -0
  185. package/vscode/src/vs/workbench/contrib/notebook/common/notebookPerformance.js +16 -0
  186. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +66 -0
  187. package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWorkerService.js +4 -0
  188. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +130 -0
  189. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
  190. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +847 -0
  191. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +89 -0
  192. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +1942 -0
  193. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +107 -0
  194. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +49 -0
  195. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +387 -0
  196. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +2 -2
  197. package/vscode/src/vs/workbench/contrib/search/common/constants.js +66 -0
  198. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +11 -0
  199. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +24 -0
  200. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +95 -0
  201. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +4 -1
  202. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +159 -0
  204. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +375 -0
  205. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +563 -0
  206. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +932 -0
  207. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +15 -1
  208. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +2 -2
  209. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +190 -2
  210. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +77 -0
  211. package/assets/break.mp3 +0 -0
  212. package/assets/chatRequestSent.mp3 +0 -0
  213. package/assets/chatResponsePending.mp3 +0 -0
  214. package/assets/chatResponseReceived1.mp3 +0 -0
  215. package/assets/chatResponseReceived2.mp3 +0 -0
  216. package/assets/chatResponseReceived3.mp3 +0 -0
  217. package/assets/chatResponseReceived4.mp3 +0 -0
  218. package/assets/clear.mp3 +0 -0
  219. package/assets/defaultIcon.png +0 -0
  220. package/assets/diffLineDeleted.mp3 +0 -0
  221. package/assets/diffLineInserted.mp3 +0 -0
  222. package/assets/diffLineModified.mp3 +0 -0
  223. package/assets/error.mp3 +0 -0
  224. package/assets/fake.html +0 -10
  225. package/assets/foldedAreas.mp3 +0 -0
  226. package/assets/format.mp3 +0 -0
  227. package/assets/index-no-csp.html +0 -1226
  228. package/assets/index.html +0 -1227
  229. package/assets/quickFixes.mp3 +0 -0
  230. package/assets/save.mp3 +0 -0
  231. package/assets/service-worker.js +0 -457
  232. package/assets/taskCompleted.mp3 +0 -0
  233. package/assets/taskFailed.mp3 +0 -0
  234. package/assets/terminalBell.mp3 +0 -0
  235. package/assets/warning.mp3 +0 -0
  236. package/assets/webWorkerExtensionHostIframe.html +0 -123
  237. package/override/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  238. package/override/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +0 -2
  239. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -5
@@ -0,0 +1,191 @@
1
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
2
+ import { format } from 'monaco-editor/esm/vs/base/common/strings.js';
3
+ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
4
+ import { IChatWidgetService } from '../chat.js';
5
+ import { InlineChatController } from '../../../inlineChat/browser/inlineChatController.js';
6
+ import { IAccessibleViewService } from '../../../accessibility/browser/accessibleView.js';
7
+ import { AccessibleDiffViewerNext } from 'monaco-editor/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js';
8
+ function getAccessibilityHelpText(accessor, type) {
9
+ const keybindingService = accessor.get(IKeybindingService);
10
+ const content = [];
11
+ const openAccessibleViewKeybinding = keybindingService.lookupKeybinding('editor.action.accessibleView')?.getAriaLabel();
12
+ if (type === 'panelChat') {
13
+ content.push(( localizeWithPath(
14
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
15
+ 'chat.overview',
16
+ 'The chat view is comprised of an input box and a request/response list. The input box is used to make requests and the list is used to display responses.'
17
+ )));
18
+ content.push(( localizeWithPath(
19
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
20
+ 'chat.requestHistory',
21
+ 'In the input box, use up and down arrows to navigate your request history. Edit input and use enter or the submit button to run a new request.'
22
+ )));
23
+ content.push(openAccessibleViewKeybinding ? ( localizeWithPath(
24
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
25
+ 'chat.inspectResponse',
26
+ 'In the input box, inspect the last response in the accessible view via {0}',
27
+ openAccessibleViewKeybinding
28
+ )) : ( localizeWithPath(
29
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
30
+ 'chat.inspectResponseNoKb',
31
+ 'With the input box focused, inspect the last response in the accessible view via the Open Accessible View command, which is currently not triggerable by a keybinding.'
32
+ )));
33
+ content.push(( localizeWithPath(
34
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
35
+ 'chat.announcement',
36
+ 'Chat responses will be announced as they come in. A response will indicate the number of code blocks, if any, and then the rest of the response.'
37
+ )));
38
+ content.push(descriptionForCommand('chat.action.focus', ( localizeWithPath(
39
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
40
+ 'workbench.action.chat.focus',
41
+ 'To focus the chat request/response list, which can be navigated with up and down arrows, invoke the Focus Chat command ({0}).'
42
+ )), ( localizeWithPath(
43
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
44
+ 'workbench.action.chat.focusNoKb',
45
+ 'To focus the chat request/response list, which can be navigated with up and down arrows, invoke The Focus Chat List command, which is currently not triggerable by a keybinding.'
46
+ )), keybindingService));
47
+ content.push(descriptionForCommand('workbench.action.chat.focusInput', ( localizeWithPath(
48
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
49
+ 'workbench.action.chat.focusInput',
50
+ 'To focus the input box for chat requests, invoke the Focus Chat Input command ({0})'
51
+ )), ( localizeWithPath(
52
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
53
+ 'workbench.action.interactiveSession.focusInputNoKb',
54
+ 'To focus the input box for chat requests, invoke the Focus Chat Input command, which is currently not triggerable by a keybinding.'
55
+ )), keybindingService));
56
+ content.push(descriptionForCommand('workbench.action.chat.nextCodeBlock', ( localizeWithPath(
57
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
58
+ 'workbench.action.chat.nextCodeBlock',
59
+ 'To focus the next code block within a response, invoke the Chat: Next Code Block command ({0}).'
60
+ )), ( localizeWithPath(
61
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
62
+ 'workbench.action.chat.nextCodeBlockNoKb',
63
+ 'To focus the next code block within a response, invoke the Chat: Next Code Block command, which is currently not triggerable by a keybinding.'
64
+ )), keybindingService));
65
+ content.push(descriptionForCommand('workbench.action.chat.nextFileTree', ( localizeWithPath(
66
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
67
+ 'workbench.action.chat.nextFileTree',
68
+ 'To focus the next file tree within a response, invoke the Chat: Next File Tree command ({0}).'
69
+ )), ( localizeWithPath(
70
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
71
+ 'workbench.action.chat.nextFileTreeNoKb',
72
+ 'To focus the next file tree within a response, invoke the Chat: Next File Tree command, which is currently not triggerable by a keybinding.'
73
+ )), keybindingService));
74
+ content.push(descriptionForCommand('workbench.action.chat.clear', ( localizeWithPath(
75
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
76
+ 'workbench.action.chat.clear',
77
+ 'To clear the request/response list, invoke the Chat Clear command ({0}).'
78
+ )), ( localizeWithPath(
79
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
80
+ 'workbench.action.chat.clearNoKb',
81
+ 'To clear the request/response list, invoke the Chat Clear command, which is currently not triggerable by a keybinding.'
82
+ )), keybindingService));
83
+ }
84
+ else {
85
+ const startChatKeybinding = keybindingService.lookupKeybinding('inlineChat.start')?.getAriaLabel();
86
+ content.push(( localizeWithPath(
87
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
88
+ 'inlineChat.overview',
89
+ "Inline chat occurs within a code editor and takes into account the current selection. It is useful for making changes to the current editor. For example, fixing diagnostics, documenting or refactoring code. Keep in mind that AI generated code may be incorrect."
90
+ )));
91
+ content.push(( localizeWithPath(
92
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
93
+ 'inlineChat.access',
94
+ "It can be activated via code actions or directly using the command: Inline Chat: Start Inline Chat ({0}).",
95
+ startChatKeybinding
96
+ )));
97
+ const upHistoryKeybinding = keybindingService.lookupKeybinding('inlineChat.previousFromHistory')?.getAriaLabel();
98
+ const downHistoryKeybinding = keybindingService.lookupKeybinding('inlineChat.nextFromHistory')?.getAriaLabel();
99
+ if (upHistoryKeybinding && downHistoryKeybinding) {
100
+ content.push(( localizeWithPath(
101
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
102
+ 'inlineChat.requestHistory',
103
+ 'In the input box, use {0} and {1} to navigate your request history. Edit input and use enter or the submit button to run a new request.',
104
+ upHistoryKeybinding,
105
+ downHistoryKeybinding
106
+ )));
107
+ }
108
+ content.push(openAccessibleViewKeybinding ? ( localizeWithPath(
109
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
110
+ 'inlineChat.inspectResponse',
111
+ 'In the input box, inspect the response in the accessible view via {0}',
112
+ openAccessibleViewKeybinding
113
+ )) : ( localizeWithPath(
114
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
115
+ 'inlineChat.inspectResponseNoKb',
116
+ '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.'
117
+ )));
118
+ content.push(( localizeWithPath(
119
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
120
+ 'inlineChat.contextActions',
121
+ "Context menu actions may run a request prefixed with a /. Type / to discover such ready-made commands."
122
+ )));
123
+ content.push(( localizeWithPath(
124
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
125
+ 'inlineChat.fix',
126
+ "If a fix action is invoked, a response will indicate the problem with the current code. A diff editor will be rendered and can be reached by tabbing."
127
+ )));
128
+ const diffReviewKeybinding = keybindingService.lookupKeybinding(AccessibleDiffViewerNext.id)?.getAriaLabel();
129
+ content.push(diffReviewKeybinding ? ( localizeWithPath(
130
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
131
+ 'inlineChat.diff',
132
+ "Once in the diff editor, enter review mode with ({0}). Use up and down arrows to navigate lines with the proposed changes.",
133
+ diffReviewKeybinding
134
+ )) : ( localizeWithPath(
135
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
136
+ 'inlineChat.diffNoKb',
137
+ "Tab again to enter the Diff editor with the changes and enter review mode with the Go to Next Difference Command. Use Up/DownArrow to navigate lines with the proposed changes."
138
+ )));
139
+ content.push(( localizeWithPath(
140
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
141
+ 'inlineChat.toolbar',
142
+ "Use tab to reach conditional parts like commands, status, message responses and more."
143
+ )));
144
+ }
145
+ content.push(( localizeWithPath(
146
+ 'vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp',
147
+ 'chat.audioCues',
148
+ "Audio cues can be changed via settings with a prefix of audioCues.chat. By default, if a request takes more than 4 seconds, you will hear an audio cue indicating that progress is still occurring."
149
+ )));
150
+ return content.join('\n\n');
151
+ }
152
+ function descriptionForCommand(commandId, msg, noKbMsg, keybindingService) {
153
+ const kb = keybindingService.lookupKeybinding(commandId);
154
+ if (kb) {
155
+ return format(msg, kb.getAriaLabel());
156
+ }
157
+ return format(noKbMsg, commandId);
158
+ }
159
+ async function runAccessibilityHelpAction(accessor, editor, type) {
160
+ const widgetService = accessor.get(IChatWidgetService);
161
+ const accessibleViewService = accessor.get(IAccessibleViewService);
162
+ const inputEditor = type === 'panelChat' ? widgetService.lastFocusedWidget?.inputEditor : editor;
163
+ if (!inputEditor) {
164
+ return;
165
+ }
166
+ const domNode = inputEditor.getDomNode() ?? undefined;
167
+ if (!domNode) {
168
+ return;
169
+ }
170
+ const cachedPosition = inputEditor.getPosition();
171
+ inputEditor.getSupportedActions();
172
+ const helpText = getAccessibilityHelpText(accessor, type);
173
+ accessibleViewService.show({
174
+ id: type === 'panelChat' ? "panelChat" : "inlineChat" ,
175
+ verbositySettingKey: type === 'panelChat' ? "accessibility.verbosity.panelChat" : "accessibility.verbosity.inlineChat" ,
176
+ provideContent: () => helpText,
177
+ onClose: () => {
178
+ if (type === 'panelChat' && cachedPosition) {
179
+ inputEditor.setPosition(cachedPosition);
180
+ inputEditor.focus();
181
+ }
182
+ else if (type === 'inlineChat') {
183
+ if (editor) {
184
+ InlineChatController.get(editor)?.focus();
185
+ }
186
+ }
187
+ },
188
+ options: { type: "help" }
189
+ });
190
+ }
191
+ export { getAccessibilityHelpText, runAccessibilityHelpAction };
@@ -1,16 +1,73 @@
1
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
2
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
1
4
  import { EditorAction2 } from 'monaco-editor/esm/vs/editor/browser/editorExtensions.js';
5
+ import { ICodeEditorService } from 'monaco-editor/esm/vs/editor/browser/services/codeEditorService.js';
2
6
  import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
3
7
  import { localize2WithPath, localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
8
+ import { registerAction2, Action2, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
9
+ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
10
+ import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
11
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
12
+ import { ViewAction } from '../../../../browser/parts/views/viewPane.js';
13
+ import { Extensions } from '../../../../common/contributions.js';
14
+ import { IViewsService } from '../../../../common/views.js';
15
+ import { AccessibilityHelpAction } from '../../../accessibility/browser/accessibleViewActions.js';
16
+ import { runAccessibilityHelpAction } from './chatAccessibilityHelp.js';
4
17
  import { IChatWidgetService } from '../chat.js';
18
+ import { ChatEditorInput } from '../chatEditorInput.js';
5
19
  import { IChatAgentService } from '../../common/chatAgents.js';
6
- import { CONTEXT_IN_CHAT_INPUT } from '../../common/chatContextKeys.js';
20
+ import { CONTEXT_IN_CHAT_INPUT, CONTEXT_PROVIDER_EXISTS, CONTEXT_IN_CHAT_SESSION, CONTEXT_RESPONSE, CONTEXT_REQUEST } from '../../common/chatContextKeys.js';
21
+ import { IChatContributionService } from '../../common/chatContributionService.js';
7
22
  import { chatAgentLeader } from '../../common/chatParserTypes.js';
23
+ import { IChatService } from '../../common/chatService.js';
24
+ import { IChatWidgetHistoryService } from '../../common/chatWidgetHistoryService.js';
25
+ import { IEditorService } from '../../../../services/editor/common/editorService.js';
8
26
  const CHAT_CATEGORY = { value: ( localizeWithPath(
9
27
  'vs/workbench/contrib/chat/browser/actions/chatActions',
10
28
  'chat.category',
11
29
  "Chat"
12
30
  )), original: 'Chat' };
13
31
  const CHAT_OPEN_ACTION_ID = 'workbench.action.chat.open';
32
+ class QuickChatGlobalAction extends Action2 {
33
+ constructor() {
34
+ super({
35
+ id: CHAT_OPEN_ACTION_ID,
36
+ title: { value: ( localizeWithPath(
37
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
38
+ 'quickChat',
39
+ "Quick Chat"
40
+ )), original: 'Quick Chat' },
41
+ precondition: CONTEXT_PROVIDER_EXISTS,
42
+ icon: Codicon.commentDiscussion,
43
+ f1: false,
44
+ category: CHAT_CATEGORY,
45
+ keybinding: {
46
+ weight: 200 ,
47
+ primary: 2048 | 512 | 39 ,
48
+ mac: {
49
+ primary: 2048 | 256 | 39
50
+ }
51
+ }
52
+ });
53
+ }
54
+ async run(accessor, query) {
55
+ const chatService = accessor.get(IChatService);
56
+ const chatWidgetService = accessor.get(IChatWidgetService);
57
+ const providers = chatService.getProviderInfos();
58
+ if (!providers.length) {
59
+ return;
60
+ }
61
+ const chatWidget = await chatWidgetService.revealViewForProvider(providers[0].id);
62
+ if (!chatWidget) {
63
+ return;
64
+ }
65
+ if (query) {
66
+ chatWidget.acceptInput(query);
67
+ }
68
+ chatWidget.focusInput();
69
+ }
70
+ }
14
71
  class ChatSubmitSecondaryAgentEditorAction extends EditorAction2 {
15
72
  static { this.ID = 'workbench.action.chat.submitSecondaryAgent'; }
16
73
  constructor() {
@@ -68,4 +125,183 @@ class ChatSubmitEditorAction extends EditorAction2 {
68
125
  }
69
126
  }
70
127
  }
71
- export { CHAT_CATEGORY, CHAT_OPEN_ACTION_ID, ChatSubmitEditorAction, ChatSubmitSecondaryAgentEditorAction };
128
+ function registerChatActions() {
129
+ registerAction2(QuickChatGlobalAction);
130
+ registerAction2(ChatSubmitEditorAction);
131
+ registerAction2(ChatSubmitSecondaryAgentEditorAction);
132
+ registerAction2(class ClearChatHistoryAction extends Action2 {
133
+ constructor() {
134
+ super({
135
+ id: 'workbench.action.chatEditor.clearHistory',
136
+ title: {
137
+ value: ( localizeWithPath(
138
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
139
+ 'interactiveSession.clearHistory.label',
140
+ "Clear Input History"
141
+ )),
142
+ original: 'Clear Input History'
143
+ },
144
+ precondition: CONTEXT_PROVIDER_EXISTS,
145
+ category: CHAT_CATEGORY,
146
+ f1: true,
147
+ });
148
+ }
149
+ async run(accessor, ...args) {
150
+ const historyService = accessor.get(IChatWidgetHistoryService);
151
+ historyService.clearHistory();
152
+ }
153
+ });
154
+ registerAction2(class FocusChatAction extends EditorAction2 {
155
+ constructor() {
156
+ super({
157
+ id: 'chat.action.focus',
158
+ title: { value: ( localizeWithPath(
159
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
160
+ 'actions.interactiveSession.focus',
161
+ "Focus Chat List"
162
+ )), original: 'Focus Chat List' },
163
+ precondition: CONTEXT_IN_CHAT_INPUT,
164
+ category: CHAT_CATEGORY,
165
+ keybinding: {
166
+ when: EditorContextKeys.textInputFocus,
167
+ primary: 2048 | 16 ,
168
+ weight: 100
169
+ }
170
+ });
171
+ }
172
+ runEditorCommand(accessor, editor) {
173
+ const editorUri = editor.getModel()?.uri;
174
+ if (editorUri) {
175
+ const widgetService = accessor.get(IChatWidgetService);
176
+ widgetService.getWidgetByInputUri(editorUri)?.focusLastMessage();
177
+ }
178
+ }
179
+ });
180
+ class ChatAccessibilityHelpContribution extends Disposable {
181
+ constructor() {
182
+ super();
183
+ this._register(AccessibilityHelpAction.addImplementation(105, 'panelChat', async (accessor) => {
184
+ const codeEditor = accessor.get(ICodeEditorService).getActiveCodeEditor() || accessor.get(ICodeEditorService).getFocusedCodeEditor();
185
+ runAccessibilityHelpAction(accessor, codeEditor ?? undefined, 'panelChat');
186
+ }, ( ContextKeyExpr.or(CONTEXT_IN_CHAT_SESSION, CONTEXT_RESPONSE, CONTEXT_REQUEST))));
187
+ }
188
+ }
189
+ const workbenchRegistry = ( Registry.as(Extensions.Workbench));
190
+ workbenchRegistry.registerWorkbenchContribution(ChatAccessibilityHelpContribution, 4 );
191
+ registerAction2(class FocusChatInputAction extends Action2 {
192
+ constructor() {
193
+ super({
194
+ id: 'workbench.action.chat.focusInput',
195
+ title: {
196
+ value: ( localizeWithPath(
197
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
198
+ 'interactiveSession.focusInput.label',
199
+ "Focus Chat Input"
200
+ )),
201
+ original: 'Focus Chat Input'
202
+ },
203
+ f1: false,
204
+ keybinding: {
205
+ primary: 2048 | 18 ,
206
+ weight: 200 ,
207
+ when: ( ContextKeyExpr.and(CONTEXT_IN_CHAT_SESSION, ContextKeyExpr.not(EditorContextKeys.focus.key)))
208
+ }
209
+ });
210
+ }
211
+ run(accessor, ...args) {
212
+ const widgetService = accessor.get(IChatWidgetService);
213
+ widgetService.lastFocusedWidget?.focusInput();
214
+ }
215
+ });
216
+ }
217
+ function getOpenChatEditorAction(id, label, when) {
218
+ return class OpenChatEditor extends Action2 {
219
+ constructor() {
220
+ super({
221
+ id: `workbench.action.openChat.${id}`,
222
+ title: { value: ( localizeWithPath(
223
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
224
+ 'interactiveSession.open',
225
+ "Open Editor ({0})",
226
+ label
227
+ )), original: `Open Editor (${label})` },
228
+ f1: true,
229
+ category: CHAT_CATEGORY,
230
+ precondition: ContextKeyExpr.deserialize(when)
231
+ });
232
+ }
233
+ async run(accessor) {
234
+ const editorService = accessor.get(IEditorService);
235
+ await editorService.openEditor({ resource: ChatEditorInput.getNewEditorUri(), options: { target: { providerId: id }, pinned: true } });
236
+ }
237
+ };
238
+ }
239
+ const getHistoryChatActionDescriptorForViewTitle = (viewId, providerId) => ({
240
+ viewId,
241
+ id: `workbench.action.chat.${providerId}.history`,
242
+ title: {
243
+ value: ( localizeWithPath(
244
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
245
+ 'interactiveSession.history.label',
246
+ "Show History"
247
+ )),
248
+ original: 'Show History'
249
+ },
250
+ menu: {
251
+ id: MenuId.ViewTitle,
252
+ when: ( ContextKeyExpr.equals('view', viewId)),
253
+ group: 'navigation',
254
+ order: -1
255
+ },
256
+ category: CHAT_CATEGORY,
257
+ icon: Codicon.history,
258
+ f1: false,
259
+ precondition: CONTEXT_PROVIDER_EXISTS
260
+ });
261
+ function getHistoryAction(viewId, providerId) {
262
+ return class HistoryAction extends ViewAction {
263
+ constructor() {
264
+ super(getHistoryChatActionDescriptorForViewTitle(viewId, providerId));
265
+ }
266
+ async runInView(accessor, view) {
267
+ const chatService = accessor.get(IChatService);
268
+ const quickInputService = accessor.get(IQuickInputService);
269
+ const chatContribService = accessor.get(IChatContributionService);
270
+ const viewsService = accessor.get(IViewsService);
271
+ const items = chatService.getHistory();
272
+ const picks = ( items.map(i => ({
273
+ label: i.title,
274
+ chat: i,
275
+ buttons: [{
276
+ iconClass: ThemeIcon.asClassName(Codicon.x),
277
+ tooltip: ( localizeWithPath(
278
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
279
+ 'interactiveSession.history.delete',
280
+ "Delete"
281
+ )),
282
+ }]
283
+ })));
284
+ const selection = await quickInputService.pick(picks, {
285
+ placeHolder: ( localizeWithPath(
286
+ 'vs/workbench/contrib/chat/browser/actions/chatActions',
287
+ 'interactiveSession.history.pick',
288
+ "Switch to chat session"
289
+ )),
290
+ onDidTriggerItemButton: context => {
291
+ chatService.removeHistoryEntry(context.item.chat.sessionId);
292
+ context.removeItem();
293
+ }
294
+ });
295
+ if (selection) {
296
+ const sessionId = selection.chat.sessionId;
297
+ const provider = chatContribService.registeredProviders[0]?.id;
298
+ if (provider) {
299
+ const viewId = chatContribService.getViewIdForProvider(provider);
300
+ const view = await viewsService.openView(viewId);
301
+ view.loadSession(sessionId);
302
+ }
303
+ }
304
+ }
305
+ };
306
+ }
307
+ export { CHAT_CATEGORY, CHAT_OPEN_ACTION_ID, ChatSubmitEditorAction, ChatSubmitSecondaryAgentEditorAction, getHistoryAction, getOpenChatEditorAction, registerChatActions };
@@ -0,0 +1,75 @@
1
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
2
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
+ import { Action2, MenuId, registerAction2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
4
+ import { CHAT_CATEGORY } from './chatActions.js';
5
+ import { IChatWidgetService } from '../chat.js';
6
+ import { CONTEXT_CHAT_INPUT_HAS_TEXT, CONTEXT_CHAT_REQUEST_IN_PROGRESS } from '../../common/chatContextKeys.js';
7
+ import { IChatService } from '../../common/chatService.js';
8
+ class SubmitAction extends Action2 {
9
+ static { this.ID = 'workbench.action.chat.submit'; }
10
+ constructor() {
11
+ super({
12
+ id: SubmitAction.ID,
13
+ title: {
14
+ value: ( localizeWithPath(
15
+ 'vs/workbench/contrib/chat/browser/actions/chatExecuteActions',
16
+ 'interactive.submit.label',
17
+ "Submit"
18
+ )),
19
+ original: 'Submit'
20
+ },
21
+ f1: false,
22
+ category: CHAT_CATEGORY,
23
+ icon: Codicon.send,
24
+ precondition: CONTEXT_CHAT_INPUT_HAS_TEXT,
25
+ menu: {
26
+ id: MenuId.ChatExecute,
27
+ when: ( CONTEXT_CHAT_REQUEST_IN_PROGRESS.negate()),
28
+ group: 'navigation',
29
+ },
30
+ });
31
+ }
32
+ run(accessor, ...args) {
33
+ const context = args[0];
34
+ const widgetService = accessor.get(IChatWidgetService);
35
+ const widget = context?.widget ?? widgetService.lastFocusedWidget;
36
+ widget?.acceptInput(context?.inputValue);
37
+ }
38
+ }
39
+ function registerChatExecuteActions() {
40
+ registerAction2(SubmitAction);
41
+ registerAction2(class CancelAction extends Action2 {
42
+ constructor() {
43
+ super({
44
+ id: 'workbench.action.chat.cancel',
45
+ title: {
46
+ value: ( localizeWithPath(
47
+ 'vs/workbench/contrib/chat/browser/actions/chatExecuteActions',
48
+ 'interactive.cancel.label',
49
+ "Cancel"
50
+ )),
51
+ original: 'Cancel'
52
+ },
53
+ f1: false,
54
+ category: CHAT_CATEGORY,
55
+ icon: Codicon.debugStop,
56
+ menu: {
57
+ id: MenuId.ChatExecute,
58
+ when: CONTEXT_CHAT_REQUEST_IN_PROGRESS,
59
+ group: 'navigation',
60
+ }
61
+ });
62
+ }
63
+ run(accessor, ...args) {
64
+ const context = args[0];
65
+ if (!context.widget) {
66
+ return;
67
+ }
68
+ const chatService = accessor.get(IChatService);
69
+ if (context.widget.viewModel) {
70
+ chatService.cancelCurrentRequestForSession(context.widget.viewModel.sessionId);
71
+ }
72
+ }
73
+ });
74
+ }
75
+ export { SubmitAction, registerChatExecuteActions };