@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.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 (328) hide show
  1. package/api.js +13 -7
  2. package/assets/clear.mp3 +0 -0
  3. package/assets/format.mp3 +0 -0
  4. package/assets/save.mp3 +0 -0
  5. package/extensions.d.ts +13 -3
  6. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  7. package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +20 -3
  8. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  9. package/lifecycle.js +2 -2
  10. package/localExtensionHost.js +3 -1
  11. package/missing-services.js +160 -25
  12. package/monaco-editor-treemending.patch +6884 -18018
  13. package/monaco-treemending.js +2 -2
  14. package/package.json +7 -7
  15. package/service-override/tools/editor.d.ts +8 -8
  16. package/service-override/tools/editor.js +44 -19
  17. package/services.d.ts +2 -2
  18. package/services.js +3 -3
  19. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  20. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  21. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  22. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  24. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  25. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  26. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  29. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  30. package/vscode/src/vs/base/common/async.d.ts +1 -31
  31. package/vscode/src/vs/base/common/event.d.ts +2 -1
  32. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  33. package/vscode/src/vs/base/common/prefixTree.js +21 -11
  34. package/vscode/src/vs/base/common/product.d.ts +16 -2
  35. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  36. package/vscode/src/vs/base/common/skipList.js +1 -0
  37. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  38. package/vscode/src/vs/base/common/types.d.ts +13 -1
  39. package/vscode/src/vs/base/common/verifier.js +62 -0
  40. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  41. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  42. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  43. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  44. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  45. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  46. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  47. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  48. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  49. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  50. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  51. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  52. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  53. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  54. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  55. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  56. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  57. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  58. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  59. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  61. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  62. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  63. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  64. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  65. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  66. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  67. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  68. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  69. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  70. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  71. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  72. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
  74. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  75. package/vscode/src/vs/platform/window/common/window.js +6 -1
  76. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  77. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  78. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  79. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  80. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  81. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  82. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  83. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  84. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  85. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  86. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  87. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  88. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  89. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  90. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  91. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  92. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  93. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  94. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  95. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  96. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  97. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  98. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  99. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  100. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  101. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  102. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  103. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  104. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  105. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  106. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  107. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  108. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  109. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  110. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  111. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  112. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  113. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  114. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  115. package/vscode/src/vs/workbench/browser/part.js +33 -2
  116. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  117. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  118. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  119. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  120. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  121. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  122. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  123. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  124. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  125. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  126. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  127. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  128. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  129. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  130. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  131. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  132. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  133. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  134. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  135. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  136. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  137. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  138. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  139. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  140. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  141. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  142. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  143. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  144. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  145. package/vscode/src/vs/workbench/browser/style.js +2 -1
  146. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  147. package/vscode/src/vs/workbench/browser/window.js +55 -0
  148. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  149. package/vscode/src/vs/workbench/common/activity.js +3 -0
  150. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  151. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  152. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  153. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  154. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  155. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  156. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  157. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  158. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  159. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  160. package/vscode/src/vs/workbench/common/editor.js +11 -3
  161. package/vscode/src/vs/workbench/common/theme.js +2 -2
  162. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  163. package/vscode/src/vs/workbench/common/views.js +3 -1
  164. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  165. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  166. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  167. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  168. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  176. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  177. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  178. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  179. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  180. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  181. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  182. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  183. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  184. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  186. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  187. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  188. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  189. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  190. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  191. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  192. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  193. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  194. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  195. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  196. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  197. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  198. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  199. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  200. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  201. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  203. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  204. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  205. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  206. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  207. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  208. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  209. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  210. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  211. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  212. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  213. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
  214. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
  215. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  216. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  217. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
  220. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
  221. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
  223. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  224. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  225. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  226. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  227. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  228. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
  230. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
  231. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  232. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  233. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  235. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  236. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  237. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  238. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  239. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  240. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  241. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  242. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  243. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  244. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  245. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  246. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  247. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  248. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  249. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  250. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  251. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  252. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  253. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  254. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  255. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  256. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  257. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  258. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  259. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  260. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  261. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  262. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  263. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  264. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  265. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  266. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  267. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  268. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  269. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  270. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  271. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +18 -3
  272. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  273. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  274. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  275. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
  276. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  277. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  278. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  279. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  280. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  281. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  282. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  283. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  284. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  285. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  286. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  287. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  288. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  289. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  290. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  291. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  292. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  293. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  294. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  295. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  296. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  297. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  298. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  299. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  300. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  301. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  302. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  303. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  304. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  305. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  306. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  307. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  308. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  309. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  310. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  311. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  312. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  313. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  314. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  315. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  316. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  317. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  318. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  319. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  320. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  321. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  322. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  323. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  324. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  325. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  326. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  327. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  328. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
2
2
  import { mixin, equals } from 'monaco-editor/esm/vs/base/common/objects.js';
3
- import { Range, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, location, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
3
+ import { Range, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, MultiDocumentHighlight, location, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
4
4
  import { CodeActionKind, Disposable, SyntaxTokenType, DocumentSymbol, Range as Range$2, InternalDataTransferItem, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, SnippetString, Location, CompletionList, InlineCompletionTriggerKind } from './extHostTypes.js';
5
5
  import * as languages from 'monaco-editor/esm/vs/editor/common/languages.js';
6
6
  import { MainContext } from './extHost.protocol.js';
@@ -261,6 +261,22 @@ class DocumentHighlightAdapter {
261
261
  return undefined;
262
262
  }
263
263
  }
264
+ class MultiDocumentHighlightAdapter {
265
+ constructor(_documents, _provider) {
266
+ this._documents = _documents;
267
+ this._provider = _provider;
268
+ }
269
+ async provideMultiDocumentHighlights(resource, position, otherResources, token) {
270
+ const doc = this._documents.getDocument(resource);
271
+ const otherDocuments = ( otherResources.map(r => this._documents.getDocument(r)));
272
+ const pos = Position.to(position);
273
+ const value = await this._provider.provideMultiDocumentHighlights(doc, pos, otherDocuments, token);
274
+ if (Array.isArray(value)) {
275
+ return ( value.map(MultiDocumentHighlight.from));
276
+ }
277
+ return undefined;
278
+ }
279
+ }
264
280
  class LinkedEditingRangeAdapter {
265
281
  constructor(_documents, _provider) {
266
282
  this._documents = _documents;
@@ -364,6 +380,7 @@ class CodeActionAdapter {
364
380
  edit: candidate.edit && WorkspaceEdit.from(candidate.edit, undefined),
365
381
  kind: candidate.kind && candidate.kind.value,
366
382
  isPreferred: candidate.isPreferred,
383
+ isAI: isProposedApiEnabled(this._extension, 'codeActionAI') ? candidate.isAI : false,
367
384
  disabled: candidate.disabled?.reason
368
385
  });
369
386
  }
@@ -1096,7 +1113,7 @@ class InlayHintsAdapter {
1096
1113
  const range = Range.to(ran);
1097
1114
  const hints = await this._provider.provideInlayHints(doc, range, token);
1098
1115
  if (!Array.isArray(hints) || hints.length === 0) {
1099
- this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for ${ran}`);
1116
+ this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(ran)}`);
1100
1117
  return undefined;
1101
1118
  }
1102
1119
  if (token.isCancellationRequested) {
@@ -1110,7 +1127,7 @@ class InlayHintsAdapter {
1110
1127
  result.hints.push(this._convertInlayHint(hints[i], [pid, i]));
1111
1128
  }
1112
1129
  }
1113
- this._logService.trace(`[InlayHints] ${result.hints.length} inlay hints from '${this._extension.identifier.value}' for ${ran}`);
1130
+ this._logService.trace(`[InlayHints] ${result.hints.length} inlay hints from '${this._extension.identifier.value}' for range ${JSON.stringify(ran)}`);
1114
1131
  return result;
1115
1132
  }
1116
1133
  async resolveInlayHint(id, token) {
@@ -1671,9 +1688,17 @@ class ExtHostLanguageFeatures {
1671
1688
  this._proxy.$registerDocumentHighlightProvider(handle, this._transformDocumentSelector(selector, extension));
1672
1689
  return this._createDisposable(handle);
1673
1690
  }
1691
+ registerMultiDocumentHighlightProvider(extension, selector, provider) {
1692
+ const handle = this._addNewAdapter(( new MultiDocumentHighlightAdapter(this._documents, provider)), extension);
1693
+ this._proxy.$registerMultiDocumentHighlightProvider(handle, this._transformDocumentSelector(selector, extension));
1694
+ return this._createDisposable(handle);
1695
+ }
1674
1696
  $provideDocumentHighlights(handle, resource, position, token) {
1675
1697
  return this._withAdapter(handle, DocumentHighlightAdapter, adapter => adapter.provideDocumentHighlights(URI.revive(resource), position, token), undefined, token);
1676
1698
  }
1699
+ $provideMultiDocumentHighlights(handle, resource, position, otherModels, token) {
1700
+ return this._withAdapter(handle, MultiDocumentHighlightAdapter, adapter => adapter.provideMultiDocumentHighlights(URI.revive(resource), position, ( otherModels.map(model => URI.revive(model))), token), undefined, token);
1701
+ }
1677
1702
  registerLinkedEditingRangeProvider(extension, selector, provider) {
1678
1703
  const handle = this._addNewAdapter(( new LinkedEditingRangeAdapter(this._documents, provider)), extension);
1679
1704
  this._proxy.$registerLinkedEditingRangeProvider(handle, this._transformDocumentSelector(selector, extension));
@@ -4,6 +4,7 @@ import { StandardTokenType, Range, LanguageStatusSeverity } from './extHostTypes
4
4
  import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
5
5
  import { disposableTimeout } from 'monaco-editor/esm/vs/base/common/async.js';
6
6
  import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
7
+ import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
7
8
  class ExtHostLanguages {
8
9
  constructor(mainContext, _documents, _commands, _uriTransformer) {
9
10
  this._documents = _documents;
@@ -125,6 +126,15 @@ class ExtHostLanguages {
125
126
  data.text = value;
126
127
  updateAsync();
127
128
  },
129
+ set text2(value) {
130
+ checkProposedApiEnabled(extension, 'languageStatusText');
131
+ data.text = value;
132
+ updateAsync();
133
+ },
134
+ get text2() {
135
+ checkProposedApiEnabled(extension, 'languageStatusText');
136
+ return data.text;
137
+ },
128
138
  get detail() {
129
139
  return data.detail;
130
140
  },
@@ -2,7 +2,7 @@ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
2
2
  import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
3
3
  import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
4
4
  import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
- import { ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
5
+ import { ResourceMap, ResourceSet } from 'monaco-editor/esm/vs/base/common/map.js';
6
6
  import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
7
7
  import { assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
8
8
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
@@ -18,6 +18,9 @@ import { ExtHostNotebookEditor } from './extHostNotebookEditor.js';
18
18
  import { onUnexpectedExternalError } from 'monaco-editor/esm/vs/base/common/errors.js';
19
19
  import { filter } from 'monaco-editor/esm/vs/base/common/objects.js';
20
20
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
21
+ import { CellSearchModel } from '../../contrib/search/common/cellSearchModel.js';
22
+ import { genericCellMatchesToTextSearchMatches } from '../../contrib/search/common/searchNotebookHelpers.js';
23
+ import { globMatchesResource } from '../../services/editor/common/editorResolverService.js';
21
24
  class ExtHostNotebookController {
22
25
  static { this._notebookStatusBarItemProviderHandlePool = 0; }
23
26
  get activeNotebookEditor() {
@@ -26,10 +29,11 @@ class ExtHostNotebookController {
26
29
  get visibleNotebookEditors() {
27
30
  return ( this._visibleNotebookEditors.map(editor => editor.apiEditor));
28
31
  }
29
- constructor(mainContext, commands, _textDocumentsAndEditors, _textDocuments, _extHostFileSystem) {
32
+ constructor(mainContext, commands, _textDocumentsAndEditors, _textDocuments, _extHostFileSystem, _extHostSearch) {
30
33
  this._textDocumentsAndEditors = _textDocumentsAndEditors;
31
34
  this._textDocuments = _textDocuments;
32
35
  this._extHostFileSystem = _extHostFileSystem;
36
+ this._extHostSearch = _extHostSearch;
33
37
  this._notebookStatusBarItemProviders = ( new Map());
34
38
  this._documents = ( new ResourceMap());
35
39
  this._editors = ( new Map());
@@ -278,6 +282,117 @@ class ExtHostNotebookController {
278
282
  };
279
283
  return fileStats;
280
284
  }
285
+ async $searchInNotebooks(handle, textQuery, viewTypeFileTargets, otherViewTypeFileTargets, token) {
286
+ const serializer = this._notebookSerializer.get(handle)?.serializer;
287
+ if (!serializer) {
288
+ return {
289
+ limitHit: false,
290
+ results: []
291
+ };
292
+ }
293
+ const finalMatchedTargets = ( new ResourceSet());
294
+ const runFileQueries = async (includes, token, textQuery) => {
295
+ await Promise.all(( includes.map(async (include) => await Promise.all(( include.filenamePatterns.map(filePattern => {
296
+ const query = {
297
+ ...textQuery,
298
+ ...{ type: 1 , filePattern }
299
+ };
300
+ return this._extHostSearch.doInternalFileSearchWithCustomCallback(query, token, (data) => {
301
+ data.forEach(uri => {
302
+ if (( finalMatchedTargets.has(uri))) {
303
+ return;
304
+ }
305
+ const hasOtherMatches = ( otherViewTypeFileTargets.some(target => {
306
+ if (include.isFromSettings && !target.isFromSettings) {
307
+ return false;
308
+ }
309
+ else {
310
+ return ( target.filenamePatterns.some(targetFilePattern => globMatchesResource(targetFilePattern, uri)));
311
+ }
312
+ }));
313
+ if (hasOtherMatches) {
314
+ return;
315
+ }
316
+ finalMatchedTargets.add(uri);
317
+ });
318
+ });
319
+ }))))));
320
+ return;
321
+ };
322
+ await runFileQueries(viewTypeFileTargets, token, textQuery);
323
+ const results = ( new ResourceMap());
324
+ let limitHit = false;
325
+ const promises = ( Array.from(finalMatchedTargets).map(async (uri) => {
326
+ const cellMatches = [];
327
+ try {
328
+ if (token.isCancellationRequested) {
329
+ return;
330
+ }
331
+ if (textQuery.maxResults && [...( results.values())].reduce((acc, value) => acc + value.cellResults.length, 0) > textQuery.maxResults) {
332
+ limitHit = true;
333
+ return;
334
+ }
335
+ const simpleCells = [];
336
+ const notebook = this._documents.get(uri);
337
+ if (notebook) {
338
+ const cells = notebook.apiNotebook.getCells();
339
+ cells.forEach(e => simpleCells.push({
340
+ input: e.document.getText(),
341
+ outputs: e.outputs.flatMap(value => ( value.items.map(output => ( output.data.toString()))))
342
+ }));
343
+ }
344
+ else {
345
+ const fileContent = await this._extHostFileSystem.value.readFile(uri);
346
+ const bytes = VSBuffer.fromString(( fileContent.toString()));
347
+ const notebook = await serializer.deserializeNotebook(bytes.buffer, token);
348
+ if (token.isCancellationRequested) {
349
+ return;
350
+ }
351
+ const data = NotebookData.from(notebook);
352
+ data.cells.forEach(cell => simpleCells.push({
353
+ input: cell.source,
354
+ outputs: cell.outputs.flatMap(value => ( value.items.map(output => ( output.valueBytes.toString()))))
355
+ }));
356
+ }
357
+ if (token.isCancellationRequested) {
358
+ return;
359
+ }
360
+ simpleCells.forEach((cell, index) => {
361
+ const target = textQuery.contentPattern.pattern;
362
+ const cellModel = ( new CellSearchModel(cell.input, undefined, cell.outputs));
363
+ const inputMatches = cellModel.findInInputs(target);
364
+ const outputMatches = cellModel.findInOutputs(target);
365
+ const webviewResults = ( outputMatches
366
+ .flatMap(outputMatch => genericCellMatchesToTextSearchMatches(outputMatch.matches, outputMatch.textBuffer))
367
+ .map((textMatch, index) => {
368
+ textMatch.webviewIndex = index;
369
+ return textMatch;
370
+ }));
371
+ if (inputMatches.length > 0 || outputMatches.length > 0) {
372
+ const cellMatch = {
373
+ index: index,
374
+ contentResults: genericCellMatchesToTextSearchMatches(inputMatches, cellModel.inputTextBuffer),
375
+ webviewResults
376
+ };
377
+ cellMatches.push(cellMatch);
378
+ }
379
+ });
380
+ const fileMatch = {
381
+ resource: uri, cellResults: cellMatches
382
+ };
383
+ results.set(uri, fileMatch);
384
+ return;
385
+ }
386
+ catch (e) {
387
+ return;
388
+ }
389
+ }));
390
+ await Promise.all(promises);
391
+ return {
392
+ limitHit,
393
+ results: [...( results.values())]
394
+ };
395
+ }
281
396
  async _validateWriteFile(uri, options) {
282
397
  const stat = await this._extHostFileSystem.value.stat(uri);
283
398
  if (typeof options?.mtime === 'number' && typeof options.etag === 'string' && options.etag !== files.ETAG_DISABLED &&
@@ -8,11 +8,10 @@ import { ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
8
8
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
9
9
  import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
10
10
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
11
- import { Cache } from './cache.js';
12
11
  import { MainContext } from './extHost.protocol.js';
13
12
  import { ApiCommand, ApiCommandArgument, ApiCommandResult } from './extHostCommands.js';
14
13
  import { NotebookCellOutput as NotebookCellOutput$1, NotebookCellOutputItem, NotebookKernelSourceAction, NotebookCellExecutionState, NotebookRendererScript } from './extHostTypeConverters.js';
15
- import { NotebookCellOutput, NotebookCellExecutionState as NotebookCellExecutionState$1, NotebookControllerAffinity2 } from './extHostTypes.js';
14
+ import { NotebookCellOutput, NotebookCellExecutionState as NotebookCellExecutionState$1, NotebookControllerAffinity2, NotebookVariablesRequestKind } from './extHostTypes.js';
16
15
  import { asWebviewUri } from '../../contrib/webview/common/webview.js';
17
16
  import { CellExecutionUpdateType } from '../../contrib/notebook/common/notebookExecutionService.js';
18
17
  import { checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
@@ -29,7 +28,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
29
28
  this._kernelDetectionTaskHandlePool = 0;
30
29
  this._kernelSourceActionProviders = ( new Map());
31
30
  this._kernelSourceActionProviderHandlePool = 0;
32
- this._kernelSourceActionProviderCache = ( new Cache('NotebookKernelSourceActionProviderCache'));
33
31
  this._kernelData = ( new Map());
34
32
  this._handlePool = 0;
35
33
  this._onDidChangeCellExecutionState = ( new Emitter());
@@ -84,6 +82,7 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
84
82
  };
85
83
  let _executeHandler = handler ?? _defaultExecutHandler;
86
84
  let _interruptHandler;
85
+ let _variableProvider;
87
86
  this._proxy.$addKernel(handle, data).catch(err => {
88
87
  console.log(err);
89
88
  isDisposed = true;
@@ -157,6 +156,16 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
157
156
  data.supportsInterrupt = Boolean(value);
158
157
  _update();
159
158
  },
159
+ set variableProvider(value) {
160
+ checkProposedApiEnabled(extension, 'notebookVariableProvider');
161
+ _variableProvider = value;
162
+ data.hasVariableProvider = !!value;
163
+ value?.onDidChangeVariables(e => that._proxy.$variablesUpdated(e.uri));
164
+ _update();
165
+ },
166
+ get variableProvider() {
167
+ return _variableProvider;
168
+ },
160
169
  createNotebookCellExecution(cell) {
161
170
  if (isDisposed) {
162
171
  throw new Error('notebook controller is DISPOSED');
@@ -258,7 +267,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
258
267
  const provider = this._kernelSourceActionProviders.get(handle);
259
268
  if (provider) {
260
269
  const disposables = ( new DisposableStore());
261
- this._kernelSourceActionProviderCache.add([disposables]);
262
270
  const ret = await provider.provideNotebookKernelSourceActions(token);
263
271
  return ( (ret ?? []).map(
264
272
  item => NotebookKernelSourceAction.from(item, this._commands.converter, disposables)
@@ -329,6 +337,26 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
329
337
  }
330
338
  }
331
339
  }
340
+ async $provideVariables(handle, requestId, notebookUri, parentName, kind, start, token) {
341
+ const obj = this._kernelData.get(handle);
342
+ if (!obj) {
343
+ return;
344
+ }
345
+ const document = this._extHostNotebook.getNotebookDocument(URI.revive(notebookUri));
346
+ const variableProvider = obj.controller.variableProvider;
347
+ if (!variableProvider) {
348
+ return;
349
+ }
350
+ const parent = parentName ? { name: parentName, value: '' } : undefined;
351
+ const requestKind = kind === 'named' ? NotebookVariablesRequestKind.Named : NotebookVariablesRequestKind.Indexed;
352
+ const variables = variableProvider.provideVariables(document.apiNotebook, parent, requestKind, start, token);
353
+ for await (const variable of variables) {
354
+ if (token.isCancellationRequested) {
355
+ return;
356
+ }
357
+ this._proxy.$receiveVariable(requestId, variable);
358
+ }
359
+ }
332
360
  $acceptKernelMessageFromRenderer(handle, editorId, message) {
333
361
  const obj = this._kernelData.get(handle);
334
362
  if (!obj) {
@@ -2,7 +2,7 @@ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.
2
2
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
3
3
  import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
4
4
  import { debounce } from 'monaco-editor/esm/vs/base/common/decorators.js';
5
- import { DisposableStore, MutableDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
+ import { DisposableStore, MutableDisposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
6
6
  import { asPromise } from 'monaco-editor/esm/vs/base/common/async.js';
7
7
  import { MainContext } from './extHost.protocol.js';
8
8
  import { sortedDiff, equals } from 'monaco-editor/esm/vs/base/common/arrays.js';
@@ -13,7 +13,17 @@ import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
13
13
  import { MarkdownString } from './extHostTypeConverters.js';
14
14
  import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
15
15
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
16
+ import { isLinux } from 'monaco-editor/esm/vs/base/common/platform.js';
16
17
  var ExtHostSCM_1;
18
+ function isUri(thing) {
19
+ return thing instanceof URI;
20
+ }
21
+ function uriEquals(a, b) {
22
+ if (a.scheme === Schemas.file && b.scheme === Schemas.file && isLinux) {
23
+ return ( a.toString()) === ( b.toString());
24
+ }
25
+ return ( a.toString()).toLowerCase() === ( b.toString()).toLowerCase();
26
+ }
17
27
  function getIconResource(decorations) {
18
28
  if (!decorations) {
19
29
  return undefined;
@@ -31,6 +41,21 @@ function getIconResource(decorations) {
31
41
  return undefined;
32
42
  }
33
43
  }
44
+ function getInputBoxActionButtonIcon(actionButton) {
45
+ if (!actionButton?.icon) {
46
+ return undefined;
47
+ }
48
+ else if (URI.isUri(actionButton.icon)) {
49
+ return actionButton.icon;
50
+ }
51
+ else if (ThemeIcon.isThemeIcon(actionButton.icon)) {
52
+ return actionButton.icon;
53
+ }
54
+ else {
55
+ const icon = actionButton.icon;
56
+ return { light: icon.light, dark: icon.dark };
57
+ }
58
+ }
34
59
  function getHistoryItemIconDto(historyItem) {
35
60
  if (!historyItem.icon) {
36
61
  return undefined;
@@ -46,6 +71,21 @@ function getHistoryItemIconDto(historyItem) {
46
71
  return { light: icon.light, dark: icon.dark };
47
72
  }
48
73
  }
74
+ function getSourceControlInputBoxValueProviderIcon(provider) {
75
+ if (!provider.icon) {
76
+ return undefined;
77
+ }
78
+ else if (URI.isUri(provider.icon)) {
79
+ return provider.icon;
80
+ }
81
+ else if (ThemeIcon.isThemeIcon(provider.icon)) {
82
+ return provider.icon;
83
+ }
84
+ else {
85
+ const icon = provider.icon;
86
+ return { light: icon.light, dark: icon.dark };
87
+ }
88
+ }
49
89
  function compareResourceThemableDecorations(a, b) {
50
90
  if (!a.iconPath && !b.iconPath) {
51
91
  return 0;
@@ -134,6 +174,9 @@ function compareCommands(a, b) {
134
174
  if (aArg === bArg) {
135
175
  continue;
136
176
  }
177
+ if (isUri(aArg) && isUri(bArg) && uriEquals(aArg, bArg)) {
178
+ continue;
179
+ }
137
180
  return aArg < bArg ? -1 : 1;
138
181
  }
139
182
  return 0;
@@ -183,15 +226,6 @@ function commandEquals(a, b) {
183
226
  function commandListEquals(a, b) {
184
227
  return equals(a, b, commandEquals);
185
228
  }
186
- function historyItemGroupEquals(a, b) {
187
- if (a === b) {
188
- return true;
189
- }
190
- if (!a || !b) {
191
- return false;
192
- }
193
- return a.id === b.id && a.label === b.label && a.upstream?.id === b.upstream?.id && a.upstream?.label === b.upstream?.label;
194
- }
195
229
  class ExtHostSCMInputBox {
196
230
  #proxy;
197
231
  #extHostDocuments;
@@ -247,12 +281,29 @@ class ExtHostSCMInputBox {
247
281
  this._visible = visible;
248
282
  this.#proxy.$setInputBoxVisibility(this._sourceControlHandle, visible);
249
283
  }
284
+ get actionButton() {
285
+ checkProposedApiEnabled(this._extension, 'scmInputBoxActionButton');
286
+ return this._actionButton;
287
+ }
288
+ set actionButton(actionButton) {
289
+ checkProposedApiEnabled(this._extension, 'scmInputBoxActionButton');
290
+ this._actionButtonDisposables.value = ( new DisposableStore());
291
+ this._actionButton = actionButton;
292
+ const internal = actionButton !== undefined ?
293
+ {
294
+ command: this._commands.converter.toInternal(actionButton.command, this._actionButtonDisposables.value),
295
+ icon: getInputBoxActionButtonIcon(actionButton),
296
+ enabled: actionButton.enabled
297
+ } : undefined;
298
+ this.#proxy.$setInputBoxActionButton(this._sourceControlHandle, internal ?? null);
299
+ }
250
300
  get document() {
251
301
  checkProposedApiEnabled(this._extension, 'scmTextDocument');
252
302
  return this.#extHostDocuments.getDocument(this._documentUri);
253
303
  }
254
- constructor(_extension, _extHostDocuments, proxy, _sourceControlHandle, _documentUri) {
304
+ constructor(_extension, _commands, _extHostDocuments, proxy, _sourceControlHandle, _documentUri) {
255
305
  this._extension = _extension;
306
+ this._commands = _commands;
256
307
  this._sourceControlHandle = _sourceControlHandle;
257
308
  this._documentUri = _documentUri;
258
309
  this._value = '';
@@ -260,6 +311,7 @@ class ExtHostSCMInputBox {
260
311
  this._placeholder = '';
261
312
  this._enabled = true;
262
313
  this._visible = true;
314
+ this._actionButtonDisposables = ( new MutableDisposable());
263
315
  this.#extHostDocuments = _extHostDocuments;
264
316
  this.#proxy = proxy;
265
317
  }
@@ -340,7 +392,7 @@ class ExtHostSourceControlResourceGroup {
340
392
  const sourceUri = r.resourceUri;
341
393
  let command;
342
394
  if (r.command) {
343
- if (r.command.command === 'vscode.open' || r.command.command === 'vscode.diff') {
395
+ if (r.command.command === 'vscode.open' || r.command.command === 'vscode.diff' || r.command.command === 'vscode.changes') {
344
396
  const disposables = ( new DisposableStore());
345
397
  command = this._commands.converter.toInternal(r.command, disposables);
346
398
  this._resourceStatesDisposablesMap.set(handle, disposables);
@@ -428,9 +480,6 @@ class ExtHostSourceControl {
428
480
  this.#proxy.$updateSourceControl(this.handle, { hasHistoryProvider: !!historyProvider });
429
481
  if (historyProvider) {
430
482
  this._historyProviderDisposable.value.add(historyProvider.onDidChangeCurrentHistoryItemGroup(() => {
431
- if (historyItemGroupEquals(this._historyProviderCurrentHistoryItemGroup, historyProvider?.currentHistoryItemGroup)) {
432
- return;
433
- }
434
483
  this._historyProviderCurrentHistoryItemGroup = historyProvider?.currentHistoryItemGroup;
435
484
  this.#proxy.$onDidChangeHistoryProviderCurrentHistoryItemGroup(this.handle, this._historyProviderCurrentHistoryItemGroup);
436
485
  }));
@@ -535,6 +584,7 @@ class ExtHostSourceControl {
535
584
  }));
536
585
  this._inputBox = ( new ExtHostSCMInputBox(
537
586
  _extension,
587
+ _commands,
538
588
  _extHostDocuments,
539
589
  this.#proxy,
540
590
  this.handle,
@@ -612,6 +662,7 @@ ExtHostSourceControl.__decorator = ( __decorate([
612
662
  let ExtHostSCM = class ExtHostSCM {
613
663
  static { ExtHostSCM_1 = this; }
614
664
  static { this._handlePool = 0; }
665
+ static { this._inputBoxValueProviderHandlePool = 0; }
615
666
  get onDidChangeActiveProvider() { return this._onDidChangeActiveProvider.event; }
616
667
  constructor(mainContext, _commands, _extHostDocuments, logService) {
617
668
  this._commands = _commands;
@@ -620,6 +671,7 @@ let ExtHostSCM = class ExtHostSCM {
620
671
  this._sourceControls = ( new Map());
621
672
  this._sourceControlsByExtension = ( new ExtensionIdentifierMap());
622
673
  this._onDidChangeActiveProvider = ( new Emitter());
674
+ this._inputBoxValueProviders = ( new Map());
623
675
  this._proxy = ( mainContext.getProxy(MainContext.MainThreadSCM));
624
676
  this._telemetry = ( mainContext.getProxy(MainContext.MainThreadTelemetry));
625
677
  _commands.registerArgumentProcessor({
@@ -674,6 +726,23 @@ let ExtHostSCM = class ExtHostSCM {
674
726
  this._sourceControlsByExtension.set(extension.identifier, sourceControls);
675
727
  return sourceControl;
676
728
  }
729
+ registerSourceControlInputBoxValueProvider(extension, sourceControlId, provider) {
730
+ this.logService.trace('ExtHostSCM#registerSourceControlInputBoxValueProvider', extension.identifier.value, provider.label);
731
+ const handle = ExtHostSCM_1._inputBoxValueProviderHandlePool++;
732
+ this._inputBoxValueProviders.set(handle, provider);
733
+ this._proxy.$registerSourceControlInputBoxValueProvider(handle, sourceControlId, provider.label, getSourceControlInputBoxValueProviderIcon(provider));
734
+ return toDisposable(() => {
735
+ this._proxy.$unregisterSourceControlInputBoxValueProvider(handle);
736
+ this._inputBoxValueProviders.delete(handle);
737
+ });
738
+ }
739
+ async $provideInputBoxValue(inputBoxValueProviderHandle, rootUri, context, token) {
740
+ const provider = this._inputBoxValueProviders.get(inputBoxValueProviderHandle);
741
+ if (!provider) {
742
+ return undefined;
743
+ }
744
+ return (await provider.provideValue(URI.revive(rootUri), context, token)) ?? undefined;
745
+ }
677
746
  getLastInputBox(extension) {
678
747
  this.logService.trace('ExtHostSCM#getLastInputBox', extension.identifier.value);
679
748
  const sourceControls = this._sourceControlsByExtension.get(extension.identifier);
@@ -753,14 +822,7 @@ let ExtHostSCM = class ExtHostSCM {
753
822
  async $provideHistoryItems(sourceControlHandle, historyItemGroupId, options, token) {
754
823
  const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
755
824
  const historyItems = await historyProvider?.provideHistoryItems(historyItemGroupId, options, token);
756
- return historyItems?.map(item => ({
757
- id: item.id,
758
- parentIds: item.parentIds,
759
- label: item.label,
760
- description: item.description,
761
- icon: getHistoryItemIconDto(item),
762
- timestamp: item.timestamp,
763
- })) ?? undefined;
825
+ return historyItems?.map(item => ({ ...item, icon: getHistoryItemIconDto(item) })) ?? undefined;
764
826
  }
765
827
  async $provideHistoryItemChanges(sourceControlHandle, historyItemId, token) {
766
828
  const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
@@ -65,6 +65,9 @@ let ExtHostSearch = class ExtHostSearch {
65
65
  throw new Error('unknown provider: ' + handle);
66
66
  }
67
67
  }
68
+ async doInternalFileSearchWithCustomCallback(query, token, handleFileMatch) {
69
+ return { messages: [] };
70
+ }
68
71
  $clearCache(cacheKey) {
69
72
  this._fileSearchManager.clearCache(cacheKey);
70
73
  return Promise.resolve(undefined);
@@ -0,0 +1,42 @@
1
+ import { CancellationTokenSource } from 'monaco-editor/esm/vs/base/common/cancellation.js';
2
+ import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ import { MainContext } from './extHost.protocol.js';
4
+ class ExtHostSpeech {
5
+ static { this.ID_POOL = 1; }
6
+ constructor(mainContext) {
7
+ this.providers = ( new Map());
8
+ this.sessions = ( new Map());
9
+ this.proxy = ( mainContext.getProxy(MainContext.MainThreadSpeech));
10
+ }
11
+ async $createSpeechToTextSession(handle, session) {
12
+ const provider = this.providers.get(handle);
13
+ if (!provider) {
14
+ return;
15
+ }
16
+ const disposables = ( new DisposableStore());
17
+ const cts = ( new CancellationTokenSource());
18
+ this.sessions.set(session, cts);
19
+ const speechToTextSession = disposables.add(provider.provideSpeechToTextSession(cts.token));
20
+ disposables.add(speechToTextSession.onDidChange(e => {
21
+ if (cts.token.isCancellationRequested) {
22
+ return;
23
+ }
24
+ this.proxy.$emitSpeechToTextEvent(session, e);
25
+ }));
26
+ disposables.add(cts.token.onCancellationRequested(() => disposables.dispose()));
27
+ }
28
+ async $cancelSpeechToTextSession(session) {
29
+ this.sessions.get(session)?.dispose(true);
30
+ this.sessions.delete(session);
31
+ }
32
+ registerProvider(extension, identifier, provider) {
33
+ const handle = ExtHostSpeech.ID_POOL++;
34
+ this.providers.set(handle, provider);
35
+ this.proxy.$registerProvider(handle, identifier, { extension, displayName: extension.value });
36
+ return toDisposable(() => {
37
+ this.proxy.$unregisterProvider(handle);
38
+ this.providers.delete(handle);
39
+ });
40
+ }
41
+ }
42
+ export { ExtHostSpeech };
@@ -621,7 +621,8 @@ let WorkerExtHostTask = class WorkerExtHostTask extends ExtHostTaskBase {
621
621
  for (const task of value) {
622
622
  this.checkDeprecation(task, handler);
623
623
  if (!task.definition || !validTypes[task.definition.type]) {
624
- this._logService.warn(`The task [${task.source}, ${task.name}] uses an undefined task type. The task will be ignored in the future.`);
624
+ const source = task.source ? task.source : 'No task source';
625
+ this._logService.warn(`The task [${source}, ${task.name}] uses an undefined task type. The task will be ignored in the future.`);
625
626
  }
626
627
  const taskDTO = TaskDTO.from(task, handler.extension);
627
628
  if (taskDTO && CustomExecutionDTO.is(taskDTO.execution)) {
@@ -80,6 +80,7 @@ let ExtHostTelemetry = class ExtHostTelemetry extends Disposable {
80
80
  commonProperties['common.extversion'] = extension.version;
81
81
  commonProperties['common.vscodemachineid'] = this.initData.telemetryInfo.machineId;
82
82
  commonProperties['common.vscodesessionid'] = this.initData.telemetryInfo.sessionId;
83
+ commonProperties['common.sqmid'] = this.initData.telemetryInfo.sqmId;
83
84
  commonProperties['common.vscodeversion'] = this.initData.version;
84
85
  commonProperties['common.isnewappinstall'] = isNewAppInstall(this.initData.telemetryInfo.firstSessionDate);
85
86
  commonProperties['common.product'] = this.initData.environment.appHost;
@@ -48,9 +48,9 @@ class ExtHostTerminal {
48
48
  get selection() {
49
49
  return that._selection;
50
50
  },
51
- sendText(text, addNewLine = true) {
51
+ sendText(text, shouldExecute = true) {
52
52
  that._checkDisposed();
53
- that._proxy.$sendText(that._id, text, addNewLine);
53
+ that._proxy.$sendText(that._id, text, shouldExecute);
54
54
  },
55
55
  show(preserveFocus) {
56
56
  that._checkDisposed();
@@ -85,7 +85,7 @@ class ExtHostTerminal {
85
85
  name: options.name,
86
86
  shellPath: options.shellPath ?? undefined,
87
87
  shellArgs: options.shellArgs ?? undefined,
88
- cwd: options.cwd ?? undefined,
88
+ cwd: options.cwd ?? internalOptions?.cwd ?? undefined,
89
89
  env: options.env ?? undefined,
90
90
  icon: asTerminalIcon(options.iconPath) ?? undefined,
91
91
  color: ThemeColor.isThemeColor(options.color) ? options.color.id : undefined,